You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This outline serves to articulate engineering efforts to introduce a new mechanism for activating Solana runtime features, particularly in an environment where multiple validator clients exist in significant capacity.
Goals:
An official process for upgrading core BPF programs and migrating native
programs to core BPF
Expanded control over pending feature activations
Automatic feature activation selection based on stake weight with supporting
software
Decentralized control over queuing new runtime features
Resulting Architecture:
Core BPF Programs: Enshrined BPF programs responsible for integral
cluster operations, including managing feature gates.
Feature Control: Features can be created by anyone. Each is owned by the
core BPF Feature Gate program at Feature111111111111111111111111111111111111, which gives core contributors
added control over pending activations.
Feature Recognition & Activation: Features qualify for activation based
on stake support of nodes who recognize the feature in their software
version.
Feature Queuing: A governance process nominates eligible features that
should be queued for activation.
Delivering this end result will comprise at least four SIMDs. The first two SIMDs must be completed in sequence, while the remaining two can be developed in parallel.
Add a new native Feature Gate program at address Feature111111111111111111111111111111111111 with a RevokePendingActivation instruction for revoking features queued for activation
Use the new migration process to convert this program from native to core BPF
Add functionality to the Feature Gate program to manage feature “recognition”, including:
Tracking a node’s recognized features on-chain
Recording this information through a well-defined program instruction
Implement an automated process for marking proposed features as "eligible" based on stake support, including:
Assessing stake support for particular features through Feature Gate program on-chain data
Marking eligible only those with the necessary support
This SIMD can be completed in parallel with the next SIMD in the outline, since the functionality added to the Feature Gate Program would be isolated from any functionality developed in SIMD 4/4. Also, should the next SIMD (4/4) be completed first, the governance process for queueing can easily be places after threshold automation.
SIMD 4/4: Governance for Queuing Feature Activations
Goals:
Establish a governance system for queueing eligible runtime features
Upgrade and leverage the Feature Proposal program for voting on queueing eligible features
Add functionality to the runtime for consuming feature proposals under this new process, including:
Cleanup of spam feature accounts (non-proposals)
Reading proposed feature accounts instead of created
This SIMD can be completed in parallel with the previous SIMD in the outline because, again, functionality added to the Feature Gate Program would be isolated from any functionality developed in SIMD 3/4.
In the case of this SIMD, the runtime changes for evaluating votes on eligible features can be implemented without SIMD 3/4 and later moved behind threshold automation.
The text was updated successfully, but these errors were encountered:
SIMD Roadmap: Multi-Client Feature Gates
This outline serves to articulate engineering efforts to introduce a new mechanism for activating Solana runtime features, particularly in an environment where multiple validator clients exist in significant capacity.
Goals:
programs to core BPF
software
Resulting Architecture:
cluster operations, including managing feature gates.
core BPF Feature Gate program at
Feature111111111111111111111111111111111111
, which gives core contributorsadded control over pending activations.
on stake support of nodes who recognize the feature in their software
version.
should be queued for activation.
Delivering this end result will comprise at least four SIMDs. The first two SIMDs must be completed in sequence, while the remaining two can be developed in parallel.
SIMD 1/4: Enable Core BPF Programs (solana-foundation#88)
Goals:
This SIMD must be completed first.
SIMD 2/4: Programify Feature Gate Program (solana-foundation#77)
Goals:
Feature111111111111111111111111111111111111
with aRevokePendingActivation
instruction for revoking features queued for activationThis SIMD must be completed second.
SIMD 3/4: Feature Gate Threshold Automation (solana-foundation#72)
Goals:
This SIMD can be completed in parallel with the next SIMD in the outline, since the functionality added to the Feature Gate Program would be isolated from any functionality developed in SIMD 4/4. Also, should the next SIMD (4/4) be completed first, the governance process for queueing can easily be places after threshold automation.
SIMD 4/4: Governance for Queuing Feature Activations
Goals:
This SIMD can be completed in parallel with the previous SIMD in the outline because, again, functionality added to the Feature Gate Program would be isolated from any functionality developed in SIMD 3/4.
In the case of this SIMD, the runtime changes for evaluating votes on eligible features can be implemented without SIMD 3/4 and later moved behind threshold automation.
The text was updated successfully, but these errors were encountered: