From 6a4e8198295b4ebbe47963362183aa5da53e7b27 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Tue, 3 Jul 2018 19:06:41 -0500 Subject: [PATCH] BIP-0158: switch to prev output scripts, skip all OP_RETURN --- bip-0158.mediawiki | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/bip-0158.mediawiki b/bip-0158.mediawiki index 1a0e95db..bf2e856e 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 OP_RETURN output + scripts. + +Any "nil" items MUST NOT be included into the final set of filter elements. + +We exclude all OP_RETURN 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 OP_RETURN output in the coinbase +transaction similar to the current witness commitment +https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki. By +excluding all OP_RETURN outputs we avoid a circular dependency +between the commitment, and the item being committed to. ==== Construction ====