Introduction to Blockchain and Its Implications for IoT Security

Blockchain is as a Peer-to-Peer (P2P) distributed ledger forged by consensus and combined with a system for smart contracts and other assistive technologies which could be a major contributor to strengthening IoT security.

Anonymous Mask holding a computer that says
Illustration: © IoT For All

Since the start of 2017, Bitcoin has attracted attention from almost all industries and governments, who are trying to see how this technology can be a fit for their Applications. A commonly-known “dictionary definition” of the word blockchain is: “a digital ledger in which transactions made in bitcoin or another cryptocurrency are recorded chronologically and publicly.” There are other definitions as well.

Although these definitions are rooted in the most popular implementation of blockchain technology—Bitcoin and other cryptocurrencies—blockchain and Bitcoin aren’t identical. Let’s take a look at blockchain technology in general.

What Is Distributed Ledger Technology (DLT)?

Distributed Ledger Technology (DLT) includes blockchain technologies and “smart contracts.” While distributed ledgers existed prior to both Bitcoin and blockchain, DLT marks the convergence of a host of technologies, including transaction timestamping, Peer-to-Peer (P2P) networking, cryptography, distributed computation and a new consensus algorithm.

DLT generally consists of three basic components:

  1. A data model that captures the current state of the ledger.
  2. A language of transactions that changes the ledger state.
  3. A protocol used to build consensus among participants around which transactions the ledger will accept and in what order. 

What Is Blockchain Technology?

Blockchain is a specific form or subset of distributed ledger technologies, which constructs a chronological chain of blocks, hence the name “blockchain.” A block refers to a set of transactions that are bundled together and added to the chain at the same time.

Blockchain definition: A blockchain is a Peer-to-Peer (P2P) distributed ledger, forged by consensus, combined with a system for smart contracts and other assistive technologies. Blockchains can be used to build a new generation of transactional applications that establish trust, accountability and transparency while streamlining business processes and legal constraints.

Blockchain is a distributed ledger that tracks various assets and transactions that are grouped into blocks, where there can be any number of transactions per block.

A block commonly consists of four pieces of metadata:

  • The reference to the previous block
  • The proof of work, also known as a nonce
  • The timestamp
  • The Merkle tree root for the transactions included in this block.
A diagram showing the structure of a blockchain, and the structure of each block on that chain.
Image Credit: DZone

Is Blockchain Similar to a Database?

Blockchain technology has some key differentiators from databases. In a relational database, for example, data can be easily modified or deleted. Typically, there are database administrators who can change any part of the data and/or its structure. On the other hand, blockchain is a “write-only” data structure. New entries get appended onto the end of the ledger. There are no administrator permissions within a blockchain that allow editing or deleting data. Moreover, relational databases were originally designed for centralized applications (i.e. a single entity controls the data). By contrast, blockchains were designed for decentralized applications.

Types of Blockchains

A blockchain can be both permissionless e.g Bitcoin or Ethereum or permissioned like the different Hyperledger blockchain frameworks. The choice between permissionless and permissioned blockchains is driven by the Applications.

A permissionless blockchain is also known as a public blockchain because anyone can join the network. A permissioned blockchain, or private blockchain, requires pre-verification of the participating parties within the network, and these parties are usually known to each other.

Characteristics of Blockchains

1. Immutability of Data

The immutability of the data which sits on the blockchain is perhaps the most powerful and convincing reason to deploy blockchain-based solutions for a variety of socio-economic processes which are currently recorded on centralized servers. This immutability, or ‘unchanging over time’ feature, makes the blockchain useful for accounting, financial transactions, identity management and asset ownership, management and transfer, just to name a few examples. Once a transaction is written into the blockchain, it’s extremely difficult to change it.

2. Transparency

Transparency of data is embedded within the network as a whole. The blockchain network lives in a state of consensus, one that automatically checks in with itself. Due to the structure of the block, the data in the blockchain cannot be corrupted. In theory, it’s possible to corrupt the blockchain by using a huge amount of computing power to override the entire network, but this isn’t possible in practice.

