Thinking Multi-transaction payments in Bitcoin (BSV)
Bitcoin transactions can have multiple inputs and multiple outputs but the simplest Bitcoin transaction has just an input and an output.
Addresses can be used a single time or multiple times, but never reusing a single address is better to ensure privacy.
A payment can use a single transaction or multiple transactions. Multi-transaction payments use multiple transaction to pay the required sum to different addresses that will never be reused again.
How would it works?
Nodes could reward individual miners (the contributors of hash power) not with a single transaction of the exact part of the block reward, but with multiple transactions of fixed value(s). E.G. Instead of 132 $ in BSV with a single transaction to a single address, the miner would receive a one 50$ transaction + one 20 $ transaction + five 10$ transactions + two 5$ transactions + two 1 $ transactions totalling 132$. Instead of sending the reward to a fixed address, the node will query a service like HandCash or Moneybutton.com to for the next address to pay JoeTheMiner and JoeTheMiner will be able to detect who sent him the coins.
After this, the miner can spend the reward using a SPV wallet able to manage multi-transactions payments if the receiver is using a similar wallet. He can pay for electricity, water, food, etc. with BSV or exchange BSV for fiat money. The wallet could send 20$ to pay for a 15$ pizza and get back a 5$ tx from the seller of the pizza as change from a totally different address (from the payment of a different customer). In alternative, the wallet could split the 20$ output in four 5$ outputs and pay three of them to three of the pizza maker addresses and send one of them to a different address of the buyer.
No one should ever join different outputs to in a single transaction. The balance should move from an address to another to the next and slowly be reduced paying the tx fee.
Effect of different fee payers
- Traditionally, the sender pay the fee of a transaction and not care which node confirming the transaction. In this case, the balance will slowly erode like the old gold coins were slowly "sweated" of gold. With Bitcoin (BSV) it is not important, because the wallets can automatically compute how much is paid to the merchant, can send a rest back or split the balances as needed.
- But nothing prevent the payee or the payers from having a direct contract with the nodes to confirm their transaction and pay them directly. A merchant could pay, in advance, directly to a specific node (maybe to get a discount to the fee or a better service) with a transaction just made of fee. The only two to know the transaction are the node receiving it and the merchant paying it. When the node find a block, it will include that transaction in it.
The are two advantages in (2):
- The merchant can get rid of small denomination outputs that costs too much to be spent and should be joined together in larger denominations to be useful. The nodes get rid of small transactions Outputs (dust) increasing their memory requirements and the merchants reduce the number of outputs they must manage. This type of payments to nodes should not be time sensitive, so merchants can send the tx to the miner and the miners can confirm it in times of slow activity of the network (smaller blocks).
Another advantage is the increase of privacy: Bitcoin is a chain of valid transactions. We can follow a balance from the moment it is miners to the moment every part of it was spent in fees. But when the fee become new coins the link with the old coins is "broken" (a) like it would be with old gold coin melted and reminted in new gold coins. All the transactions in that block pay some fee and the fee create the new coins. Instead, if we continue to merge the outputs together to get balances large enough to be economically significative / useful the link persist and we could follow the history of a coin back for years, decades or centuries. Not good for the privacy. Instead the miners create always newly minted unsullied coins. This is way better than mixing the coins (be it centralized or not) because it protects privacy of all but not force people to taint their coin with the coins from illicit or illegal sources.
If the block reward was awarded in a set of fixed value transactions (1 - 2 - 5 - 10 - 20 - 50 $ tx) to the miner's wallets everyone to a different address and these balances spent completely every time by their owner (and the coins spent chosen randomly and sent at different times) it would be very difficult to trace every transaction in real time. Because the difficulty of analysing the graph would increase exponentially with the number of transactions and the time. Because Bitcoin is oblivious of borders, many transactions would continuously move between countries making economically impossible to follow them without a good reason. I, from Italy, could pay Amazon (in Luxemburg) for some goods and in turn, Amazon could pay the seller the seller of the good (from China) with the outputs of another buyer from Germany and use my output to pay a refund in Denmark or the DHL courier in Greece. And on and on and on.
But, if someone did something wrong and we could trace his/her transactions and follow them from the sender to the receiver and would not cost much. But, as soon as someone try to go on a fishing dragnet, the costs to do so grow astronomically.
(a) Just to not get me misunderstood, the nodes SHOULD validate all the blocks / transactions in the blockchain from the Genesis Block. But, if a block is old enough (let's say 10 years) and the nodes are really competing for the reward, it is very very very improbable the node mining an invalid block will get it accepted by the other nodes. A new node could just validate the blockchain backward until the current UTXOs is traced back to the blocks' reward it originates. If the nodes keep the entire chain of headers and the blocks in question are correctly represented in these headers and "old enough" we can consider these blocks valid by default (because faking them would cost as much as redoing all the PoW from that moment forward).
2 of 2 reviewers say it's worth paying for
0 of 2 reviewers say it's not worth paying for