Tokens vs Accounts: A love letter to the NY Fed (and a quibble)
I was just reading an excellent recent post on the New York Fed’s blog Liberty Street Economics, entitled “Token- or Account-Based? A Digital Currency Can Be Both” by Rod Garratt, Michael Lee, Brendan Malone, and Antoine Martin.
The post is right, of course (except for a paragraph right at the end). The “tokens vs accounts” distinction no longer works in the world of blockchains. In some ways it’s a helpful distinction, in other ways it creates confusion.
Crypto tokens, especially those on Ethereum shouldn’t have a claim on the word “token”.
Those aren’t the tokens you’re looking for
The word “token” has been misused a lot. Crypto/Fintech has got this word really wrong, (and for that matter, “p2p”), and over the years it has stuck, causing a lot of confusion, but it’s now the word we use.
In terms of Token vs Account based payment systems, Token means that “the object is the asset”, and “peer to peer” means “Person A transacts bilaterally, directly with person B”. Think of a casino chip: It’s a token, and it is passed from person to person without any 3rd parties updating any books.
In an account-based system (think of your bank account or Venmo/Grab wallet), a 3rd party (not party to the transaction), is informed and it updates its books, representing a change in the owner of the asset.
Crypto “tokens” (BTC, ETH, ERC-20 stablecoins) are all account-based. They are not tokens, in this context. The data doesn’t move from sender to recipient. Actually, a transaction instruction is sent to an amorphous 3rd party accounting system called “the blockchain network”, which adjusts balances associated with accounts.
It’s not peer to peer either
In most of blockchainland, the recipient doesn’t even need to be online to receive funds, so it can’t be peer-to-peer. But often “p2p”/”peer-to-peer” is used to describe these transactions. How come?
In the payments industry, p2p is used to differentiate from p2m or peer-to-merchant payments (or c2b consumer-to-business). The payments industry needs to differentiate p2p and p2m because of the way it charges fees is different for each flow (p2m is more profitable than p2p which is typically free).
E-money wallets particularly liked marketing using the phrase “p2p” as something shiny and new and cool, but actually a Paypal user paying another Paypal user for a non-commercial transaction is no different from an HSBC retail customer paying another HSBC retail customer: The sender sends an instruction to the bookkeeper, who makes a book entry update -10 to one account, +10 to another account.
What the wallets did was speed up p2p payments. They made the recipient aware of their received funds more quickly than traditional banks did. But instead of saying “it’s quicker”, the wallets said “it’s p2p”, and p2p became synonymous with “instant”.
However, software engineers, when talking about network architecture, mean p2p differently and more specifically. It describes the architecture of how data moves around a network, and implies a lack of a central server.
Bluetooth is p2p technology because it enables two devices to talk to each other and send data to each other without needing to communicate with a mothership. Whereas cloud storage is not p2p because your data is stored by a central server and served to your devices.
So Ethereum (and all of its “tokens”) is actually an account-based system where data between the accounting nodes is gossipped in a p2p manner (but payments are equivalently p2p as an internal bank transfer).
And one more thing…
But there’s one additional layer of complexity that has created confusion. Although Bitcoin and Ethereum’s network architecture is fairly similar, the way transactions are created and recorded are different, and this leads to people differentiating “Bitcoin’s token-based (or UTXO-based) model vs Ethereum’s account-based model”.
In Bitcoin when you spend BTC you have to identify a specific inbound transaction where you received BTC, and say “I am going to spend that specific lump of BTC I have received”. In Bitcoin, BTC exists as “lumps” in your account (like coins/banknotes in your wallet), where each lump has a specific history.
On the other hand, in Ethereum (as with bank accounts), you say “Spend some money from my account”. In Ethereum there is less traceability of any specific amount of money – once money is in your account, it’s comingled with all the other money. So that’s a context in which you might say Bitcoin is a token-based system, because the lumps of BTC are sorta like tokens?
So… You could say Bitcoin is an account-based system that records the movement of BTC tokens. Payments are not peer-to-peer but the accounting updates are!
And the quibble
It’s great to see efforts attempting to move us away from tokens and accounts. However there is one paragraph in the Liberty Street Economics post that I just don’t think is accurate. The authors write:
One important difference between Bitcoin and a physical payment object, such as a dollar bill or a gold coin, is whether the payee can ascertain the unit’s validity with reasonably high confidence. For example, dollar bills have security features, which are easy to identify and difficult to counterfeit. In the case of a digital currency, it is not possible for the payee to ascertain the authenticity of the digital payment instrument independently.
I find this to be the opposite of true. I’m sure many of us have inadvertently handled counterfeit dollar bills, whereas it’s really really hard to counterfeit a bitcoin: the wallets (many of them open source so anyone can independently verify they are reading the blockchain accurately) just don’t pick up counterfeit bitcoins. ❤