5

The doc is clear what happens but has anybody some use cases why this should happen?

Once the signature threshold is met if there are any leftover signatures then the transaction is regarded as having too many signatures which results in a failed transaction even if the remaining signatures are valid, i.e. for a transaction signed with N signatures, if the threshold is reached using K signatures then the transaction will fail if N > K.

https://www.stellar.org/developers/guides/concepts/multi-sig.html#thresholds

7

Signatures verification consume significant CPU resources. Of course, using a dozen of signitures for each submitted transaction won't result in the network congestion, however it can slow down ledger closing. Therefore, it's rather a protection from lazy developers which may tend to use as many signers as possible in multisig schemes in order to avoid coding elaborate algorithms and dealing with thresholds.

  • 2
    Each superfluous signature also adds 64 bytes to the blockchain, forever – Johan Stén Mar 12 at 0:23
  • @JohanStén Good point! It's even more important than validators' CPU resources. – Orbit Lens Mar 12 at 11:46
  • For reference see here: github.com/stellar/docs/issues/387 – ire_and_curses Mar 12 at 18:30
  • Has that worst case scenario ever happened? We're talking collisions of 32-bit values, where we have a maximum of 20 hints within a transaction envelope. That's a one in a 20 million occurrence. – Johan Stén Mar 13 at 8:10
1

My best guess: To clear any doubt about who exactly is in charge of a transaction. It would not make a technical difference if a 2-of-3 transaction is signed by [A,B], [B,C], [A,C] or [A,B,C] and even common sense would be like "so what, then just every signer is responsible", I can imagine that some legal conditions might get unnecessarily complicated when a transaction was signed by three parties altough it was only required to be signed by two.

0

The reason for this error is performance related, as unnecessary signature verification has a large effect on performance before accepting transactions in consensus.

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.