3. Decentralization

By design, the blockchain is a decentralized technology. Anything that happens on it is a function of the network as a whole. A global network of computers uses blockchain technology to jointly manage the database that records transactions. The consensus mechanism discussed next ensures the correctness of data stored on the blockchain.

4. Security

By storing data across its network, the blockchain eliminates the risks that come with data being held centrally, and the network lacks centralized points of vulnerability that are prone to exploits. To avoid this, blockchain ensures all participants in the network use encryption technologies for the security of data. Primarily it uses PKI and it’s up to the participants to select other encryption technologies as per their preference.

What are Consensus Mechanisms and Types of Consensus Algorithms?

Consensus is an agreement among the network peers; it refers to a system of ensuring that parties agree to a certain state of the system as the true state. It’s a process whereby the peers synchronize the data on the blockchain. There are a number of consensus mechanisms or algorithms including Proof of Work, Proof of Stake, Proof of Elapsed Time and Simplified Byzantine Fault Tolerance. Bitcoin uses Proof of Work, while Ethereum uses Proof of Work currently, but is moving towards Proof of Stake.

What Are Smart Contracts?

Back in 1996, a man named Nick Szabo coined the term ‘smart contract’. You can think of them as computer protocols used to facilitate, verify, or enforce the negotiation of a legal contract. A smart contract is a phrase to describe computer code. Smart contracts are simply computer programs that execute predefined actions when certain conditions within the system are met. Smart contracts provide the language of transactions that allow the ledger state to be modified. They can facilitate the exchange and transfer of anything of value (e.g. shares, money, content or property).

Open Source Blockchain Frameworks, Projects and Communities

Looking at the current state of research and a few implementations of blockchain technologies, we can certainly say that most enterprise blockchain initiatives are backed by some open source projects. Here’s a list of some of the popular open source blockchain projects:

  • Hyperledger – An open source effort created to advance cross-industry blockchain technologies. Hosted by The Linux Foundation, it’s a global collaboration of members from various industries and organizations.
  • Quorum – An open-source permissioned implementation of Ethereum which supports data privacy hosted by JPMorgan. Quorum achieves this data privacy by allowing data visibility on a need-to-know basis by a voting-based consensus algorithm.
  • Chain Core – Created by chain.com, it has initially been designed for financial service institutions, for things like securities, bonds and currencies.
  • Corda – A distributed ledger platform designed to record, manage and automate legal agreements between businesses. It was created by the R3 company, a consortium of over a hundred global financial institutions.

Blockchain technology promises to be the missing link enabling peer-to-peer contractual behavior without any third party to “certify” the IoT transaction. It answers the challenge of scalability, single point of failure, time stamping, record, privacy, trust and reliability in a very consistent way. Blockchain technology could provide a simple infrastructure for two devices to directly transfer a piece of property such as money or data between one another with a secured and reliable time-stamped contractual handshake.

In an Internet of Things context, in which security is already a challenge, it’s clear that security needs to be reconsidered. It’s important to understand that Blockchain could—if implemented responsibly—be a way to secure the Internet of Things. There are operational challenges with the business model and practical considerations as well, however, as such a security solution would require buy-in from numerous stakeholders and regulatory bodies.

This article was originally published on Open Source Forum.

Author
ʂʍɒρƞįł Ҟưȴķɒʁʉɨ (coolsvap)
ʂʍɒρƞįł Ҟưȴķɒʁʉɨ (coolsvap)
Swapnil is an Open Source enthusiast with experience in Blockchain, Cloud Native solutions, Containers & Enterprise Software Product architectures. Swapnil is currently associated with research and technology unit in Persistent Systems. He has...
Swapnil is an Open Source enthusiast with experience in Blockchain, Cloud Native solutions, Containers & Enterprise Software Product architectures. Swapnil is currently associated with research and technology unit in Persistent Systems. He has...