Skip to content
This repository has been archived by the owner on Jan 22, 2025. It is now read-only.

Feature Gate: Additional Vote Stake Threshold #34158

Closed
bw-solana opened this issue Nov 17, 2023 · 6 comments
Closed

Feature Gate: Additional Vote Stake Threshold #34158

bw-solana opened this issue Nov 17, 2023 · 6 comments
Assignees
Labels
feature-gate Pull Request adds or modifies a runtime feature gate

Comments

@bw-solana
Copy link
Contributor

bw-solana commented Nov 17, 2023

SIMD

None

Description

#34120 adds an additional vote lockout stake threshold to try and minimize the number of votes a validator might cast voting down the "wrong" minority fork.

Feature gate is needed because there is a desire to keep the voting behavior consistent between validators as part of rolling out to reduce the chances of consensus problems. That said, it is possible the cluster can survive okay with mixed voting thresholds. In fact, some modded validators have already tweaked these thresholds.

Feature ID

CvgUdmzBnu4kwtL1nurkhK7iXPAdY6QnTKS41H3Jz574

Activation Method

Single Core Contributor

Deployment Considerations

Need to monitor partitioning and associated partition time resolution metrics. Intention is for this feature to help reduce long lockout times in some cases.

Minimum Beta Version

No response

Minimum Stable Version

No response

Testnet Activation Epoch

No response

Devnet Activation Epoch

No response

Mainnet-Beta Activation Epoch

No response

@bw-solana bw-solana added the feature-gate Pull Request adds or modifies a runtime feature gate label Nov 17, 2023
@bw-solana bw-solana self-assigned this Nov 17, 2023
@CantelopePeel
Copy link

Hi Liam from Firedancer here. This feature likely requires a SIMD and will require a formal spec in order for the Firedancer to implement this change. It also affects vote economics and needs to have community input.

@bji
Copy link
Contributor

bji commented Nov 18, 2023

Hi Liam from Firedancer here. This feature likely requires a SIMD and will require a formal spec in order for the Firedancer to implement this change. It also affects vote economics and needs to have community input.

This is not a protocol change though is it? It's just an implementation detail of how the Solana Labs validator implementation chooses to vote and when.

@bji
Copy link
Contributor

bji commented Nov 18, 2023

BTW it's my opinion that it would be safer to roll this out incrementally. Maybe having the implementation only enable the behavior if the validator's vote account pubkey starts with 'A' or something like that. Whatever would capture a subset of 10% or less. I'd rather see the changed voting behavior incrementally roll out in this fashion than all at once via a feature. The cluster can survive 10% of stake going AWOL because of a consensus change; but can't handle 100% doing that.

@bji
Copy link
Contributor

bji commented Nov 18, 2023

Maybe like 10 features. Each one enabling the behavior for some incremental subset of the cluster. Then ramp it up one feature flag per epoch or something.

@bw-solana
Copy link
Contributor Author

Hi Liam from Firedancer here. This feature likely requires a SIMD and will require a formal spec in order for the Firedancer to implement this change. It also affects vote economics and needs to have community input.

This is not a protocol change though is it? It's just an implementation detail of how the Solana Labs validator implementation chooses to vote and when.

Right, not a protocol change. In fact, several validators run with modded thresholds already.

I'm sort of on the fence on this one. I'm happy to write up a SIMD and solicit input if others think it's valuable. I also agree with @bji that a more gradual rollout (either organically or via some tightly controlled feature gate) might actually help prevent testnet from falling over.

@bw-solana bw-solana changed the title Feature Gate: Addition Vote Stake Threshold Feature Gate: Additional Vote Stake Threshold Feb 26, 2024
@bw-solana
Copy link
Contributor Author

Closing as this feature gate was removed from the code. Vote threshold changes were pushed in unconditionally

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-gate Pull Request adds or modifies a runtime feature gate
Projects
None yet
Development

No branches or pull requests

3 participants