Timeline for Complete extra field structure (standard interpretation)
Current License: CC BY-SA 4.0
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 |