unlinakble static address? & spv-privacy (Re: Stealth Addresses)



Summary:

In a discussion about the length of encoded prefixes in reusable addresses, Gregory Maxwell suggests that the prefix should always be constant length in all reusable addresses. He thinks that if a sender doesn't want a particular prefix, then they should just pick random data for the rest of the space without publishing any additional distinguishing data in the form of how long the prefix is. However, there seems to be some confusion about how this would work practically. For instance, if the payee's reusable address has 2 bytes without any length indicator, what will the payer put on the blockchain? They would have to put the whole thing verbatim into the OP_RETURN without knowing how many bits of the payee actually wants to see there. To solve this problem, it's suggested that the reusable address should contain a byte representing the number of bits of prefix that should be fixed. If this is the case, then the payer will know how much of the address should be taken verbatim, and the rest of the two bytes would be replaced with random data, and exactly two bytes would be put in the OP_RETURN. If the byte representing the number of bits of prefix that should be fixed is zero, then the 2-byte prefix in the reusable address must be ignored, and an entirely random 2-byte prefix would be put into the OP_RETURN.There is, however, a concern about broken implementations copying the byte from the reusable address into OP_RETURN when it is zero, and ending up identifying the payee. This is the only reason why 'byte' is optional in the reusable address, to prevent the opportunity to screw it up. Regardless, a 2-byte random prefix would still be put in the OP_RETURN, even if the fields weren't in the address at all.


Updated on: 2023-06-08T00:10:41.591889+00:00