Blockchain: Separating Hype from Substance Part Two
Part one of this two-part series took an in-depth look at the Bitcoin blockchain and the properties that add value in a variety of digital transactions. In part two, we look at the key properties of a blockchain, how they apply to public and private blockchains and the value of private blockchains for trading assets beyond bitcoins.
It’s always easiest to think of a blockchain as a subset of a database. To begin, let’s take a look at the six core properties of a blockchain which allow it to operate without a central authority or third-party intermediary:
1. Provably Consistent: No conflicting transactions within the database and there are rules as to what can go in the database. Those rules are respected and the consistency of the database can be checked and proven.
2. Append-only: Database can only have new data added, old data cannot change or be deleted.
3. Ownable: Certain data in the database can be owned and only the owner may operate on that data through use of proofs.
4. Highly Available: Data must be available to whoever needs to check its consistency with database rules.
5. Canonical: There is exactly one true database. If there are multiple versions, it’s easy to determine which one is actually the true one.
6. Practically Immutable: It costs an impractical amount of time and/or money to subvert any of the above properties.
Bitcoin: First Database with No Central Authority
There have been many databases with at least some of these properties. However, no database combined all of these properties until the advent of Bitcoin in 2009, making it the first distributed database that did not need a central authority to operate. As we mentioned in part one, having no central authority is desirable for many reasons, including faster transaction speeds, increased privacy and reduced transaction friction.
Let’s look at how Bitcoin establishes each property:
Bitcoin has rules for its database called libconsensus and they are literally codified in C++ (note: it took Bitcoin developers several years to do this). This provides provable consistency as any node on the network can check that the entire blockchain database respects the rules.
The Bitcoin blockchain is a database where each block contains the fingerprint of a previous block. Thus, the database can only append entire blocks at a time. Further, each block’s digital fingerprint changes if anything in the block changes. This makes it very difficult to alter a previous block.
Most coins (and thus, data) in the Bitcoin blockchain require proof of a private key. That means spending from a previously unspent output (aka UTXO) requires some proof that you have permission to spend it. This is done through public key cryptography and more specifically through something called the Elliptical Curve Digital Signature Algorithm (ECDSA).
Since Bitcoin is a decentralized public network, anyone can connect to the network and download the entire blockchain (~100GB) to check for consistency. As of this writing, there are approximately 5,500 nodes from which the blockchain can be downloaded and checked.
Bitcoin solves the double spending problem through the use of something called proof-of-work (POW). The main property of proof-of-work is that it requires a tremendous amount of computation to create, yet very little computation to validate. Each block in the Bitcoin blockchain requires proof-of-work and all the computing power in the world dedicated to doing this takes roughly 10 minutes to find. This means that to create an alternate version of the blockchain would cost the same amount of computing power.
The main way Bitcoin provides immutability is through proof-of-work. At least 51% of the global Bitcoin network’s computing power is needed in order to be able to subvert Bitcoin’s canonical or append-only properties.
Similarly, you would need to bring down all 5,500 nodes (some of which are very hard to locate) on the network today to subvert the high availability of the Bitcoin database. The code for consistency is published and widely available and to subvert that part, each of the 5,500 nodes would have to be changed in the same way. Again, this is an unfeasibly expensive prospect. Additionally, public key cryptography is known to be an extraordinarily difficult problem to solve and the only known way to subvert it would be with computational power greater than all computing power in the world for billions of years.
It’s important to remember that the absence of any of these properties would necessitate a need for a central authority. If you can have conflicting transactions, transfer of value would be fraught with risk. If database history can be changed, again, transfer of value would be fraught with risk. If there was no ownership, there would be no transfer of value. If there was no public availability of the database, then no one would be able to trust the database or transact on it. Without canonicity, double-spending would be possible causing transfers of value to be fraught with risk. Finally making everything prohibitively expensive to alter gives the Bitcoin network strong security.
Applying Blockchain Properties to a Private Blockchain
In contrast to a public blockchain like Bitcoin, all participants are known in a private blockchain. There are onboarding processes for each node and the absence of anonymity adds security, trust and data integrity to the shared database. These characteristics make private blockchains the preferred option for applications within the financial services industry.
Like public blockchains, private blockchains can also operate without a central authority. Let’s take a closer look at how private blockchains can satisfy each property:
PROVABLY CONSISTENT & HIGHLY AVAILABLE
Generally, databases are said to be provably consistent if they can be constantly audited. Distributing the database to each node in a private network would certainly make this possible. The only requirements would be distributing a set of rules that dictate what data can be added and that the data indeed conforms to those rules. Making the data available is a problem that’s been largely solved. Most websites, for example, host the same data in different data centers around the world to make their websites available even when a couple hosts fail. Similar technologies exist for databases, even without the gossip network and large number of nodes that bitcoin uses.
APPEND-ONLY & CANONICAL
Making a database append-only requires some checkpoints, which Bitcoin does through blocks. Creating an append-only database is something that already exists with a class of database storage units called WORM (Write once, read many). That, of course, relies on hardware properties to ensure that nothing is altered afterwards. In a private networking context, we will need a tool that is very expensive to reverse-engineer or change. This can be done a number of ways, including a private proof-of-work algorithm, merge-mining with Bitcoin or even signatures of parties that would otherwise not cooperate. The act of figuring out what’s canonical is what we would call consensus modeling. At Paxos, as befitting our name, this is an area of research where we figure out the tradeoffs to various consensus models.
OWNABLE & PRACTICALLY IMMUTABLE
Ownability and practical immutability can be achieved using various forms of public key cryptography. Counterfeiting is virtually impossible (very expensive) and gives us practical immutability if the known parties of a private network sign.
Value of Private Blockchains for Trading Assets
For assets that are traded and settled digitally on a private blockchain (stock, bonds, etc.), the absence of a central authority means no third-party intervention is required. There are certainly regulatory considerations to retrofit into our new model. However, absent regulatory concerns, we can trade and settle traditional assets on a private blockchain with a similar level of security, efficiency and cost-savings as moving bitcoins on a public blockchain.
For assets that are either physical like gold or in another system like US dollars, third-parties are required to act as depositories. However, unlike a central authority, they are merely guarantors of the underlying asset on the private blockchain should the asset be requested. As a result, such third-parties don’t have to take on counterparty risks, operating costs or even privacy liabilities associated with being a central authority.
Blockchains cut out risks and costs present when a central authority is part of the trade settlement process. Private blockchains can enable faster settlement speeds, reduce liabilities and counterparty risk and bolster security, helping entire financial systems operate more efficiently.
Written by Jimmy Song, Principal Blockchain Architect at Paxos. This article originally appeared on the Paxos Engineering Blog.