summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Sanders <gsanders87@gmail.com>2020-08-21 16:20:51 -0400
committerGregory Sanders <gsanders87@gmail.com>2020-09-08 11:38:44 -0400
commitc8b47a8d48914254a17c43a16872362e46785019 (patch)
tree7a81f7a851cba974504aefd0a19df82cac9dc4c9
parent68bb026c56162b016494bdea8caf3aeb9c39ef7b (diff)
Slight cleanup of signet commitment description
-rw-r--r--bip-0325.mediawiki4
1 files changed, 3 insertions, 1 deletions
diff --git a/bip-0325.mediawiki b/bip-0325.mediawiki
index 4b45030..5c7d47d 100644
--- a/bip-0325.mediawiki
+++ b/bip-0325.mediawiki
@@ -26,13 +26,15 @@ A new type of test network would be more suitable for integration testing by org
A new type of network ("signet"), which takes an additional consensus parameter called the challenge (scriptPubKey). The challenge can be a simple pubkey (P2PKH style), or a k-of-n multisig, or any other script you would want.
-The witness commitment of the coinbase transaction is extended to include a secondary commitment (the signature/solution) of either:
+In order to provide a non-empty solution to the block challenge the block's BIP 141 commitment's optional data must include an additional commitment of the signature/solution for the block:
1-5 bytes - Push the following (4 + x + y) bytes
4 bytes - Signet header (0xecc7daa2)
x bytes - scriptSig
y bytes - scriptWitness
+In the special case where an empty solution is valid (ie scriptSig and scriptWitness are both empty) this additional commitment can optionally be left out. This special case is to allow non-signet-aware block generation code to be used to test a custom signet chain where the challenge is trivially true.
+
The scriptSig is serialized by first encoding its length as CompactSize. If the scriptWitness is empty, it is encoded as 0 bytes, otherwise it is encoded in the usual way (see BIP 141 "witness" encoding).
Any push operations that do not start with the 4 byte Signet header are ignored. Multiple push operations with the 4 byte Signet header are ignored except for the first instance of the header.