summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2020-10-05 19:42:54 +0000
committerLuke Dashjr <luke-jr+git@utopios.org>2020-10-05 19:42:54 +0000
commit471ec4a8f4f06dde669b62d7b4f0ab1e90c54ce6 (patch)
treedee2825d03fa0b422b8206d7efcb8604e5c6b588
parentd70179499add9d8d31b759ef3e58e699100c765f (diff)
parent6d7d3011e8ebf37ee51d79c2e286aa1f1f7d6d86 (diff)
downloadbips-471ec4a8f4f06dde669b62d7b4f0ab1e90c54ce6.tar.xz
Merge remote-tracking branch 'origin-pull/976/head'
-rw-r--r--bip-0325.mediawiki4
1 files changed, 3 insertions, 1 deletions
diff --git a/bip-0325.mediawiki b/bip-0325.mediawiki
index b5b25e1..d27d0b9 100644
--- a/bip-0325.mediawiki
+++ b/bip-0325.mediawiki
@@ -25,13 +25,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:
+Signet requires all blocks to have a BIP 141 commitment in the coinbase transaction. 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. The scriptWitness stack is serialized as described in BIP 141.
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.