New

Introduction to Blockchain

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.

Components of Blockchain

The following

components are the principal building blocks that can be perceived as the

architectural cornerstones of an enterprise blockchain:

Digital Tokens

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

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.

Ledger

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

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

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

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