cashshuffle / spec

Specs and documentation for CashShuffle
MIT License
25 stars 17 forks source link

What's the difference between message 5b and 6? #24

Closed MaxHillebrand closed 4 years ago

MaxHillebrand commented 4 years ago

It seems that message 5b and message 6 contain the same information, a full list of all components? Why are these described in two different messages? [ping @nopara73]

(MESSAGE 5b ~ 10 kB to 100 kB) Simultaneously, the server shuffles the full list of (component hash commitment, component pedersen commitment, communication public key) tuples from all players, and shares it to all players. This one of the larger messages in Cash Fusion and so it helps to give clients time to download.

(MESSAGE 6 ~ 10 kB to 100 kB) The server performs the above checks and sends this message at TS + 15:

  • Full list of received components, either in sorted or shuffled order.
  • A boolean indicating whether to skip signing the transaction (message 7A).
MaxHillebrand commented 4 years ago

As a follow up question, does this list of components include the blanks, or just inputs and outputs?

nopara73 commented 4 years ago

Seems like message 5b is just a leftover as Phase 6 discusses how to handle message 5a and then introduces message 6.

nopara73 commented 4 years ago

Actually, message 5b is the commitment to the components. While message 6 is the components themselves. Two question arises. Why are the message sizes the same, just a coincidence or an error?

MaxHillebrand commented 4 years ago

I was mistaken at first. Message 5b contains the hashed component commitments, while message 6 contains the cleartext components. The server already has all component commitments, and replies a shuffled list of all these to any user sending in his commitments again in phase 5.