Understanding The Blockchain Technology

Dubbed “The Internet 3.0”, Blockchain can be described as a continuously growing list of digital records, called blocks, which are linked and secured using cryptography. Typically, each block contains a cryptographic hash of the previous block, a transaction timestamp and transaction data. 

This structure makes Blockchain a public ledger of information, collected through a network that sits on top of the internet. It is an entirely novel way of documenting data on the internet, which can be used to develop Blockchain applications, such as games, messengers, social networks, storage platforms, voting systems, online shops, exchanges and prediction markets amongst other emerging application ideas.

By design, a Blockchain is inherently resistant to modification of the approved transaction data between two parties efficiently, ensuring the distributed ledger is constantly in a verifiable and permanent state. The entire framework is typically managed by peer-to-peer network collectively adhering to protocol for inter-node communication and validation of new blocks.

                A Brief History of Blockchain Technology
The idea for a cryptographically secured chain of blocks was first described in 1991 by W.Scott Stornetta and Stuart Haber. Merkle trees was later incorporated into the design in 1992, which improved efficiency and allowed several documents to be collected into one block.

A conceptualized idea for Blockchain however, came from the elusive and brilliant Japanese programmer known as Satoshi Nakamoto in his 2008 whitepaper as a core component of the cryptocurrency Bitcoin, where it serves as the public ledger for all transactions on the network. Using Blockchain, Bitcoin became the first digital currency to solve the double-spending problem, without requiring a trusted authority.

In the Blockchain community however, there is a general belief that Nakamoto is not Japanese at all, probably due to the mastered documentation of Bitcoin in English, leading many people to believe he may be either European or North American descent. Nakamoto has made the Bitcoin network so transparent, anyone can view his holding currently estimated to be 1 million Bitcoins.

Key Attributes of Distributed Ledgers

The digital distributed ledger network of Blockchain consists of 3 key attributes;

1.Recorded: stored information which is time-stamped

2.Transparent: anyone in the world with required knowledge can see the ledger of transactions

3.Decentralized: the ledger exists on multiple computers in the world, often referred to as nodes.

The Bitcoin Blockchain files size in August 2014 was recorded containing transactions reaching 20GB, growing to almost 30GB in 2016 and from January 2017, the Bitcoin Blockchain more than doubled to 100GB in size.

Money and exchange of value has been a human concept dating back more than 7000 years. Many currency forms have existed and phased out around the world like Cowries, leather and even during the ancient times of 9000 BC when the batter trade was practiced, exchanging cattle, sheep and camels as forms of payment before modern coinage, paper and internet banking emerged.

According to experts on worldwide growth predictions, Blockchain technology is forecast to reach $7.74 billion by 2024, with majority of the future growth in the financial services sector.

Structural Components and Terminologies of Blockchain

At this point, it's a good idea to delve into some components that make up the structure of Blockchain, and some terminologies that underpin the idea of building such an open digital cryptographic ledger.

1. Decentralization

On top of the list of prime ideas fueling the development and adoption of Blockchain technology along with cryptocurrencies, is the ability to store valuable information about transactions, money, intellectual properties and even digital applications on multiple locations in the world, instead of a central point location where access could be controlled by powerful central authorities. This ensures control is handed back to individual users over their creative properties.

A lack of central control point makes the system fairer to everyone and considerably more secure, since altering any data in the chain will require consensus from a large percentage of participants across the network of nodes, to validate transactions and record data in a manner that is incorruptible.

2. Nodes

A node is any active electronic device, including a computer, smart phone or even a printer connected to the internet and having a valid IP address. The primary role of a node is to support and maintain a copy of the Blockchain and, in some cases process transactions. Nodes are usually arranged in the structure of trees, known as Binary Trees. Cryptocurrencies for example each have their own nodes, to maintain transaction records of particular tokens.

Owners of nodes are willing participants, contributing their computing resources such as CPU, RAM and graphics processing units (GPU), to store, solve mathematical problems and validate transactions in the Blockchain network. Transaction fees can be earned as a reward for performing the task in a process that is now known as mining or forging, albeit heavy costs in electricity to run high powered systems.

Every node in a decentralized system has a copy of the Blockchain, with data quality maintained by massive database replication and computational trust.

3. Blocks

Blocks hold batches of valid transactions that are hashed and encoded into a Merkle tree. Each linking block contains a cryptographic hash of the previous block to form a chain. This iterative process confirms the integrity of previous blocks all the way back to the genesis block.

