The Essence of Blockchain Technology for IT Practitioners
This brief article describes the essence of Blockchain technology in terms that many IT professionals are familiar with. The references at the end elaborate on the core concepts touched-upon here.
A blockchain or distributed ledger is essentially a replicated database with the following capabilities. These capabilities are largely common to both public (permissionless) and private (permissioned) blockchains:
- An irrefutable and tamper-proof database log – the ledger
- Irrefutable means that, once a transaction is accepted and there is consensus that it is valid see below), it cannot be refuted (synonyms: denied, repudiated).
- Tamper-proof means that, once a transaction is accepted and there is consensus that it is valid see below), it cannot be deleted, or modified.
- This doesn’t preclude, however, another valid transaction from reversing or adjusting the original transaction – but the original transaction will always be preserved in the log.
- The ledger is replicated, with eventual consistency through consensus
- There is a replication process and a consensus process to ensure eventual consistency of all ledger replicas and automatically resolve replication conflicts.
- Different participants can have their own (one or more) replicas. Participants are entities that can participate in the replication and consensus processes.
- Transaction validation rules that govern what entries can be added to the ledger
- Views that support efficient queries (e.g., using indices rather than forcing traversal of the log)
- Rules that govern participants' and users' access to the data, including but not limited to:
- Viewing of data.
- Addition of entries to the ledger.
- Creation of ledger replicas.
- Participation in the replica consensus process.
- Rules that govern approval to grant access for participants and users
- Approval processes to grant aforementioned data access rights to participants and users.
- Approval processes to grant approval rights to participants and users (i.e., so that a participant or user can participate in the approval process for other participants or users).
- APIs to provide controlled access to the above capabilities
Capabilities 1, 2, and 3 above are the most fundamental and are truly the essence of blockchain technology. The consensus process and transaction validation rules vary greatly across blockchain products. Some blockchain products (e.g., Hyperledger Indy) have multiple ledgers, each supporting different transaction types.
Capability 4 is present to some extent in all blockchain products, but can vary greatly. For example, this capability is fairly limited in the case of the Bitcoin blockchain.
Capabilities 5 and 6 are the key differentiators between private and public blockchains. They can vary greatly across blockchain products. In the case of public blockchains, anyone can join and access the data, no approval is required. Some blockchain products (e.g., Hyperledger Indy) have some aspects that are public and others that are permissioned.
Capability 7 is present in all blockchains but varies greatly by product.