BIP 70 refund field



Summary:

The problem with PaymentDetails as an answer to a specific issue is that none of the fields, other than outputs and network, can be known in advance at the time of initial payment. The expiry field for PaymentRequests, which allows payments to eventually stop loading keys into RAM, could be useful, but there's no equivalent for refund addresses. If there's no time limit for receiving a refund, wallets have to look out for refunds for payments made years ago. To address this, a new refund field that embeds a PaymentDetails structure instead of just a list of outputs could be added. Alternatively, a wallet-specific swapping process in which Bloom filters are calculated without all keys being held in memory at once could be used to create "infinite" wallets. However, key expiry seems fundamental to scalability.


Updated on: 2023-06-08T16:48:50.886973+00:00