On the 3rd January 2009, Satoshi Nakamoto mined the first genesis block into existence, containing the first 50 BTC block reward and cannot be spent by anyone. The original Satoshi Bitcoin software was released on web-based open source platform Sourceforge and written in C++ programming language.

The genesis block also included text from the UK Times newspaper, saying “03/Jan/2009 Chancellor on brink of second bailout for banks”, a reference to the birth-date of the technology and possibly a dig at the fractional reserve banking system. Satoshi’s creation however limited the number of Bitcoins in circulation from exceeding 21 million BTC.

4. Consensus Protocol

Blockchain consensus protocol is used to keep all nodes on a network in a synchronized state with each other. It’s a system for answering the question “How do we all make sure we agree on the truth?”

The protocol is crucial to the Blockchain technology, by performing two key functions; firstly, responsible for updating the Blockchain network with new transaction information, while keeping participants incentivized, and secondly it prevents any single entity from controlling and derailing the entire Blockchain system. 

This technology in a sense makes the Blockchain network a self-auditing ecosystem, making it extremely difficult to replicate or tamper with the network without heavy investment of time, computing resources and an extremely high costs in electricity.

5. Hashing

A cornerstone of the Blockchain technology is rooted in the integrity and reliability of information on the chain from tampering, insertion of fraudulent data or preventing double spending. This handicap is addressed using the process of hashing, where an input of data is turned into cryptographic fixed outputs through mathematical algorithms.

Bitcoin for example uses the SHA-256 cryptographic hashing, that includes a short piece of message or a huge cache of varying pieces of information in transaction blocks.

Hashing drastically increases the integrity and security of data, preventing anyone trying to decrypt the information without knowledge of the length of the hash function, impossible. Tampering with any of the input data completely alters the hash and is rejected by the Blockchain.

A Merkle trees algorithm is used in Blockchain to provide integrity, security and irrefutability. The hash of the Merkle root is normally contained in the block header along with a hash of the previous block, timestamp, nonce, the block version number and the current difficulty target for the math challenge.

6. Proof-of-work (PoW)

The consensus protocol introduced by Bitcoin and used by many other cryptocurrencies, is the process widely known as mining. The Proof of work occurs on nodes in the network, requiring a considerable amount of work to solve complex mathematical problems, and the answer verified as accurate by other participating nodes on the Blockchain.

The process itself involves solving computational puzzles and presenting the answers on a trial and error basis. The answer required for approval into the Blockchain needs to be lower or equal to the hash of the block, known as the ‘target hash’

A target hash is a number that the header of a hashed block must be lesser than or equal to for a new block to be created. A lower target is usually more difficult to compute and generate a block as miners have to continue testing different unique values known as nonce until a suitable result is produced. The miner that solves the riddle gets rewarded with mining the next block as well as receiving the transaction fees for their work.

7. Proof-of-Stake (PoS)

Proof-of-stake is similar to proof-of-work except preference of miners with more coins in their wallet along with how old those coins have been held there for. Essentially awarding the proof-of-work task to nodes that contain the most aged coins on the network to mine the next block.

PoS seeks to address the issue of the amount of power required to mine a block; as documented in 2015, it was estimated that one Bitcoin transaction required electricity that could power 1.57 American households per day. Instead of using high amounts of energy to solve a PoW puzzle, a PoS miner is limited to mining a percentage of transactions that is reflective of their ownership stake. For example, a miner who owns 3% of the Bitcoin available can in theory mine only 3% of the blocks.

8. Byzantine Fault Tolerance

The ‘Byzantine Generals’ Problem’ states that, no two computers on a decentralized network can entirely and irrefutably guarantee that they are displaying the same data. If the transmission network is unreliable, the computers cannot be sure the data communicated has arrived.

Byzantine Fault Tolerance is therefore a consensus protocol, ensuring two nodes communicate safely across a network, knowing that they are displaying the same data.

9. Smart Contracts

Blockchain-based smart contracts can be partially or fully executed or enforced without any human interaction. One of the main objectives of a smart contract is automated escrow, which the IMF believe smart contracts based on Blockchain technology could optimize the use of contracts in general and reduce moral hazards. The legal status for a Smart Contract is however unclear due to the lack of widespread use.

