The blockchain is a technology based on shared, decentralized ledgers. A ledger is a list of transactions that are copied and saved on several different computers, rather than centralized on a single server. Each transaction (or group of transactions within a given time period) is called a block; each block is time- and date-stamped and linked to the previous block.
This technology was developed in association with the first cryptocurrency, Bitcoin, in 2008. The idea of Bitcoin was to create a digital exchange of values between any two entities without requiring the involvement of a trusted third party. This required a secure, distributed database whose control would not be relinquished to an administrator or central authority.
In addition to a database, the blockchain relies on a protocol and rules to manage the creation and validation of new entries in the ledger (the blocks), and on a system to disseminate new entries to every other part of the network.
While blockchain technology was originally developed to keep track of financial transactions, it has since evolved and found new applications. All applications that run on blockchain technology have the following things in common:
- They are usually dedicated to registering exchanges and transactions in the broadest sense of the word.
- They rely on the distributed ledger concept, concretely a database duplicated on several different servers.
- They usually work on a peer-to-peer network.
- Data is updated almost simultaneously on all servers.
- The integrity of the exchanged data and identification of participants are guaranteed by the use of cryptography and digital signatures.
- The system is based on consensus; registered and validated transactions cannot be modified.
All actors in the network always have their own copy of the latest version of the blockchain (ledger). When transactions are added, other actors in the network (nodes) check and assess the proposed transaction. If most nodes accept the transaction as valid, it is considered approved and a new block is added to the chain.
The ledger is a file that contains structured data. The blocks of a ledger are like the pages of a book. Each page contains some text with information such as the page number, title of the book, and/or title of the chapter. The same can be said of the blocks, which contain descriptions of the transactions and information on each block. Information on the blocks themselves, which can be found in a header, is called metadata and includes, among other things, technical characteristics, a digital fingerprint of the content of the block (hash, or checksum) and a reference to the previous block, which acts as pagination.
Each block is identified not by order number but by hash value, which is a function of the contents of the block. When blocks refer to the previous block, they do so using their hash value. These values make it possible to verify the consistency and integrity of the chain. Should a block be modified, its hash value would change and the reference to it in the following block would become void, breaking the chain. The only way to circumvent this problem would be to rewrite every single downstream block.
Bitcoin’s blockchain is fully decentralized. Its ledger is public and shared. It contains each and every transaction entered since the creation of the currency: in July 2010, it totalled 1 MB of data; a year later, it topped 200 MB. As at December 11, 2018, the Bitcoin ledger weighed a formidable 194,392 MB, or 194.4 GB [source : blockchain.info].
Network and Protocol
Networks can be constituted by any person owning a computer connected to the Net (as in Bitcoin) or by any group of known and accredited participants. Each computer is called a node, and each node should have a copy of the ledger. This redundancy makes the network resilient to failures: should a node break down, the ledger is not lost and the chain can continue growing. The protocol defines the technical communication system between nodes.
The consensus mechanism is a set of rules used by the network to check and validate each transaction and block of the chain. Transactions approved by a node are grouped in blocks and distributed to every other node, who are invited to check them. No central institution validates transactions; instead, several participants check each transaction. This is called distributed consensus.
These mechanisms can vary, their complexity depending on the type of network (open or closed), and the level of trust that is granted to each node. This can be assessed through “proof of work” and “proof of participation”, which we will not get into here.
Bitcoin’s mechanisms and protocols are particularly complex, since the system is completely open (i.e. anyone can download the application and become a node on the network) and provides participants with a pseudonym. Block chain systems can be made simpler by allowing a degree of centralization and admitting only known and trusted participants.