From 60d69a8cd314bdf160a0d65ee3308a0d4c787652 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Tue, 30 Jul 2024 13:23:11 -0700 Subject: [PATCH 1/8] Create 20240730-crescendo-path-to-mainnet.md --- .../20240730-crescendo-path-to-mainnet.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 governance/governance/20240730-crescendo-path-to-mainnet.md diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md new file mode 100644 index 00000000..76268ace --- /dev/null +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -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) From 75ea2d6c32333bb00845a8bbd62de5ec7b831460 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Tue, 30 Jul 2024 13:39:32 -0700 Subject: [PATCH 2/8] Update 20240730-crescendo-path-to-mainnet.md --- .../governance/20240730-crescendo-path-to-mainnet.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index 76268ace..2333d948 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -27,18 +27,18 @@ The main goal of this FLIP is to transition smoothly to a more stable and reliab - 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 +## 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 +## 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 +## 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 +## References - Issue tracking this FLIP: [284](https://github.com/onflow/flips/issues/284) - Forum Post (to be posted) From c80d9be483bded1374bf8f8726b7acbaca69533e Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Tue, 30 Jul 2024 13:40:42 -0700 Subject: [PATCH 3/8] Update 20240730-crescendo-path-to-mainnet.md --- .../governance/20240730-crescendo-path-to-mainnet.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index 2333d948..86e04635 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -1,11 +1,11 @@ # 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 | +| Status | Accepted | +:-------------- |:-----------------| +| **FLIP #** | 284 | +| **Author(s)** | Vishal Changrani | +| **Sponsor** | Vishal Changrani | +| **Updated** | 2024-07-30 | ## Introduction From c7327f45598c82bed8a99fccedb0034cdae8e4b8 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:46:27 -0700 Subject: [PATCH 4/8] Update governance/governance/20240730-crescendo-path-to-mainnet.md --- governance/governance/20240730-crescendo-path-to-mainnet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index 86e04635..5f84acbc 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -1,6 +1,6 @@ # FLIP-284: Crescendo Path to Mainnet -| Status | Accepted | +| Status | Proposed | :-------------- |:-----------------| | **FLIP #** | 284 | | **Author(s)** | Vishal Changrani | From 09c6637f4a354444fbca5901be862da1520d783f Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:46:46 -0700 Subject: [PATCH 5/8] Update governance/governance/20240730-crescendo-path-to-mainnet.md --- governance/governance/20240730-crescendo-path-to-mainnet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index 5f84acbc..5264da3c 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -9,7 +9,7 @@ ## 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. +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. From 6d15dde516f5e5816f1d92b1ba1558c660f2f288 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:03:06 -0700 Subject: [PATCH 6/8] Update governance/governance/20240730-crescendo-path-to-mainnet.md --- governance/governance/20240730-crescendo-path-to-mainnet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index 5264da3c..a170e2f3 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -41,4 +41,4 @@ The main goal of this FLIP is to transition smoothly to a more stable and reliab ## References - Issue tracking this FLIP: [284](https://github.com/onflow/flips/issues/284) -- Forum Post (to be posted) +- [Forum Post](https://forum.flow.com/t/crescendo-network-upgrade-on-flows-mainnet/6323) From 290af5a48e08bbbf9918c18f18828918de16022e Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 14 Aug 2024 19:41:49 -0700 Subject: [PATCH 7/8] Updating status of FLIP 284 to Accepted --- governance/governance/20240730-crescendo-path-to-mainnet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index a170e2f3..31603bb0 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -1,6 +1,6 @@ # FLIP-284: Crescendo Path to Mainnet -| Status | Proposed | +| Status | Accepted | :-------------- |:-----------------| | **FLIP #** | 284 | | **Author(s)** | Vishal Changrani | From 40f49b9f2a632c1378c96e5c89abf1a19a03f40c Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 14 Aug 2024 19:45:43 -0700 Subject: [PATCH 8/8] Update governance/governance/20240730-crescendo-path-to-mainnet.md --- governance/governance/20240730-crescendo-path-to-mainnet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/governance/governance/20240730-crescendo-path-to-mainnet.md b/governance/governance/20240730-crescendo-path-to-mainnet.md index 31603bb0..a170e2f3 100644 --- a/governance/governance/20240730-crescendo-path-to-mainnet.md +++ b/governance/governance/20240730-crescendo-path-to-mainnet.md @@ -1,6 +1,6 @@ # FLIP-284: Crescendo Path to Mainnet -| Status | Accepted | +| Status | Proposed | :-------------- |:-----------------| | **FLIP #** | 284 | | **Author(s)** | Vishal Changrani |