Building a Truly Decentralized Blockchain

Contrary to popular belief public blockchain networks today have not solved “decentralization”. Decentralization needs to be nurtured and managed. But first, we need know how to quantify it.

By Vladislav Dramaliev

If you have been following the developments in the blockchain sphere, then you have undoubtedly read about decentralization and its essential role in designing the world of tomorrow. However, while inquiring about Bitcoin, Ethereum or any other “decentralized” cryptocurrency you may have been left with the impression that the goal of more/better decentralization is primarily a technological endeavor.

In reality, decentralization could be applied to a long list of spheres. Perhaps the most heavily studied type of decentralization is in the governmental and economic fields, where it has been practiced extensively with varying levels of success. The rise and fall of empires and governments has been described by historians in terms of levels of centralization and decentralization. The concept of the “invisible hand” introduced by Adam Smith actually describes decentralization in the form of competition in a free market (1).

Over the last 4000 years chiefdoms and actual states have gone through sequences of centralization and decentralization of economic, political and social power. The utility of decentralization has increased and decreased throughout the centuries in cycles determined by historical context and competition between elites (2).

Decentralization/centralization dynamics in human societies have actually determined the way of life of masses of individuals throughout history and there is no reason to believe that this will change in the 21st century. What is more, we may have reached a stage in our development at which technological progress can finally settle the conflict between these two states in favor of decentralization.

Faking Decentralization: Democracy

Blood succession of ruling elites or succession due to divine right have been proven to create much inefficiency in the governmental decision-making process and have led to suffering on the part of populations. The rule of the Roman Emperor Gaius Julius Caesar Augustus Germanicus, also known as Caligula, has been associated with cruelty, sadism, extravagance, and sexual perversity, Caligula himself being presented as an insane tyrant (3). That is a single example. There are many.

The Roman Empire, much like any other empire in history, has proven that centralization of power could lead to disastrous consequences and that such governance systems are not sustainable in the long-run. The empires of the 20th century have further confirmed this. As a result, some level of decentralization has been introduced in politics by different systems of government throughout history. The democratic system is “all the hype” these days.

In theory, fragmenting the decision-making process (thus introducing decentralization) should have led to more stability. It did to a certain extent. However, once it became clear that increasing the number of decision-makers did not automatically produce decentralization, the idea lost most of its initial appeal in the eyes of many.

If a consensus-building system is composed of numerous units (parties), but most or all of them are controlled by a single entity, that system is faking decentralization.

If votes in a democratic system can be purchased or created, informed opinion loses its significance to deep pockets and the whims of its “managers”. Moreover, if the counting of votes in a system is done in a centralized manner, it does not matter what those votes represent. Unfortunately, today such systems are considered decentralized (democratic) and draw much of their legitimacy from that “fact”.

Here you go…you just made an informed choice. Thanks. Source

It is quite logical that centralized systems may fake decentralization in order to gain appeal. Since this happens in political or economic systems, it happens in all other types of organizations, schemes, frameworks, or protocols.

Satoshi’s Original Vision for Bitcoin

Usually, when discussing decentralization in the context of blockchain protocols, what people are talking about is mining power. Many believe that the original vision of Satoshi Nakamoto, the person(people) who created Bitcoin, is One CPU/One Vote, meaning every single user mines with a home PC and a smartphone (1). However, as in the case of democracy:

Decentralization of status does not necessarily mean the decentralization of the process (1).

What Satoshi really had in mind is One Unit of Work/One Unit of Power. The botnet example could be very useful here. If one CPU did equal one vote, then botnets could have achieved dominance of the Bitcoin blockchain. The “status” of having numerous CPUs does not affect the “process” of all of them acting in complete unison.

The Wisdom of the Crowds: Hacked

In order to further exemplify the fallacy of assuming high unit count leads to decentralization, let’s have a look at the idea called “Wisdom of the Crowds”. It relates to the argument that the collective decision making capability
of a crowd outweighs the capability of any one person and leads to better decision-making. This is based on the statistical assumption that if you have a sufficiently large number of inputs all with differing points of view, you can take the statistical average to cancel out the noise and arrive at the truth (4).

Various experiments have been conducted proving this assumption to be true. Perhaps the most popular among those is the one utilizing a jar of pebbles. A hundred (or more) people are asked to guess how many pebbles they think are in the jar. Once all answers are collected an average number is produced that is very close to the actual number of pebbles in the jar. The wisdom of statistical probability.

There is one huge problem with this approach, however. It relies on true randomness too much. Randomness, which rarely exists in reality. If there was a single entity that advised the participants on what their answer should be, boasting extensive previous experience in the field of pebble counting for example, the result of the whole experiment becomes “biased”. Any system with high number of participants is exposed to a number of “systematic errors”. This may change the end result by introducing purposeful bias that could be considered a form of centralization.

S**t’s funny AF.

Dimensions of Decentralization

