File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -273,10 +273,22 @@ This BIP defines one initial filter type:
273
273
==== Contents ====
274
274
275
275
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.
280
292
281
293
==== Construction ====
282
294
You can’t perform that action at this time.
0 commit comments