Skip to content

Commit 4c37f09

Browse files
author
Alexander Hentschel
committed
extension
1 parent 744cda2 commit 4c37f09

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

protocol/20241031-execution-stack-versioning.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ updated: 2024-10-31
77
---
88

99

10-
# [FLIP ???] Utilize Dynamic Protocol State for Version Beacon (coordinating upgrades of the Execution Stack)
10+
# [FLIP 296] Utilize Dynamic Protocol State for Version Beacon (coordinating upgrades of the Execution Stack)
1111

1212
## Objective
1313
![Overview](20241031-execution-stack-versioning/Execution_Stack_Versioning_goal.png)
@@ -19,12 +19,12 @@ updated: 2024-10-31
1919

2020
## Terminology
2121

22-
See blog post [[1](https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717)] for further details
22+
See blog post [[1](https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717)] for further details:
2323

2424
**Software Version** - The version identifier of a binary distribution of Flow Node software.
2525
By convention, we use semver-ish tag in Git and Docker releases.
2626

27-
Software has bugs. and is frequently incomplete (e.g. API returning ‘not yet implemented’).
27+
Software has bugs and is frequently incomplete (e.g. API returning ‘not yet implemented’).
2828
The software version is a meaningful reference to describe what the software does in the real world.
2929

3030
However, we also desire a compact identifier [which we will call the ‘Component Version’] of how a Flow node *should* behave.
@@ -42,7 +42,9 @@ In the nutshell, for every block there is one and only one correct way of how to
4242
- A software version can implement multiple Component Versions.
4343
E.g. AN supporting script execution across HCU boundaries
4444

45-
❗Don’t couple the software version to the component version!
45+
❗Don’t couple the software version to the component version! We know there will be scenarios where we want one software to implement multiple
46+
Component Versions and at that point, any one-to-one coupling of Software and Component Version will necessarily break. Instead, for each software
47+
version, we conceptually have a _list_ of Component Versions that this software supports (even if that list only contains a single element most of the time).
4648

4749

4850
### Reasons we want to move away from existing Version Beacon:

0 commit comments

Comments
 (0)