Blockchain implementations could enable the coding of contracts that will execute when specific conditions are met. A Blockchain smart contract would be enabled by extensible programming instructions that define and execute an agreement. For instance, Ethereum Solidity is an open-source Blockchain project that was built specifically to realize this possibility. by implementing a Turing-complete programming language capability virtual machine (EVM) to implement such contracts.

Available Types of Blockchain Technology

Currently, three types of Blockchain networks exist; Private, public and Consortium Blockchains.

1. Private Blockchains – These are permissioned networks that can only be joined after an invitation from network administrators. Participant and validator access is restricted, and can be considered a middle-ground for companies that are interested in the technology, but not comfortable with the level of control offered by public networks.

Companies will typically seek to incorporate Blockchain into their accounting and record-keeping procedures, without sacrificing autonomy and running the risk of exposing sensitive personal data to the public internet.

2. Public Blockchains – These type has absolutely no access restrictions, where anyone with an internet connection can send transactions data to the network, as well as become a validator. This means anyone with the required programming knowledge, can participate in the execution of a consensus protocol.

Such networks usually offer economic incentives for those who secure them and utilize some type of a Proof-of-Stake or Proof-of-Work algorithm. Some of the largest publicly known Blockchains include Bitcoin and Ethereum.

3. Consortium Blockchains – These can be described as semi-decentralized, in the sense that it is permissioned. Instead of a single organization controlling it, a number of organizations might each operate a node on such a network. The administrators of a consortium chain restrict users’ reading rights as they see fit, and only allow a limited set of trusted nodes to execute a consensus protocol.

Practical Applications of Blockchain Technology

As with most innovative technologies like Artificial Intelligence and Augmented Reality, Blockchain technology falls under the disruptive technology category, and can be used to create a permanent, public, transparent ledger system for compiling data on sales, storing rights data by authenticating copyright registration, and tracking digital use and payments to content creators, such as musicians and video production professionals.

Below are some world use examples of Blockchain technology;

1. In 2017, IBM partnered with ASCAP and PRS for Music to adopt Blockchain in music distribution.

2. Imogen Heap’s Mycelia service, which allows managers to use Blockchain to track high-value items moving through a supply chain, was launched in July 2016.

3. Kodak in 2018 announced plans to launch a digital token system for photographs and copyright recording.

4. Smart contracts used in the music industry now means, every time a DJ mix is played, the smart contracts attached to the dj mix instantly executes and pays the creative artist of the music.

5. With rising concerns about information and cybersecurity, an application has been suggested for securing the spectrum sharing for wireless networks.

6. The insurance industry is seeing a huge shake-up with the introduction of new distribution methods like peer-to-peer insurance, micro-insurance and parametric insurance following the adoption of Blockchain.

7. The sharing economy and IoT are also benefiting from Blockchain because they involve many collaborations of peers. The IOTA Project aims to extend the Blockchain framework to create a permissionless distributed ledger, that utilizes a novel invention called, a ‘Tangle’ at its core.

A handful of white papers on the research can be downloaded from their website. The Tangle is a new data structure based on a Directed Acyclic Graph (DAG). As such it has no Blocks, no Chain and also no Miners. This radical new architecture enables things in IOTA work quite differently compared to Blockchains and other Distributed Ledger Technologies.

To keep up with the evolving Machine Economy, it is estimated the number of connected devices that will be in use will reach 75 billion by 2025, with data transmission traffic from tiny sensors on roads and bridges, wearable electronics, mobile phones, electric driverless cars, flying cars and smart home appliances, accounting for more than a whopping 1.2 Zettabytes of IP traffic per year.

IOTA Project aims to develop the Tangle for use by the numerous Internet-of-Things devices, available and connected all over the world, with an incentive for owners to trade data and device processing resources while guaranteeing data security.

8. Online voting systems are another great application of Blockchain technology. Especially in developing countries where vote rigging is very prevalent, an incorruptible voting system built on the Blockchain would ensure credibility of entries, instil confidence in the citizens as well as investors and hopefully promote the culture of accepting majority consensus on internal government policies.

9. To increase interoperability, Blockchain is being used to develop information systems for medical records. In theory, the legacy disparate systems currently used in hospitals and medical laboratories can be replaced by Blockchains.

10. Blockchains facilitate creators to take ownership of digital assets such as games like Cryptokitties.

11. Data storage, publishing texts and identifying the origin of digital art using Blockchain are also in development.

