Blockchain technology is undoubtedly one of the most popular emerging technologies in the world today.
While the concept might seem novel to some, the truth is that it is a combination of some well-known technological advancements. What makes blockchains unique is the way in which these principal technologies are made to function seamlessly with one another.
This robust functioning framework is what gives blockchains their appeal and enable them to find almost limitless applicability. These principal technologies upon which the blockchain is built are three in number and they are:
Network Servicing Protocol
In order to gain some level of understanding of the blockchain technology as a whole, the basics of these three principal technologies as well as how they function in the blockchain must be understood.
Cryptographic keys: Since time immemorial, the essence of encryption and cryptographic technology was to provide security. There has always been a need to ensure the fidelity of information when it is being transferred from one point to another.
The emergence of the internet and the associated massive advancements in information technology have made data encryption to be of paramount importance. With communication happening on a per second basis between millions of nodes on the global information highway, there has arisen the need to ensure the fidelity of data streams.
Remember that advancements in a positive light often always encourage the development of not so savory technology designed to undermine it. In this case, reference is being made to hacking, identity thefts and other forms of data manipulation.
The field of cryptography and data encryption has grown in leaps and bounds over the last few centuries with the development of advanced cryptographic methods.
The gold standard today in the world of cryptography and data encryption technology is the Cryptographic Key protocol. A cryptographic key is a data string that is used by a cryptographic algorithm to “decrypt” (unlock) a cipher text and display it as plain text or to “encrypt” (lock) a plain text and display it as a cipher text.
The function of the key depends on what end of the information transfer spectrum it is being used in, i.e. sender or receiver. The sender wishes for the information to remain encrypted and for only the receiver to be able to decrypt it.
Think of these keys like regular keys that work in pairs, the sender has one and the receiver has another one. Regular keys can lock or unlock a door, for example, and only the holders of these keys can carry out the locking and unlocking process.
Now that we have a basic understanding of cryptographic keys, let us examine how they work in a blockchain environment. Remember that in a blockchain, there is no central authenticating body, no central server, just a network of nodes with no hierarchy. This, therefore, creates a situation where each transacting node is responsible for securing their digital identities.
This is achieved by means of a digital signature. A digital signature is a combination of a public key and a private key. Think of this signature like a normal signature, unique to each individual, in this case, each computing node in the blockchain network.
When a transaction is to be carried out, these two keys are used to encrypt and decrypt the data file containing the transaction details. The combination of public key and private key cryptography creates a digital identity that makes control over proof of ownership easier to accomplish in a decentralized blockchain network.
However, control over proof of ownership isn’t enough to create a secure dig- ital framework. Alone, cryptographic keys make it easy to secure and authenticate digital identities. It does not, however, offer up a framework for validating the transactions carried out by these authenticated digital identities.
The function of central servers in a centralized network is both authenticating identities and authorizing transactions. It, therefore, means that an additional network framework is required to make the blockchains run efficiently and this brings us to the second principal technology: P2P networks.
P2P networks: Blockchains utilize a decentralized computing network, unlike a centralized network that is in use in most of the mainstream internet.
This decentralized (or distributed network) is made of up of many computing nodes and there is no hierarchy in the system, i.e. all nodes are essentially equal. Each node is essentially a peer of another node, hence the name Peer-to-Peer (P2P) network.
All known blockchains, both public and private make use of P2P networks with the only difference being in the permission granted to the nodes in the network. This use of P2P networks enable blockchains, especially the public ones to grow exponentially, thus making it easy for new nodes to join the network.
It also enhances the anonymity of the participants in the network. In the early days in the development of the P2P network architecture, all nodes basically carried out the same functions.
This meant that a portion of the resources of each node was made available for other nodes to use without any central server in charge of coordinating the activities.
These days, P2P networks have evolved from this model to one in which the peers do not necessarily have to carry out the same functions. This has enabled the creation of versatile multifunctional P2P networks capable of finding applications in diverse areas of human interests.
This singular advancement in the P2P network has expanded the applicability of P2P networks from the basic home/corporate networks and file sharing platforms of the past to more robust networks that can handle advanced functions like the ones carried out in a blockchain network.
The blockchain can be thought of as being a modification of the internet, or the internet as it was originally conceived. There are many computing nodes spread across the globe that make up the complete internet architecture and these nodes do not all carry out the same function.
Collaborative P2P networks that have nodes with diverse functions and capabilities make it possible to form blockchains where each node or group of nodes can bring in diverse unique capabilities and resources to improve the robust functionality of the blockchain network.
More advanced tasks such as the validation of transactions can, therefore, be carried out by these nodes in the blockchain network.
In a blockchain, there are different types of nodes that carry out various functions all of which contribute to the overall servicing and maintenance of the network without the need for a central server.
By being built on a P2P network, blockchains can achieve trustless validation of transactions by means of nodes dedicated to validating the transactions initiated by nodes within the network.
Network Servicing Protocol: The cryptographic keys and P2P networks provide the framework for nodes in the blockchain network to authenticate and validate transactions.
With cryptographic keys, users can exchange value on the blockchain, while the P2P network makes it easier to validate the ability of these users to exchange value and without the need for a central server. The next question is how do you create an incentive for the maintenance of the network?
It is all well and good to have people contributing computing power to form a network, but how do you introduce an economic value to this shared network. Remember that these computing nodes run on electricity which means that resources are being spent just by participating in the network.
Unless you are a computer hobbyist, you might not see the need in joining a blockchain and even if you did, you might not want to contribute to its functioning, especially in carrying out the validation of transactions if there is no reward for such activity.
The reason for this is simple, as these blockchains increase in size, the amount of computing power needed to validate transactions increases exponentially and this means more consumption of electricity.
Blockchains solve this problem by introducing a reward-based system for computing nodes that offer their computing power in servicing the network by acting as transaction validators. This is called mining on most blockchains and it is what creates transaction blocks which are added to the blockchain periodically.
Blockchain technology allows for the creation of customized protocols that can be programmed to carry out any function. This means that while many blockchain types are based upon the core blockchain technology, there are numerous differences that exist between them.
These differences express themselves in areas such as the transaction validation technique, maximum transaction block size, and time-lag in verifying transactions just to mention a few.
There are, however, some features that are common to all blockchains. These are the key features that without which a network protocol cannot be called a blockchain. These features that are common to all blockchain are as follows:
The distributed ledger that is shared among the participants of the blockchain network is theoretically immutable. Simply put, this means the transaction records in the blockchain cannot be altered once they have been validated and added to the blockchain.
The reason for this is simple; the distributed ledger is always in a state of perpetual forward momentum, with transactions being periodically validated and added to the blockchain with the subsequent updates to the ledger for every transaction block added.
Anyone wishing to alter the ledger would have to move faster than the entire blockchain and this is theoretically impossible as the blockchain is supported by the immense hashing power of the constituent computing nodes. Even with a 51% control of the hashing power in a blockchain, there is still a limit to the extent to which past records can be altered.
The further down the blockchain you go, the more expensive and complex the process needed to alter those transactions become. In a centralized system, the ledger is held by a central server and all that is required to alter data is to attack the central server.
In a blockchain, there is no central server and thus, no single point of entry for malicious attacks that aim to compromise the fidelity of the ledger. Any change in the ledger of a blockchain requires a majority consensus among the nodes in the blockchain.
There have been cases where the participants in a blockchain have been unable to come to a consensus about alterations made to the blockchain which then resulted in hard forks. The case of the Ethereum hard fork that led to the creation of two distinct Ethereum blockchains comes to mind.
As the size of the blockchain network expands, its immutability becomes more enhanced. Even in the case of the Ethereum hard fork, the old transactions are still the same in both blockchains. Not even a hard fork could alter the old transactions.
This immutability of the blockchain gives it the ability to provide a framework for the provenance of assets. This means that the complete history of an asset on the blockchain can be known at any time.
2. Customized Protocols
Blockchains, by design, create a framework whereby programmable protocols can be inserted into the blockchain architecture. While there is a basic core function for every blockchain, developers who understand the source code can write programs/applications that can be built on top of the core function to expand the functionality of the blockchain.
These programmable protocols range from simple “if functions” to more complex programs called “smart contracts”. The ability to insert these programmable protocols enhances the automation of the blockchain architecture.
This, in turn, creates benefits like faster transaction speeds, the creation of an intuitive blockchain-based application, and increased applicability of the blockchain among others.
While you may think the Ethereum blockchain was the first blockchain to introduce the smart contract protocol, the truth is that Bitcoin has the ability to create smart contracts.
The only difference is that a lot of protocol application layering is required to create smart contracts on the Bitcoin blockchain, whereas in the Ethereum blockchain, this capability is embedded directly into the core blockchain architecture.
3. Transaction Linkage
In all blockchains, every transaction record is linked to a previous transaction along the chain. This is what gives blockchain their names as they are quite literally blocks of transactions linked one to another along a chain all the way up to the first transaction in the chain.
This first transaction is called the “Genesis Block”. Any node running the full client of the blockchain can examine all the transaction blocks if they so wish to do so. It is possible to retrace and reconstruct the full history of every transaction block and the assets used in the transaction.
The progression common to most blockchains is a linear progression where each transaction block has a child-parent relationship with either the preceding or succeeding block. For example, transaction block 10 has a child relationship with block 9 (preceding block) and a parent relationship with block 11 (succeeding block).
Blockchains operate on the principle of party identity abstraction which involves security by obscurity. What this means is that the identity of individual participants in the blockchain is not revealed.
The only identifying information available on the blockchain is the blockchain address of participants. In order to carry out transactions, cryptographic keys are used to decrypt and encrypt the transaction inputs and outputs respectively.