Skip to content

Commit

Permalink
Create 20240730-crescendo-path-to-mainnet.md
Browse files Browse the repository at this point in the history
  • Loading branch information
vishalchangrani committed Jul 30, 2024
1 parent 1e31ca5 commit 60d69a8
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions governance/governance/20240730-crescendo-path-to-mainnet.md
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 (vishal.changrani@flowfoundation.com) |
| **Sponsor** | Vishal Changrani (vishal.changrani@flowfoundation.com) |
| **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)

0 comments on commit 60d69a8

Please sign in to comment.