Vitalik Buterin, the father (and perhaps mother, but definitely not the Godfather) of Ethereum has addressed decentralization in public blockchain systems in his essay “The Meaning of Decentralization” (5). According to his views, blockchain centralization must be viewed from the vantage point of three different axes:

  1. Architectural (de)centralization
  2. Political (de)centralization
  3. Logical (de)centralization

For Vitalik, when judging decentralization, caution is of utmost importance. As we noted above, centralized systems have an incentive (sometimes an existential one) to fake decentralization.

By addressing architectural decentralization, he refers to the number of processing units in a system — if there is a single computer that is mining on a public blockchain, then it is quite obvious that that blockchain is the definition of “centralized”. On the other hand, if there are many units in a system, but they act as one, we are again looking at a centralized system (logical centralization). Finally, if mining is composed of numerous, independent computers, but the software they run is developed by a single entity, that system is again centralized (political centralization). It is acting as one from a political point of view — it sets the rules in the system unilaterally.

If it looks like a duck, but it walks like a swan, it is most probably a centralized system faking decentralization. (could be nothing else)

Vitalik applies a more thorough approach when evaluating decentralization. Balaji Srinivasan goes a step further.

The Sub-Systems of Public Blockchains

Balaji as one of the most popular thinkers in the blockchain sphere has also tried to tackle the concept of decentralization in public blockchain architectures.

According to his exemplary piece of research (6), public blockchains are composed of subsystems. If an essential subsystem is centralized, the system is centralized.

Quantifying Decentralization by Balaji Srinivasan

According to Mr. Srinivasan’s analytical framework, how mining is conducted remains an important element to be considered when judging the level of decentralization of a blockchain system.

Number of Clients

The number of clients, or implementations, is also essential. The number of codebases is a contentious issue. Should there be more, or just one. Most users of cryptocurrencies do not really explore the problem of centralization that deeply. Moreover, there is the general assumption that more implementations could even be harmful to the success of a blockchain. This is definitely not the case. Different and even competing codebases improve the resilience of a blockchain and could lead to enhanced damage control in case of bugs in one of the implementations.

A great example here is the error with the Geth Ethereum client which led to the all Geth nodes freezing. If there was only one client, the entire Ethereum network would have stopped functioning. Since Partiy nodes were not affected, however, transaction and smart-contract handling did not cease. Therefore:

More clients = more decentralized blockchain.

Number of Developers

An interesting dimension to be considered is the number of commits as compared to the number of engaged developers. This is also definitely an important point when it comes to judging the level of decentralization in a blockchain.

Having numerous commits is great, but if all of them are coming from a single person or a few individuals, then the development of the system (essential for its future well-being) could be considered to be centralized and exposed to “cheap” interference. Remove that one person and the system’s development could grind into a stop.*

The open-source nature of public blockchains is an essential first step on the way of tackling this type of centralization. The next one is a framework for distribution of compensations for relevant contributions to the code (economic stimulus). And the third step is an ideological commitment to the project (philosophic stimulus). Usually, if the project is developing well commits will continue flowing even if there is no economic stimulus.

Organizing a bounty program is a great approach towards improving the level of decentralization of public blockchain systems.

A bounty program for code commits is essential for the creation of a vibrant developer community.

Number of Exchanges

This is a curious aspect of blockchain decentralization. It relates to the jurisdictions where trading occurs. If most of the volume is happening in a single jurisdiction, one can conclude that governmental interference in the functioning of that exchange platform would result in loss of financial utility of the cryptocurrency at the center of the blockchain economy.

Lacking a tool that facilitates price formation for a blockchain’s intrinsic asset could create problems.

Luckily, there are now numerous international exchanges established in different jurisdictions. More will appear in the future and even decentralized exchanges are beginning to attract users. Increasing their scalability in the coming years will help them grow in significance. This will be instrumental in the process of decentralizing the points of price formation and will lead to better resilience for all public blockchain systems. For now though, we can conclude that:

Increasing the number of points of price formation, increases the level of decentralization of public blockchains.

Number of Nodes

The number of nodes in a blockchain network could affect its level of decentralization. However, since the number of nodes could be faked, a large number does not necessarily mean better decentralization.

However, since full nodes in a blockchain network provide reference points for checking the validity of transactions they limit the power of miners. In the case of the Bitcoin network: if a transaction or block violates the consensus rules, then it is absolutely rejected by a full node, even if every other node on the network thinks that it is valid. This is one of the most important characteristics of full nodes: they do what’s right no matter what. Since full nodes rely on miners only for a few things, miners could not completely change or destroy the [Bitcoin] blockchain (7). Therefore:

The number of real full nodes in a public blockchain network prevents concentration of power and abuse of the consensus rules, improving decentralization.

Ownership of the Blockchain Asset

