BIP 360 - Pay to Merkle Root (P2MR)#1670
Conversation
There was a problem hiding this comment.
Interesting (the question of resistance to quantum computing may have resurged lately with the publication of https://scottaaronson.blog/?p=8329, see also https://x.com/n1ckler/status/1839215426091249778).
b6ed2c3 to
d6d15ad
Compare
0608cc1 to
a595bf0
Compare
19d4592 to
7f4456d
Compare
|
@cryptoquick Can you begin to write up the sections currently marked as TBD, along with a backwards compatibility section (to describe incompatibilities, severity, and suggest mitigations, where applicable/relevant)? We've begun to reserve a range of BIP numbers for this topic, pending continued progress here. |
|
@cryptoquick ping for an update here. Have you seen https://groups.google.com/g/bitcoindev/c/p8xz08YTvkw / https://github.com/chucrut/bips/blob/master/bip-xxxx.md? It may be interesting to review each other and possibly collaborate. |
df0feef to
f5aa4d9
Compare
@murchandamus Sounds good, reverted to draft. |
|
Was just taking another look at this. I noticed two things:
|
Thank you. |
|
@murchandamus We got the test vectors updates knocked out sooner than I thought, would you prefer we hold off on merging as originally planned or should we just get them into this one? See: |
|
If you have it ready, just merge it in here. I’ll wait with the publication until you tell me that it’s ready from your side. |
* P2TSH: Taptree can now be populated with a mix of leaves secured either via Schnorr based locking script or SLH-DSA based locking script * P2TSH: Improved docs and variable names * p2tsh: even more improvements to docs for Rust implementation * p2tsh rust: now using libbitcoinpqc bindings package (segregated from core C implementation) * bip360: p2tsh -> p2mr * BIP360: Test that P2TR uses only witness version 1 bitcoin#1670 (comment)
|
It is done. |
--------- Co-authored-by: Ethan Heilman <ethan.r.heilman@gmail.com> Co-authored-by: Isabel Foxen Duke <isabelfoxenduke@users.noreply.github.com> Review comments and assistance by: Armin Sabouri <armins88@gmail.com> D++ <82842780+dplusplus1024@users.noreply.github.com> Jameson Lopp <jameson.lopp@gmail.com> jbride <jbride2001@yahoo.com> Joey Yandle <xoloki@gmail.com> Jon Atack <jon@atack.com> Jonas Nick <jonasd.nick@gmail.com> Kyle Crews <kylecrews@Kyles-Mac-Studio.local> Mark "Murch" Erhardt <murch@murch.one> notmike-5 <notmike-5@users.noreply.github.com> Vojtěch Strnad <43024885+vostrnad@users.noreply.github.com>
Review comments and assistance by: Armin Sabouri <armins88@gmail.com> D++ <82842780+dplusplus1024@users.noreply.github.com> Jameson Lopp <jameson.lopp@gmail.com> jbride <jbride2001@yahoo.com> Joey Yandle <xoloki@gmail.com> Jon Atack <jon@atack.com> Jonas Nick <jonasd.nick@gmail.com> Kyle Crews <kylecrews@Kyles-Mac-Studio.local> Mark "Murch" Erhardt <murch@murch.one> notmike-5 <notmike-5@users.noreply.github.com> Vojtěch Strnad <43024885+vostrnad@users.noreply.github.com> Co-authored-by: Ethan Heilman <ethan.r.heilman@gmail.com> Co-authored-by: Isabel Foxen Duke <110147802+Isabelfoxenduke@users.noreply.github.com>
|
@cryptoquick The link in that sentence in the document is broken.
|
|
|
||
| These test vectors build off of the test vectors for [[bip-0341.mediawiki|BIP 341]] (Taproot). One important distinction is that the P2MR test vectors do not include keypath spend scenarios. | ||
|
|
||
| Also included are test vectors in [https://github.com/bitcoin/bips/tree/master/bip-0360/ref-impl/rust rust implementation] and [https://github.com/bitcoin/bips/tree/master/bip-0360/ref-impl/python python implementation]. One of these tests demonstrates a tapscript that requires a secp256k1 signature to spend the P2MR UTXO (modeled after one of the extremely valuable examples provided by [https://learnmeabitcoin.com/technical/upgrades/taproot/#example-3-script-path-spend-signature this Taproot script path spend example]. Similar to BIP 341 test vectors, all signatures are created with an all-zero (0x0000...0000) [[bip-0340.mediawiki|BIP 340]] auxiliary randomness array. |
There was a problem hiding this comment.
looks like the mentioned python implementation either never materialised or was omitted from the PR
There was a problem hiding this comment.
Good point
Just checked
https://github.com/bitcoin/bips/tree/master/bip-0360/ref-impl/python
Will address in v2
There was a problem hiding this comment.
Want me to remove the reference to python in the BIP 360 until we readd it?
There was a problem hiding this comment.
Not sure why that's necessary
This spent several months gathering feedback from the mailing list and from other advisors. This is hopefully polished enough to submit upstream.
Let me know if you have any questions or feedback, and of course feel free to submit suggestions.
Thank you for your time.