Algorand is a complex yet beginner friendly blockchain that seeks to solve the trilemma of decentralization, scalability, and security. It has lightning fast transaction times, micro-cent fees, a growing DeFi Ecosystem, and is backed by brilliant technology created by Turing award-winner Silvio Micali.
Though there are a plethora of positives about Algorand, there has been a recent surge of criticisms directed towards Algorand’s Network Architecture. These critiques state that Algorand’s network is not decentralized, can be at risk of censorship, and lacks scalable security in the form of incentive mechanisms.
While it may be easier to ignore these critiques and move forward, many in the community have realized that these problems are completely valid points of failure for Algorand. The goal of this article is to educate reader’s about Algorand’s Network weaknesses by explaining and breaking down the problem. We will discuss the current state of Algorand’s Relay and Participation node structure and explain how it is centralized and why that is bad. We will then discuss current propositions to change it and how we can move forward.
Note: Unfamiliar with Algorand? Read Algorand Explained: Without Using a Single Crypto Term
Table of Contents
Algorand Network Architecture Overview: Nodes
Relay Nodes
Participation Nodes
Algorand’s Centralized Point of Failure: Relay Nodes
Relay Nodes as Gatekeepers
Current State of Algorand’s Nodes
Moving Algorand Towards Decentralization
Algorand Network Architecture Overview: Nodes
Information sharing across large networks is hard. Doing so while trying to keep transaction confirmation times to 3 seconds is even harder. Doing so while maintaining a standard of quality globally and avoiding centralization? Well, now you start to get a good grasp of the problem that Algorand is trying to solve.
In order to support decentralized information sharing across the world, Algorand has come up with a network system that consists of two types of nodes: Relay Nodes and Participation nodes. Simply explained, nodes are electronic devices that send and receive information, extending the range through which a network can reach.
Relay and Participation Nodes both work to maintain Algorand’s network features across the globe, but the actual hardware requirements and actions of the two differ.
Relay Nodes
Relay Nodes are central network hubs that maintain connections to many other nodes. Think of them as major distribution centers in a large network. They have high-bandwidth network connections which allow for highly efficient communication paths, ultimately reducing the number of hops in communication1. They are the cogs which makes the Algorand Network possible.
Participation Nodes
Participation Nodes are the essence of Algorand’s blockchain, and the method through which the network achieves consensus (a core concept of crypto in which all aspects of a network agree a transaction is valid, thus making it permanent and final). We don’t need to get into the details of consensus, but the important thing is that participation nodes control what transactions are validated on Algorand and are the backbone of the blockchain’s security.
The fewer participation nodes being run, the easier it would be for a group of bad agents to get together and overrun Algorand’s security. Fortunately, participation nodes on Algorand are plentiful and very decentralized. The computing requirements to run one are low, which means that just about anyone can run one. Some people even run them on Raspberry Pi’s. The more random, decentralized people run participation nodes: the safer Algorand is.
There are over ~200 nodes being run right now, but this could be improved by increasing this number in the future via incentivization, as there is currently no real reason to run a participation node other than altruistic security.
Relay Nodes: Algorand’s Centralized Point of Failure
The real issue of Algorand’s Network lies with Relay Nodes. As mentioned before, they are the network hubs that connect to each other and participation nodes and link Algorand together. Yet they are highly centralized and problematic for a few reasons, and leave Algorand susceptible to information censorship and committee control, as crypto researcher Justin Bons pointed out in a fantastic critique of Algorand.
Relay Nodes are Gatekeepers
Relay Nodes don’t participate in consensus, but they do communicate information. This means that if a participation node is only connected to a couple relay node that all decide to act the same way, that participation node’s transactions could be feasibly censored and controlled. Put simply, if some of the organizations running relay nodes decided they wanted to work together to prevent a certain type of transaction from being communicated, they could reasonably do so if there aren’t enough other relay nodes that don’t conform. In this sense, relay nodes act as the gatekeepers of information on the Algorand blockchain.
Now this isn’t necessarily a bad thing, and it’s a nonfactor problem if there are enough relay nodes running, but this is where Algorand fails.
The Current State of Algorand’s Relay Nodes
There are currently only 106 relay nodes being run. This is in part due to a few reasons, each of which contribute to the centralization of Algorand:
- The technology requirements to run a relay node are high and expensive. It is not at all easy for the average person to run one, though it is do-able.
- The official list of relay nodes are managed by the Algorand Foundation, with most being organizations and VC backed projects. What if the community decided to move Algorand in a direction contrary to what the VCs want? Would VCs allow it to happen, or would they use their leverage as relay node operators to stifle the change and maintain the status quo? An unlikely scenario, but one that illustrates the dangers of centralization.
- There is no incentive to run a relay node. Even if the official list wasn’t controlled by the foundation, you are expected to run a relay node purely out of an altruistic desire to support Algorand’s decentralized security. Maybe that’s feasible if you have super low technology requirements like with participation nodes, but relay nodes are expensive to run for an individual person, leaving centralized organizations with skin in the game as the only node operators.
Moving Algorand Towards Decentralization
Now that you have a good understanding of the current state of Algorand’s Relay Nodes, we can look at the problem from a more contextual perspective. There have been no problems or points of failure with Algorand’s relay nodes thus far. No VCs have gotten together and sabotaged the blockchain, and these groups are being paid until 2024 to run the nodes.
Yet Algorand is still centralized. Just because something has not happened yet, it does not mean it never will. In order for Algorand to actually solve the trilemma, it needs to do a couple things:
- Actually support community relay nodes, and not just pretend to. In March of 2022, Algorand launched a “Community Relay Node Program.” Sounds great right? In reality, it was just sponsoring 9 community orgs and VCs to run 21 nodes. It’s not enough.
- Incentivize relay node running. This is an issue the community should vote on through governance, but I and many others in the community believe this is a necessity. While it would be optimal for node running to be done out of altruism, the reality is that very very few will do it for that reason. It’s expensive, and you don’t receive any direct benefits yourself, and incur negative costs of hardware and time to do so. It’s like going vegan or not using plastic, a few people will be altruistic enough to do it, but most won’t.
- Reduce node running requirements: Making it cheaper for the average person to run a relay node would go a long way towards Algorand’s goal of decentralization.
Thanks for Reading! Want to learn more about Algorand?
Follow me (@algonautblog) on twitter!
Keeping up with this blog and reading other articles is a great way to learn about the ecosystem. Here are the most popular articles I’ve written.