LLFourn / secp256kfun

A pure-rust secp256k1 library optimised for fun
BSD Zero Clause License
101 stars 29 forks source link

Musig2 key aggregation #67

Closed RCasatta closed 2 years ago

RCasatta commented 3 years ago

super draft status

Wanted to try to implement https://github.com/ElementsProject/secp256k1-zkp/blob/master/src/modules/musig/musig-spec.mediawiki

Test vectors are currently passing, however, spec may change https://github.com/ElementsProject/secp256k1-zkp/pull/120#discussion_r676194896

LLFourn commented 3 years ago

Nice. I think this belongs in schnorr_fun eventually. This would be the first multi-party protocol in the *_fun crates and I have no idea what the API should be like so interested to know if you have some further ideas. I also need this by November for my own schemes!

RCasatta commented 3 years ago

I think this belongs in schnorr_fun eventually.

Moved into schnorr_fun and removed some TODOs, a little less drafty, however, spec may change https://github.com/ElementsProject/secp256k1-zkp/pull/120#discussion_r676194896

I have no idea what the API should be like so interested to know if you have some further ideas

At the moment I am trying to get a deeper understanding by playing around to have some ideas

I see https://github.com/ElementsProject/secp256k1-zkp/pull/131#issuecomment-866794714 is what Nicolas come up in C#

I also need this by November for my own schemes!

November is coming!

LLFourn commented 2 years ago

This is superseded by https://github.com/LLFourn/secp256kfun/pull/80

Thanks for doing this @RCasatta. I used the test case you developed here for the new PR. If you have time to review, please let me know what you think of the API etc.