Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 4.28 KB

anatomy-psbt.md

File metadata and controls

88 lines (61 loc) · 4.28 KB

Fees and the anatomy of partially signed bitcoin transactions

Anatomy of a Transaction

utxo, psbt

A transaction can not only contain multiple payments but also other kinds of operations.

  • Tripple Entry Accounting
  • UTXO / Coin Selection UI
  • Partially Signed Bitcoin Transaction Format — BIP0174
  • [Ordering of Inputs and Outputs]1

Canceling transactions

Send. Slowing down to manage expectations

  • Mpesa’s Hakikisha has a 5 min window for the transaction to get canceled. Bitcoin is more variable, as a transaction with a lower fee rate can take mins or hours to get a confirmation.
  • On-chain fees will continue to rise.
  • Should we encourange long to confirm on-chain transactions? Benefit is that the window of time to ammend a broadcasted transaction using RBF can be increased.
  • Batching payments in a low fee transaction that takes longer to confirm but is cheaper?
    • Replace by Fee can allow you to add another payment to the batch, and also speed it up.
  • Scheduling transactions to be broadcasted when fee’s reach a certain amount?

What are the implications in commerce?

  • btcpayserver/btcpayserver#1330
  • Merchants like supermarkets and restaruants in Venezuela using "cryptobuyer" seem to accept/rely on 0 confirmation transactions.
  • Since there are varying times for on-chain transaction confirmations maybe merchants should also slow down, and only set the order as paid if they have full confirmation of a payment. Note: Instant payment and delivery may be solved if both sides adopt lightning payments in commerce.

Receive

  • The appearance of faster payments can be achieved if wallets shows incoming mempool transactions.
    • UTXO should not be spendable until it is confirmed.
  • Estimations/countdowns using block time(?)

Alternatively, Instant Payments

  • Lightning network provides instant payments (also cannot be reversed, but also too fast to be canceled)

Fee Awareness

How might we make users more aware of the current transaction fees in the UI

Signature Aggregation Across devices

Unifying on-chain/off-chain payments using using Bolt11 as the payment request standard —

Research

Investigate the impact of Bitcoin’s Fee on the decisions of users who are deciding to make on-chain transactions.

Adaptations

  • How to handle payment requests communication across applications?
  • Implications for users with non-lightning enabled wallets
  • Privacy by default — how is the lightning wallet going to sign a fall back PayJoin transaction?
  • Developer Experience / How can it be implemented without significant developer overhead to support these micro interactions / features?
  • Opening and Balancing Payment Channels by hooking onto Payment Requests
  • RPC combinepsbt

REF

Footnotes

  1. https://github.com/bitcoin/bips/blob/master/bip-0069.mediawiki "Lexicographical Indexing of Transaction Inputs and Outputs"