Published on: 2015-06-24T03:02:37+00:00
In an email exchange on June 24, 2015, Peter Todd and Filipe Farinha discussed the possibility of using mempool consensus to replace proof-of-work. Farinha responded with a clear "no" to Todd's question about whether his mempool consensus idea would work for this purpose. This response is important when considering the pros and cons of BIP 100.Another email exchange on the same day took place between Filipe Farinha and Mark Friedenbach. They discussed the potential for transaction broadcasting full-nodes lying about mempool size. Farinha questioned the incentive for these nodes to lie, and Friedenbach raised the question of whether Farinha's mempool consensus idea could replace proof-of-work. The context also included a non-text attachment of a digital signature from 'peter'[:-1]@petertodd.org.Mark Friedenbach pointed out in a discussion on June 24, 2015, that anyone could lie about the mempool size. The topic of discussion was the incentive for transaction broadcasting full-nodes to engage in such behavior. It was questioned why the majority of these nodes would have a reason to lie. The mempool refers to the collection of valid but unconfirmed transactions maintained by nodes. Full-nodes broadcast the mempool size to estimate network capacity and plan their own transactions. However, there is no apparent benefit for a full-node to lie about the size of its mempool. While a small number of malicious nodes could potentially manipulate the mempool size, it is unlikely that the majority of full-nodes would engage in such behavior as it goes against their own interests. Therefore, while anyone could lie, there seems to be no incentive for the majority of transaction broadcasting full-nodes to lie about the mempool size.On June 23, 2015, Filipe Farinha proposed a solution for determining the appropriate block size limit for Bitcoin in an email sent to the Bitcoin-dev mailing list. He argued that existing proposals, which relied on predictions or a voting mechanism by a limited set of stakeholders, did not consider real-time changes to the mempool. Farinha suggested that each full-node broadcasting a new transaction could include a mempool_size field to represent their current view of the mempool. As blocks are mined with this new data, all nodes can quickly reach consensus on the current average/median/etc mempool size and agree on a suitable periodic blocksize "re-targetting" similar to mining difficulty. This approach would allow all full-nodes, not just miners, to vote with their transactions, resulting in a truly global consensus. Farinha acknowledged that this proposal would introduce some transaction overhead but argued that it would be more effective than blind changes to the blocksize based on unpredictable future scenarios.In summary, the author proposes a new approach to block size changes in the blockchain that considers real-time changes to the mempool. The current main proposals for block size changes rely on predictions or a limited voting mechanism that may not align with the wider community. The proposed solution involves adding a mempool_size field to each full-node broadcasting a new transaction. By mining blocks with this data, all nodes can quickly reach a consensus on the current mempool size and determine a suitable periodic blocksize adjustment. This approach allows all full-nodes, not just miners, to vote with their transactions, resulting in a truly global consensus. The author suggests that this approach would prevent blindly changing the blocksize based on unpredictable future scenarios.
Updated on: 2023-08-01T13:50:11.571651+00:00