1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-06-01 17:15:27 +00:00

bip-0054: state explicitly fake inclusion proofs only concern SPV verifier

This commit is contained in:
Antoine Poinsot
2026-05-15 10:50:34 -04:00
parent 5c67f90fa8
commit 8ae3af58e0

View File

@@ -40,8 +40,10 @@ pressures and leading to reduced network security.
In computing a block's Merkle root, a transaction with exactly 64 bytes of non-witness data can be
interpreted both as an intermediate node in the tree and as a leaf in the tree. This makes it
possible to fake inclusion proofs by pretending a 64-byte block transaction is an inner node, as
well as to pretend the inner nodes on one level of the tree are the actual block transactions.
possible to trick an SPV verifier into accepting an inclusion proof for a transaction that is not
part of a block, by pretending a 64-byte block transaction is actually an inner node. Invalidating
64-byte transactions addresses this vulnerability without requiring users of SPV verifiers to deploy
one of the available mitigations, or even to know one is necessary in the first place.
Since [bip-0034][BIP34] activation, explicit [bip-0030][BIP30] validation is not necessary until
block height 1,983,702[^0]. Mandating new coinbase transactions be different from the early