Capacity increases for the Bitcoin system.



Summary:

In a discussion on bitcoin-dev mailing list, Anthony Towns brought up the topic of cost function versus separate limits. He stated that having a cost function makes it easier to build blocks optimally. This means that miners can simply divide the fee by (base_bytes+witness_bytes/4) and sort. One main benefit of this approach is that it allows for easy computation of fees for transactions. With multiple limits at play, how one needs to pay would depend on the entire set of other candidate transactions, which is unknown to them. Requiring software complexity in the miner could lead to centralization advantages or divert development/maintenance cycles in open source software off to other ends. The multidimensional optimization is harder to accommodate for improved relay schemes, which is critical both because of the need for consistency and the frequency in which you do it. However, these benefits do not apply all that strongly if only one limit is likely to be the limiting limit. It is unclear whether one should count on this since if the other limits wouldn't be limiting, why have them? All limiting schemes have pathological cases where someone runs up against the limit in the most costly way. Casual pathological behavior can be suppressed via IsStandard like rules without baking them into consensus; so long as the candidate attacker isn't miners themselves. Doing so where possible can help avoid cases like the current sigops limiting which is pretty broken.


Updated on: 2023-05-19T22:34:57.796441+00:00