Hi! I am Gabriele, CTO of Ocyan, and in this article I will try to go through all the flavours of the most commonly used Blockchain protocols.
Blockchain... but which one
At Ocyan, we have come across multiple use cases for Blockchain in Enterprise. They can vary from supply chain, fintech, logistic, telecommunications, and so on and so forth.
If you or your company are considering kickstarting a blockchain project, and maybe you are in the initial discovery phase, you will discover that the Blockchain universe contains many different flavours. But before you do that, you want to consider the following questions first:
- Which problem are you trying to solve? Does it comprehend decentralisation, trust, immutability, security, asset exchange?
- Are you trying to replace or remove any intermediary? In a few words, are you trying to automate trust?
- Do you require a not particularly high transaction speed?
If the answer of those questions is yes, then you most probably require a blockchain solution.
Blockchain for everyone
Bitcoin, Ethereum, Hyperledger Fabric, R3 Corda, Stellar, Monero, ZCash, Quorum, VeChain... Nowadays hundreds (or maybe thousands) different blockchain protocols have been implemented. Where do we start from?
Let's first distinguish between several types of blockchain.
Public or Permissionless: designed on the assumption that everybody is potentially corrupt, in public networks anyone can validate, write, and read transactions (if consensus permits!). The ledger is completely open and transparent, e.g. https://www.blockchain.com/explorer. Example of permissionless blockchains are Bitcoin, Ethereum (main net), Stellar, Monero, ZCash and so on.
Private or Permissionised: when one or more actors decide to join forces into a consortium, roles and responsibilities have to be established between the members. Using certain specific blockchain protocols, like Hyperledger Fabric or R3 Corda, it is possible to enshrine those rules into Admin policies and maximise security, privacy and performances. Moreover, it is possible to achieve similar results starting from permissionless technologies (e.g. Ethereum Parity supports Aura as PoA algorithm, or Quorum).
|Access||RW, public to anyone||RW upon invitation only|
|Membership||Unknown||Known and trusted|
|Security||Economic incentives (e.g. PoW)||Legal contracts, Admin Policies|
|Examples||Bitcoin, Ethereum, Monero, ZCash||RomanAgora (https://www.finextra.com/pressarticle/79823/clearscore-uses-blockchain-to-reduce-fraud-in-credit-applications), Komgo, Marco Polo, EWF|
|Scope||Disrupt the current business models by decentralisation, transparency and disintermediation||Data or asset sharing, reach closer integration between enterprises without compromising on reliability and ownership of data|
As the name suggests, given the decentralised nature of the network it is necessary to define a set of rules and steps to follow in order to precisely define the status of the ledger at any point in time. This efficient, fair, real-time, functional, reliable, and secure algorithm is known as consensus. It is necessary because decentralised system don't have a central administration authority that maintains and updates the database, while decentralised systems need a mechanism to ensure that all the transactions occurring on the network are genuine and all participants agree on a consensus on the status of the ledger.
There are several consensus algorithm that can be used by the different blockchain protocols, so here we will describe just the major ones:
- Proof of Work: used by the most known cryptocurrencies like Bitcoin and Ethereum (supported by Ocyan 😎), it requires a participant node to prove that the work done and submitted by them by solving a cryptographic puzzle qualifies them to receive the right to add new transactions to the blockchain. This special participant node is known as miner, and they participate in the network by contributing large amounts of computing power.
- Proof of Authority: in this case, consensus is reached using special approved accounts, known as validators, that allow them to put transactions in a block. It is possible to attach a reputation to a validator account, in order to make sure that validator node "keep behaving" and help maintain the network. An example could be Aura in Ethereum Parity PoA networks (supported by Ocyan 😎)
- Proof of Stake: another common consensus algorithm that evolved as a low-cost, low-energy consuming alternative to POW algorithm. It involves allocation of responsibility in maintaining the public ledger to a participant node in proportion to the number of virtual currency tokens held by it. However, this comes with a drawback that it promotes cryptocoin saving, instead of spending. The Ethereum main network is moving towards replacing PoW with PoS in the next future.
PoS and PoW have similar problems but in different ways.
In PoS, an entity can own a majority of coins and reap most of the benefits. This does NOT provide for a safe or fair economic environment, as it opens the door to a series of economic scenarios.
In PoS, unlike PoW, you have no baseline of physical cost to create a coin. The only metrics you have are total supply, circulating supply, inflation rate, and current market price. So, you can treat this market similarly to a fiat currency - driven by supply and demand. In this case though, the price is still not backed by any phisical asset.
On the other hand, the upside is that you can gain staking rewards as a node much easier than in a PoW protocol. This is the main reason the community has been siding with PoS.
What about private networks
While tokenized incentives make the untrusted networks safe, they also make them very slow. Public and permissionless networks can only handle a few transactions per second, which makes them unfeasible for large-scale applications with high transaction volumes. If we are able to add a pinch of trust to our blockchain recipe, then the situation becomes much easier to manage. In private networks, due to the absence of many problems that are brought by the untrusted and various nature of the nodes and thanks to the presence to legal contracts in most cases, it is possible to reach much better performances. Just to throw some numbers in the discussion, while Bitcoin and Ethereum reach just a few dozens tx/s as limits, Hyperledger Fabric has been demonstrated to be able to reach about 3,000 tx/s.
Examples of blockchain consortia are:
- RomanAgora: In 2019 Ocyan has worked with ClearScore in order to create and scale RomanAgora, the first blockchain backed system in fintech for Identity Verification across financial institutions. You can find more informations here.
- EWF: Energy Web Foundation, Ethereum backed consortium, it has become the industry’s largest energy blockchain ecosystem and leading choice for decentralized technology powering the world’s energy future.
- Komgo: powered by Consensys, it represents the world scale commodity trading network.
- Marco Polo: trading alliance between Financial Institutions, Corporates and Technology & Service Providers. It is backed by an R3 Corda network.
As of today (Jan '20) there are multiple problems that can be solved nicely and efficiently with a blockchain architecture, but it is of paramount importance to understand the characteristics of such a solution, plus consider all the implications of building and maintaining a completely innovative system. Ocyan is a Cloud Operating System that deploys all the required infrastructure, automation, monitoring, security and data integration components to run any blockchain and P2P (Peer to Peer) network on any corporate production environment (always on-prem).
If you want to reach out for more clarifications, any blockchain discussion or build something together just contact me at [email protected].