On P2P Transaction Negotiation
One thing that payment to a non-custodial representative service cannot do, is provide P2P payment where negotiation is involved in the structure of the final transaction used to pay whatever is due.
A basic payment
When a payment is made it involves the spending wallet selecting coins to use, and recipients that they will be give them to. So the wallet constructs a transaction with an input for each coin being used, and an output for each recipient or for each piece of change from the coins that were used.
In the simplest form this is just between spender and recipient.
Options for the spending wallet
The spending wallet can include a wide range of things in a basic payment.
- It can choose what coins to spend based on an approach that aids in maintaining privacy for the wallet owner.
- It can choose what value and how many coins of change it makes based on maintaining privacy for the wallet owner.
- It can add encrypted data that provides context for the transaction, perhaps to be used in the worst case scenario of data loss.
But it can also do a few things that widen the scope of the transaction.
- It can add arbitrary other data to the transaction for whatever reason, unrelated to the payment.
- It can pay other parties at the same time as part of a bulk payment, given that as long as the transaction pays any given one the amount that is owed in the way they require, it is irrelevant to them what else is in the transaction.
These might be the only options available for payment to a Paymail address. But payment made in a P2P fashion between two connected parties might have more options.
What of negotiation?
If a payment is made between two connected parties, then the recipient has agency. Their wallet can choose outputs that are sized and constructed in the way that best suits it's hygiene and good housekeeping. These can be provided to the spending wallet based on the current overall state of the wallet or some subset of it, that is related to the payment. They might also be many of the options listed above for a spending wallet that is perhaps paying through Paymail.
But why stop there for the recipient wallet? If the recipient wallet can respond to a query about the outputs it wants attached, then everything is negotiable given a known protocol.
- Is there value in it providing it's own inputs for the payment to itself, perhaps also for privacy reasons? It could be reasonably argued that this is in the spender's interest as well as this adds to their own privacy.
- Fee calculations become part of this. Perhaps there is an agreement on who pays the fee. But if multiple parties pay the fee for their own personal additions, then this might be who pays the fee for the complications they ask for and who pays the fee for the overheads for the original payment.
I expect that this will eventuate for P2P payments, there are likely many use cases for it beyond the ones listed above.