12. Convergence of Blockchain and CyberSecurity initiative, by IBM aims to explore applications that help to re-imagine conventional approach mechanisms to managing cybersecurity challenges. In the light of a recent surge of system breaches suffered by huge data collection companies like Equifax, who are actually tasked with protecting sensitive personal data of citizens for use in credit rating, leveraging distributed ledger technologies to this domain will increase security and data integrity levels.

Personally, I would like to see a Blockchain system for domains where all workstations can be trusted to join and request resources from a specific domain, only if the workstations are authenticated and verified member node of that private Blockchain network.

Non-Cryptocurrency Blockchain Implementations

1. Land registration in developing countries can be a great use case for Blockchain technology, eliminating fraud associated with procurement of such assets. As stated by Emmanuel Noah, CEO of Ghanaian start-up BenBen,

Land is a financial resource. If people can prove they own it, they can borrow against it”.

Frameworks and trials are currently underway in Sweden Land Registry, to demonstrate the feasibility of speeding up land sales and legitimize ownership using Blockchain. Other governments like India’s Andhra Pradesh state, became the first to adopt Blockchain technology in government.

2. Steemit – A blogging and social networking platform uses Blockchain.

3. Bitnation- A decentralized borderless “voluntary nation” establishing a jurisdiction of contracts and rules, based on the Ethereum Protocol.

4. Tezos – Uses Blockchain for decentralized voting.

5. Counterparty – An open source financial platform for creating peer-to-peer financial applications on the Bitcoin Blockchain.

6. Hyperledger – A cross-industry collaborative effort from the Linux Foundation to support Blockchain-based distributed ledgers, with projects under initiatives including Hyperledger Burrow (By Monax) and Hyperledger Fabric (spearheaded by IBM).

7. Oracle – after joining the Hyperledger consortium now offers Blockchain Cloud Services, based on the Hyperledger Fabric.

8. ABN Amro – announced a project in real estate to facilitate the sharing and recording of real estate transactions, and develop logistics tools.

9. Microsoft Visual Studio – is making Ethereum Solidity programming language available to application developers.

10. Technical Research – In August 2016, a research team at the University of Munich published documents about how Blockchains may disrupt industries. They analyzed the venture capital funding that went into Blockchain ventures, and found $1.55 billion went into startups with an industry focus on finance and insurance, information and communication, and professional services.

The highest startup densities were found in the USA, UK and Canada.

Preparing to Program Blockchain Applications

It is a fair point to note at this stage that, in the next few decades, programming knowledge and skills will no longer be confined to the realms of software programmers, but transverse the entire IT industry with system engineers and administrators having to tool up on a handful of programming languages to perform their tasks.

Users who are up to date on disruptive technology trends will know by now that, JavaScript which is the most widely written programming language, will form the framework of a lot of Blockchain and Cryptocurrency networks.

If you are new to programming, a group of industrious developers at W3Schools.Com have made tons of learning materials available, covering over 30 languages including JavaScript, HTML, SQL, JSON, JQuery, AngularJS and AJAX among others to help you get started. You get the chance to practice on an intuitive platform, that displays the results of your code in the browser next to your code console.

Programming Blockchains themselves are beyond the scope of this article, but may be available at a later date when you sign up for updates on the blog. We can get to explore how the Genesis block is created and how data is parsed through the SHA256 encryption protocol, to generate the hash function that gets accepted in the Blockchain.

Microsoft have available an IDE called Visual Studio Code, which can be downloaded and used as an integrated development environment for JavaScript programming, with support for numerous other languages like Python, TypeScript, PHP, Azure, C++, C#, Docker and many more. 

                                            Final Thoughts

We hope this article helps demystify the structure and mechanism of this disruptive technology Blockchain, exploring how technologies already in existence were leveraged to create this digital, distributed ledger system and how you can get started on gaining the required programming skills to implement the networks.

A World Economic Forum reports from September 2015 predicted that, by 2025 almost 10% of global GDP would be stored on Blockchains technology.

Professors Marco Iansiti and Karim R. Lakhani from Harvard Business School, have said;

Blockchain is not a disruptive technology that undercuts the cost of an existing business model, but is a foundational technology that has the potential to create new foundations for our economic and social systems

They went on further to say “It will take decades for Blockchain to seep into our economic and social infrastructure”.

We would like to thank you for investing your time with us.

Credits to all Blockchain development teams at IBM Corp, Microsoft, Linux Foundation and Ethereum


Post a Comment