3

I checked the solana project for a while and found that the repository is being upgraded continuously all the time. As blockchain is a state replicator machine, the validator project is already distributed across validators and might be impossible to upgrade at once. An other problem might be the existing states. In case solana project is upgraded, how is that reflected across the overall chain? For example, testnet should run with the upgraded version while preserving the previous states and transaction history generated by older version. Can anybody help me with this question?

2 Answers 2

0

To upgrade solana version, you need to follow the failover method. https://docs.solana.com/running-validator/validator-failover

If you just stop the running validator and start with new solana version, that can be really dangerous. If the validator was a leader, there can be penalty for this. If all validators just stop and start with the new version, the network might result in chaos because of unexpected penalty and sync problem.

Thus to upgrade the validator, need to wait until another validator(which can be thought of temp validator) use current validator's identity to take part in consensus(this is done via manual failover trigger). Once secondary validator use current identity, current validator can safely exit and restart with the upgraded version. Once the current validator start with new version, the secondary validator stops working.

2

for for the Solana Labs client, there is new versions released constantly. You can see the current cluster versions like this: for mainnet

solana cluster version -um 

and

solana cluster version -ud 

for devnet. Currently both at 1.14.19.

If now the chain wants to update to lets say 1.16.1 all the validators need to come together and start upgrading. The progress of the upgrade can be seen in all the validators staked sol that are running the new version. If it reaches 80% for the new version the upgrade reaches super majority and was successful.

Usually new features and state changes are not directly tied to the version upgrades but work like feature flags, which are called feature gates in Solana. These are first activated on test net, then devnet and then mainnet.

Here you can see the schedule of the next feature gates:

https://github.com/solana-labs/solana/wiki/Feature-Gate-Activation-Schedule

2
  • Thank you for letting me know. In this case, what does validators need to do? Just get the upgraded version and restart the validator? Jul 3, 2023 at 10:50
  • I think thats how it works yet. Have not run my own validator yet though.
    – Jonas H.
    Jul 3, 2023 at 11:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.