What is a Blockchain?
When Satoshi Nakamoto sent an email to a cryptography mailing list for an electronic cash system in 2008, he detailed the features of a network that was designed to function on a peer-to-peer basis. Since the emergence of Nakamoto’s Bitcoin, the concept of the blockchain has made a global name for itself, and it is being developed for various applications across many industries.
In his paper, “Bitcoin: A Peer-to-Peer Electronic Cash System,” he introduced the world’s first digital currency, which he called Bitcoin. The pseudonymous inventor had built upon existing ideas such as HashCash, Bit Gold, and B-Money, to devise a number of innovative and new technological advancements that created the foundation upon which Bitcoin was built.
Arguably, the most revolutionary technological advancement described in the Bitcoin whitepaper is the blockchain. Satoshi proposed a:
“…solution to the double spend problem through a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power.”
This was the birth of the blockchain.
How Does a Blockchain Work?
In terms of the original form of the technology, as witnessed in Nakamoto’s Bitcoin, a blockchain is a publicly available ledger which is continuously growing as members of its network add more data to it. A set of data added to the ledger is called a block. As the ledger grows, more blocks are added to it, hence the name blockchain.
In the Bitcoin network, the data that is contained in each block consists of a timestamp, transaction data, and a cryptographic hash. The transaction data typically includes an output and input connected to the address in question. This data is not encrypted, therefore it is possible to view this information on a blockchain explorer. A blockchain explorer displays this information in human-readable format. Different blockchains may have different variables indicated in their transaction data. Variables are typically defined in the protocol that defines the functioning of the ledger.
Cryptographic hashes refer to a mathematical function through which it is possible to identify a certain set of data. This type of function is able to compress a large set of data into a smaller number, usually one with a fixed set of integers. It is important to note that cryptographic hashes are a ‘one-way’ function. This means the original data cannot be deciphered from the hash itself. Within a blockchain, hashes serve as identifiers of, as well as links between, two distinct data sets. Examples of hash functions include SHA1 and SHA256.
In order to access the ledger, one must download the client relevant to the blockchain in question. The only requirement is access to the Internet. A computer that is connected to a ledger is called a node. A full client refers to one which downloaded and owns the complete data of a blockchain and is participating in the network as a validator by sharing this data and confirming new transactions.
Main Features of a Blockchain
One of the most celebrated features of blockchains is their decentralization. Nodes are generally operated all over the world. Blockchains are also normally publicly available, which means that anyone can participate in the network. Decentralization is important in a number of ways.
Due to the fact that everyone in the network owns the data, it is virtually impossible to alter the data without the whole network noticing and refuting the discrepancy. This protects the integrity of the information contained in the ledger. Through this mechanism, the ledger is also able to solve the double spend problem.
Moreover, decentralization ensures that there is no single point of failure. Traditional databases usually have their data stored in servers located in one location. This provides an avenue of failure because if one server is compromised, then the whole network will likely be affected. However, it is not possible to compromise a blockchain ledger in this way due to the sheer number of nodes connected to the network.
Additionally, blockchains are immutable. That means once a transaction is accepted into a data set which is added to the ledger as a block, it is very difficult–if not impossible–to change any variable contained therein. This is facilitated through the algorithm through which nodes add new data to the ledger. In the case of the Bitcoin network, this is the proof-of-work protocol.
In order to add new blocks to a blockchain, nodes must participate in the activity, which requires them to use the processing power contained in their computers. This is known as the consensus mechanism. Running a consensus mechanism incurs a cost on the user. This means that for an attacker to attempt to change or otherwise amend any data on the ledger, he or she would require an immense amount of energy which is implausible to acquire, especially in the case of a large network.
Moreover, an attacker would have to gain access to over 51 percent of the network in order to launch an attack of this kind. While this has happened in a number of smaller networks, it is yet to happen with larger networks like Bitcoin. The risk of such an attack falls as more nodes join a network, thus it is a self-limiting challenge.
What are Forks?
While cryptography helps the network link all blocks in the blockchain and promotes immutability, it is possible for nodes within a network to split a chain in two. This happens, for example, when the majority of the participants in a network agree to upgrade to a new code. This may be in response to a system upgrade (as was witnessed with SegWit in Bitcoin) or as a result of a security issue (as was seen in the Ethereum network after the DAO hack).
The two types of forks are hard forks and soft forks. Hard forks lead to the creation of a new blockchain with its own native cryptographic asset, while a soft fork simply changes some part of the underlying software but continues with the original blockchain.
For instance, as a response to the DAO hack, the Ethereum community implemented a hard fork resulting in two different digital currencies, ethereum classic (ETC) and ether (ETH), running on two different blockchains. Hard forks are also a way through which a number of Bitcoins have come into existence. For instance, litecoin (LTC) is a fork of Bitcoin while bitcoin private (BTCP) is a result of a co-fork between Bitcoin and Zclassic.
Blockchain Versus Distributed Ledgers
In the early days of cryptocurrencies, blockchain technology was also regularly referred to as distributed ledger technology. However, it is important to make a distinction between the two. Blockchains are a type of decentralized ledger. Decentralized ledgers refer to a larger class of database.
This dichotomy has come about as a result of the creation of permissioned ledgers. These are ledgers which are neither publicly available or viewable. There are two types of permissioned ledgers: federated/consortium ledgers and private blockchains. Federated databases are controlled by a group of people or corporations, while a private ledger is developed by a single entity. Within permissioned ledgers, only certain entities can view, amend, and participate in the network.
These ledgers are typically seen in industries which are keen to utilize the features of blockchain technology but still need to have control over the data contained in their databases. These include the financial sector, governments, and the supply chain. This lack of decentralization has spurred an ongoing debate as to whether these private ledgers can really be referred to as blockchains. Many believe there should be a distinction between these ledgers, hence the divergence of the terms.
In the original iteration of blockchain technology–as seen in Bitcoin and early altcoins–blockchain ledgers were used as a way to transfer and store value. However, following further research and innovation, a new class of blockchains emerged that could be used to record data of other kinds.
This new class of blockchain was popularized following the creation of the Ethereum network by programmer Vitalik Buterin in 2015. Ethereum is a blockchain upon which users can create smart contracts and decentralized applications, which opened a door to a whole new set of possible applications for blockchain technology beyond purely payments. This is what is referred to as blockchain 2.0, and these are the blockchain networks that commercial industries are seeking to use to increase efficiency and reduce operational costs for their respective businesses.