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:
@@ -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
|
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
|
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
|
possible to trick an SPV verifier into accepting an inclusion proof for a transaction that is not
|
||||||
well as to pretend the inner nodes on one level of the tree are the actual block transactions.
|
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
|
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
|
block height 1,983,702[^0]. Mandating new coinbase transactions be different from the early
|
||||||
|
|||||||
Reference in New Issue
Block a user