Digging bitcoin and understanding blockchain platforms
Cryptocurrency

By NIDA KHAN / Pic By BLOOMBERG

Bitcoin is the first decentralised digital currency and not a blockchain platform on top of which applications can be built, like ethereum. However, bitcoin can be considered as the “mother of all blockchains” and thus a discussion on blockchain is not complete without mentioning it.

It functions as a decentralised peer-to-peer payment system. Satoshi Nakamoto invented it in 2009. The foremost priority of bitcoin is security.

Bitcoin uses C++ programming language and comprises less than 70 set commands, which makes it difficult to be hacked. The transactions take place in a shorter span of time on account of the limited set of available commands, and a transaction in the bitcoin network will show up in less than an hour in the public ledger.

Bitcoin uses “proof of work” (POW) and achieves around seven transactions per second. Blockchain startup RSK Labs has added smart contract functionality to bitcoin. Cryptographer Nick Szabo, who is popular for laying the framework of bitcoin, coined the term “smart contract”.

Smart contracts are computer programmes that serve to negotiate, facilitate or enforce the performance of an agreement (contract) using blockchain technology. The terms of the contract are coded as a computer programme in the programming language provided by the underlying blockchain platform. These smart contracts can complement or substitute legal contracts.

Different Blockchain Platforms

1. Ethereum: Ethereum is an open software platform based on blockchain technology that enables developers to build and deploy decentralised applications called DApps. It runs smart contracts, which are coded in programming languages like Solidity, Serpent or LLL (low-level language).

Ethereum also provides a cryptocurrency called ether. A cryptocurrency is a subset of digital currency which operates independently of a central bank and uses cryptography for security. A cryptocurrency is difficult to counterfeit because of this security feature, as cryptography ensures that only authorised parties understand the data.

The consensus mechanism used is POW. It executes the contracts using Ethereum Virtual Machine (EVM). EVM is a runtime environment, which provides all the needed support and services for executing smart contracts in ethereum.

A data model determines how data is processed and stored inside a system. Ethereum uses an account-based data model. Each user has an account address. All the information related to a particular user is stored under the account address of the user. Transactions that a particular user has participated in can be seen by entering his account address in applications like Etherscan.io.

2. Eris-DB: Eris-DB provides smart contracts as an application on its blockchain platform. It also uses EVM to run smart contracts. Smart contracts in it can be coded in Solidity.

The data model is account-based like ethereum, and the consensus mechanism used is Tendermint, a software which can be used to achieve Byzantine Fault Tolerance (BFT). Participants in the BFT consensus protocol in Eris-DB are called validators. Validators take turns in proposing the transactions in a block and voting on them.

Two rounds of voting are needed, called “pre-vote” and “pre-commit”, before a block can be added to the blockchain. A block is committed or added to the chain, if two-thirds of the validators pre-commit for the same block in the same round.

3. Ripple: Ripple provides cryptocurrency as an application. It does not provide the feature to use smart contracts. The data model used is UTXO-based.

UTXO stands for Unspent Transaction Output. It was first used by bitcoin to track database state. UTXO indicates the amount of coins currently held by a user, and this forms the input to another transaction.

4. Stellar: Stellar provides smart contracts as an application. It uses “dockers” to execute smart contracts. Docker is a tool that allows one to use containers independent of the operating system. A container holds components like files, libraries and other environment variables to run a software.

The programming languages to code a smart contract in stellar is JavaScript, Golang, Java, Ruby, Python, and C#. The data model is account-based.

5. Hyperledger: Hyperledger provides smart contracts’ functionality. It uses dockers as an execution environment for the smart contracts. The programming language used for writing the smart contracts’ code is Golang and Java. The data model is account-based and the consensus mechanism is Practical BFT (PBFT).

PBFT improves the performance of BFT.

6. Parity: Parity is similar to ethereum in most contexts, but differs in the consensus mechanism used. Parity provides smart con- tracts executed in EVM. The pro- gramming languages to code the smart contract can be Solidity, Serpent or LLL.

The data model is account-based. The consensus mechanism used is “proof of authority” (POA). POA is a replacement of POW that does not involve solving a difficult mathematical problem. It uses a set of nodes as “authorities”, which are allowed to create new blocks in the blockchain. This is extremely beneficial in maintaining private setup of a blockchain and keeping the block issuers accountable.

The popularity of the blockchain technology can also be gauged from the fact that despite being a relatively new technology, there are so many platforms providing the functionality to appeal to one section of users/ industry or another.

Ethereum is by far the most popular blockchain platform with implemented applications in both desktop and mobile in use today. Hyper-ledger seeks to provide a platform that comes as a perfect fit for financial applications, providing the needed privacy and security. One can do market research to know which platform best satisfies the needs of a particular business/ industry.

  • Nida Khan is a developer of 2 pioneering Islamic financial technology tools, and is currently pursuing an industrial doctorate degree on blockchain and data analytics for traceability in finance at University of Luxembourg. The views expressed are of the writer and do not necessarily reflect the stand of the newspaper’s owners and editorial board.