[Pre-BIP] Fee Accounts



Summary:

Bitcoin developer Jeremy Rubin has suggested an alternative approach to the current transaction fee model in bitcoin by proposing an "extension block" account system. The system would define a special output type called a "fee account" that could store all deposits in a separate UTXO database for fee accounts and sign only two kinds of transactions: either a fee amount and a TXID (or Outpoint) or a withdraw amount, a fee, and an address. These transactions would be committed in an extension block merkle tree. Although this approach is similar to an account-based model, Rubin says it is different because funds withdrawn from the fee extension are fundamentally locked for 100 blocks as a coinbase output, and there is no "rich state" for these accounts; therefore, the state updates can always be applied in a conflict-free way in any order. Rubin believes this design would improve the privacy of bitcoin transactions by allowing fee account paying to be unlinked from the transaction being paid for. In addition, other operations could be added to allow trustless mixing to be done by miners automatically where groups of accounts with similar values are trustlessly split into a common denominator and change, adding better privacy. This design could also work well for channels in Lightning Network since the addition of fees to a channel state does not require any sort of pre-planning or transaction flexibility.Although Rubin admits that accounts are generally considered "bad," he believes this proposal overcomes those concerns. He also stated that this design could be done as a federated network that bribes miners, but such an approach does mean there is a centralizing layer interfering with normal mining.


Updated on: 2023-06-15T03:54:42.437951+00:00