Author: Bram Cohen 2018-06-09 03:29:30
Published on: 2018-06-09T03:29:30+00:00
On the Bitcoin-dev mailing list, a discussion was held regarding the vulnerability of the Merkle tree algorithm in Bitcoin. It was noted that the algorithm fails to distinguish between inner nodes and 64-byte transactions, which could potentially lead to problems with transaction inclusion proofs. A miner could create a transaction committing to one that was not actually in the blockchain. One solution proposed is to store the depth of the Merkle tree, allowing for safe verification of transaction inclusion proofs without the need for a soft-fork. This could be achieved by fully validating nodes caching the number of transactions in each previous block. The idea of a soft-fork to include the number of transactions in a block header was also discussed and deemed a good idea. However, it was clarified that a soft-fork would not be necessary for the proposed solution. Peter Todd emphasized that this accidental feature encourages the use of safe full verification rather than unsafe lite clients.
Updated on: 2023-06-13T03:13:51.307105+00:00