This post is adapted from an article first published on R3’s Medium.
In this post I articulate what a peer-to-peer transaction is, why Bitcoin transactions are not peer-to-peer, and why it is important to understand the differences clearly. I describe the benefits of peer-to-peer transactions and discuss that Corda is the closest architecture to take advantage of those benefits.
Note: This post has prompted some welcome discussions around Bitcoin’s permissionlessness and censorship resistance. I should make clear that in this piece I’m discussing how I think about peer-to-peer, and not whether Bitcoin’s transactions, or transactions on any other platform are centralised or censorship resistant. I think it’s important to understand the distinction clearly.
We are always told that Bitcoin is peer-to-peer, but is it? It turns out Satoshi is almost always grossly misunderstood by both the mainstream media and Bitcoin proponents. Bitcoin payments are not peer-to-peer. While Bitcoin’s bookkeepers (non-mining full nodes) and database writers (miners) exist in a peer-to-peer architecture with no central actor containing a master copy of the Bitcoin ledger, Bitcoin payments themselves are not peer-to-peer.
Physical peer to peer transactions
Peer-to-peer means something moving from me to you. When I hand you a banknote, physical cash, and you accept it, I have settled my financial obligation with you without needing a middle man to approve, or who can censor, the transaction. This is a peer-to-peer transaction (it is also censorship resistant). The result is that instead of me having a claim against the central bank (which is what cash is), you now do.
Digital peer to peer transactions?
If you and I have bank accounts with the same bank, and I want to pay you digitally via the bank, data doesn’t move from my computer to your computer. What happens is that I instruct my bank to move money from my account to your account. If all is well, the bank debits my account and credits your account. The result is that instead of me having a claim against the bank (that’s what bank deposits are), you now do. The bank is an intermediary, in the sense that it carries out the transaction. This is not peer-to-peer. It is also not permissionless (we need the bank’s permission to have accounts there) or censorship resistant (the bank can decide not to carry out the instruction).
If you and I have accounts with an “e-wallet”, for example Venmo, Alipay, WeChat, Uber, Grab, or whatever, and I want to pay you, again it’s not a peer-to-peer payment despite what they may say in their marketing materials. Data doesn’t move from my mobile phone to your mobile phone. What happens is I instruct the wallet provider to debit my account and credit your account. The result is that instead of me having a claim against the wallet provider, you now do. The e-wallet is an intermediary, in the sense that it carries out the transaction. This is also not peer-to-peer. It is also not permissionless, or censorship resistant.
Are Bitcoin transactions peer-to-peer?
And if you and I operate within the confines of the Bitcoin network, the payment is not peer-to-peer. No data moves from my computer or phone to your computer or phone. Instead, I instruct the group of approximately 10 miners to competitively accept my transaction which effectively debits my bitcoin account and credits your bitcoin account, and I hope that the bookkeepers (the nodes) accept and relay the block that my transaction ends up being recorded in. We can call the miners and bookkeepers the “Bitcoin bookkeeping cloud”. The result is that instead of me holding bitcoins in my account, you now do. This is the same, more or less, as the situation with banks and e-wallets, with the exception that I’m instructing a bunch of competing entities to process my transaction instead of instructing my specific bank or e-wallet. Is it permissionless? Yes to the extent that anyone can create a Bitcoin address. Is it censorship resistant? Yes, well, ish, to the extent that the miners mining the longest chain don’t collectively want to censor the transaction, and that the community chooses to accept their chain.
What we have learnt from Bitcoin is that we can decouple the single-spending of digital assets (which is what Bitcoin’s bookkeeping cloud does) from the provision of services against those assets (a service being something like foreign exchange).
When something can be moved from one hard drive to another, with guarantees of its authenticity, uniqueness, and inability to double spend, then we have a true digital token that behaves like its physical equivalent.
We are not there yet with Bitcoin. Bitcoin does not behave like a digital token. But it has shown us the way.
The industry is still figuring out ways of creating digital assets that can move from peer to peer without necessarily being trapped in account balances controlled by third parties, with all the drag that comes with that.
Why does this matter?
The thing about peer-to-peer transactions is that in some respects they are exceedingly efficient — they don’t rely on layers of middlemen to credit and debit accounts, each charging fees and each doing it at their own convenience. We can agree a trade bilaterally and settle it, at our own convenience, without a third party needing to be awake and operational, and without relying on their settlement processes (and fees!). Just like a digital version of physical cash. Real peer-to-peer tokenised transactions can settle more quickly, with fewer costs and risks associated with relying on third parties. This can also de-risk the entire financial system by reducing the number of systemically important too-big-to-fail entities.
At this stage, it seems that Corda is a platform whose assets have the most token-like properties. In a Corda transaction, data representing the asset moves from the sender to the receiver, with only the minimal required amount of information going to a notary service to prevent the double spend. This is unlike Bitcoin or Ethereum where all the parties on the whole network see and validate the full instruction.
In another post I will describe the natural evolution of this thinking: Single-spend-as-a-service. This is the direction that the industry is heading in — the hugely valuable decoupling of double-spend prevention from the control of digital assets.
4 thoughts on “Bitcoin’s payments are not peer-to-peer!”
Question: Was the original intent not that each node would be a full node, therefore creating a true peer-to-peer network? Obviously it was unforeseen that the system would run into an intermediary state (3rd party e-wallets indeed) and even getting centralised attributes (mining-pools).
Yes but even in the case where all users run full nodes, the payment is an instruction to all nodes to update their ledgers, and not a token from the sending node to the receiving node.
Nicely written. The post seems like a comparison between both systems (Bitcoin and Corda) on their peer-to-peer capability, but I did not find your conclusive opinion about Corda.
Would you consider a Corda´s asset transfer a peer-to-peer transaction?
Corda’s is the most peer-to-peer of any “blockchain” system I have seen so far… There is still a 3rd party to guarantee the single spend, but that is all they do.