In the past year, investment funds and banks have invested up to $1.4 billion in blockchain technologies, and more is to come in the next years ($42 billion by 2022 according to Research and Markets).
Investment funds specializing in blockchains are popping up all over the world while leading companies as Barclays and IBM are betting that the blockchain will change quite everything. But why all the fuss about it? Is it just hype or reality?
This post is the first of a series exploring on a high-level blockchain technologies and their implications. If you ever asked yourself how blockchains work and why they are so important, read on.
But before ever approaching blockchains, we have to understand game theory and peer-to-peer networks. In this first article, we will review these concepts.
THE GAME THEORY
Game theory is the mathematical science studying cooperation and conflict among intelligent agents in settings called games, from which comes its name. Started as a mathematical curiosity, it easily showed its relevance in the social fields and helped to solve critical societal issues as crime deterrence, international conflicts and economic development, to name few.
One of the primary results of game theory is the discovery of games where rational agents would choose not to cooperate even when the most profitable course of action is to cooperate. These games are said non-cooperative games.
While traditional game theory starts from games with given payoffs to highlight the behavior of rational agents with known preferences, mechanism design does the opposite. Mechanism design is the field of game theory studying how to build incentives to achieve given ends in games where agents have private information.
In such games, rational agents have an incentive to cheat, so the primary end of mechanism design is to solve this problem, finding rules that incentivize agents to follow them truthfully. More technically, we can say that the mission of a mechanism designer is to fight non-cooperative behaviors and achieve incentive compatibility.
From auctions to voting, from crowdfunding to money-less resource allocation, mechanism design has been proven useful to avoid situations where private information is not revealed by agents to game the game [alt: to cheat the game].
At the very beginning, it was clear that the Blockchain technology could have been used to set and enforce the rules needed to achieve a wanted social goal. Multi-agent systems are the product of this line of research. Multi-agent systems are networks of intelligent agents interacting with each other through computers. The study of this systems often requires the use of game theory, optimization algorithms, and Bayesian statistics to ensure their specification meets the chosen goals.
Multi-agent systems can rely on some central authority, but they are more resilient when they do not have to. In the presence of a central authority, the network would have in it a single point of failure and fail when it fails. So for multi-agent systems to be highly available and tolerant to the fault of parts of the network, they have to be decentralized.
Peer-to-peer (p2p) networks, decentralized networks of computers called nodes, are immune to the faults of centralized systems and capable of recovering from the loss of entire partitions of their network. This feature is called partition fault tolerance. Tree properties make p2p systems partition fault tolerant: network nodes are functionally equal, so easy to substitute; nodes maintain communication with other nodes, replaying messages when needed; resources vital for the workings of the network are replicated among nodes and are easy to retrieve.
But most p2p networks have an important issue: coordinated malicious nodes can always attack the system and succeed. In this event, what a p2p network can do better than a centralized one is fast recovering. In the literature, this fault is called Byzantine fault, from the Byzantine Generals’ Problem, while the capacity of a network to avoid this failure is called Byzantine fault tolerance.
In the Byzantine Generals’ Problem, a group of Byzantine generals has to agree on assaulting a city or retreating from it. Generals dispose their armies around the city, far from each other. The generals may have different preferences, and some of them may be intentioned to betray the other generals for their profit. Traitors may even cooperate to achieve their end. Nonetheless, the Byzantine army has to reach its end to find an agreement and avoid to fail because of the lack of it. In this case, the risk of non-cooperative behaviors may require a mechanism design approach.
From the publication of Practical Byzantine Fault Tolerance (PBFT) in 1999, non-game theoretic solutions abound in the case of closed sets of known nodes, while there are still none regarding open sets of anonymous nodes.
In the next post, we will finally start to learn what a blockchain has to do with all we said. In particular, we will see why the Nakamoto consensus, the mechanism governing Bitcoin and similar blockchains, is the first game theoretic incentive compatible solution to the Byzantine Generals Problem for open sets of anonymous nodes and how it opens up to new applications capable of solving many economic and societal issues.
To become part of our tech community and get all news on innovation, technology and much more, subscribe to our newsletter!