-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create 20240730-crescendo-path-to-mainnet.md
- Loading branch information
1 parent
1e31ca5
commit 60d69a8
Showing
1 changed file
with
44 additions
and
0 deletions.
There are no files selected for viewing
44 changes: 44 additions & 0 deletions
44
governance/governance/20240730-crescendo-path-to-mainnet.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# FLIP-284: Crescendo Path to Mainnet | ||
|
||
| Status | Accepted | | ||
:-------------- |:---------------------------------------------------- | | ||
| **FLIP #** | 284 | ||
| **Author(s)** | Vishal Changrani ([email protected]) | | ||
| **Sponsor** | Vishal Changrani ([email protected]) | | ||
| **Updated** | 2024-07-30 | | ||
|
||
## Introduction | ||
|
||
This FLIP proposes a gradual rollout plan for the Crescendo network upgrade on Flow’s mainnet, starting with a 0% failure rate and incrementally increasing to 100% by the end of a month-long period. This approach ensures that by the, all transactions on the network will have been rigorously tested and validated, guaranteeing that Crescendo’s mainnet environment is robust and reliable. | ||
|
||
## Motivation | ||
The main goal of this FLIP is to transition smoothly to a more stable and reliable mainnet environment without causing significant disruptions to developers and users. The strategy is designed to allow for gradual adaptation, extensive testing, and iterative improvements, significantly reducing the risk of major issues when the new system is fully implemented. | ||
|
||
## Design | ||
- Initiation Phase: Starting with a transaction failure mechanism at 0%, allowing the network and its participants to adapt without initial disruption. | ||
- Escalation Mechanism: Utilizing a continuous escalation strategy, where the percentage of transactions set to fail will increase with each block, reaching 100% failure rate. | ||
- Monitoring and Evaluation: Implementing continuous monitoring of transaction failures, with a system in place to evaluate and mitigate issues if the failure rate exceeds 50% of total network transactions at any time. | ||
|
||
## Implementation | ||
### Tools and Technologies | ||
- The implementation will utilize Flow’s Verifiable Random Function (VRF) to ensure randomness and fairness in the transaction failure process. | ||
|
||
### Roles and Responsibilities | ||
- Designated team members will monitor the upgrade process, ensuring that any necessary adjustments are made promptly. | ||
- Actual adjustments on-chain will be made by the service committee. | ||
|
||
### Test Cases | ||
- Early Phase Testing: Evaluate the system’s response and developer’s adjustments when the failure rate is below 10%. | ||
- Mid-Phase Testing: Assess network stability and data integrity when the failure rate reaches around 50%. | ||
- Final Phase Testing: Confirm that all systems operate smoothly at 100% failure rate and that all necessary mitigations are effective. | ||
|
||
### Dependencies | ||
- This FLIP depends on the successful integration of Flow’s VRF and the readiness of the network’s existing infrastructure to support the incremental upgrades. | ||
|
||
### Security and Privacy Considerations | ||
- The upgrade process will be closely monitored for any potential security vulnerabilities that could arise from increased transaction failures. | ||
- Privacy will be maintained according to Flow’s standard operational protocols, ensuring that no sensitive data is compromised during the testing phases. | ||
|
||
### References | ||
- Issue tracking this FLIP: [284](https://github.com/onflow/flips/issues/284) | ||
- Forum Post (to be posted) |