Skip to content

Commit 957bf61

Browse files
committed
linter again
1 parent 057f098 commit 957bf61

File tree

1 file changed

+36
-11
lines changed

1 file changed

+36
-11
lines changed

proposals/0301-remove-bank-hash-from-votes.md

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,27 @@ status: Draft
99
created: 2025-06-10
1010
feature: (fill in with feature key and github tracking issues once accepted)
1111
supersedes: (optional - fill this in if the SIMD supersedes a previous SIMD)
12-
superseded-by: (optional - fill this in if the SIMD is superseded by a subsequent SIMD)
13-
extends: (optional - fill this in if the SIMD extends the design of a previous SIMD)
12+
superseded-by:
13+
(optional - fill this in if the SIMD is superseded by a subsequent SIMD)
14+
extends:
15+
(optional - fill this in if the SIMD extends the design of a previous SIMD)
1416
---
1517

1618
## Summary
1719

18-
This proposal would remove BankHash from votes on Solana to allow voting before replay is complete. If all the prerequisites are satisfied before Alpenglow is ready to rollout then it can be activated with Alpenglow. Otherwise it must be a feature flag.
20+
This proposal would remove BankHash from votes on Solana to allow voting before
21+
replay is complete. If all the prerequisites are satisfied before Alpenglow is
22+
ready to rollout then it can be activated with Alpenglow. Otherwise it must be a
23+
feature flag.
24+
25+
This is a very long line of text that should be wrapped by Prettier at eighty
26+
characters if proseWrap is set to always and printWidth is set to eighty.
1927

2028
## Motivation
2129

22-
Currently, votes include the BankHash, which ties votes to a fully executed bank state. Removing BankHash from votes allows validators to vote before execution completes. This is also called Asynchronous Execution.
30+
Currently, votes include the BankHash, which ties votes to a fully executed bank
31+
state. Removing BankHash from votes allows validators to vote before execution
32+
completes. This is also called Asynchronous Execution.
2333

2434
The synchronous confirmation flow after Alpenglow looks like this:
2535

@@ -29,7 +39,8 @@ The synchronous confirmation flow after Alpenglow looks like this:
2939
|--------------- validator executes block -----------------|
3040
```
3141

32-
After this feature flag activates validators will be able to vote before they finish executing the block:
42+
After this feature flag activates validators will be able to vote before they
43+
finish executing the block:
3344

3445
```text
3546
| ----- leader broadcasts the block through rotor -------|
@@ -41,7 +52,8 @@ After this feature flag activates validators will be able to vote before they fi
4152

4253
This proposal contains a single change:
4354

44-
1. Remove BankHash from votes. Validators will no longer include the BankHash in their vote messages. The vote structure and any related consensus logic will be updated accordingly.
55+
1. Remove BankHash from votes. Validators will no longer include the BankHash in
56+
their vote messages.
4557

4658
## Dependencies
4759

@@ -57,16 +69,29 @@ This proposal contains a single change:
5769

5870
## Impact
5971

60-
This change is not expected to have any direct impact on app developers. It is a consensus-breaking change and will require all validators to update their software to the new vote structure. Validators running older versions will be unable to participate in consensus once the feature flag is activated.
72+
This change is not expected to have any direct impact on app developers. It is a
73+
consensus-breaking change and will require all validators to update their
74+
software to the new vote structure. Validators running older versions will be
75+
unable to participate in consensus once the feature flag is activated.
6176

6277
## Security Considerations
6378

64-
Removing BankHash from votes does not introduce new security risks by itself, but it is a foundational change for future protocol improvements. Care must be taken to ensure that consensus remains robust and that the transition is coordinated across the validator network.
79+
Removing BankHash from votes does not introduce new security risks by itself
80+
when coupled with SIMD-0298 which adds the BankHash of the parent to each block,
81+
because the BankHash is still part of consensus.
6582

6683
## Drawbacks
6784

68-
This is a breaking change to the vote structure, requiring a coordinated upgrade across the network.
69-
7085
## Backwards Compatibility
7186

72-
This proposal requires a breaking change to the vote structure. All validators must implement the new vote format. The change will be gated behind a feature flag and activated in a coordinated manner. Validators running older versions will be unable to participate in consensus once the feature flag is activated.
87+
Either the prerequisites are all satisfied by the time Alpenglow is ready, in
88+
which case we can just launch alpenglow votes without the BankHash in them, or
89+
we will need a feature flag.
90+
91+
This proposal requires a breaking change to the vote structure. All validators
92+
must implement the new vote format. The change will be gated behind a feature
93+
flag and activated in a coordinated manner. Validators running older versions
94+
will be unable to participate in consensus once the feature flag is activated.
95+
96+
This is a very long line of text that should be wrapped by Prettier at eighty
97+
characters if proseWrap is set to always and printWidth is set to eighty.

0 commit comments

Comments
 (0)