Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Weighted-Threshold-Multi-Signature (WTMsig) Block Production #7403
Block producers should provide high availability for their core service of extending the blockchain (aka producing blocks). In order to achieve this they need support for redundant infrastructure in a way that safely maintains the other invariants that are expected of them.
Consensus upgrade feature
In service of the above goals, the
We have discussed alternatives, such as 1-of-N multisig or M-of-N multisig. We felt that 1-of-N did not actually achieve goals (1) and (2) as each of the keys represents a valuable target for forging blocks ( violating (2) ) and any system that would attempt to mitigate this would effectively require sharing private key data ( violating (1) ). M-of-N was sufficient, but as our authority structure for validating transaction signatures is based on WTMSig and WTMSig is a super set of the functionality of M-of-N, we felt that the incremental reduction in technical complexity did not outweigh the additional cognitive complexity for users who must now understand multiple schemes for multisig.
In this scheme, a Block Producer can define a threshold and a set of weighted public keys, signing a block with as many signatures as necessary to satisfy the threshold with the sum of associated weights.