Published on: 2015-10-29T00:55:53+00:00
In a Bitcoin development discussion on October 28, 2015, Jonathan Toomim emphasized the importance of maintaining an easy-to-modify and customizable node policy. He argued against simplifying code in a way that would make policies harder to configure, specifically mentioning the default policy of reserving 5% of space. Toomim suggested implementing an API that is calibrated on the whole mempool and includes a method for calculating priority scores for transactions.However, Luke Dashjr disagreed with Toomim's proposal, stating that communicating policies as simple numbers would be more complicated for policy-writers compared to the current system. In an email exchange between Dashjr and Toomim, they discussed the idea of using an abstract API that could make it easier to write a reserved-space algorithm within the priority API scheme.Toomim also expressed his opinion on assigning block space based on bitcoin-days destroyed (BDD) and fees. He found this approach awkward and believed it would complicate code writing, maintenance, and execution due to the need for separate code paths for dealing with a constrained resource like the mempool and CNB. He reiterated the importance of easy modification and customization of node policy and argued against sacrificing simplicity in other code areas if it makes policies harder to configure.The process of assigning block space based on BDD and fees has faced criticism for its complexity, requiring two code paths. One alternative suggested is eliminating BDD priority altogether, but another idea proposes creating a conversion rate between BDD and fees to create a composite priority metric. This would involve using the equation sum(fees) = sum(BDD) * conversionRate * BDDweight to calculate the conversion rate, with the relative weight of BDD versus fees set by a policy statement from the command line. To optimize this process, the sum of mempool fees and BDD would be stored and updated as transactions enter or leave the mempool, with recalculations occurring when a new block is found to minimize drift.
Updated on: 2023-08-01T16:46:37.502574+00:00