What Are Blockchains? Collaboration, Forks and Peer-to-Peer
Part 2 of 12 — Blockchain: Decentralization of Money, Power and the State Originally written as a History BA thesis, academic year 2021–2022. Published online August 2026. Series index → · References & bibliography →
What are blockchains
An attempt will now be made to describe what blockchains are, what they look like on a technical level, and what they allow you to do.An attempt will be made to approach the topic from a human perspective, trying to put everything around them into context. It will be necessary to use a couple of technical terms and mention how the Internet currently works.
There are mainly two types of paradigms in the current landscape: the first, hierarchical type, has been widely used and is called client-server; the second, on the other hand, is peer-to-peer (P2P) and has the quality, due to the absence of hierarchy, of being incensurable. Two different worlds, one centralized and one decentralized, can arise from these two paradigms: the former serving authority, the latter serving society.
Digital collaboration
Information technology enables collaboration, in the performance of certain tasks, that could never have been conceived of before. It will have happened to several people to write simultaneously on the same shared sheet of paper, being able to do it literally with four or six hands, increasing productivity so much, without detracting from the quality; another classic example of multi-handed collaboration is Wikipedia. For writing the source code of which a program is composed, a very similar method is used, allowing hundreds of programmers, if not thousands or more, to collaborate on the same project. There are no special requirements, simply the user who identifies a 'bug' (logical or programming error), or who wants to add new features to an existing program, corrects or integrates a part and then reports (with a click) his or her additions to the managers of that project, who will decide whether or not to add those changes. The process described here, which may perhaps seem cumbersome, is actually handled automatically by a protocol, called GIT. Through this protocol, it is possible to download software to one's own computer or upload software that we have modified to a specially defined virtual "place." The source code, in order to be possibly editable, embeddable, etc. by strangers, must be openly searchable, when this happens it means the code is open source. In contrast to the concept of open source there is closed source. Let's take an example: Microsoft produces the Microsoft Office package which includes the very famous Word, Excel, Outlook, etc. To make this product programmers have written the source code, but the source code is not released on the Internet; it is a bit like going to a restaurant where you can eat very good food, but, often times, you cannot know what you are actually eating or what the recipe is. No one outside Microsoft developers can contribute to Microsoft Office programming or check the code for errors, bugs, or malicious parts (perhaps stealing data from users). As alternatives to Microsoft's suites we can mention LibreOffice1 and OpenOffice2 : The source code of both is free and easily available online. Both products, precisely because they are open source, are also free.
The site where the code for the two open-source programs is saved is github.com: it is the most widely used in the world for what concerns open-source software and was, paradoxically, acquired by the pound by Microsoft a few years ago. Reviewing the history of these two pieces of software is not very interesting for the purposes of this reflection, except to note how LibreOffice is nothing more than a fork of OpenOffice.
What does fork mean?
Back in 2002 programmers released the first version of OpenOffice, which was supported by a large community. In 2010 some programmers, instead of contributing to updating and improving OpenOffice, decided to fork (i.e., create a copy of the source code, and on this 'graft' the improvements they developed). The reasons for not contributing to something already formed and wanting to work on their own fork can be many, ranging from the desire to completely transform a product to possible conflicts between human beings. The concept of a fork is very interesting and will be addressed again and again later, because it makes possible what would be impossible in reality: this is because in computing it is possible to duplicate things. When an online movie is streamed, or downloaded to the computer, the original copy is not removed, but another one is created. Paradoxically, if it were feasible to apply this technique to historical advents, if the USSR had been a computer project, it would have been possible to fork in Lenin's death and see Stalin on one side and Trosky on the other. If someone would be interested in making a fork of LibreOffice they could safely do so, just as one is free to put one's hand on the Divine Comedy again and republish it under a different name (willingly even for a fee).
Peer-to-peer relationships
Most of the applications that are used on the Internet are centralized: almost all people use social networks, but the provider of some of the most widely used social networks is one individual: it follows that hundreds of millions of people are dependent on this individual, his ideas and his moods. There is also the possibility, as has happened, of censoring and blocking political power. The same happens with banks: millions of people are customers of a bank, which is run, at the top, by very few people. Of course, in order to block an account, the will of the bank manager is not enough; it requires a special order from the authorities. Donald Trump's ban from Twitter and Facebook has made many people, including those on opposite sides of the political spectrum, reflect on the immense power gained by those in control of social networks. The latter are private platforms, which have also begun to enter our daily lives because of political and governance issues, so much so that they required that there be some sort of public regulation. Even with regard to user privacy, restrictions are often invoked that can be imposed on the web giants. Edward
Snowden publicly demonstrated how the U.S. was implementing spying programs against its own citizens and foreign states, showing how the institutions themselves are profiting from data theft.3 In the case of regulations that protect privacy we talk about privacy by policy. Unfortunately, there is no way of knowing what data is actually being collected and whether there is compliance with regulations; even in the event that we delete our profile from a social network, there is no way of knowing what is happening behind the scenes: is our data really being deleted or is it being kept there in case we need it in the future? Mass surveillance is now very, too, cheap not to apply. This is where the concept of privacy by design comes in, that is, a computer application that is made in such a way that it cannot be spied on or censored. In computing, the imbalance of power and resources among human beings is so obvious that it is also easier to notice and, eventually, to remedy: it is precisely in order to escape central control that, for example, prevented the sharing of copyrighted files, that so many people have turned to the philosophy of peer-to-peer systems. They in fact see the presence of multiple 'peers' who, with equal power, exchange information freely and directly, without the need for any intermediary. This type of paradigm is also used for some messaging applications, so that communications cannot be intercepted in any way. On the other hand, the most widely used systems at the moment, such as the social networks already mentioned, or the various chats such as Whatsapp, Telegram, etc., are completely centralized, meaning that messages go through their respective servers. They offer, on paper, end-to-end encryption, meaning that data is encrypted before it is sent to the server. Experience, and the scandals of recent years, should teach us not to trust what we cannot verify with our own eyes. An application with end-to-end encryption, but whose managers are prone to the demands of the political system, is likely to have backdoors (a service entrance, basically a 'flaw' created specifically by the programmers) to be able to read its users' messages. Perhaps the most revolutionary application of peer-to-peer systems is precisely that of blockchain, which enables the building of a decentralized substrate on which to erect more: not only a free exchange of files, but also of expertise, value, and, to top it all off, organization and political decision-making.
Client-server and peer-to-peer paradigms
The devices that are used most every day, from smartphones to desktop computers, draw data from a third-party source and display it on the screen. When you browse www.nasa.com, you are connecting to NASA's server, which will send the information on its web pages.
In this picture it may appear that there is an actual difference between the client (the tablet) and the server, but do not be misled because this is not the case, at least on a material level. As in the vast world there are billions of human beings, physically similar to each other, the biggest differences are in the assignment of specific roles. Just as the king is nothing more than a person with a crown on his head, the server is nothing more than an always-on computer. Any laptop, smartphone, old computer, etc., if equipped with the appropriate software, can become a server. In server farms (the literal translation is 'server farms'), that is, those places where companies host their websites or various services, the servers present differ greatly, at first glance, from the computers normally used. In fact, having to stay on all the time, and having a large amount of work, servers are made to be less susceptible to failure, and designed so that any disruption is easily fixed. The difference between a server and a client often needs to be put into context: all humans, the moment they enter a bar are customers, and will be served by waiters. However, a waiter may be a client of another store, just as a server may be a client of another server.
In spite of this promiscuity that may exist between server and client, the client-server paradigm is extremely hierarchical and, like all hierarchical systems, is both extremely efficient and delicate: a small malfunction could bring the entire system to a halt. A server failure, a connection problem between the server and the rest of the world, a software bug, or a cyber attack would inevitably disrupt the service.
Peer-to-peer systems are perhaps best known to those who used the network to download movies and music on Emule or Torrent. Although it is a paradigm used for so many other activities, it is often used for everything on the edge of legality. Its peculiarity, namely the absence of hierarchy, makes it very difficult to censor. When we talk about the absence of hierarchy, we must think of the absence of servers and client devices: there are only peers, and peers are equal to each other. It has already been mentioned how the difference between a server and a client lies in the software that is installed on the machine: while a browser (Firefox, Chome, Safari, etc.) is usually installed on a client for viewing websites, on a server, software will be installed on which websites can be created (Wordpress, Drupal, etc.).
In the case of p2p systems, software is installed on the machines that works in a nonhierarchical manner. When a YouTube video is viewed (or, rather, copied), the movie is downloaded directly from Google's servers. In contrast, when the movie is viewed on a p2p platform, it is downloaded (copied) by other ordinary users, who, while downloading the movie, in turn allow other users to download it. This makes the whole system much more resilient against possible failure or intrusion by the authorities. A film that is unwelcome to authority, or that contravenes laws, could easily be removed from a centralized service such as YouTube, which would be almost impossible when several thousand people, scattered around the world, were sharing a particular file on their computers.
I think it has not gone unnoticed the similarities that can exist between the analog and digital worlds, where often the problems, although in different situations, are the same. Culture, of whatever kind, can also spread in a peer-to-peer or hierarchical manner. It was peer-to-peer the way intellectuals wrote and compared through during the Enlightenment 'republic of letters,' or it is peer-to-peer the spread of ideologies. In contrast, teaching in schools is hierarchical in nature, in that institutions decide what is good to teach and what is not.
A normal bank works precisely with the client-server paradigm.
[Figure from the original thesis: Figure: clients connected to bank.]
There is a database on the bank's server, which collects all user data, from the first and last name to the amount of money belonging to that account. It is possible to imagine databases as tables; in fact, insiders think of these tables as relationships between sets (in the case of relational databases). When Caius sends €5 to Sempronius there are appropriate checks to verify that Caius has the available balance; only if the check is successful is the transaction written to the database. However, this system, which is the one currently used, sees banks and institutions as guarantors of the integrity of the system. The bank technician, manager or authority, could tamper with someone's bank account, removing funds or blocking them completely. After all, being a fully centralized bank, it is enough to go to the big board and draw a line over the name of a political dissident or over a whole category of people.
Blockchains are born as non-hierarchical and use a peer-to-peer paradigm. The concept of blockchain was born with the intention of not having centralization. Centralized blockchains have also been created, but we will deal with them only when discussing CDBCs, precisely because they are extremely simpler and not at all revolutionary. A centralized blockchain can be useful for a company or a state to keep track of a certain asset and be sure that there has been no counterfeiting. This, however, while maintaining central authority: in essence, centralized blockchains are a nice technological innovation, which, however, does not decentralize power at all, and, rather, attempts to centralize it. In these pages, the term blockchain will always refer to decentralized blockchains.
How would a bank on blockchain work?
The word 'node' will be used: this is simply a peer on which transactions are saved. Let's start with Bitcoin: the board with all transactions, in a decentralized system, is replicated on each node. This means that there is no central entity to manage the information, but it is distributed among the peers. If Caius pays Sempronius 5 Bitcoins, the transaction will be saved on each node, thus making any tampering very difficult.
[Figure from the original thesis: Figure1: On each node there is replicated the ledger with all transactions]
What has just been described still falls under the peer-to-peer paradigm, but the peculiarity of blockchain systems has not yet been addressed. While the board saved on the bank is potentially modifiable, the boards saved on individual nodes are not, now it will be discovered why. To do so, however, it will be necessary momentarily to mention the cryptographic functions, which are used to create hashes.
← Previous: Blockchain and History · Series index · References · Next: Cryptography, Blocks, Bitcoin and Ethereum →
-
'LibreOffice' (LibreOffice, 2023) https://github.com/LibreOffice/core [accessed January 30, 2023]. ↩
-
'Apache OpenOffice®' (The Apache Software Foundation, 2023) https://github.com/apache/openoffice [accessed January 30, 2023]. ↩
-
'Datagate: how to defend yourself from Big Brother in "The Book of the Year"' <https://www.treccani.it/enciclopedia/datagate-come-difendersi-dal-grande-fratello_(The-Book-of- the-Year)> [accessed March 8, 2023]. ↩