Consortium: A consortium formed by a group of members control this blockchain. Verifying and adding records to the blockchain is based on a consensus mechanism by a pre-selected set of nodes. Example: In regulatory-related decision-making.
Private: This is controlled by a centralized entity. Only people with specific authentication and permission can be part of this network and thereby can verify and add records to the blockchain.
However, the blockchain could be publicly viewable. Participants in this blockchain know and trust each other. Also known as a permissioned ledger.
Example: A permissioned ledger between banks to settle inter-bank fund transfers and supply chains with well-defined roles for all actors.
Public: Public or permissionless blockchain are decentralized and are visible to the public, anyone can join or leave the blockchain and anyone can verify and append transactions to the blockchain.
This type of blockchain facilitates the dynamic collection of participants who may not know each other. Hence, stringent consensus mechanisms have to be implemented in this system. Examples: Timestamping, trading of renewable energy.
Smart contracts are self-executing agreements that are triggered on the basis of predefined and agreed events (for example rainfall of more than 200 mm, market price of commodity more than USD 100).
The “smart” in a smart contract comes from the fact that the clauses in the contract are evaluated and the appropriate code is executed without human intervention. Settlements in smart contracts are automatically triggered if the pre-agreed conditions coded into the contract are met.
Imagine something along the lines of the automatic debit used by merchants to take payment from your bank account, based on pre-agreed conditions (full payment, part payment, minimum amount, etc.) on a pre-agreed day or date (first Wednesday of the month, every 10 May, etc.).
A key link between the physical world and blockchain is an oracle. This is a trusted intermediary and an integral part of the smart contract ecosystem and facilitates data feeds to the blockchain ecosystem.
By design, a blockchain cannot access data from outside its system and thus data to make the blockchain is supplied through a predefined entity called an oracle.
An oracle can be hardware-based, software-based, or consensus-based. Examples of hardware oracles are sensors, IoT, and weather stations. Examples of software oracles are a New York Stock Exchange index, expiration date, output of some computation, etc. A consensus-based oracle works on the basis of consensus from a group of predefined nodes on a particular question.
A consensus-based oracle can also source data from several other oracles to trigger an event in a smart contract. Moreover, inbound oracles pass external data to smart contracts and outbound oracles communicate smart contract-based data to the outside world.
Ethereum is the first blockchain platform that focuses on providing a Turing-complete smart contracts-based system and decentralized applications. Hyperledger Fabric and R3 Corda are some of the other DLTs that are used to create smart contracts.