This is a long read, but it comes from the best intentions to improve and strengthen the network during its infancy. It highlights what I see as an important, unattended issue with a straightforward fix.
TL;DR
There is an important issue, with easy in-between solutions, that needs to be implemented ASAP - as to, in my opinion, avoid overall stake centralization, improve long-term network health, and as a result, grow a healthier network from scratch, rather than (trying to fix) fixing issues later.
Intro
I have been working in this industry (yes, in crypto) for over 10 years. As for running nodes… a little over that, with BTS and Angel Shares (not including mining, obviously). I have seen networks come and go. Billion dollar market caps crash in minutes, etc to name the least.
Usually it all starts with ignoring the small cracks. Thats not to say that every small crack eventually brings a wall down. Not necessarily. But if you ever build a house, you know the issues they can lead to with time.
When we as a provider join a network, we do so mainly based on the feel, the belief, and the values of the team. Yes, thats all subjective. But otherwise, why is anyone here, if not because of something they believe in? What I’m trying to say is that when we see a crack, our goal is not to widen it. Our goal is to fix it and prevent it from growing. Hence this post.
The Issue
There are currently 13 validators/providers, including our own Citizen Web3, that show 0 stake on the main dashboard/explorers, yet they all do have stake. They all participated in the same round like the others. They just cannot be identified due to the current system design.
Those 13 “self-errored self-stakers” sequencers work as fine as any other node on the network. They dont miss blocks. Attestation, rewards, governance… Its all the same. Only users don’t see that. They wont be able to locate the provider of such a sequencer due to the design. There is no direct tie. Instead, stake distribution suffers at the worst time possible for the network (the highest APR/APY time). Users see 13 providers with 0 stake (of course, none received any additional stake since start - users think these providers are broken). Instead, users see Nethermind with a huge amount of stake and new sequencers, which helps to assure them that this provider is the best and more needs to be delegated to them (and just to say that Nethermind might be the best, though that’s not the point here).
This is a direct road to lowering the Nakamoto coefficient and making distribution worse by the day. This leads to further issues, such as:
- Inability to measure APR/APY properly in terms of one provider
- The same issue goes for slashing (if i cant identify who the sequencers belong to, how can I measure the work of the provider as a unit?)
- Same issue for governance
- Same issue for measuring how many rewards this provider keeps/spends
- These “errored” Providers/Validators have to create props from sequencers, which brings trusting issues and minimizes the providers business name
What makes this a bit more frustrating and confusing from the perspective of a network contributor and a validator, is the lack of eagerness to handle this. Originally the Aztec team said this will be fixed in 1 week, then 2… And then an ignore came with anything with this issue. Then to hear on the state migration call, that no one is planning to fix this and these validators should re-do their nodes via providers.
A small reminder that sequencer tokens are frozen for a year from creation. This is a year of users not delegating to those contributors. 1 full year of further stake centralization. BTW this was NOT tested at testnet.
The solution!
Redesign is very difficult. There is an easy in-between solution, that can act as temporary glue. A public GH repo held by Aztec foundation or Aztec labs, etc. As soon as a provider adds a PR, if it passes checks, it’s merged, and voila - the official dashboard will be able to show all providers (stake Aztec).
All it needs is a pretty json/toml/yml with the unidentified entities and their addresses. Here is one such example: Namada infrastructure and services and the public community dashboard - https://namada.community is tied to the repo - https://github.com/Luminara-Hub/namada-ecosystem/tree/main/user-and-dev-tools/mainnet
State Migration
What does it have to do with what I mentioned above? Well, a lot. The chain is currently in its infancy. Trying to build tooling, attract capital, builders, users, etc. (we must not forget that this is a POS chain, and ALL POS chains are prone to the same economic issues when it comes to supply/demand early issues).
For example, one proposition is for state migration; as a result, increase throughput in the sequencer queue, hence at the end of the day → improve stake decentralization across multiple entities.
What we do and why it means anything
Quick PS. We have these numbers because we run our own indexer for Aztec. We are building our own Web3 explorer. And we have been crazy busy trying to bring Aztec onto it. We have already noticed thats some numbers dont add up or add up in strange ways (of course, statistics is a subjective topic, and a difference in numbers is actually a net positive thing here). Some data is missing. Data that can and should be there.
If you’re thinking privacy is key, then here is a sentence. “Public government. Private Citizens”. Not the other way around. Alas, due to the bad design of POS networks, validators and providers do play a crucial government-type role (which imo, they shouldn’t, but thats a different topic). Provider info needs to be public! Validators (providers) are centralized entities with self-interest. Alas, the decentralized validator is still a long mile away.
We also build unique infrastructure. We are 95% (by choice) self-host. Not in data centers. We run indexers, sequencers, public endpoints, archives, etc. We utilize solar, Starlinks, and we are hosted in the middle of the Atlantic Ocean. So yes, one of my goals as a validator is to fix the fact that we haven’t been receiving delegations due to the 0 error on the official dashboard. We have been a frequent, unique, and active contributor to the network. All of our work is funded via our nodes, and its important for us.
This doesnt mean that this is the sole reason here. We have been around as a project for over 5 years. We fought our battles to survive. One of them is building for decentralization and for privacy. Even though privacy has nothing to do here. Aztec has. And I don’t want to see another POS network suffer at the hands of “bad” reward distribution. In the long run, a better distribution will strengthen the tokenomics by creating a more diverse support. In the long term, the point is decentralization for the network, which is also strengthened by better distribution.
—————————–
Aztec team/community: Let’s discuss implementing the fix. Providers affected: Share your thoughts. What do you think? Open to feedback to refine this.