Paxos Engineering Blog
Part one of this two-part series took an in-depth look at the Bitcoin blockchain and the properties that add value in a multiplicity 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 permit 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.
Two. Append-only: Database can only have fresh data added, old data cannot switch or be deleted.
Three. Ownable: Certain data in the database can be possessed and only the proprietor may operate on that data through use of proofs.
Four. Very Available: Data must be available to whoever needs to check its consistency with database rules.
Five. Canonical: There is exactly one true database. If there are numerous versions, it’s effortless 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: The Very 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 very 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 swifter transaction speeds, enlargened privacy and diminished 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 knot 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 switches if anything in the block switches. 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 Five,500 knots from which the blockchain can be downloaded and checked.
Bitcoin solves the dual 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 toughly ten 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 Five,500 knots (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 Five,500 knots would have to be switched 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 significant to recall that the absence of any of these properties would necessitate a central authority. If you can have conflicting transactions, transfer of value would be fraught with risk. If database history can be switched, 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. Ultimately 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 knot and the absence of anonymity adds security, trust and data integrity to the collective 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 please each property:
Provably Consistent & Very Available
Generally, databases are said to be provably consistent if they can be permanently audited. Distributing the database to each knot 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 duo hosts fail. Similar technologies exist for databases, even without the gossip network and large number of knots 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 implement that is very expensive to reverse-engineer or switch. 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 unlikely (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 lodged 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 fresh model. However, absent regulatory concerns, we can trade and lodge 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 swifter settlement speeds, reduce liabilities and counterparty risk and bolster security, helping entire financial systems operate more efficiently.
We are looking for talented engineers to help us revolutionize how assets budge through the global financial system. Apply now to join our growing team in NYC!