Blockchain can be termed as another hype or buzzword making its way to mainstream IT. It is a technology that will dramatically transform the way businesses are conducted. Today, organizations big or small operate in a network. It may have a customer, supplier, distributor, financial intermediaries, global and local partners and so on. They all collaborate and conduct economic activities to achieve certain common set of goals. It’s a complex web of business entities that make money by offering services to each other. In business terms, exchange of goods and services (also known as assets) is called a transaction. It is a formal transfer of value and ownership of an asset from one entity to another, i.e., parties to the business. Transactions between these entities must be recorded and maintained in a book of account also called a ledger. Each business entity or organization maintains its own ledger, which consists of day-to-day transactions. Third party intermediary often does the bookkeeping or maintaining of the ledger. This obviously leads to increase in cost and in some way duplication of efforts as each entity in the business network maintains its own ledger of transactions. There is no clarity or transparency as to how the transactions are recorded and settled and the process of reconciliation is often time-consuming. In a nutshell, the current handling of accounts among the business network is less transparent and inefficient. So, what is the technology solution for this problem?
The solution lies in creating a technology infrastructure that can distribute or share the copy of ledger to all the entities in the business network. This is where the blockchain comes into the picture. Blockchain is a distributed ledger protocol that offers a more unique and innovative approach towards maintaining transactions among business entities. Transactions are validated by all the entities and created as unit of blocks. Blockchain architecture can be applied to public or private business network. With public applications, every business entity can view and validate the transactions, though no one can alter it. In a private setup, ledger is permissioned, which means only authorized entities can act (like validate or view) on transactions. Transactions, in general, cannot be tampered with, i.e., its state cannot be altered. It means blockchain ledgers are immutable. Transaction payloads are secured using cryptographic hash and digitally signed using public/private key thereby certifying provenance. The digital signature proves the identity or the ownership of the transaction or the digital token (asset) that is being transacted. The blockchain transactions are generated with network-wide consensus without the need of central server or authority. The consensus here means all the entities in a business network agree on the validity, state of data and originality of the transaction.
Note – Understanding blockchain 1.0 and 2.0.
Bitcoin-based blockchain is popularly termed as blockchain 1.0. It is modeled around simple database concepts with data insertion (transaction recording) happening sequentially in the distributed ledger. There was no special logic involved. Then came the modern blockchain applications that introduced the concept of smart contracts. The smart contracts came under the blockchain 2.0 umbrella. Smart contract represents a software code that performs some logic, then just recording transactions. Blockchain platforms like IBM HyperLedger, Microsoft Bletchley, Ethereum, etc. are all part of blockchain 2.0 world.
Here are the benefits of a blockchain network in a nutshell:
- The blockchain network manages the transactions without the need of any intermediary or central authority. It is self-regulated and automated using smart contracts and consensus protocol.
- All the business entities are equipped with their copy of ledgers, and therefore, the information is shared and transparent across the network
- With blockchain, the data or the transaction record is up to date, verified and consistent as all the business entities are involved in performing the validation.
- Reliable and highly available as there is no central point of failure.
- There is a significant reduction in cost as a business need not maintain its own ledger and managed by any third-party intermediaries.
- Transaction settlement and the process of reconciliation are automatic and almost immediate. Unlike the manual process, it does not require any mandatory number of business working days to make the settlement.
- It mandates the use of single ledger where all the transactions of a defined business network are recorded. It, therefore, removes the data redundancy and the need to maintain separate ledger by each business entity.
A blockchain network is setup based on the following principles:
Consensus: The network must be in the state of consensus, i.e., the validity of the blocks of transactions must be validated and agreed or accepted by all the nodes (or designated nodes) in the blockchain network.
Provenance: Provenance generally means place of origin. In the context of blockchain, it refers to the origin of the digital tokens or assets. The nodes in the network must know who is the owner of the digital asset and also track the change of ownership.
Immutability: In a blockchain network, the ledger cannot be tampered with once the transactions are recorded. A ledger may have valid or invalid transactions. An invalid transaction is addressed by adding a new valid transaction of the same value. Data in the blockchain network is append-only and not subject to modification.
The following components are the principal building blocks that can be perceived as the architectural cornerstones of an enterprise blockchain:
Anything that can be transacted over the blockchain takes the form of digital tokens. Digital tokens represent assets that hold value and have some form of ownership. Assets can be a physical asset like a car, house, cash, etc. and non-physical or tangible assets like patents, copyrights, intellectual property, etc. Digital tokens are secured using cryptographic hash algorithms which takes care of confidentiality aspect. Tokens also have one more level of security in terms of authentication and authorization. It must be signed by the owner to maintain secured identity. The concept of authentication and authorization can be achieved with Public Key Infrastructure (PKI) using private/public key cryptography.
Smart Contract is one of the core component of modern day blockchain or the so called blockchain 2.0. It’s a contract which defines and executes transactions in the form of a software code written in a programming language of choice. It comprises of business operations that act on the state of the blockchain ledger. It contains business logic conditions that affect the state of a digital token (asset) in terms of its value and ownership. The conditional logic or the business rules compiled together makes up a well-defined contract that suggests how this transaction will be carried out and hence, the term ‘smart’ contract. The smart contract can be written in any programming language like Java, NodeJS, Scala etc. Smart contract can be made secured through encryption and digital signing.
The blockchain ledger is an electronic health record of a business. It is a system of records containing all transactions in the order of its occurrence in a given business network. These transactions are initiated by the client application and executed using smart contracts. The transactions by itself represent some kind of transfer of value of digital tokens recorded in the ledger. The ledger must be immutable, i.e., no one should be able to tamper with the transactions, once recorded in the ledger. The blockchain ledger is shared across all entities in a business network. Each node in the network maintains its own copy of the ledger. In a private blockchain network, ledgers are often permissioned, which means only authorized entities can act on a ledger.
Security in the blockchain can be enforced using authentication and authorization. Different form of policies can be created that can communicate different level of access controls for every step in the blockchain workflow. One possible example could be say, only nodes with appropriate permission levels can perform ledger validation. Another aspect of security in the blockchain is the trust based communication. Trust based communication can be established using cryptography digital certificates. Every transaction occurring between entities in the network can be digitally signed to protect its identity and verified using private/public key pair. The transaction payload itself can be encrypted using crypto hash algorithms to maintain confidentiality. In a public blockchain, every node in the network has the visibility and access to the transaction and block creation. In a permissioned blockchain, ledger access and manipulation to the ledger is controlled through the use of access control policies and creation of private conduits with only nodes within that conduit can transact with each other.
Consensus means agreement in majority. In a blockchain, all the nodes are equipped with their copy of the ledger that is synchronized as and when the new transaction occurs. Every new transaction when validated and accepted by all the nodes in the network, the ledger is said to be in the state of consensus. It means all the participants in the network agree to and accept the current state of ledger. There are many aspects of the blockchain workflow where the consensus is required. Consensus by itself can be adhering to different policies and thereupon validating the same. The nodes refer to existing set of checklist or rules or policies to validate different lifecycle phase of transactions, right from its inception until it is finally recorded in the blockchain. The consensus in some way implies network integrity. The consensus as such cannot be broken through any kind of corrupt or hacking practice. In order to break the consensus, a whole new blockchain will need to be created with ‘broken records, ‘ and that can be a huge task. There are different industry-wide consensus protocols one can use in the blockchain application viz. Proof-Of-Work, Proof-of-Stake, Practical Byzantine Fault Tolerance and many more. We will briefly discuss the popular algorithms in the ‘Consensus Algorithm’ section.
Nodes are the most important component in the network deployment model of blockchain. A node can be a physical box or different logical processes (nodes) in one physical box. They are the backbone of the blockchain architecture. Nodes collaborate with each other to form a peer model and work together to arrive at the consensus and keep the network in a consistent state. They typically validate and execute transactions in the network. Nodes in a blockchain can play various roles like the miners, validators, orderer, monitoring node, health check node, etc. (For more on miners and mining concept, you can refer to chapter 2 that explains permissionless Ethereum blockchain.) These roles assume more significance in a permissioned enterprise blockchain scenario. This is because in a permissioned blockchain, the network is managed and controlled using access control policies and these policies can be attached to the role of each node in the network. Each node in the network, by fulfilling its role equipped with set of policies, forms a group of powerful trusted entities that keeps the entire blockchain network more secure, stable, resilient and consistent.
In the next article, we will look at the Blockchain Reference architecture