summaryrefslogtreecommitdiff
path: root/bip-0158.mediawiki
diff options
context:
space:
mode:
Diffstat (limited to 'bip-0158.mediawiki')
-rw-r--r--bip-0158.mediawiki13
1 files changed, 7 insertions, 6 deletions
diff --git a/bip-0158.mediawiki b/bip-0158.mediawiki
index 08e542a..535ffd9 100644
--- a/bip-0158.mediawiki
+++ b/bip-0158.mediawiki
@@ -279,7 +279,7 @@ following items for each transaction in a block:
* 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.
+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
@@ -302,11 +302,12 @@ setting <code>M=1.497137 * 2^P</code> is close to optimal
Empirical analysis also shows that was chosen as these parameters minimize the
bandwidth utilized, considering both the expected number of blocks downloaded
-due to false positives and the size of the filters themselves.
+due to false positives and the size of the filters themselves.
-The parameter <code>k</code> MUST be set to the first 16 bytes of the hash of
-the block for which the filter is constructed. This ensures the key is
-deterministic while still varying from block to block.
+The parameter <code>k</code> MUST be set to the first 16 bytes of the hash
+(in standard little-endian representation) of the block for which the filter is
+constructed. This ensures the key is deterministic while still varying from
+block to block.
Since the value <code>N</code> is required to decode a GCS, a serialized GCS
includes it as a prefix, written as a <code>CompactSize</code>. Thus, the
@@ -432,7 +433,7 @@ gcs_match_any(key: [16]byte, compressed_set: []byte, targets: [][]byte, P: uint,
== Appendix C: Test Vectors ==
-Test vectors for a P value of 20 on five testnet blocks, including the filters and filter headers, can be found [[bip-0158/testnet-20.csv|here]]. The code to generate these vectors for P values of 1 through 32 can be found [[bip-0158/gentestvectors.go|here]].
+Test vectors for basic block filters on five testnet blocks, including the filters and filter headers, can be found [[bip-0158/testnet-19.json|here]]. The code to generate them can be found [[bip-0158/gentestvectors.go|here]].
== References ==