# Great Consensus Cleanup Revival

**URL:** <https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710>\
**Category:** Protocol Design\
**Created:** [March 24, 2024, 5:29pm UTC](https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710 "2024-03-24T17:29:42Z")\
**Posts on this page:** 1\
**Showing post:** 40

<div class="post-metadata">

**Author:** ![evoskuil](https://delvingbitcoin.org/user_avatar/delvingbitcoin.org/evoskuil/32/391_2.png) [@evoskuil](https://delvingbitcoin.org/u/evoskuil)\
**Post date:** [August 27, 2024, 11:17pm UTC](https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710/40 "2024-08-27T23:17:30Z")

</div>

> [@evoskuil](#):
>
> This implies an average segwit-era download cost of `11*32 + 260 = 612` bytes to validate the Merkle proofs for _all txs_ of a given block (.34 seconds on a 14,400 baud modem).

This can be reduced by 36 bytes, since a valid coinbase must always contain the null point: `0xffffffff0000000000000000000000000000000000000000000000000000000000000000`. As this can be assumed, the segwit-era average download cost to validate all Merkle proofs for a given block would actually be 576 bytes.

It’s also worth pointing out that the associated storage cost is nominally one byte (actually 4 bits) per block, since the only required information is the proven Merkle tree depth.

> Another soft-forking solution is to require that a new field “depth” requiring 4 bits is embedded in the block version field. This new fields should specify the Merkle tree depth minus one. By using 4 bits, a a tree of depth 16, containing up to 65K transactions can be specified. Full nodes much check that the actual tree depth matches the value of “depth” given. SPV nodes can check that the “depth” field matches the Merkle branch length received. - Ibid.

---

_[View the full topic](https://delvingbitcoin.org/t/great-consensus-cleanup-revival/710)._
