Lido on Solana - Protocol Upgrade Proposal

Preface

In the original soLido design, all assets added to Lido on Solana are currently distributed among 19 independent, high-quality validators that have demonstrated a desire to decentralize the network. Currently, to participate in the pool, validators need to create a voting account with 100% commission and concede the withdrawal rights to soLido program. The current implementation, raised some concerns from the community about how closed the current set is and the inability to delegate from the contract to existing public nodes. Furthermore, the current implementation brings additional costs to node operators, which makes the set less stable, especially in a bear market.

We are committed to the values put forward by the community, and these values are the basis of our vision to improve the validator set in Lido on Solana. Our goal is to create a sustainable, high-performance validator set for Solana.

With the upcoming changes in the proposal, we look to enable a healthy validator economy where new and existing validators can look to participate. By removing the need to maintain a separate node, our vision is that Lido will become a great entry point for those that are looking to join the Solana cluster for the first time (e.g. Wave 3 onboarding). We also look to expand the validator limit in the contract and give back the withdrawal authority to the validators with the goal of making Lido on Solana more decentralized.

As we outlined in our previous post, our vision to make the validator set more productive and sustainable stands on three principles:

  1. Make the validator set more economically attractive for validators by dropping the 100% commission nodes in favor of public ones
  2. Truly decentralize the validator network by simplifying entry and adding validators from other ecosystems.
  3. Ensure that the validator set works better for the Solana network

After extensive discussions with both the foundation team and the node operators it’s clear that some changes must be made to the original design of Lido on Solana to make it more appealing as a solution to customers. Below we will share details about the proposed changes and would like to hear your thoughts on this.

Changes overview

The changes outlined below were made with our three core principles in mind and aim to improve decentralization. This proposal looks to address the cost for node operators, increase the limit on the validator set with the goal of building a sustainable and robust validator set with a long term outlook in the Solana ecosystem. The first steps we propose is to make the following changes to the smart contract:

PR - Transition from fully dedicated nodes with 100% fee to public ones with a variable fee.

In the original design, adding a validator to the Lido set requires the setup of an additional node with a 100% validation fee. All the rewards go to the validator vote account from which the soLido program has withdrawn authority. A more efficient approach would be to make it possible to add public nodes to the pool with a validator fee limit. The rewards will be paid to the public validator vote account directly and the rest of the rewards will be in stake accounts that Lido on Solana governs. We believe that with this design, the Lido set will become more attractive to validators and help the product be more open and decentralized. We propose modifying the soLido program (to version 2) to allow validators with fees in a permissible range (e.g., 0% to 5%) to join the set. The exact range of acceptable fees for validators will be determined after a discussion with the current validators set.

PR - Increase the maximum number of validators.

The original design allows up to a maximum of 64 validators to the Lido set, which is associated with the Solana limit on compute budget and a limit on stack and heap memory which don’t allow a decent number of validators to fit in. A better approach is to expand the program’s capability and increase the possible number of validators to 6,700 (This figure was chosen to allow for future scalability of the product and was verified by stress testing). This will allow the validator set to scale and help the product become more decentralized.

Security considerations

Audit

Right now, we are at the end of an external audit, being conducted by Neodyme, of the new version of the smart contract. Details will be added to this thread when ready.

Upgrade script steps

The program upgrade will be conducted within 1 epoch to minimize the loss of user rewards as outlined below:

End of epoch n:

  • Deactivate current validators

On epoch n+1:

  • Propose program upgrade
  • Propose migration​
  • Approve program update and migration
  • Add validators public nodes to the set

Action plan

Snapshot voting

A snapshot vote will be started next week to measure the DAO sentiment towards the proposed changes.

Setting the commission limit

We are already in discussions with current validators and plan to start a separate forum thread on September 23. A link to the discussions will be added here once created.

Integrations reach out

We will reach out to the protocols integrated with Lido that might possibly be affected by the introduced changes to make sure they are prepared for this upgrade before it’s applied.


Stay tuned,
Lido on Solana Team

10 Likes

The Chinese translation here (中文翻译).

1 Like

Together with the Wave 3 onboarding, I think these protocol upgrades will pave the way for Lido on Solana to be an even more inclusive and competitive staking solution within the Solana ecosystem. There is still a lot of work to be done, but I think this is set of changes more closely aligns Lido with the desires around validator set makeup as expressed by the Solana community and creates a new base layer for even more experimentation and improvements of how the Lido on Solana protocol works and enfranchises smaller validators to be valuable contributors within the ecosystem.

3 Likes