Again, this is a very interesting metric to look at. It is also related to the ability to inflict damage on the price of the underlying asset of a blockchain system. If there are only a few large stakeholders and their crypto-assets could be confiscated by a government or any other type of organization, then the price of the cryptocurrency could (will) suffer. This point is even more relevant for Proof-of-Stake systems where large stakeholders participate in the consensus forming process.

Public blockchains should be moving society away from centralized currency control, so spreading cryptocurrency wealth among a large number of users is essential for their long-term success and adoption. We can conclude that:

Avoiding large concentrations of wealth in a blockchain system is essential for keeping the system decentralized.

Practicing Blockchain Decentralization: æternity

At æternity we take decentralization very seriously and are always on the lookout for great ideas that could help us achieve more of it.

In order to achieve better mining decentralization we are implementing a new type of Proof-of-Work consensus mechanisms called Cuckoo Cycle. Its creator — John Tromp — is an adviser at æternity and is working closely with the developer team. According to him: Cuckoo Cycle is the first graph-theoretic proof-of-work, and the most memory bound, yet with instant verification. What it allows is even phones charging overnight to mine without orders of magnitude loss in efficiency, not with a mindset of profitability but of playing the lottery. We believe that this mining algorithm has the potential to vastly expand the mining hardware landscape, benefiting adoption as well as decentralization. You can learn more about the advantages of Cuckoo Cycle by reading through the AMA session with John Tromp at Reddit.

We completely agree with the idea that more clients must be running æternity and we will support efforts in this respect in the future. However, our first goal is to develop a single stable client for the æternity blockchain. The know-how that we will gain in the process will provide us with an essential background for the future selection of programming languages for the other implementations. Client diversity will help us identify the most elegant solutions to the engineering problems we are facing, improving the level of decentralization of the æternity blockchain.

Our development team has been expanding and we have a number of brilliant persons on board. We recently announced an opening for an Erlang/Rust developer. Apart from the core team, we are currently considering using bounties to have the community review our code and help out. We believe that this is a great way for an open-source project grow its most essential resource — ingenious developer talent and at the same time improve our decentralization coefficient.

The number of exchanges that have listed the AE token has been growing. However, we do realize that more and larger exchanges are preferred. This will happen. The uncertain regulatory environment has forced many exchanges to reconsider their listing policies. We are certain that once the æternity mainnet is up and running, the legal framework will be clearer and larger exchange services will start trading AE.

Running a full node on the Bitcoin or Ethereum networks, excluding businesses and miners, is primarily done by enthusiasts. There is no financial incentive for doing so. On the contrary, running a full node leads to amortization of hardware, requires connection to the internet and comes with electricity costs. We would like provide users with a financial incentive to go through all this. We are currently exploring the best approach to make the routing of transactions in æternity’s state channels to require a very small fee. Running such a “routing node” in the state channels could require an æternity full node, incentivizing “router” operators to contribute to the decentralization of the æternity blockchain. The provision of other services on the æ blockchain may also require running a full node, providing more reasons to have a full node.

The design of our campaign was created with the goal of allowing as many users as possible to participate. We are happy to have more than eight thousand participants from around the world, who took part in both phases of the campaign. In addition, 1% of all tokens has been reserved for ETH and BTC holders and will be distributed when the mainnet launches in 2018. Moreover, the AE shares of all team members are subject to a distribution schedule and more specifically — eight equal installments for a period of two years. All this has been done with the goal of avoiding large concentrations of wealth on the æternity blockchain and decentralization in mind.

Final Words

As a team of blockchain professionals who have been following the cryptocurrency sphere for years and as citizens of “democratic” governments, we are big fans of decentralization. We have and will continue working hard to make æternity a definition of a decentralized and, at the same time, globally scalable blockchain platform.

Interested in æternity? Get in touch:

GitHub | Reddit | Telegram | Twitter | Facebook | Mail

References:

(1) Jia, Chang. Op-Ed: What Is the True Meaning of “Decentralization” in Blockchain Technology? Bitcoin Magazine. Sep 22, 2016. URL

(2) Wikipedia Article. Decentralization. URL

(3) Wikipedia Article. Caligula. URL

(4) Sehra, Dr.​ ​Avtar et al. Economics​ ​of​ ​Initial​ ​Coin​ ​Offerings. Allen & Overy Publication. 1​ ​August​ ​2017. URL

(5) Buterin, Vitalik. The Meaning of Decentralization. Medium. Feb 6, 2017. URL

(6) Srinivasan, Balaji S. Quantifying Decentralization. 21 Inc. Blog at Medium. Jul 28, 2017. URL

(7) Wikipedia Article. Full Node. URL

*There are numerous examples of open-source projects that have been moved forward by “Benevolent Dictators for Life”. This form of leadership has proven to be effective, but could be very problematic in the case of decentralized value transfer systems. In the case of blockchains, it is preferable for the vision and technical knowledge required for system improvements to NOT be dependent on a single individual.


Leave a Reply

Your email address will not be published. Required fields are marked *