A blockchain – originally block chain – is a distributed database that is used to maintain a continuously growing list of records, called blocks. Each block contains a timestamp and a link to a previous block. A blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. By design, blockchains are inherently resistant to modification of the data. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks and the collusion of the network. Functionally, a blockchain can serve as "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way. The ledger itself can also be programmed to trigger transactions automatically."

Blockchains are secure by design and are an example of a distributed computing system with high Byzantine fault tolerance. Decentralized consensus can therefore be achieved with a blockchain. This makes blockchains potentially suitable for the recording of events, medical records, and other records management activities, identity management, transaction processing, and documenting provenance.

The first blockchain was conceptualised by Satoshi Nakamoto in 2008 and implemented the following year as a core component of the digital currency bitcoin, where it serves as the public ledger for all transactions. The invention of the blockchain for bitcoin made it the first digital currency to solve the double spending problem, without the use of a trusted authority or central server. The bitcoin design has been the inspiration for other applications.

This paper presents a comparison of five general-use blockchain platforms: The Blockchain: A Comparison of Platforms and Their Uses Beyond Bitcoin

1 Distributed ledger architecture

1.1 The problem

There are several problems blockchain solves.

1.1.1 Trust

When two parties execute an agreement, there are several moving parts. But what makes the transaction efficient is trust. If you agree to buy X number of widgets from me at a certain price, and we have established trust, the transaction goes smoothly. If not, then it gets complicated at best, and litigious at worst. There are many factors that establish an inherent trust like

  • Reputation – If you are a reputable vendor, I am more likely to trust you.
  • History – If we’ve been able to trust each other in the past, we are more likely to trust each other in the future.

Establishing trust between two parties can be very difficult, time-consuming, and largely subjective (you can’t really quantify “reputation” for example), and the larger the network involved in a transaction, the more difficult it is.

1.1.2 Transparency

In our fictional deal, you have your ledger to record various aspects of the transaction and I have mine. But I don’t see your ledger and you don’t see mine. Thus by its nature the deal is opaque, so we will probably have a contract to govern the terms of the deal. And other than the terms of the contract, that’s as transparent as the deal gets.

Since there is no transparency, it’s difficult to tell how things are going until the deal is done.

What happens if something goes wrong? Let’s say I don’t hold up my end of the deal (or vice-versa)?

1.1.3 Accountability

To ensure the deal goes smoothly, you and I will probably deal with middlemen:

  • Lawyers – To draw up a contract, and if necessary provide legal services should things get litigious.
  • Accountants – To keep the ledgers, and ensure the exchange of goods (and money) goes according to the contract, and is properly recorded.
  • Government – In some industries, there are government regulations and oversight mandates and other guidelines that have to be followed.

1.1.4 What Blockchain is NOT

It’s important to understand that Blockchain as a transaction enabling tool is not Bitcoin. Bitcoin is an electronic currency. It was created to solve the problems of trust, transparency, and accountability between two parties in exchanging money for goods and services over the internet.

The bitcoin blockchain is a public, distributed ledger of all Bitcoin transactions that have every taken place. This ensures that everyone who participates in the Blockchain network has access to all transactions, and thus everyone agrees on how every one of those transactions took place. Furthermore, the ledger (blockchain) is immutable so nobody can change it.

Since the Bitcoin blockchain is distributed among all participants in the Bitcoin network, it relies on no centralized authority. And through the use of cryptographic technology, all transactions are anonymous.

1.1.5 The solution

Bitcoin is a disruptive – and arguably revolutionary – technology that relies on a block chain. But the Blockchain we are hearing about nowadays takes it much further. While Bitcoin is a crypto-currency ensuring transparency and accountability of financial transactions, Blockchain technology can be applied to many other types of transactions to solve the problems inherent in any transaction.

Blockchain technology is used in a peer-to-peer network of parties, who all participate in a given transaction.

At its core Blockchain technology uses a distributed ledger that is visible to all parties involved in the transaction. Through a consensus network, the ledger is guaranteed to be consistent. Because the ledger is distributed so everyone involved can see the “world state” at any point in time, and can monitor the progress of the transaction.

Through the use of cryptographic technology, the ledger is encrypted so that only parties allowed to view it may do so.

