1

Could you provide an example of already mined transaction that has at least two outputs leading to a non-change subaddresses?

If my understanding is correct this should be visible from the blockchain, where the extra field will include the ADDITIONAL_PUBKEYS tag.

  • 2
    It would be very easy to answer your own question by either using stagenet for free or by spending 23 cents on mainnet to create your own transaction that is destined for more than one subaddress. – knaccc Sep 27 '18 at 19:26
2

This is such an example transaction on stagenet where I sent 1 XMR to a subaddress and 2 XMR to a standard address (and the change goes back to myself):

The tx_extra contains the following information:

01                                                                # standard tx pubkey tag
3b3625cfb65842fc3e445245908f9b171b4e1899543fb70d85424fd9b1c95eb9
04                                                                # additional tx pubkeys tag
03                                                                # number of additional tx pubkeys
fc1776e142ade7a4ad5e00bd27a480013f06c45d5ac80807d3609500bdd26cf2  # additional tx pubkey 0
98705ffac66ef63d67cb5872b6fc222879902edbe7a3ccb83278c82a5fad097c  # additional tx pubkey 1
cfc1d89d5e5fba53a68a238239ebd5f60d60327d22da3ee95a9c070674ea525a  # additional tx pubkey 2

Note that no one can tell which of the three outputs are the change, the subaddress destination, or the standard address destination. Also note that the standard tx pubkey is used for generating shared secrets for destinations using standard addresses.

0

My understanding is that the pub keys that are generated when sending to a subaddress are indistinguishable from other pub keys on the blockchain. In other words, if you find a transaction with greater than two outputs, though you'll know multiple addresses were sent to, you won't know whether either or both of them were subaddresses.

I previously answered that output pub keys were not distinguishable from one another in terms of whether they relate to subaddresses or not. This isn't necessarily relevant to the question, however.

You just want to literally be pointed to a transaction so you can see what it looks like when there are extra tx pub keys in tx extra. I may delete my answer if I don't manage to find a transaction to point you to.

  • 2
    If you have a transaction with more than one destination, where at least one of those destinations is a subaddress, then the transaction will have a public key for every destination. In this case, all you can tell is that there is at least one subaddress being sent to, but you won't know how many or which of the outputs are destined for subaddresses. – knaccc Sep 27 '18 at 19:25
  • Trying to think of a way to change/rephrase. Are you pointing out that a tx most often has a single tx pub key, but in cases of a tx including at least one subaddress, there will be more than one tx pub key? And also, I guess output pub keys aren't as relevant to the answer? – scoobybejesus Sep 28 '18 at 0:23
  • 1
    You can never tell anything at all about whether subaddresses have been used from looking at output pub keys. You can only look at the outputs to infer the probable number of different destinations in the transaction. But if you have at least two destinations (not including change) where at least one destination is a subaddress, then you see the ADDITIONAL_PUBKEYS tag appearing in the tx_extra field which will then tell you that there must be at least one subaddress specified as a destination. – knaccc Sep 28 '18 at 1:34
  • 1
    Btw just in case there is confusion, ADDITIONAL_PUBKEYS refers to additional transaction public keys, not additional output public keys. Normally there is only one transaction public key per transaction, but when multiple destinations are involved where at least one destination is a subaddress, additional transaction public keys need to be present. – knaccc Sep 28 '18 at 18:06

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.