Blockchain practical usage. Comparing Bitcoin, Ethereum, and BigchainDB
It’s been a long time since Blockchain moved beyond Bitcoin – now it is widely used in different industries. With time Blockchain started representing not only money but any resources such as loyalty points, fuel and electricity.
Earlier each Blockchain-based application required the creation of the own Blockchain implementation. For example, Bitcoin, being at once a currency and distributed database, has a restricted by a financial industry Blockchain implementation, so smart contracts there are very limited.
Also, specialists need to have such skills for Blockchain application development as cryptography, mathematics, coding, as well as expertise in creating distributed applications. However, with time there must appear tools and technologies that would allow not Blockchain-specialized programmers to use Blockchain in building apps. For that purpose, Vitalik Buterin created Ethereum platform, released in 2013.
Ethereum represents a public Blockchain network with advanced smart contracts. Programming languages, using for smart contracts creation, are Turing-complete, which enables to write any computable function.
This opens up large opportunities of using Ethereum as a platform for building own Blockchain solutions on the basis of smart contracts. This peculiarity gave a boost to the distribution of Ethereum-based Blockchain applications in such spheres as:
- Finance (Branche, ICONOMI)
- Real estate (Rex)
- Insurance (Dynamis, Inchain)
- Energetics (ElectricChain, LO3 Energy)
Ethereum platform is also used its own cryptocurrency, but it’s not the main system part and used as a payment for smart contracts creation.
At the moment a wide ecosystem of development tools and technologies (Zeppelin Framework, Embark Framework, Truffle) is building around Ethereum and it will only continue to grow among developers.
However, Ethereum platform has some downsides and limitations like transaction processing speed (currently 15 per second for the entire network) and imperfect data storage.
The storage has a primitive key-value structure and doesn’t allow to effectively search among large data assets, which is unacceptable for a multi-user distributed application. It doesn’t allow to store large data volumes in Ethereum Blockchain and has a high warehousing cost (about 32,000 ETH per gigabyte, which is currently equal to ~ $ 6,400,000).
Also, a side-effect of smart contacts and big data storage in Blockchain is a fast-growing database size (currently about 130 gigabytes for approximately 2 years). In comparison, now the size of Bitcoin database is 116 gigabytes for over 7 years.
The transparency of Ethereum platform (and therefore the transparency of the stored data) also plays its role: far from all information can be placed on the public network for storage from considerations of confidentiality.
Hence, distributed applications require a third-party storage which will ensure an optimal transaction processing speed and ability to index and search data. Then, as we deal with distributed applications, the storage must be also distributed.
BigchainDB is a Blockchain implementation, created specifically for storing large data amounts. The authors claimed its huge storage capacity, ensured by a partial replication and a high speed of transaction recording (by simplifying the procedure of a new block creation and confirmation).
All transactions are recorded in NoSQL storage (RethinkDB or MongoDB), which in turn enables rapid search and data fetch of necessary information from Blockchain. The database represents a cluster (BigchainDB Cluster) consisting of nodes (BigchainDB node), that can be geographically distributed.
Each node is a consensus participant and can also take participation in a new transaction block formation and approval. Thanks to the equality of all system nodes and the relative ease of adding a new node, we can use BigchainDB as a private repository for distributed Ethereum applications (DApps). BigchainDB is already used in such areas as:
- Intellectual property, music (Resonate)
- Human Resources, Identity (Recruit)
- Government, Land Registry (BenBen)
The comparison of Blockchain types
As a technology, Blockchain has a wide range of use cases and now it’s moving to a mature stage, when not only ready-made applications start to appear, but also solutions for developers, allowing them to faster and easier use the benefits of distributed registry and smart contracts for building applications.
So, we’ve considered Bitcoin, Ethereum, and BigchainD, where the last two aren’t standalone applications (unlike Bitcoin) but are the tools for developing own distributed applications.