Censorship resistance, network security and YOU

Hi All,

The Solana Foundation has been thinking a lot about censorship resistance and decentralization lately. Specifically, how we can increase the validator “Nakamoto Coefficient” i.e. how can we increase censorship resistance and security of the network by increasing the minimum number of distinct nodes that hold stake adding up to 33%.

Visually - how can we move the banner on solanabeach down the list as far as possible (for a moment setting aside the obvious improvement that will come when we remove our Boot Nodes)?

Keep in mind that comparable PoS networks seem to all fall < 10 nodes to get to 33% (Cosmos ~ 5, Tezos ~ 7, EOS ~ 8). Due to Solana’s data propagation design and PoH, we believe that we can go much higher without significantly impacting performance - so let’s do it.

If we’re not here to focus on censorship resistance, what are we here for? I think we have a unique opportunity to build the most secure PoS network and we’re looking for your help.

We’re looking for ideas, partners, grantees, etc. to help us expand the network in a censorship resistant way.

Here are some of the avenues we are currently exploring and would love collaboration on:

  • Foundation token delegation strategy
    • How can we design the delegation strategy to maximize the number of block producing nodes?
  • Tools to facilitate broad delegation distribution from token holders
  • Stake-o-matic competitions
    • Validators running their own stake-o-matics
  • 100% slashing
    • Long term goal! Previously discussed here
      • We believe that 100% slashing for 100% malicious acts encourages delegation diversification leading to a stronger network
  • Quadratic delegations
    • Each unit of delegation costs twice as much as the previous unit
  • Variable rewards or novel inflation distribution
    • I.e. economic design innovations

If you have any thoughts, ideas, examples we’d love to hear them. A discussion here would be great and also feel free to reach out directly. We have a number of grants available in this area and we’re looking for partners in this work!

eric@solana.foundation

5 Likes

Very important discussion.

Depends what you mean by diversification:

If you mean nodes, then I think that’s pretty easy, you could just cap rewards above a certain threshold, once that node is ‘full’ the operator has to spin up another one…

But if you mean diversification of operators, because you don’t know which nodes an operator owns, it is is very hard I think. How would you even know? 20 nodes owned by the same guy. I think a lot of networks make operators lock up a bond to run a node, to discourage the same entity to spawn too many. No idea if that works.

Agree that logically 100% slashing will encourage very broad delegation diversification, because you don’t know which nodes an operator owns and therefore how many are controlled by a bad actor, you would basically want to spread your delegation to every reasonably performing node. Have to be careful that the upside of delegating is greater than the risk of delegating, else people might just sit on their coins.

The cardano team have studied this exact question: https://arxiv.org/ftp/arxiv/papers/1807/1807.11218.pdf

1 Like

Happy to see this discussion! Seldom project teams take this issue seriously.

2 Likes

Diminishing rewards on increasing stake makes sure that smaller delegators will delegate to smaller validators. (That way at least we don’t make big validators bigger)

I’d also opt for a scheme that gives a minimal reward for an x amount of validator spots so smaller can at least cover costs and are there to be delegated to.

Looking at other networks:

  1. users often don’t really seem to make a proper consideration when selecting a validator
  2. when the big holders (exchanges) can put it all on one validator they do that
  3. if they can’t they fail to properly judge the options and stake appears to be random disadvantaging good validators

Why not give an option to just stake to the network pool? The pool splits it over validators that comply with some conditions (for example between upper and under limits, that have proper uptime, acceptable commission rate and no malicious behavior).

If combined with diminishing returns for bigger validators this will make sure users can still stake on their favorite validator but for the exchanges it will be more profitable to use the network pool stake without having to bother with the evaluation of the validators and management of the stake.

I think several things for do

Step by step, for example here my first Idea.

Epoch in Solana run each 2 days, on general vision when people check

or o others sites only shows active voting power and is missing the total Voting Power not active
I think if Solana start to shows the Total Voting power and active, can help to people see actual total stake and diversificate more this stake meanwhile still is not active in the next new epoch but is there.

I think that it will help to look at this topic from a different perspective and consider the investor’s point of view. We should assume that the investors are: a) sophisticated, and b) understand that network security is essential. There must be a reason that they choose delegation partners with significant stakes. There must be a tradeoff between the concentration of stake and something else. After evaluation, they decide that something else is more important.

I will be curious to know what investors say when asked, "What factors are more important than the concentration of stake when you are considering a delegation partner?

On Discord, Leo has made a strong case that validator security and operating procedures are critical. I completely agree with Leo. Who seriously expects an investor to delegate millions of SOL to an anonymous validator?

Delegation requires a high degree of trust between the investor and the validator. The investor wants to know if the validator is a good operator with a secure environment. The investor might also want to contact the validator to discuss procedures, etc.

Eric, the foundation could help by asking several investors the question that I mentioned above and report those answers back to the community. We could then take steps to present more professional options for investors to consider.

For my part, I will add some features, and scores, to www.validators.app to help validators be more visible to investors. I also plan to include links to public security audits, etc.

Thanks!

Brian Long

1 Like

Hi everyone! This is a very important topic, as we have noticed that sooner or later things tend to go south in all projects from this point of view, no matter the strategy, until the point where the stake becomes „dormant“ and is way harder to redistribute it. So the earlier we can find solutions to this challenges, the better. From our experience, what could work is the following:

  1. Do not display the Validators on dashboards (e.g. solanabeach.io) by the staking amount delegated (from the biggest delegation amount to the lowest delegation amount). We noticed on multiple Networks that unfortunately users tend to not do their own research and stake with the top 5, top 10 validators (selected by stake), under the impression that it is safer, easier to do and so on. By displaying the Validators randomized and use different metrics to determine the frequency certain validators will be displayed like uptime, skip rate, providing validator identity and contact, the time since they joined the network, etc. smaller but quality validators that meet this criteria can benefit from more exposure.

  2. We might also need an incentive to make delegators split their stake among 5-10 validators and not always select the top 5-10. Here, it would be great to have an easy way to make a delegation to multiple validators without many steps.

  3. If every validator will do its own contribution in informing and educating delegators that they should split the staking and delegate to multiple validators to support stake decentralization, we are confident this will have an impact and help everyone understand the idea. If the same message comes from multiple strong voices the message will be pretty clear in the ecosystem.

We already started implementing the 3rd suggestion by strongly recommending in our staking guides that delegators should split the stake and delegate to multiple validators to support stake decentralization. This can be seen here, in the Staking Guide for Ledger Nano S and Staking Guide for Keystore.

We believe a combination of multiple solutions will help mitigate this problem, probably not completely solving it but definitely reduce the issue.

The main idea would be to have these mitigation solutions prior to the settling of the stake. Once most of the SOL is delegated, then it is going to be very hard to make changes in the system and move the stake from one validator to another.

1 Like