Understanding Decentralization

February 16, 2024

In Symbol, voting and harvesting need to be sufficiently decentralized in order for the network to be resilient to attacks. In this article, we review current network statistics to determine the actual decentralization of harvesting and voting power.

For safe network operations, two important thresholds must be met:

  1. 51% of harvesting power must be honest to prevent blocks from being forcibly rolled back (51% attack)
  2. 67% of voting power must be honest and online to allow finalization of blocks (finalization stall)

The Nakamoto Coefficient is a measure of decentralization. It is the minimum number of colluding entities that can disrupt a network's functioning. We can calculate this for various aspects of the Symbol network.

Harvesting

By analyzing data provided by SymbolBlog, we can estimate how well Symbol's harvesting is decentralized. Please note that this data is incomplete because it doesn't include peer nodes, but it serves us well for illustrative purposes. For the purposes of this analysis, we'll ignore peer nodes.

First, let's assume that there are no delegates and only main accounts are able to harvest. In this scenario, ~485M XYM is harvesting. If we sort nodes by main account balance, we can see that the first 50 nodes cumulatively control over 50% of the harvesting power.

Of course, Symbol allows delegated harvesters, so let's do a more realistic calculation by considering both main and delegated stake. In this scenario, ~2531M XYM is harvesting. If we sort nodes by combined balance, we can see that the first 41 nodes cumulatively control over 50% of the harvesting power. This is a little bit worse than before.

You might have noticed that we made a bit of a simplification above. We assumed that each node is a separate entity. In fact, an entity is not necessarily a single node. An entity can be a single organization or infrastructure provider (e.g. AWS, AllNodes, etc.). It is any single point of failure, and it can affect multiple nodes

Let's consider the impact of two popular infrastructure providers: AllNodes and Stir. Adding up the main and delegated stakes gives us ~882M XYM (251M XYM main) for AllNodes and ~481M XYM (37M XYM main) for Stir. Together, this is ~53% of harvesting power. Effectively, these two organizations essentially could control the network if they ever were to collude.

Lessons

Nearly 80% of harvesting power is derived from delegated harvesters. Where they choose to delegate can directly affect the decentralization of the network. If a large number choose to delegate to the same node and/or infrastructure provider, the network will be more centralized. If, instead, they choose to delegate to a heterogeneous mix of nodes, the network will be more centralized.

Voting

By analyzing data from nodewatch, we can estimate how well Symbol's voting is decentralized.

There is currently ~444M XYM voting. If we sort nodes by main account balance, we can see that the first 5 nodes cumulatively control over 33% of the voting power.

The actual situation is a bit worse because there are seven eligible voting nodes no longer voting (~26M XYM). This is reduced from the 67%, so the 33% threshold is effectively reduced to ~27%. In order to avoid this degradation, it's important for nodes to unregister their voting keys before stopping for an extended period of time.

Let's consider the AllNodes and Stir voting nodes. These have voting powers of ~105M XYM for AllNodes and ~3M XYM for Stir. Together this is 24% of voting power, just under the reduced 27% threshold. Including the voting node with the highest voting power will easily push the combined voting power above the threshold.

Lessons

The amount of voting stake is quite low, and we should investigate ways to increase it. In the interim, it's important to always unregister voting keys before any planned downtime. In addition, it's always beneficial to not concentrate voting power on any single infrastructure provider.