I'm currently studying about security about Monero, and I found something weird.

I know that the ouputs of Monero transactions are identified by amount and indices (amount 0 for RingCT), and the transactions are using this format.

I recently checked that "6f6f2eea2e549a69ad10246511ccc720193f1d41c9fa2c7aae0e47cb9884d898" transaction with 1,220,517 height of block is the first RingCT transaction in Monero. However, the blockchain data is showing that the output indices of the transaction is not starting with 0 index, rather starting with the index of 2. It seems to be no index 0 output within RingCT transactions.

enter image description here

Furthermore, I found that other transaction is using the 0 index of RingCT output as a mix-in in an input. I wonder what the situation is and what I am missing is.

1 Answer 1


From v4 at height 1,220,516, where rct becomes allowed, coinbase outputs are stored as pseudo rct outputs. There is one such output in block 1,220,516 and one in 1,220,517.

  • If than, I just wonder why blockchain data is not storing them with a pseudo outputs? It seems doing that way would be more clear and easy. Does the version 2 coinbase transactions can be used as inputs of RingCT and non-RingCT, and thus using pseudo indices and real indices for each, respectively?
    – Ilak
    Jan 4, 2021 at 2:58
  • They can only be used as inputs to rct txes.
    – user36303
    Jan 4, 2021 at 17:43
  • Thank you for your answer. Can I ask you some related document if exists? or Do I have to see the code?
    – Ilak
    Jan 5, 2021 at 2:03
  • Can't think of anything beyond code.
    – user36303
    Jan 6, 2021 at 1:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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