If one technology trend could prove even more tectonic and enduring than cloud computing, it’s the blockchain. While the cloud is challenging how we build software and changing how we run businesses, blockchain technology is potentially changing how we think about and process transactions, authentication, and more. In addition to serving as a foundation for cryptocurrency, blockchain can fundamentally affect how we propose and record deals.
The revolutionary nature of blockchain and the cryptocurrencies it enables is widely discussed. When considering how today’s technological developments may play into the future, it is difficult to identify another development that is more likely to influence the shape of things to come. Blockchain may turn out to be the most important innovation since the internet.
So what is blockchain technology, and what makes it so potentially transformative?
The case for decentralized transactions
Building distributed software systems is difficult. At the heart of this difficulty is the data: protecting it, making it accessible, storing it. Although much of the difficulty stems from people trying to cheat the system, there are also inherent objective difficulties in overcoming errors and maintaining data consistency (see, for example, the CAP theorem). Any time data is sent or retrieved—be it a post about your lunch or checking your bank account balance—it’s subject to these dangers.
When it comes to something important, like your bank account, the traditional way to make data safe and accurate is through a trusted agent like a bank. The distributed version of banking was the result of grafting traditional financial management practices onto the internet. The bank was entrusted to go ahead and retrieve our financial information.
The limitations of this scheme are specified in the Bitcoin Whitepaper that triggered the crypto tidal wave. (The foundational document in cryptocurrency, this paper by Satoshi Nakamoto, proposes the first public blockchain network in the real world.) Nakamoto’s criticism of the “inherent weaknesses of the trust-based model” relates to the fact that “non-reversible transactions are not possible .” Put another way: Banks are required to be in a position to mediate disputes, which causes trust to spread and costs to rise.
For a whitepaper that describes a full-fledged alternative to traditional banking, this criticism is rather muted. Most of us could easily find additional problems: surprise fees and dealing with byzantine corporate structures, for one. Furthermore, the structures present significant obstacles to participation in the financial system for disenfranchised actors.
The Bitcoin paper proposes an alternative: an “electronic payment system based on cryptographic proof rather than trust.”
Cryptographic signing
The core mechanism of such a network is cryptographic pairs used to sign transactions. Owners of electronic currency (or more generally a digital state) sign the currency (or state) to buyers with their public key and verify themselves with their private key. Each transaction also has a hash of the previous transaction and the owner’s public key. You can see this structure in Figure 1.
Figure 1. Blockchain signing
Double spending and the blockchain
If all participants in the network operated in good faith, the transaction chains would already be secure (that is, the system would be safe from external direct tampering thanks to cryptographic signing). The weakness is that owners of currency can cheat the system by using it more than once. A buyer has no way of knowing if the currency they are buying has already been used.
Solving this problem without retreating to a central authority is no easy task. It requires all participants in the network to be aware of all transactions and their order. If we could achieve that, nodes could only accept the first instance of a transaction and discard all others. The Bitcoin Whitepaper proposed the blockchain as the mechanism to solve the so-called double-spending problem.
The central idea is that transactions are collected in a set (a “block”) and nodes in the network use computational effort to calculate a value that is challenging to solve. The value, a nonce, is an arbitrary number that is used only once in a cryptographic communication. When hashed, it produces a value with a certain number of leading zeros. Each block also references the hash of the previous block. This setup means that transactions are accepted in blocks that are verified with computational effort. Each new block creates a longer chain of such work.
How consensus truth works
As each node works away to validate its block of transactions, other nodes do the same. If a given node receives a competing block from the network, it saves the block to a competing chain and continues to work on its own chain. If the node receives enough new blocks on the competing chain, it discards its work and accepts the competing chain as the truth. If the current node completes its work before the competing chain is confirmed, the current node broadcasts its efforts to the network. The other nodes behave similarly in terms of validating that claim.
In this way, the network inevitably accepts the work of the largest number of nodes, in a way that votes for a consensus version of the truth, supported by the computational work required by the hash.
What is a 51% attack?
To fool this system, one has to redo all the work in the chain, which becomes increasingly less likely as the chain grows.
The name of attempting to bypass the legitimate chain of blocks is a 51% attack. The idea is that an attacker will get more than half of the computing power participating in the system and use it to validate fake transactions. As the blockchain grows, this becomes more difficult and, even if achieved, offers limited possibilities.
Mining and coining
Mining has been widely publicized after gaining geopolitical significance. But what is it? With our understanding of the blockchain so far, we can describe it clearly.
When a node successfully validates its block (by getting a good hash and proving to the network that it is the first valid new block in the chain), it receives a new coin it owns. This is mining. The coin acts as an incentive for the system to participate in the mining process.
Security without trust
The most important achievement of the blockchain is to secure a network that runs on nodes owned by everyone. It seems counterintuitive, but the system works by making assumptions not just about cryptography, but about human behavior. That a widely distributed system controlled by (let’s be honest) untrustworthy people should work reliably is amazing.
Once the functionality of this system was demonstrated by Bitcoin, the explosion of new digital coins has been remarkable. One notable coin is Ether, created by Ethereum, a company that proposes to superimpose a Turing-complete computer on top of a Bitcoin-like blockchain. And there are many others. (See my introduction to Ethereum smart contracts for more on this technology.)
In the specific case of currencies, traditional banking will certainly continue largely as is, and entrenched interests in the financial system will work to gain benefits within the cryptosystem. They have already moved to introduce their own coins.
Perhaps the most history-changing promise of blockchain systems is that humanity may have landed on a method of reaching consensus for remotely connected participants. Such a capability has far-reaching implications, difficult to specify in detail but easy to predict as broad.
Conclusion
Of course, there are challenges with blockchain. First, the extreme volatility of crypto markets makes it difficult to predict cryptocurrency values (stablecoins have been introduced for this reason). For another, programming the blockchain is difficult. Finally, entrenched interests in financial and other industries are resistant to blockchain.
All in all, blockchain technology is an astonishing innovation and fascinating space to watch as it rapidly evolves before our eyes.