Hi all,
I want to share with you the following updates that I refer on the original post.

1/
A discussion about the commission has begun in a separate thread on September 26, and you can see the details here. We would like to suggest setting the maximum commission for a validator to be eligible to receive delegation from Lido on Solana to 5%.

2/
Lido on Solana v2 have been audited and considered secure by Neodyme. The full audit report is available here.

Best,
Pavel

1 Like

Snapshot voting is now alive and is waiting for your votes: Snapshot

:alarm_clock: ends on on October 24 at 5PM UTC

3 Likes

I don’t think this proposal connects enough with the current economic conditions in the Solana validator ecosystem and the difficulty that new entrants currently face when trying to attract stake, and I don’t think that focusing on adding validators from new ecosystems helps Solana that much per se. As it stands, it is very difficult to attract stake even as a validator that sets 0% commission fees. We are one of the most active validators in the community with 0% commission and currently have ~280k stake, which is still about half as much as we need to break even on voting and server costs (~$700 per month with Latitude.sh). Setting a commission higher than 0% makes it even harder to attract stake and the majority of our stake is currently from a few stakepools. We started our server at the beginning of Jun 2022 (but have been present in Solana ecosystem longer) and have more stake than a number of other community validators that also run at 0% commission. My fear is that a lot of the current community validators (who tend to be a lot more present and dedicated than the non-present validators who might run servers on multiple chains) will go extinct unless they can obtain more stake and/or there are some significant increases in block/mev rewards on Solana. An example of this is Backbone.link validator who was a well liked newer validator operator in the Solana ecosystem who started around the time that we did. Due to being unable to attract more stake (even at 0% commission) they decided to close up shop this week due to increasing costs. They have significant engineering experience and with more support I think they could have remained in the validator set and had more time and money to contribute their engineering expertise (I believe he is a hardware engineer). They probably had some of the least amount of downtime of any validator given that they had been working on making 0 downtime Solana upgrades easier for the community.

Furthermore, even many of the Solana Foundation delegation program validators who set 10% commission are either break even or losing money, and many of them need to save and costs and so are pushed toward using providers such as Hetzner. If the aim is to add 6000 validators to Solana that is great in the long term, but is just not doable for now until block rewards significantly improve or stake becomes more distributed. I think it is better to really focus on seeking out current small community validators or try to attract validators from other ecosystems who will actually be an active part of the ecosystem.

*Some evidence of us being actually involved in the community – here is a tweet from Jito Labs founder Buffalu:

Things that I personally would like to see the Solana validator set and staking behavior evolve toward:

  1. More geographic decentralization. We currently have few to no validators in South America, Africa, Australia, etc.
  2. A system where validators who are active contributors to the ecosystem are more highly valued/staked vs ones that do the bare minimum (yes, there are many that just run a server, but do we need more right now given they tend to dilute stake for many smaller validators even further?). As a staker I have always been very interested in supporting validators who showed some dedication/contribution in the ecosystem. Perhaps there is a way for entrants from new ecosystems to prove their dedication and earn their delegation in some way — the Block Logic team is probably the most qualified to judge in some way do to their ever-presence in the Solana technical community. Many of the current Solana Lido operators/team I never see around in the Solana Tech discord or elsewhere, but perhaps they just haven’t added their validator company to their discord UN.

Sorry, I couldn’t post more than 2 links in the last reply, but here is Cogent Crypto’s validator calculator which is helpful: Validator Profit Calculator

1 Like

Thanks for joining and sharing your input! I agree that we don’t necessarily want to emphasize bringing net-new validators into Solana over ensuring that community-run validators on Solana are sustainable, but it is important to be able to show that a) it is possible and b) it is viable.

In terms of finding ways to improve the viability of validators already on Solana (e.g. community vals who are running at low commission), I agree that we need to find a way to surface and assess the ecosystem involvement and participation of these community validators during the application & onboarding process. However, the subjective nature of these kinds of things makes it hard to develop a methodology that is robust and consistent. I think one thing that the LNOSG can definitely attempt for the next onboarding round is working with the broader Solana validators community to identify what some of these characteristics/attributes are, and incorporating them into the application & evaluation process, and then checking the results and fine-tuning going forward.

  1. More geographic decentralization. We currently have few to no validators in South America, Africa, Australia, etc.

I especially like and agree with this point – however it’s a bit of a “chicken / egg” situation. You need a certain critical mass of validators in these regions in order to ensure good propagation and minimize latency, but it’s also hard for such a critical mass to be built up because right now doing so means that you will invariably underperform (especially for high network-performance chain like Solana).

1 Like