The Consensus: trust and blockchain technology
6 June 2019 | Written by Giulio Siciliano
After delving into the "Distributed Ledgers", we focus on a new component that helps to define Blockchain
It is possible to state that consensus is one of the fundamental concepts underlying each blockchain. Making a gross simplification, consensus means that all the participants in the blockchain network have confidence (just to recall once again the key concept of trust at the base of the blockchain) that their records are both accurate and consistent with each other.
As previously stated, the fact that there must necessarily be a multiplicity of registers to be reconciled between them – and that all these were controlled by a single agent – has been seen, at least until now, as a necessary evil. With the blockchain, perhaps, we will be able to abandon this complexity.
A concept behind the blockchain. This is also a concept described in the original script by the pseudonym Satoshi Nakamoto: at the base of the Bitcoin architecture, there is, indeed, a set of software protocols which are often referred to as Nakamoto Consensus.
Let’s take an example: without an effective method to ensure consistency between the various registers, any agent could spend the same amount of Bitcoins several times. This would generate many problems, first the fact that, instantly, all the participants of the network would lose trust in the system. Nakamoto has made sure that his system was able to withstand the impact of such problems through cryptography (which allows to unambiguously identify all the transactions).
Furthermore, systems based on consensus replace trust between contractors with trust in the network of the same. Even if some of the system’s agents prove to be untrustworthy, the system will hold up until the majority of them continue to have virtuous behaviour. These agents – at least in reference to the Bitcoin system – are called miners.
The whole system designed by Nakamoto could be summarized in the scheme of a prize game: the different miners compete with each other to validate groups of transactions, called “blocks”. The first one that succeeds in validating them is rewarded with an amount x of Bitcoin and can hook the new block to the previous ones.
The tools for maintaining the majority. In digital systems based on the concept of majority, the maintenance of the latter represents, paradoxically, the greatest source of concern and vulnerability of the entire system. It could indeed happen that an agent intending to tamper with the functioning of the blockchain creates a number of false accounts high enough to impose his own consensus on the whole system, even though the majority of the real agents of the network are honest. And, as in all complex structures, there is the very high probability that one or more agents of the system will adopt such behaviours if they are easy to implement and, in any case, profitable. This eventuality is called Sybil Attack.
Proof of Work. Nakamoto’s solution to this problem is called Proof of Work. Miners can “hook” a block to the chain only after solving puzzles based on the cryptographic hash function. The solution to the Sybil Attack problem is precisely in this: solving these puzzles requires an increasing computational power, to be equipped with implies costs which are sufficiently high to discourage the realization of one of these attacks. Furthermore, the difficulty of the puzzles to be solved increases proportionally to the increase in the overall computing power of the entire blockchain system.
In other words, through the proof of work system, the creation of multiple fake accounts has been made uneconomical, as the benefits deriving from wanting to alter the system lead to earnings lower than the expense necessary for alteration.
After the resolution of the enigma, a cryptographic signature containing the hash code of the previous block is affixed to the block that has been validated, to create, in fact, a chain. Although it is theoretically possible, carrying out an attack by controlling 51% of the computing power of the entire network is an extremely remote possibility.
At last, it should be emphasized that proof of work is not the only possible tool for verifying blockchains. Another widely used system is, for example, the Proof of Stake, through which network agents, if they decide to cheat, they would risk losing the currency in their possession.
There are other tools for maintaining the consensus, but it is not possible here to dwell on the precise analysis of each of these. In view of the next articles, it should be noted that, from a legal point of view, it is precisely on the consensus that we are experiencing some of the major difficulties in interpreting this technology.
After talking about “Distributed Ledgers” and consensus, the next article will focus on smart contracts: we will try to define them and understand how this function could revolutionize the world of public and private contracts.