-
Notifications
You must be signed in to change notification settings - Fork 79
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
Add frost-secp256k1-tr crate (BIP340/BIP341) #584
Closed
Closed
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
b380fd5
add frost-secp256k1-tr crate (BIP340/BIP341)
zebra-lucky ab6b0d0
run cargo fmt on frost-secp256k1-tr
zebra-lucky 8204166
fix use of tweaked public key
mimoo a307130
additional fixes for use of tweaked pubkey
zebra-lucky 6d8be7c
give more consistent names to taproot functions
zebra-lucky 20da59a
add DKG vector test for frost-secp256k1-tr
zebra-lucky 00cdfe5
cargo fmt
conradoplg bdc8fb4
fix gencode-related issues
conradoplg a66b9a2
clippy fixes
conradoplg 142556f
Refactor Ciphersuite taproot methods for universal applicability (#2)
conduition 0ed163f
fix docstrings in frost-core/src/traits.rs
zebra-lucky c63a3ca
update frost-secp256-tr code to changes from 1.0.0
zebra-lucky e5b3f5d
encapsulate BIP341 tapscript commitment in new SigningTarget type
conduition 155dfa6
add effective_key method to VerifyingKey
conduition 1268f5c
Fix typo for VerifyingKey.effective_key
zebra-lucky 1c085ba
remove debugging assert_eq from tests/vectors.rs
zebra-lucky c1b8663
fix reference to SigningTarget.message instead of cloned signing target
conduition 8f52646
remove unneeded Into invocation
conduition 5d2d683
fix reference to internal function
conduition 20c2c98
add integration tests to cover taproot-tweaked signing
conduition 15688ab
ensure taproot signatures always use even nonce points
conduition d580241
serialize taproot signatures as 64 bytes with x-only nonce
conduition File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
run cargo fmt on frost-secp256k1-tr
- Loading branch information
commit ab6b0d09d4e5067263864024f6ddd92f2f508da3
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the merkel root be empty here?
i.e does this code assume that we only spend from the default key path? Not a tapscript path?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Possibly my understanding is wrong, but in BIP341, in
code example for
taproot_sign_key
I've seen next:In the case when script path is not used (used only key path),
seems empty bytes for merkle root is correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah this code only works with empty commitment, and it works fine for us (https://github.com/sigma0-xyz/zkbitcoin). I think it's a good first step, but it'd be nice to expose that feature later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you. I'll look to code in zkbitcoin in a few days.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes you're correct. In the case of a script path spend (non-frost spend) the spender can tweak the verifying key outside the context of this library.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only looking in the current day...