Skip to content

Commit

Permalink
Apply suggestions from code review
Browse files Browse the repository at this point in the history
Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
  • Loading branch information
cryptoquick and murchandamus authored Dec 23, 2024
1 parent 208a987 commit 8eb35c8
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions bip-0360.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -85,28 +85,28 @@ quantum attack:
|-
| P2PK || Yes || Varies || 2103203b768951584fe9af6d9d9e6ff26a5f76e453212f19ba163774182ab8057f3eac
|-
| P2PKH || No || 1 || 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
| P2PKH || No¹ || 1 || 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
|-
| P2MS || Yes || Varies || 52410496ec45f878b62c46c4be8e336dff7cc58df9b502178cc240e...
|-
| P2SH || No || 3 || 3FkhZo7sGNue153xhgqPBcUaBsYvJW6tTx
| P2SH || No¹ || 3 || 3FkhZo7sGNue153xhgqPBcUaBsYvJW6tTx
|-
| P2WPKH || No || bc1q || bc1qsnh5ktku9ztqeqfr89yrqjd05eh58nah884mku
| P2WPKH || No¹ || bc1q || bc1qsnh5ktku9ztqeqfr89yrqjd05eh58nah884mku
|-
| P2WSH || No || bc1q || bc1qvhu3557twysq2ldn6dut6rmaj3qk04p60h9l79wk4lzgy0ca8mfsnffz65
| P2WSH || No¹ || bc1q || bc1qvhu3557twysq2ldn6dut6rmaj3qk04p60h9l79wk4lzgy0ca8mfsnffz65
|-
| P2TR || Yes || bc1p || bc1p92aslsnseq786wxfk3ekra90ds9ku47qttupfjsqmmj4z82xdq4q3rr58u
|-
| P2QRH || No || bc1r || bc1r8rt68aze8tek87cnz4ndnvfzk6tk93jv39n4lmpu5a4yw453rcpszsft3z
|}

Note: Funds are only safe in P2PKH, P2SH, P2WPKH, and P2WSH outputs if they haven't used the address before.
¹ Funds in P2PKH, P2SH, P2WPKH, and P2WSH outputs become vulnerable to long-range quantum attacks when their input script is revealed. An address is no longer safe against long-range quantum attacks after funds from it have been spent.

It should be noted that Taproot outputs are vulnerable in that they encode a 32-byte x-only public key, from which a
full public key can be reconstructed.

Derivation of child keys (whether hardened or not) requires the chain code, so this is only a concern if the attacker
has access to the extended public key (in which case they can just directly convert it to an extended private key).
If an extended public key’s (xPub’s) parent private key of is recovered by CRQC, the attacker also recovers
the entire extended private key, whether it uses hardened or unhardened derivation.

==== Long Range and Short Range Quantum Attacks ====

Expand All @@ -116,7 +116,8 @@ period of time, giving an attacker ample opportunity to break the cryptography.
* P2PK outputs (Satoshi's coins, CPU miners, starts with 04)
* Reused addresses (any type, except P2QRH)
* Taproot addresses (starts with bc1p)
* Wallet descriptor extended public keys, commonly known as "xpubs"
* Extended public keys, commonly known as "xpubs"
* Wallet descriptors
Short Range Quantum Attack is an attack that must be executed quickly while a transaction is still in the mempool,
before it gets mined into a block. This affects:
Expand Down Expand Up @@ -276,8 +277,8 @@ Hash Computation section.

=== Output Mechanics ===

To address the risk of arbitrary data being stored using P2QRH (QuBit) outputs, very specific rules will be applied
to spending from the witness stack in SegWit v3 outputs. A fixed signature size will be necessary for spending the
To prevent storage of arbitrary data using P2QRH (QuBit) outputs,
the witness stack for inputs spending segwit v3 outputs is limited to the fixed-size signatures necessary for spending the
output, and the output must be spendable to be considered valid within node consensus. A fixed signature size will also
be helpful to disambiguate between signature types without an additional version byte, as SQIsign signatures are
substantially smaller than FALCON signatures. Consequently, the correct signature algorithm can be inferred through
Expand Down

0 comments on commit 8eb35c8

Please sign in to comment.