Skip to main content
11 events
when toggle format what by license comment
Jan 6, 2020 at 3:49 comment added jtgrassie Let us continue this discussion in chat.
Jan 6, 2020 at 3:42 comment added koe Does the wallet treat 'additional public keys' with tag 0x04 the same way it treats 0x01? Meaning, looks for every legitimate instance and tests all available public keys. Also, regarding encrypted payment IDs, couldn't it easily be the case that within a public key is the '2,9+,1,..' pattern, thereby making the wallet read an incorrect encrypted payment ID? How does the wallet handle this problem?
Jan 5, 2020 at 5:55 comment added jtgrassie It only uses the first, any others are ignored. [src]
Jan 5, 2020 at 5:30 comment added koe Ok that makes sense, since if your tx pub key is there you definitely want to find it. What does the wallet do if you own the output and there are 2+ encrypted payment IDs (i.e. there are two tag patterns (2, 9+, 1,...enc ID...))?
Jan 5, 2020 at 5:05 comment added jtgrassie Example, we're looking for the tx public key. We therefore want to check each public key. We therefore look for byte 0x01, try and parse the next 32 bytes as a public key. If we fail, we look for the next 0x01 byte and try again. Repeat. For each public key we extract, we can test if it is our tx public key while trying to decode the tx.
Jan 5, 2020 at 4:56 comment added koe Exactly, "Therefore anything that depends on data stuffed into extra has to deal with this fact - the core wallets included.", how does the standard implementation deal with non-standard content? In other words, if it's looking for tags and finds something unexpected, what does it do? You answered about multiple public keys which is great. Are there other scenarios to keep in mind? What about multiple encrypted payment IDs?
Jan 5, 2020 at 4:43 comment added jtgrassie "My question is with regards to the standard interpretation" <- so is my answer. Any implementation has to deal with the fact it is freeform. The tags are just a way the wallets communicate various bits of information. Because the field is freeform, they have to parse it in whatever agreed-upon format they wish to stuff in there. A concreate example is the tx public key. Monero wallets tag public keys and thus any/all public keys need testing, until expected one is found.
Jan 5, 2020 at 4:36 history edited jtgrassie CC BY-SA 4.0
Clarification
Jan 5, 2020 at 4:35 comment added koe "The field extra is essentially freeform." My question is with regards to the standard interpretation, and method of implementing, used by most wallets.
Jan 5, 2020 at 4:32 history edited jtgrassie CC BY-SA 4.0
added 116 characters in body
Jan 5, 2020 at 4:26 history answered jtgrassie CC BY-SA 4.0