Skip to content

Commit 6a4e819

Browse files
committed
BIP-0158: switch to prev output scripts, skip all OP_RETURN
1 parent 1c2ed6d commit 6a4e819

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

bip-0158.mediawiki

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -273,10 +273,22 @@ This BIP defines one initial filter type:
273273
==== Contents ====
274274

275275
The basic filter is designed to contain everything that a light client needs to
276-
sync a regular Bitcoin wallet. A basic filter MUST contain exactly the following
277-
items for each transaction in a block:
278-
* The outpoint of each input, except for the coinbase transaction
279-
* The scriptPubKey of each output
276+
sync a regular Bitcoin wallet. A basic filter MUST contain exactly the
277+
following items for each transaction in a block:
278+
* The previous output script (the script being spent) for each input, except
279+
for the coinbase transaction.
280+
* The scriptPubKey of each output, aside from all <code>OP_RETURN</code> output
281+
scripts.
282+
283+
Any "nil" items MUST NOT be included into the final set of filter elements.
284+
285+
We exclude all <code>OP_RETURN</code> outputs in order to allow filters to
286+
easily be committed to in the future via a soft-fork. A likely area for future
287+
commitments is an additional <code>OP_RETURN</code> output in the coinbase
288+
transaction similar to the current witness commitment
289+
<ref>https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki</rev>. By
290+
excluding all <code>OP_RETURN</code> outputs we avoid a circular dependency
291+
between the commitment, and the item being committed to.
280292

281293
==== Construction ====
282294

0 commit comments

Comments
 (0)