Author: Matt Corallo 2012-06-15 14:56:52
Published on: 2012-06-15T14:56:52+00:00
In a 2012 email exchange, Bitcoin developer Mike Hearn proposed a three-part change to the format of transactions. The first step would be to add a mempool command and have nodes sync up their mempools on startup. The second step would involve changing the "block" message so that it consists of a header, number of transactions, and vector instead of full transactions. When receiving this type of block, nodes would look for missing transactions in their mempool and request them with getdata. Once all transactions are assembled, the block would be verified as normal. This would speed up block propagation and reduce wasted work for miners.The third step would introduce a new message called getmerkletx, which takes a vector and returns a merkletx message containing a merkle branch missing the root and transaction data itself for each requested transaction. Filtering commands would also be added so that only transaction hashes matching the filter would be listed in block messages. Matt suggested making getmerkletxs vector and responding with a partial merkle tree for those transactions, which Hearn did not think would be too difficult.
Updated on: 2023-05-19T03:41:26.412430+00:00