BIP Proposal: Revised: UTPFOTIB - Use Transaction Priority For Ordering Transactions In Blocks



Summary:

Damian Williamson, a member of the bitcoin-dev mailing list, has proposed a new method for ordering transactions in blocks to address the problem of transactional reliability in Bitcoin. The proposal is called UTPFOTIB (Use Transaction Priority For Ordering Transactions In Blocks) and aims to validate full transaction reliability and enable scalability of Bitcoin. The current transactional reliability problem in Bitcoin is that valid transactions may be stuck in the transaction pool for extended periods or never confirm. The proposal suggests providing each valid transaction in the mempool with an individual transaction priority based on a curve function of the fee and the time waiting in the transaction pool out to n days, and extending past n days. Nodes will need to keep track of when a transaction is first seen. The proposal also addresses the current transaction bandwidth limit and the current ad-hoc methods of including transactions in blocks resulting in variable and confusing confirmation times for valid transactions.Additionally, the proposal outlines that all feedback received so far has been constructive and references previous threads for this proposal. The author argues that no transactions with fees above the dust level are rubbish or junk, only some zero fee transactions might be spam. The proposal suggests that having an ever-increasing number of valid transactions that do not confirm as more new transactions with higher fees are created is the opposite of operating a robust, reliable transaction system. Finally, the author believes that consumers and business are not against paying fees, even high fees, but operational reliability is required.The proposal suggests using a dynamic target block size to create blocks, which is determined by the average valid transaction pool size and the number of days. The block size should be a minimum 1MB in size regardless if the target block size is lower. Miners are likely to conform to the proposal since it potentially lowers the highest fees paid for priority service. However, without consensus on what size dynamic block to create, enforcement of dynamic block size is not currently possible. A new network service is recommended to enable future changes to the way blocks are constructed.The operation of the proposed solution includes determining the target block size for the current block, assigning a transaction priority to each valid transaction in the mempool, selecting transactions to include in the current block using probability in transaction priority order until the target block size is met, solving block, broadcasting the current block when it is solved, block verification process, accepting/rejecting block based on verification result, and repeating.In conclusion, the proposal aims to ensure transactional reliability and scalability while having each valid transaction confirm in due time. It is necessary to adopt this proposal to have a reliable, stable fee-paying transaction confirmation service and a beneficial auction. Williamson has requested feedback on the proposal from other members of the mailing list. While he feels he has done as much as he can so far, he is open to suggestions and comments. The proposal is available under a Creative Commons Attribution-ShareAlike 4.0 International License, with permissions beyond the scope of this license potentially available at https://opensource.org/licenses/BSD-3-Clause.


Updated on: 2023-06-12T22:48:03.621408+00:00