Third Generation Blockchains — Big-time Trading, Messaging, and Ledgers
Bitcoin introduced the idea of a blockchain — a shared record or “ledger” of transactions. Second generation systems like Ripple extended this idea to include trading, but have not gained much traction against more established, high-volume trading markets. The third generation of blockchain systems will allow us to mix and match trading, messaging, and ledgers to blend the power of existing systems with the clarity of blockchain records.
Bitcoin — the shared power of half a ledger
We can look at bitcoin as a shared ledger — a distributed database that tells us who owns which bitcoins. A bitcoin owner has essentially one privilege, which is to sign over the bitcoin to a new owner. Bitcoin replaces thousands of private bank account ledgers with one shared database, so anyone on the Internet can send, receive, and check for payment.
However, bitcoin is actually only half a ledger. When we buy bitcoin, we have to make two ledger entries, one to record the change in bitcoin, and the other to record the change in money. The bitcoin database only keeps track of the bitcoin side of this transaction. If I want to trade bitcoin for US dollars, I have to pass the dollars through some other system — perhaps by meeting someone in a parking lot, or sending money to Mount Gox or other intermediaries.
A whole ledger, and trading too, but in a toy system
Second generation systems like Ripple, or Counterparty, or Overstock TØ, fix this problem by tracking many different kinds of assets as “tokens” in a blockchain ledger. They rely on a bank, gateway, or custodian to redeem the tokens and give you your assets in the real world. With tokens, you can buy and sell assets and show the complete transaction in one ledger.
Second generation systems also include trading, so that you can sign a bid or an offer, and the system will match a trade and transfer the assets with no further processing. Settlement is very efficient because “the trade is the settlement.”
The big problem with second generation systems is that almost nobody uses them. That’s fortunate for bitcoin-based systems like Counterparty, because bitcoin can only handle about 20 transactions per second, as compared with an average trading rate in US equities of about 1000 transactions per second, with spikes up to 100,000 TPS.
However, even if these systems could run at high volume, traders are unlikely to use them. To trade on these systems, traders will need to send trade orders to the shared database, where everyone can see them. Traders do not want to show their orders because it costs them a lot of money when people see their orders. High frequency traders look at those orders, and drive up the price of purchases, and drive down the price of sales. That is why stock traders use a complicated network of exchanges and dark pools. It’s a sophisticated system that moves a high volume of stock with high liquidity and limited transaction costs. Even for smaller bitcoin-style markets, we see that most trades are negotiated offline or in a different system.
The Third Generation
A third generation of blockchain systems will mix and match with existing trading and ledger systems. So, you can use real world trading systems, and generate a matched trade or “trade report” that is delivered to a blockchain ledger. Or, you can deliver the trade to an existing ledger system, like the custody bank accounts that currently hold trillions of dollars. The sequence goes like this:
[Trade] — for example, on the NYSE
[Messaging] — for example, the buyer and seller sign settlement instructions, and banks agree to make ledger entries for settlement
[Ledger] —Entries in a blockchain ledger, or in existing bank accounts and custody accounts
The new enabling technology is blockchain-style messaging. Earlier generations of blockchain technology contain fragments of the complete system, including messaging. Bitcoin has a messaging layer where proposed transactions are passed between wallets and multiple signers. This isn’t part of bitcoin. It’s just bilateral messaging among wallets and bitcoin servers. But messaging is there, shown in italics below:
Messaging in bitcoin
[Trade: Trade somewhere, and hope your dollars are handled correctly]
[Messaging: Pass a transaction around to be signed, or get multiple signatures, and submit it to miners]
[Ledger: entry in a mined bitcoin block]
What is blockchain-style messaging?
We can use ideas from blockchain ledgers to make a great messaging system. A blockchain-style messaging system will collect messages about a transaction, share them, and save the whole stream in permanent blockchain-style storage.
In the simplest case, we just drop something into storage, and then get it back later with a guarantee that it was not changed. We send a message to the future. We could send in an NDA, a bill of sale, a property easement, a job offer ... and not lose track.
Agreements between two parties often require more negotiation and description. We can make complete transactions by adding messages to a proposed transaction. Our trading case contains more than one message to finish a transaction. Trades need confirmation and settlement instructions:
We can make this process simpler and more reliable by using our shared messaging system. All messages will be saved and published. However, messages can be encrypted for privacy.
Blockchain-style messaging will have the following characteristics.
All bits are publicly shared (even when encrypted for privacy)
Bitcoin and blockchains get their power from a globally shared ledger database. Anyone can get a copy of the complete ledger. We can also make a shared data structure for messages. Most transaction systems use a bilateral messaging system, which is like sending instant messages through a bunch of incompatible phone systems. The messages can get lost and they are hard to share, and once they get shared, tracing history is impossible. A blockchain-style system is more like Twitter, where your messages can be shared and remixed in various ways, observed in a firehose that contains all messages, and searched or linked later.
Easy to join and participate
Anyone can join and participate just by reading the shared data and sending messages. This is a big improvement over existing trading systems that rely on bilateral messages. In the old bilateral system, it’s a lot of work to integrate a new participant. There might be physical wires. There are passwords and keys for each secure channel. The hardest part of the job is dealing with the different data formats and protocols for the two systems that will connect, at both ends. If you are an institutional stock trader you have to do this for brokers, exchanges, accounting, banks, clearinghouses, and custody banks.
Security and privacy through encryption
If everything is public, how can I send a private message? For example, I want to confirm a trade that I did through my broker, but I want this to be private, because the whole reason that I used a broker is to hide the fact that I am buying and make sure that my frenemies don’t trade against me. We do this by creating private message channels. We can create a secret key, and send private, encrypted messages to other participants. One trade can contain two or more encrypted channels. We can make one channel for the buy side, and one channel for the sell side. The messages will be bundled together with the transaction, but each channel is unreadable by the other side unless they decide to share a key and do some joint auditing or debugging.
This is another big improvement over bilateral messaging. It’s more secure. In the bilateral messaging world, we try to hide information by being sneaky, by only saving it or passing it when we think nobody else is looking. In the modern world, we have to assume that people are looking, and use encryption to hide the data.
We can go back and look at any transaction that flowed through the blockchain-style messaging system, and we can be sure that it was not changed. The system will bundle this data into blocks, and create hashes, which allow us to check that the data always matches the original hash. We can save the hashes in other immutable places like the bitcoin blockchain. In the real world, we will also have a SaaS service that makes it easy to find and examine these transactions.
Easy to look at, debug, and audit
When we go back and look at a transaction, we find ANOTHER big improvement over bilateral messaging. All of the messages are there. We can check our records, and we can debug our process by seeing the history, or we can do more official “audits” to ensure that all of our records and claims match. This would be difficult or impossible in a bilateral messaging system where messages about one transaction are stored in many different logs in many different places.
Force of law
If the record is reliable, it can have the force of contract law. If I say that I will do something for you, and you say you will do something for me in return, that is legally a type of contract. We don’t need a smart contract. We just need a record of this exchange.
It’s Big Data
The blockchain that keeps track of these messages will be big. It will collect terabytes per day. It will require cloud infrastructure, and most participants will access it through centralized services. It’s a creature of the current era of big data, not the previous era of P2P networks. It will have incredible power in the real world. Read my next article to learn more about the design and applications of blockchain-style messaging.