I want to preface this with a few things:
- We’ve only seen the initial thoughts on consensus participation
- The people creating it are geniuses, I am most definitely not
- I’m just offering my opinions. Take them as that.
- There’s probably many mispellings and typos
That said, I wanted to bring up a concern about on particular aspect: The maximum algos in an account that can partake of the rewards.
The current whitepaper suggests there will be a minimum and maximum number account balance for consensus rewards, with the maximum initially suggested as 2^26 or 2^27.
If we look at the lower maximum of 2^26, that’s 67 million algos running on a single node.
There are several issues that causes me some concern here:
Single point of failure: Since it’s not possible to participate on nodes simultaneously, that node goes down, it’s a big chunk. In fact, it’s just about 5% of current participating stake.
It discourages additional physical hardware: Pooling becomes much more likely. It’s much easier to add to a pool than it is to run and maintain a physical node.
It puts the protocol itself in the hands of fewer centralized decision-makers. It wouldn’t take many pools to exceed 10% of online stake, which means that those pools could act together to prevent future protocol upgrades. They can upgrade (or choose not to) algod version without the permission of the pool’s algo providers. Maybe they don’t like a future protocol update that reduces the maximum pool size to 1 million, for example, and just don’t update to that version. The poolers now have veto power over protocol upgrades. Yeah, the pool contributors could take their stake offline, but how do you communicate that? It seems dangerous to me.
If the Foundation can whitelist pool providers, it goes against the very idea this is supposed to support: decentralization.
I think the top end of accounts that are eligible for consensus rewards should be much lower to encourage more nodes with accounts that have smaller stake. This assumes that a node’s performance suffers if too many accounts are on it. Given the changes that are also coming to better handle accounts that are not behaving as they should (“garbage collection” as the whitepaper called it), it makes sense to have many more physical nodes.
As far as individual entities that are not part of a pool, even if they have a large number of algo participating in consensus, they can still do so how they choose (run a single node or split it up), they just won’t earn consensus rewards once their account exceeds a (lower) threshold. If they have that many algos as a single entity, they are probably protecting the network for a much more important reason than simply earning consensus rewards (the way Silvio Micali originally envisioned). If they are just in it for the rewards, they’d have to maintain more physical nodes to earn them.
The goal of rewards should be increase the number of physical nodes and the number of online algo, and this balance needs to be carefully considered.