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().

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

There is no MLSAG signature on tx type gen.

| improve this answer | |
  • 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 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 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.