bosagora / agora

POC Node implementation for CoinNet
https://bosagora.io
MIT License
36 stars 22 forks source link

Implement support for non-interactive threshold signatures (linear complexity, not MuSig) #1428

Closed AndrejMitrovic closed 3 years ago

AndrejMitrovic commented 3 years ago

As of today there are only a few (maybe just one?) non-interactive Schnorr threshold signature schemes which exist. One of them is MuSig. There are some resources about it here:

As of now I am not sure whether we would need any special support from Agora's side in order to validate MuSig signatures, or whether it's only the signing process that is complex and the signature validation process remains the same. If that's the case, then only the wallet would need to add support for MuSig. But since we've outsourced wallet development I don't have high hopes of it being properly implemented in due time.

Since implementing support for MuSig is non-trivial it's not a bad idea to implement a stop-gap measure by adding support for multi-sigs in the same way as Bitcoin's CHECK_MULTI_SIG.

If we do end up delivering MuSig support before CoinNet we can then just remove the CHECK_MULTI_SIG opcode.

AndrejMitrovic commented 3 years ago

Resolved.