In response to: “Cryptocurrencies and Blockchains” (Vol. 2, No. 4).
To the editors:
Bitcoin is an extremely complicated subject as it is based on numerous unfamiliar concepts drawn from different areas of thought, many of which are still emerging in response to unexpected problems and new ideas for solving them.
Writing an introduction is difficult enough that most of the time it focuses on particular aspects and ignores others, through a lack of experience in the corresponding areas. Jean-Paul Delahaye, it must be said, has produced a balanced introduction, covering history, technology, cryptography, financial considerations, and future perspectives in a well-documented fashion.
At the same time, this whole area is so complex and dynamic that any commentary, including this one, is destined to include inaccuracies, or statements that were true yesterday and false today. By linking itself to Satoshi Nakamoto’s original conception for the sake of simplification, the article misses a major point, which is also omitted from many discussions of bitcoin, namely, the functional separation between full nodes and miners. This distinction, once insignificant, has become critical for understanding how the bitcoin system works.
In Nakamoto’s original conception, all the nodes of the network were supposed to keep their local copy of the blockchain up to date, and all were supposed to be miners. The terms “node” and “miner” could therefore be used interchangeably, as in Delahaye’s article.
These days mining requires enormous computing power, which can only be provided by highly specialized high-performance equipment, and by mining pools, where a master node assembles transactions into blocks, and then subcontracts—to a large number of subordinates, who may or may not be nodes of the bitcoin network—the simple but computing-intensive task of finding a suitable hash. As a result, the number of independent block suppliers has dwindled to a select group of master miners. These are the only ones who select and validate transactions for inclusion in blocks. The tedious calculations leading to a suitable hash are undertaken by thousands of slaves whom the literature increasingly calls “workers,” but who are still often called “miners,” a habit that has become an abuse of language.
At the same time, the blockchain has grown to 100 gigabytes at the time of writing, and increases in size by 5 gigabytes each month. Downloading the blockchain takes several days for new nodes joining the system. The Simple Payment Verification (SPV) protocol was developed to allow lightweight nodes to validate transactions without having to keep a local copy of the blockchain, obtaining the information they need from the so-called full nodes.
Instead of being made up from a single type of node, as described in the seminal article by Satoshi Nakamoto, the bitcoin network is now diversified. The terms “node” and “miner” can no longer be used interchangeably. A large number of “full nodes” form the backbone of the system by holding a copy of the chain of blocks and validating the transactions independently. A subset of these full nodes supports mining pools.1 In addition, a large number of lightweight nodes also handle the routing of transactions and blocks, but are entirely dependent on the full nodes for validation of those transactions.
In an open system without a central hub, there is no easy way of knowing how many nodes of each type exist. At any moment, users are joining and leaving the network. Established nodes connect to the network and permanently disconnect, or cease to be visible to other nodes. Some sites have been created to collect statistics on the network in real time, but they can obviously count only those nodes that are currently connected and visible. The number of these reachable nodes currently oscillates between 5,500 and 6,000, but this is only a subset of existing nodes, and it is impossible to distinguish the full nodes from the lightweight nodes. From these and other considerations, in June 2016 it was estimated that the total number of full nodes was close to 30,000, the number of lightweight nodes being approximately 14,000.2
The number of miners, defined as the sources of independent blocks, can be precisely estimated by observing new blocks, each of which contains an indication of its author. There are thus a little more than twenty pools, of which the ten largest provide more than 80% of the blocks admitted into the chain.3
As far as the “workers” are concerned, some pools show how many they possess: from ten to 20,000. On this basis, one can estimate that their total number is on the order of 100,000. But from the point of view of the bitcoin network, only the principal node from each pool counts as a source of blocks, and thus they count as only one miner.
This picture of the actual network structure, significantly different from Nakamoto’s vision, invites a new look at the functioning and governance of the system.
The software incorporates two groups of basic rules: rules of validation for transactions, used by all nodes and the miners to determine which transactions will be included in the blocks; and the consensus rules used by the full nodes to determine which blocks among those proposed by the miners will ultimately be included in the blockchain. In the process of building the blockchain, which is the central activity of the entire bitcoin network, the protocol for disseminating blocks through the network plays a crucial role. It is the full nodes that have the last word, not the miners, contrary to what one still often reads in the literature.
Suppose that some miners decide to implement new rules. If all the full nodes retain the old rules, they will reject all the blocks proposed by the dissenting miners. Since the miners request their payment by including in each block a special transaction that can only be carried out by adding this block to the chain, the dissident miners will never be paid. In the extreme case where all but one miner adopts the new rules, the solitary traditional miner would be the only one whose blocks were accepted by the network, and thus the only one to be paid. In the more common case, where some full nodes follow the dissenting miners and implement the new rules, the network separates into two disjoint parts, each with its own set of rules and each of which defines a currency. This is called a bifurcation, or fork.
Of course, this is not the case in the so-called 51% attack, where, without changing the rules, a miner attempts to modify transactions already registered in the blockchain. This has been the subject of numerous studies.
The bitcoin network has evolved in such a way that the distribution of governance has become highly asymmetric. The full nodes and the miners certainly apply a common discipline, but it is the full nodes which verify in fine that the miners respect this discipline, and thus they exercise collective control over the whole process. In this way, the community of full nodes operates in an ultra-democratic manner, in accordance with libertarian positions. Everyone, especially miners, can propose new rules, and the managers of the full nodes “vote with their feet,” by individually adopting or rejecting these rules. If some users wish to live under different rules, they automatically form a separate community.
Jean-Paul Delahaye responds:
Gérard Dréan writes that “the article misses a major point, which is omitted in many bitcoin discussions, namely the functional separation between full nodes and miners.” I did not want to present the complete landscape of possible options for each node of the network because it would have made my text unnecessarily complicated. But it is quite clear, especially when I mention the mining pools, that there are nodes that hold a copy of the blockchain, and others that do not. This is also the case when I discuss wallets, which are nodes that do not hold the blockchain. The following passage in my text seems to have escaped the author of the letter:
[The] mining pool... has the effect of centralizing the mining and finally limiting the number of main nodes really managing the blockchain and supervising it (in a mining pool, only one of the agents actually holds a copy of the blockchain), which is an open door to certain attacks.
Those who wish to deepen their understanding of the topic and to grasp all the details of what is described, confusingly, by Dréan, should study Andreas Antonopoulos’ Mastering Bitcoin: Unlocking Digital Cryptocurrencies (2014). This book is recognized by the entire bitcoin community as the best technical document presenting the state of the bitcoin network, with its large family of nodes. It is, fortunately, unnecessary for all bitcoin users to master this material.
Gérard Dréan worked for many years at IBM, and then in computer services. He currently writes on economic thought.
Jean-Paul Delahaye is a mathematician and professor emeritus in computer science at the University of Lille.
Translated from the French by the editors.
- Or perhaps some solo miners. ↩
- bitcoin wiki, “Clearing Up Misconceptions About Full Nodes.” ↩
- blockchain.info, “Répartition du hashrate: Une estimation de la répartition du hashrate parmi les pools minières les plus importantes.” ↩