summaryrefslogtreecommitdiff
path: root/bip-0158.mediawiki
diff options
context:
space:
mode:
authorOlaoluwa Osuntokun <laolu32@gmail.com>2018-07-03 19:06:41 -0500
committerOlaoluwa Osuntokun <laolu32@gmail.com>2018-07-04 23:19:15 -0500
commit6a4e8198295b4ebbe47963362183aa5da53e7b27 (patch)
tree68694ed6bce33e5aa0772a78d9df5a3d93a8b2a7 /bip-0158.mediawiki
parent1c2ed6dce331e81785f9f6e8926c6e023df8e8f3 (diff)
downloadbips-6a4e8198295b4ebbe47963362183aa5da53e7b27.tar.xz
BIP-0158: switch to prev output scripts, skip all OP_RETURN
Diffstat (limited to 'bip-0158.mediawiki')
-rw-r--r--bip-0158.mediawiki20
1 files changed, 16 insertions, 4 deletions
diff --git a/bip-0158.mediawiki b/bip-0158.mediawiki
index 1a0e95d..bf2e856 100644
--- a/bip-0158.mediawiki
+++ b/bip-0158.mediawiki
@@ -273,10 +273,22 @@ This BIP defines one initial filter type:
==== Contents ====
The basic filter is designed to contain everything that a light client needs to
-sync a regular Bitcoin wallet. A basic filter MUST contain exactly the following
-items for each transaction in a block:
-* The outpoint of each input, except for the coinbase transaction
-* The scriptPubKey of each output
+sync a regular Bitcoin wallet. A basic filter MUST contain exactly the
+following items for each transaction in a block:
+* The previous output script (the script being spent) for each input, except
+ for the coinbase transaction.
+* The scriptPubKey of each output, aside from all <code>OP_RETURN</code> output
+ scripts.
+
+Any "nil" items MUST NOT be included into the final set of filter elements.
+
+We exclude all <code>OP_RETURN</code> outputs in order to allow filters to
+easily be committed to in the future via a soft-fork. A likely area for future
+commitments is an additional <code>OP_RETURN</code> output in the coinbase
+transaction similar to the current witness commitment
+<ref>https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki</rev>. By
+excluding all <code>OP_RETURN</code> outputs we avoid a circular dependency
+between the commitment, and the item being committed to.
==== Construction ====