Blockchain technology
General Introduction
Why is blockchain technology revolutionary? Because it allows the simultaneous use of technologies which, if they already existed, had never before been combined. This innovation is the brainchild of Satoshi Nakamoto. Faced with the scale of the 2008 crisis, he decided to free himself from the traditional banking system, which he did not consider trustworthy. This is how in 2009 an innovation was born that we will know little about, Bitcoin.
Blockchain technology allows two (or more) users to transmit data to each other and store it transparently and securely, while removing the need for a trusted intermediary or controlling body. In the case of Bitcoin, it is about being able to carry out financial transactions without the need to use the services of a bank. The Bitcoin blockchain is made up of blocks of data grouping together all the transactions carried out between users. Each of these blocks is then verified in a purely mathematical way (via an algorithm) and then added after the previous block. Any new block of data is therefore necessarily consistent with all the data contained in the previous blocks of the blockchain. A blockchain therefore irreversibly records the history of all the exchanges carried out between its users since its creation within a single register.
Fundamental technologies
The operation of the blockchain involves a number of fundamental technologies.
Distribution of registers
By relying on distributed registers (storage spaces distributed over different geographical locations, each of which has an identical copy of the register), the blockchain ensures better security for data storage — data stored at a single point being more vulnerable. This is referred to as a “decentralized” architecture of the system.
Cryptography
Cryptography technology makes it possible to secure the exchange of data between different parties by making it unreadable for any third party during the transfer, thanks to a unique decryption key. The blockchain uses asymmetric cryptography, i.e. the combined use of a public key and a private key, which helps to strengthen data security.
Consensus mechanism
The consensus mechanism (set of pre-established rules allowing the addition and modification of data within the blockchain) implements a “decentralized” system policy. Such a policy ensures that the administration of the data does not depend on a single individual (a CEO for example) or on a group of individuals. A key element of blockchain technology, this mechanism is also the subject of much debate within the community. Currently, several types of consensus mechanisms are used. Each of them seeks a permanent balance between three axes: security (computer power allocated to the execution of the consensus mechanism), scalability (number of transactions carried out per second by the system) and decentralization (dispersion of the actors responsible of the consensus resolution).
The "validators" (individuals with specialized computer equipment) occupy a central role in the execution of the mechanism. The installation of dedicated software allows them to allocate the computing power of their hardware to the analysis of the incoming data in relation to the already existing data (compliance of the new block with the chain of blocks). These do not intervene manually, everything is done automatically (pure mathematics). Individuals are paid when they have successfully validated a new block of data.
The consensus mechanism, essential for securing the network, makes it possible to eliminate intermediaries. By automating the entry, processing and securing of data, it drastically reduces costs in a number of areas: content creation, inventory management, energy distribution, means of payment, management/execution of contracts, interactions between connected objects, personal identity management, vote tracking, real estate ownership, etc.
Constitution
A blockchain is a decentralized, incorruptible and transparent database. The decentralization and security of this database are ensured by the association of a protocol and a consensus mechanism.
The protocol is the architecture of the system, the general rules of the blockchain. The structure of this protocol depends on the function allocated to the blockchain in question (payment between individuals, execution of smart contracts, creation of decentralized applications, etc.). It will define the rules of interaction between the nodes of the network (the blockchain engine computers), the possible programming languages, the private or public nature of the blockchain, etc.
Consensus mechanisms
There are several forms of consensus mechanism. The best known are proof of work, proof of stake, delegated proof of stake and proof of authority. These different mechanisms all aim to set up a verification system that is resistant to attacks that would attempt to corrupt the data (attack 51%, DoS, Replay, Sybil). They set up, each in their own way, rules intended to deter potential attackers. Their common goal is to make the cost of the attack greater than the reward that would flow from it if it turned out to be a success.
Nodes
Nodes are central players in the organization of a blockchain; they are responsible for accomplishing the consensus mechanism. There are several types of node with different attributions. Some nodes have the role of holding a full copy of the blockchain (full node), others a partial copy (fast node) and some only a fraction of it, depending on various needs. Those are the backup nodes. It is another type of node that interests us here: that of validators (the computers used to add new blocks to the blockchain; miners, forgers, etc.), also called “validator node”. Depending on the type of node desired, the same investment will not be required. Thus, to make a copy of the blockchain, free space on a hard disk and a good internet connection are sufficient, while for the addition of new blocks specific equipment may be necessary (ASICS).
Good faith of actors
Whatever the consensus mechanism used, it is always necessary for a validating node to prove its good faith. This good faith can be proven in several ways, a substantial economic investment or the personal identification of the node makers are the most common methods.
Regarding the proof of work, the competitive system put in place involves the purchase of specialized computer equipment. A substantial investment is indeed necessary to try to mine a block. An individual who would like to carry out a 51% attack (gather more than 51% of the computing power allocated to the resolution of the mechanism, in order to take control of a blockchain) would be forced to commit colossal sums to finance the computer equipment and the necessary electricity, without being assured of any success whatsoever.
Proof of stake requires the purchase of a certain amount of tokens of the targeted cryptocurrency to forge a block. For the purpose of conducting a 51% attack, it is therefore necessary to buy more than 51% of the total stock of tokens. Apart from the non-negligible cost that this represents, this attack would also cause the tokens to lose a large part of their value, thus greatly reducing its positive impact for the attacker.
Finally, the proof of authority relies on the clear identification of the validators. It thus implies the duty to provide certain information and to fulfill a certain number of characteristics. As a result, any attack would see its author quickly identified and prosecuted.
The proper execution of these mechanisms relies on the decentralization of the nodes. It is imperative that system architecture and policy be decentralized. We are still in the infancy of this technology and still far from having found the perfect consensus mechanism, each of which is currently more or less suitable for certain uses.