1

Commitments(outPK) are required when doing a MLSAG signature. However, there is no outPK in a type 0 transaction. example

What should I do as facing this kind of transactions? I've checked rctSigs.cpp but still don't get it..

Many Thanks!


Sorry for the implicit information.. I mean that I'd like to make a tx and some of the outputs are type 0 like this (the number 4/6/9/10 are types 0).

I am curious how to do MLSAG with vins which have no commitments because commitments(OutPk) are required for building a tx.

1

Referencing section 7.3.6 of ZtM2, coinbase outputs (with amount a) are given a placeholder output commitment C = 1*G + a*H, and that is stored in local copies of the blockchain (each person who downloads the chain has to compute those commitments for each coinbase output). The placeholder commitment is treated like a normal commitment when coinbase outputs are included as ring members in a transaction input's MLSAG signature.

You can find this behavior in src/blockchain_db/blockchain_db.cpp add_transaction().

2
  • Thank you very much!! BTW, are the values of G and H constant in Monero?
    – Mooooo
    Jun 12 '20 at 5:29
  • 1
    Yes, see ZtM2 section 2.4.2 (last paragraph), and chapter 5 footnote 3.
    – koe
    Jun 12 '20 at 13:17
3

There is no MLSAG signature on tx type gen.

2
  • Sorry for the implicit information.. I mean that I'd like to make a tx and some of the outputs are type 0 like this(community.xmr.to/explorer/stagenet/tx/…) I am curious how to do MLSAG without commitments.
    – Mooooo
    Jun 11 '20 at 2:58
  • 1
    The first time you use an amount associated with a gen output, you will be using a zero commitment. There is no preexisting commitment for a gen output as the value is not hidden, it's clear text. Also recall that commitments for the inputs are pseudo output commitments, which you create when you are spending.
    – jtgrassie
    Jun 11 '20 at 3:34

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.