-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create 20240730-crescendo-path-to-mainnet.md #285
Open
vishalchangrani
wants to merge
8
commits into
main
Choose a base branch
from
vishal/284_crescendo_path_mainnet_flip
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 7 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
60d69a8
Create 20240730-crescendo-path-to-mainnet.md
vishalchangrani 75ea2d6
Update 20240730-crescendo-path-to-mainnet.md
vishalchangrani c80d9be
Update 20240730-crescendo-path-to-mainnet.md
vishalchangrani c7327f4
Update governance/governance/20240730-crescendo-path-to-mainnet.md
vishalchangrani 09c6637
Update governance/governance/20240730-crescendo-path-to-mainnet.md
vishalchangrani 6d15dde
Update governance/governance/20240730-crescendo-path-to-mainnet.md
vishalchangrani 290af5a
Updating status of FLIP 284 to Accepted
vishalchangrani 40f49b9
Update governance/governance/20240730-crescendo-path-to-mainnet.md
vishalchangrani File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 | | ||
vishalchangrani marked this conversation as resolved.
Show resolved
Hide resolved
vishalchangrani marked this conversation as resolved.
Show resolved
Hide resolved
|
||
:-------------- |:-----------------| | ||
| **FLIP #** | 284 | | ||
| **Author(s)** | Vishal Changrani | | ||
| **Sponsor** | Vishal Changrani | | ||
| **Updated** | 2024-07-30 | | ||
|
||
## Introduction | ||
|
||
This FLIP proposes a pathway in which smart contracts along with the transactions and app that use them can be validated as being staged or updated for the upcoming Crescendo release. In this rollout there will be logic deployed that ensures that all the smart contracts being used in a transaction are successfully staged for Mainnet meaning that after the Crescendo upgrade this transaction will still function. While doing this inspection if they fail the entire transaction can fail on the network so that applications and users can be aware there are missing dependencies after the Crescendo upgrade. So that we can ramp up the network and developersthe network will be building up the rate in which transactions that are inspected and fail on the network starting with a 0% rate in which failed inspected transactions fail on the network and incrementally increasing to 100% by the end of a multi-week 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](https://forum.flow.com/t/crescendo-network-upgrade-on-flows-mainnet/6323) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the status already accepted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:( my bad. I copied the header from a pervious FLIP and forgot to change it to Drafted