Author: Billy Tetrud 2022-01-19 02:37:39
Published on: 2022-01-19T02:37:39+00:00
Bitcoin developer Jeremy Rubin has proposed a way to separate transaction fees from the actual transaction itself by establishing an account system as an "extension block" in Bitcoin. The proposal would define a special "fee account" output type that anyone could spend and store all deposits into a separate UTXO database for fee accounts. Fee accounts would only be able to sign two types of transactions: one to add a fee amount to a specific transaction, and another to withdraw a fee amount and send it to a specific address. These transactions would be committed in an extension block merkle tree.The proposal aims to make it easier to write long-lived smart contracts that can't predict future fee rates, and to allow for fee bumping stuck transactions and DoS-resistant payment channels. While some may argue that accounts are bad, Rubin's proposal argues that these accounts are not because any funds withdrawn from the fee extension are fundamentally locked for 100 blocks as a coinbase output.Rubin admits that his proposal could be modified to improve privacy by implementing something like Tornado.cash so that the fee account paying can be unlinked from the transaction being paid for. Other operations could be added to allow a trustless mixing to be done by miners automatically where groups of accounts with similar values are trustlessly split into a common denominator and change, and keys are derived via a verifiable stealth address-like protocol.The proposal could be implemented without a fork as a federated network that bribes miners, but this approach does mean there is a centralizing layer interfering with normal mining. However, Rubin believes that the design is naturally immune to pinning issues, making it efficient for channels since adding fees to a channel state does not require any sort of pre-planning or transaction flexibility.
Updated on: 2023-06-15T03:51:20.807142+00:00