deso-protocol / deso-protocol/core
Avoid centralization - spread stake - geodistribute nodes
- Dominant language
- Go
- Stars
- 327
- Forks
- 106
- PR merge metrics
- No merged PRs in 30d
Description
At the moment of writing this:
Cumulative stake from the top down:
Validators
Cumulative Stake
% of Total
Top 1 (LazyNina)
1,156,545
19.87%
Top 2
1,710,787
29.41%
Top 3
2,179,013
37.47% ← exceeds 1/3!
Top 4
2,638,187
45.37%
Top 5
3,095,723
53.23%
Top 6
3,464,074
59.57%
Top 7
3,825,496
65.78%
Top 8
4,170,336
71.71% ← supermajority
We only have 22 active validators
Deso blockchain comes to a halt if top 3 nodes become inactive.
(Yes, I know about Byzantine Fault Tolerance and the PoS Consensus and the supermajority rule)
The Concentration Problem
With only 22 active validators, the network is already quite small compared to chains like Ethereum (hundreds of thousands of validators) or even Solana. But when the top 3 validators hold the supermajority, you effectively have a 3-of-22 system in practice, which is centralized by almost any measure.
The Datacenter Risk is the Most Serious Part
Two of those three supermajority validators being in the same datacenter means a single point of failure could halt the entire chain. This isn't just theoretical — it could happen due to a power outage, a datacenter fire, a DDoS attack targeting that facility, or even a provider policy decision (AWS, Google Cloud, etc. have suspended services before).
This essentially reduces your real fault tolerance even further.
Two proposals:
1. Proposal to add a check on staking in a single validator not to exceed 5% of total staked deso.
2. Spread nodes over more data centers
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are named. Start by locating the staking and validator-management entry points in the Go node, then determine how a per-validator stake limit could be specified and enforced. Separately assess how node distribution across datacenters could be represented or encouraged; done requires agreed protocol and deployment changes with clear acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- blockchain, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100