After reading the chapters related to threshold signatures in “Real World Cryptography”, I manage to finally understand between Secret Shamir Sharing, Regular MultiSig, BLS (Aggregated Sigs) and DKG (Distributed Key Generation). You can read more about it here.
If we then use Paul Miller’s excellent cryptography packages, including a brand new project that has a BIP-39 mnemonic integration, which is awesome, because now I was able to added to XDV Universal Wallet, which core system depends on keygens being compatible with bip-39. With that nice feature in place, I created a getBlsEip2333, which returns a keypair that can be used for your own multisig schemes or signing transactions for Ethereum 2 or Filecoin.
The math behind these algorithms are quite advanced, but what layman use cases can we use these multisigs for? I’ll mention some cases and scenarios where this is useful.
- Universal Wallet Recovery or Social Recovery
- Voting systems
- Quorum transaction ownership (the main use case for multisig)
I hope this post has been helpful explaining the main concepts and next posts will continue the journey to make XDV passing W3C specs and dealing with the all JSON interface.