Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple Musig2 implementation #104

Merged
merged 7 commits into from Dec 6, 2023
Merged

Simple Musig2 implementation #104

merged 7 commits into from Dec 6, 2023

Conversation

sstone
Copy link
Member

@sstone sstone commented Dec 4, 2023

This is a simple Musig2/BIP327 (https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki) that uses primitives provided by our secp256k1 wrapper. It is primarily meant to be used for testing and prototyping, we'll update secp256k1-kmp to use secp256k1-zkp or upgrade secp256k1 when it supports musig2 directly.

Reference test vectors have also been imported.

This is a simple Musig2/BIP327 (https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki) that uses primitives provided by our
secp256k1 wrapper. It is meant to be used for testing and prototyping.
Reference test vectors have also been imported.
@sstone sstone requested a review from t-bast December 4, 2023 09:32
Copy link
Member

@t-bast t-bast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a few comments on the objects we're exposing, but apart from that I only gave a light review of the musig2 part, since we will replace it with libsecp256k1 before actually shipping something.

We'll add better error managememt when we switch to a native implementation of musig2 (through secp256k1-kmp).
@sstone
Copy link
Member Author

sstone commented Dec 6, 2023

One of the limitations of using nullable types for some of the musig2 methods is that is it understood by kotlin only. Scala/Java users will need to explicitly check against null or convert to Option. This will be changed once we add support for native musig2 in secp256k1-kmp (see bitcoin-core/secp256k1#1452)

@sstone sstone merged commit 97ddba8 into master Dec 6, 2023
4 checks passed
@sstone sstone deleted the snapshot/musig2 branch December 6, 2023 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants