-
Notifications
You must be signed in to change notification settings - Fork 22
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
Improve swap-in protocol with taproot and musig2 #560
Commits on Nov 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6c8988e - Browse repository at this point
Copy the full SHA 6c8988eView commit details -
Add an example of swapin transaction that uses musig2 and taproot
Add a simple test that uses how to modify the swap-in-potentiam protocol to use musig2 and taproot: - taproot key path is used for the mutual user key + server key use case, which sends to a single musig2 aggregated key - tapscript path is used for the refund case (user key + delay) Add another example with taproot but not musig2 that uses 2 differents scripts (mutual case and refund case)
Configuration menu - View commit details
-
Copy full SHA for b96cb7f - Browse repository at this point
Copy the full SHA b96cb7fView commit details -
This message includes all outputs from the remote tx and not just the one that is included in the swap. This is needed for Schnorr signatures.
Configuration menu - View commit details
-
Copy full SHA for c6687de - Browse repository at this point
Copy the full SHA c6687deView commit details
Commits on Nov 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 84ca143 - Browse repository at this point
Copy the full SHA 84ca143View commit details -
Use different user keys for the common and refund paths
This allows us to easily rotate swap-in addresses and generate a single generic taproot descriptor (for bitcoin core 26 and newer) that can be used to recover swap-in funds once the refund delay has passed, assuming that: - user and server keys are static - user refund keys follow BIP derivation
Configuration menu - View commit details
-
Copy full SHA for 9722067 - Browse repository at this point
Copy the full SHA 9722067View commit details
Commits on Nov 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4c044fb - Browse repository at this point
Copy the full SHA 4c044fbView commit details -
Add a musig2 secret nonce field to local/remote musing2 swap-in classes
It makes the code cleaner and we get rid of the secret nonces map. These nonces are replaced with dummy values whenever this classes are serialized, which is safe since they're never reused for signing txs.
Configuration menu - View commit details
-
Copy full SHA for ce75299 - Browse repository at this point
Copy the full SHA ce75299View commit details -
Rework TxComplete to use implicit ordering for musig2 nonces
Instead of sending an explicit serialId -> nonce map, we send a list of public nonces ordered by serial id. This matches how signatures are sent in TxSignatures.
Configuration menu - View commit details
-
Copy full SHA for 504c49d - Browse repository at this point
Copy the full SHA 504c49dView commit details