By its very nature, Blockchain tackles all of the problems inherent in a business transaction:

  • Trust – Through the use of Blockchain, all the parties involved in a transaction only have to trust the technology.
  • Transparency – Because the ledger is distributed, all peers involved in the transaction network can view it (subject to security rights, of course).
  • Accountability – Since all parties in the transaction can view the distributed ledger, everyone can agree on how the transaction is progressing while it is ongoing, and how it went once it is complete.

2 Blockchain vs Distributed Ledger systems

Blockchain is a peer-to-peer network that timestamps records by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work.

A distributed ledger is a peer-to-peer network that uses a defined consensus mechanism to prevent modification of an ordered series of time-stamped records. All blockchains are distributed ledgers, but not all distributed ledgers are blockchains.

Some of the blockchain and distributed ledger systems are:

3 Blockchain technologies

3.1 BigchainDB

BigchainDB internally uses RethinkDB as a datastore. Technically, the blockchain is stored as JSON strings inside RethinkDB. And BigchainDB is a kind of wrapper on top of this storage which provides the needed cryptography, techniques for building the blocks, parsing the blocks and provides utility methods to access the database. RethinkDB provides clustered storage with possible shard based architecture. This makes BigchainDB scalable when RethinkDB is configured accordingly.

3.2 Chain

Chain is yet another Blockchain platform that claims to be well suited for financial applications It is based on "Chain Core" which is an enterprise software product that implements the Chain Protocol. An open-source developer edition is also available freely.

3.3 Corda

Corda is a permissioned distributed ledger platform that features JVM smart contracts. It is open-sourced too, and built mostly for financial applications as well.

Corda contains the features of consensus, validity, uniqueness, immutability and authentication. Just like Hyperledger Fabric above, Corda is not a “real blockchain” and it doesn’t use any internal currency and mining.

Corda uses special Notary Nodes (see “Validating Peers” in Hyperledger Fabric) to reach consensus and the list of this nodes is known and fixed.

3.4 Ethereum

Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.

These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property. This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middle man or counterparty risk.

3.5 HydraChain

HydraChain is a joint development effort of brainbot technologies and the Ethereum project. According to their website, HydraChain is an extension of the Ethereum platform which supports the creation of scalable blockchain based applications that comply with organizational and regulatory requirements.

3.6 Hyperledger

Hyperledger is an open source collaborative effort created to advance cross-industry blockchain technologies. It is a global collaboration, hosted by The Linux Foundation, including leaders in finance, banking, IoT, supply chain, manufacturing and technology.

One of its community based projects is Fabric, a Blockchain application enabling framework. It uses container technology to enable “smart contracts” which are implemented in “chain code” that allow to create and manage assets involved in business transactions, and to create and manage the transactions as well.

3.6.1 Hyperledger Frameworks

Hyperledger incubates and promotes a range of business blockchain technologies, including distributed ledger frameworks including:

Hyperledger Sawtooth

yperledger Sawtooth is a modular platform for building, deploying, and running distributed ledgers. Hyperledger Sawtooth includes a novel consensus algorithm, Proof of Elapsed Time (PoET), which targets large distributed validator populations with minimal resource consumption.

Hyperledger Iroha

Hyperledger Iroha is a business blockchain framework designed to be simple and easy to incorporate into infrastructural projects requiring distributed ledger technology.

Hyperledger Fabric

Intended as a foundation for developing applications or solutions with a modular architecture, Hyperledger Fabric allows components, such as consensus and membership services, to be plug-and-play.

Hyperledger Burrow

Hyperledger Burrow is a permissionable smart contract machine. The first of its kind when released in December, 2014, Burrow provides a modular blockchain client with a permissioned smart contract interpreter built in part to the specification of the Ethereum Virtual Machine (EVM).

Hyperledger Indy

Hyperledger Indy provides tools, libraries, and reusable components for providing digital identities rooted on blockchains or other distributed ledgers so that they are interoperable across administrative domains, applications, and any other silo.

3.7 Multichain

Multichain is a platform for the creation and deployment of private Blockchains (permissioned Blockchains) either within or between organizations. It aims to overcome a key obstacle to the deployment of blockchain technology in the institutional financial sector. By providing privacy and control within a private peer-to-peer network it is an enhanced version of the Bitcoin core software for private financial transactions.