Blockchain is a technology that was invented initially for use in the Bitcoin system by Satoshi Nakamoto in a seminal white paper in 2009. The term ‘blockchain’ is not present in the white paper but came into use at a later date to describe the underlying technology of the Bitcoin system. Bitcoin’s breakthrough was to bring together technologies and techniques to overcome the most challenging problem in digital assets – double spend.
With this revolutionary technology parties were able to send Bitcoins to each other without any intermediary with confidence that no double spend was occurring. This allowed Bitcoin to be used as a representation of value between parties anonymously on the Internet.
The business world began to view the underlying technology for Bitcoin as holding great potential for many applications across industries. Primary among those industries was finance where transfer of value is a fundamental aspect of their responsibility in local and global economies. R3 formed at this time to facilitate a collaborative effort in applying blockchain technology to this industry. It was quickly recognized other industries could benefit from this same technology.
How Bitcoin works
Bitcoin brought together a set of technologies and techniques to allow for a set of distrusting entities to transact directly with a digital currency (aka ‘cryptocurrency’ due to its reliance on cryptography). In the Bitcoin system there are four main elements provided to allow participants to transact directly.
- Distributed Ledger. A shared ledger kept in sync among participants.
- Transaction. The ability to agree on how records are modified on the ledger shared between participants.
- Immutability. A means to ensure the records are tamper proof.
- Consensus. A mechanism for ensuring the ledger view is consistent and agreed upon by all participants.
Bitcoin, and blockchains in general, are alternately described as ‘distributed ledgers’. This is because a Bitcoin network consists of a set of participants each of whom has a copy of a shared ledger. This ledger records all the transactions within the Bitcoin network. The ledger in bitcoin is a set of records of transactions that have occurred with the native currency, Bitcoin. Records within the ledger are all linked with any transaction linked from related prior transactions to the output of a transaction which represents the current state of the ledger. In Bitcoin the records are linked via a technology known as UTXO (unspent transaction output) which is described further in a sidebar in this article. This ensures any participant with a copy of the ledger can see not only the currently agreed upon state but all related transactions that lead to a valid ledger state.
A transaction in Bitcoin is a means of transferring Bitcoin between participants. Transactions need to occur in a manner that two parties are ensured they receive the intended output of the transaction. To achieve this Bitcoin uses a simple scripting language. The scripting language ensures that inputs and outputs to a transaction are consistent, that parties have the amounts they anticipate, and they are bound to the keys of the parties. Bitcoins scripting can achieve some more sophisticated transactions using encumbrances and other techniques but overall the language is simple and primarily useful for payment transactions only.
The primary challenge of a digital payment system without a trusted intermediary is the ability for parties to make duplicate payments, also known as double spend. Bitcoin resolved this challenge with a mechanism to allow all participants with copies of the ledger to come to consensus about the current state of the ledger and the uniqueness of transactions in the ledger. The technique is known as ‘mining’.
Participants begin this process by submitting proposed transactions to miners. These transactions are not final as the ledger holders have not agreed upon their addition to the global view of the ledger. Miners first verify the transaction is valid (primarily that the inputs equal outputs of a transaction). Miners batch these transactions together into a ‘block’. Together in a group these transactions will form a unique fingerprint, or hash. Using this as an input the miners solve a computational problem that requires continual iterations and uses a large amount of computational power. When they solve the puzzle, they propagate the answer to other miners along with the block of transactions. The other miners will accept the solution along with the block of transactions and add those transactions to the global ledger. It does this by ‘chaining’ the block to the last solved block in a manner that ensures ledger holders can verify the ledger state in tamperproof. Together these elements for the ‘blockchain’.
Miners operate as a subset of the network providing this service to the network and in return are compensated with Bitcoin as a reward. This reward is a new Bitcoin providing a financial incentive for operating the crucial uniqueness service to the network of participants. With its computationally intensive cost Bitcoins mining mechanism is often criticized for being a highly inefficient means of transacting.
In a shared ledger across a network of distrusting entities each entity must have assurance that their copy of the ledger is identical to other participants. This is the only way it can assure itself that the transactions it participates in are valid and unique. A participant can look at the ledger prior to accepting a proposed transaction to ensure itself that the proposed transaction has valid inputs. Participants can look to the ledger to assure themselves the network is in consensus over their own Bitcoin holdings. Bitcoin’s ledger uses ‘hashing’ to link together records ensuring the global ledger state is tamperproof. The first component of this is linking of transactions to each other in the UTXO process noted. This means all transactions link back to the original, or genesis, record. Alongside the transactions being grouped into blocks that are in turn linked to each other these two methods ensure the globally agreed upon state of the ledger cannot be manipulated.
The second wave of blockchain platforms
Bitcoin’s ability to enable parties to transact directly sparked a wave of interest in other applications. However, Bitcoin’s has significant drawbacks in attempting to apply it to business applications:
- High transaction cost due to its computationally intensive mining mechanism.
- Inability to represent assets or agreements outside of a simple currency or token.
- A lack of support for complex logic to support business rules.
A new wave of blockchain platforms emerged attempting to solve these shortcomings of the Bitcoin system. Ethereum was the primary platform alongside platforms such as IBM’s Fabric. Ethereum attempted to address a set of requirements specific to business needs:
- Support complex logic. Business agreements have complex logic that may span time beyond the transaction.
- Represent value. Exchange of real value or creation of real contracts.
- Be binding. Transactions must be considered legally binding on all parties.
- Be atomic. Transactions must either succeed or fail in entirety. No element of a transaction can be left half completed.
Ethereum, and other second wave platforms, carried forward the key characteristics of the Bitcoin platform: a globally shared ledger, a mining mechanism for reaching consensus on the state of the ledger and immutability of the ledger and transactions. It expanded greatly on the transaction through technology that came to be known as ‘smart contracts’. Ethereum refers to this as ‘Turing complete’ system which allows for full computational logic in a transaction. Smart contracts sparked a new wave of possibilities in applying blockchain technology as it unlocked the ability to create complex logic in transactions.
Smart contracts potential is evident when looking at business transactions broadly. Nearly every activity in which companies engage are defined by contracts – agreements and transactions. It is the formation, management, enforcement and validation of these contracts that drives so much cost, complexity, duplication and risk. Smart contracts bring Bitcoins ability to transact directly along with complex logic and a broad representation of agreements or assets. It enables business to transact directly with value over complex agreements.
Ethereum’s aim was a global, public network similar to Bitcoin. The key challenge to the Ethereum platform was to ensure the miners retained an economic incentive to execute contracts that would use additional resources including storage and computational power. To achieve this Ethereum created a means to calculate and pay for use of resources on a miners computer. The means to pay for this resource usage, along with the mining mechanism, is the native currency – Ether. Resources are measured in units of ‘gas’. Additionally, smart contracts require determinism (an algorithm which, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states). Achieving this is complex and requires a new execution environment, or virtual machine, and programming language that could calculate and track resource usage and execute in a deterministic manner. These elements resulted in building a the EVM (Ethereum Virtual Machine) and Solidity.
The third wave of blockchain technology
Ethereum and other systems were designed to run with a single shared ledger among all network participants. This allows any participant to view all transactions, including those of competitors. While smart contracts provide an amazing leap forward in how blockchains can be applied to business transactions the second wave of blockchain platforms have a large shortcoming that prevents them from broad applications in business transactions:
- Privacy. Transactions should be visible only to those who are participants of the transaction.
Additionally, the second wave of blockchains left a set of critical shortcomings remaining beyond privacy:
- Achieve transaction finality. Parties must believe the transaction is complete without ambiguity. The mining mechanism from Bitcoin and Ethereum both lack finality. As a miner propagates a block containing transactions there is a chance the block is rejected. Even accepted blocks have a real risk of later being dropped as conflicts emerge. This leads to only a statistical likelihood of transaction finality that increases over time.
- Identify parties as legal entities. Organizations must have assurance over the identity of counterparties in transactions.
- Scale to billions of daily transactions. To replace existing systems any platform must eventually scale to billions of daily transactions. Payments alone are estimated to have 2.5 billion daily transactions.
Corda started the third wave of blockchain platforms targeting these critical shortcomings of prior generations of blockchain
platforms. Read how Corda uniquely meets these requirements.
Learn about Corda