1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-06-01 17:15:27 +00:00

Merge pull request #2162 from scgbckbone/bip322_break_changes

BIP-322 nit fixes
This commit is contained in:
Jon Atack
2026-05-19 14:46:13 -07:00
committed by GitHub

View File

@@ -167,7 +167,7 @@ A ''full'' signature consists of the variant-prefixed (<code>ful</code>) base64-
=== Full (Proof of Funds) === === Full (Proof of Funds) ===
The [[#full-proof-of-funds|Proof of Funds]] variant extends the basic scheme: in addition to signing The Proof of Funds variant extends the basic scheme: in addition to signing
a message under a single address's key, the signer proves control over an arbitrary set of UTXOs. a message under a single address's key, the signer proves control over an arbitrary set of UTXOs.
This UTXO set is chosen freely by the signer and MAY be associated with the signing address This UTXO set is chosen freely by the signer and MAY be associated with the signing address
(the <code>message_challenge</code>). For example, it may consist of outputs paid to that address, (the <code>message_challenge</code>). For example, it may consist of outputs paid to that address,
@@ -260,7 +260,7 @@ Validation consists of the following steps:
# Check the '''upgradeable rules''' # Check the '''upgradeable rules'''
## The version of <code>to_sign</code> must be 0 or 2. ## The version of <code>to_sign</code> must be 0 or 2.
## The use of NOPs reserved for upgrades is forbidden. ## The use of NOPs reserved for upgrades is forbidden.
## The use of Segwit versions greater than 1 are forbidden. ## The use of Segwit versions greater than 1 is forbidden.
## If any of the above steps failed, the validator should stop and output the ''inconclusive'' state. ## If any of the above steps failed, the validator should stop and output the ''inconclusive'' state.
# Let ''T'' be the nLockTime of <code>to_sign</code> and ''S'' be the nSequence of the first input of <code>to_sign</code>. Output the state ''valid at time T and age S''. # Let ''T'' be the nLockTime of <code>to_sign</code> and ''S'' be the nSequence of the first input of <code>to_sign</code>. Output the state ''valid at time T and age S''.
@@ -459,7 +459,7 @@ A '''transaction finalizer''' of a BIP322 PSBT must follow these steps:
This specification is backwards-compatible with the legacy signmessage/verifymessage specification This specification is backwards-compatible with the legacy signmessage/verifymessage specification
through the special case [[#legacy|as described above]]. through the special case [[#legacy|as described above]].
To support backward compatibility with implementations of this BIP before it was finalized, a To support backward compatibility with implementations of this BIP before it was finalized, a
verifier might assume the ''simple' variant in the absence of a prefix. verifier might assume the ''simple'' variant in the absence of a prefix.
== Reference implementation == == Reference implementation ==
@@ -493,7 +493,7 @@ and many others for their feedback on the specification.
** Mark Complete ** Mark Complete
** Breaking change: Add human-readable prefix to encoded signature ** Breaking change: Add human-readable prefix to encoded signature
** Breaking change: format of "Proof of Funds" signatures to be base64-encoded finalized PSBT ** Breaking change: format of "Proof of Funds" signatures to be base64-encoded finalized PSBT
** Add new PSBT input field for PSBT-based signing ** Add new PSBT global field for PSBT-based signing
* '''0.0.1''' (2018-09-10): * '''0.0.1''' (2018-09-10):
** Proposed as draft ** Proposed as draft