Satoshi Nakamoto had introduced us to Bitcoin in 2008, and that was really when the blockchain technology first demanded notice. The technology has come a long way from those days, and now just the cryptocurrency market alone is valued over US $ 300 billion. However, blockchain isn’t just a monolithic technology with just one flavour — there are many variations.
Blockchain is a distributed database whose design ensures decentralization by design. ‘Nodes’, i.e. computers on the network, maintain a shared version of truth. ‘Blocks’, i.e. block records are linked via a predetermined protocol. A protocol is the program which forms the software backbone of the network, and this is where the major variations are affected by the different blockchain project teams.
Different protocols were designed keeping in mind the differing objectives or use cases, hence there are differences in the design. Additionally, the evolution of the technology also saw important technological innovations, and the protocols vary in their adoption of these. For e.g. while Bitcoin was primarily designed for executing disintermediated payment transactions on a decentralized network, Ethereum focused more on providing a blockchain platform where distributed apps (DApps) could be developed using smart contracts.
While there are many protocols, this article compares the 5 major ones.
The protocol on which the cryptocurrency Bitcoin is transacted, this was the earliest of the blockchain protocols. Following are the key features of the Bitcoin protocol:
- It’s a public blockchain, i.e. permission-less, where anyone can join.
- The underlying technology components are cryptographic hash function, digital signature, private-and-public key encryption, peer-to-peer (P2P) network, and proof of work (POW) consensus algorithm.
- The protocol allows users to conduct non-reversible transactions without having to explicitly trust a third-party.
- Every node has the complete information on the blockchain, making the network a decentralized one.
- Transactions contain unique transaction ID, input Bitcoin address, the number of Bitcoins to be transferred, and the output Bitcoin address of the recipient.
- The transaction making process involves the initiator of the transaction, and ‘miner’, i.e. combination of special-purpose software, powerful hardware, and their user. The transaction initiator pays transaction fees to the miner, who tries to include the transaction in the next block. A block is processed in every 10 minutes, and the transactions included in that are then recorded in the blockchain. Creating a new block requires not only the transaction information of the current transaction, but also a reference to the last recorded block. The last recorded block isn’t known, and the miner needs to solve a complex cryptographic puzzle to find it, and this essentially involves a large number-crunching operation done at high-speed. For this, the miner needs to try one number after another, which requires high computing power. Majority of the participating nodes must approve the transaction. Since this is a decentralized network, it isn’t possible for anyone to capture majority of the computing power on the network, thus making the network very secure. Thus, while POW mining ensures high security of blockchain, it’s also computing-power-intensive, and requires high amount of energy.
- While the consensus mechanism requiring majority approval rules out foul play, it also creates scalability issues, since every node must load entire information on blockchain and participate in the transaction validation process. Bitcoin blockchain has recently implemented ‘Segregated Witness’ (SegWit) technology, which bypasses the limitation on block size, and separates signature information from the transaction data, to improve scalability of the network.
Ethereum blockchain has many similarities with Bitcoin protocol, for e.g.:
- It’s a public, permission-less blockchain;
- It uses the same technological backbones, for e.g. cryptographic hash function, private-and-public key encryption, P2P network, etc;
- POW consensus algorithm is used;
- There’s a native cryptocurrency, called Ether. Ether has the second highest market cap, behind only Bitcoin.
However, unlike Bitcoin, which was built for allowing crypto payment transactions over a decentralized network, Ethereum was designed with much larger objectives in mind. Ethereum provides a blockchain platform, using which developers can launch their own blockchain projects, including their own cryptocurrencies. The platform, commonly called as ‘Ethereum Virtual Machine’ (EVM), has been used to launch over 1,000 DApps. Famous cryptocurrency projects such as VeChain and OmiseGo have been launched using EVM.
DApps are applications where the backend code runs on a decentralized blockchain, and comprises of smart contracts. The frontend code can be written in any language. To be considered as DApp, an app must meet the following conditions:
- Fully open-source;
- It must operate autonomously;
- The app must use a crypto token, and no one entity can control majority of the crypto tokens;
- A consensus of the users determines future changes to the app;
- Data must be stored in a decentralized blockchain, and meet cryptographic standards;
- A standard cryptographic algorithm such as POW must be used, to generate the crypto tokens.
Ethereum has made wider adoption of blockchain possible, because of EVM, smart contracts and DApps.
Ethereum also provides a way for the user to specify how much computing power will be expended for a transaction, by using a measure of processing power, called ‘Gas’. The user can specify a gas limit. If a transaction remains within that limit then it’s executed, however, if it exceeds the limit, then the changes are reverted. Simple payment transactions require less gas, whereas more complex operations, such as deployment of smart contracts, require more gas.
Ripple protocol uses many of the features of Bitcoin or Ethereum, such as decentralized design, cryptographic hash functions, P2P network, and private-and-public key encryption. However, Ripple was designed specifically to facilitate fast and cheap global transfer of money, which necessitates several unique features.
Users of Ripple can make payments to each other in either fiat currencies, or Ripple’s native cryptocurrency XRP. The transactions are cryptographically signed, and the protocol enables real-time gross settlement, allowing fast global payments.
To achieve this, Ripple has designed the ‘Ripple Protocol Consensus Algorithm’ (RPCA), which uses a ‘proof of correctness’ concept. It works in the following manner:
- All nodes apply RPCA every few seconds;
- Upon reaching consensus (described below), a ledger is considered ‘closed’, and then it’s the last-closed ledger;
- All nodes will have identical last-closed ledger;
- RPCA happens in rounds, and in each round:
— Initially, each server takes all valid but unapplied transactions, and makes this list public in the form of a ‘candidate set’;
— Each server has a unique node list (UNL), where all other servers queried by this server are listed;
— Each server takes all candidate sets of all servers in its UNL, and makes a combined list, before voting on that list;
— Transactions that receive more than the threshold of ‘yes’ votes are taken to the next round, and the others are either discarded or moved to the candidate list for the next round;
— The final round requires 80% of the servers on a servers UNL to agree on the transaction, before being applied to the ledger;
- After applying all the approved transactions in the ledger, the ledger is closed, and becomes the new last-closed ledger.
Ripple is becoming increasingly popular, with more and more banks and payments providers using RippleNet to send money globally. XRP has the third highest market cap, and is lower to Bitcoin and Ether only.
While public, permission-less blockchains have made it possible for many cryptocurrency projects to make a mark, wider adoption of blockchain is possible only when large enterprises adopt this technology. However, large enterprises have some specific requirements from blockchain technology, for e.g.:
- Only trusted entities should join the network, because enterprises can’t have their proprietary information visible to everyone;
- Enterprises need blockchains with high scalability and transaction speed;
- Even among the trusted participants, access to information should be role-based.
A public, permission-less blockchain, such as Bitcoin, doesn’t meet these requirements, because:
- These are fully open network, and anyone can join;
- Transaction validation uses computing power-intensive consensus algorithm, for e.g. POW, and it adversely impacts scalability and transaction speed;
- Every node can read entire information on the blockchain.
Hyperledger consortium was formed by the Linux foundation, and many other partners such as IBM, Intel, SAP, Cisco, Daimler, and American Express, to design and develop enterprise blockchains.
While Hyperledger has many projects such as Fabric, Sawtooth, etc, a few generic characteristics are following:
· It’s a permissioned blockchain, only the entities explicitly trusted by the organization(s) can join it.
· Consensus mechanism here looks at the entire transaction flow, and nodes have different roles, with different tasks. The nodes here are differentiated based on whether they are clients, peers or orderers. A client creates and invokes transactions. Peers maintain the ledger, receive ordered updates from orderers, upon which they commit the transaction into the ledger. A specific type of peers, called endorsers, check whether the transactions meet necessary conditions (for e.g. required signatures) and endorse them.
· While this enterprise blockchain can be used in any industry, it’s not suitable for cryptocurrencies.
This is another enterprise blockchain. Corda, by the company R3, was created specifically for financial services sector, and is designed to operate under stringent regulatory requirements prevalent in this industry.
Smart contracts are used in R3 Corda, and they have specific legal expressions, in addition to the code, to give it legitimacy. Like Hyperledger Fabric, R3 Corda looks at the entire transactions, divides nodes into specific roles, and consensus doesn’t depend on mining and POW. Consensus mechanism here requires transaction validity and uniqueness. Smart contracts ensure validity, and if there is no other transaction that consumes any of the input states for this transaction in question, then it’s unique. This wasn’t designed for cryptocurrency.
Learn more about edChain: An open-source, decentralized library that enables sharing of educational content across apps and organizations. The system allows full attribution to the content creator. Their Stellar blockchain platform facilitates governing the relationship and payment transactions between the service provider and consumer with smart contracts.
We’ve just launched the edChain Telegram to channel before our ICO Pre-sale. Join to learn more about how we are about to democratize education and how you can earn some edcoin. https://t.me/edChain_io