@@ -16,8 +16,16 @@ extends: null
16
16
## Summary
17
17
18
18
Separate the execution of vote and non-vote transactions in each block. The
19
- vote transactions will be verified and executed first, then the non-vote
20
- transactions will be executed later asynchronously to finalize the block.
19
+ vote transactions and non-vote transactions will be verified and executed
20
+ independently. Because the vote transactions are normally much faster to
21
+ execute, under most cases this means vote transactions will finish
22
+ execution first.
23
+
24
+ The eventual goal is to completely separate vote and non-vote transaction
25
+ executions. But right now we still have some dependency that non-vote
26
+ transactions need to read the vote state in its parent block, so currently we
27
+ restrict that non-vote transactions cannot start execution until the vote
28
+ transactions of its parent block has finished.
21
29
22
30
## Motivation
23
31
@@ -78,15 +86,22 @@ route during rollouts though.
78
86
To make sure vote transactions can be executed independently, we need to
79
87
isolate its dependencies.
80
88
81
- #### Remove clock program's dependency on votes
89
+ #### Remove clock program's dependency on votes (postponed)
82
90
83
- Introduce new transaction ` ClockBump ` to remove current clock program's
84
- dependency on votes.
91
+ The eventual goal is to introduce new transaction ` ClockBump ` to remove
92
+ current clock program's dependency on votes.
85
93
86
94
The transaction ` ClockBump ` is sent by a leader with at least 0.5% stake
87
95
every 12 slots to correct the clock drift. A small script can be used to
88
96
refund well-behaving leaders the cost of the transactions.
89
97
98
+ But currently we will keep the clock calculation as is, since the clock
99
+ sysvar uses the vote-state of the parent block to calculate average
100
+ timestamp, and we have restrictions that the UED transactions in a
101
+ block cannot start execution until the VED transactions in its
102
+ ancestors have finished. So we can currently leave clock sysvar
103
+ calculation as is.
104
+
90
105
#### Split vote accounts into two accounts in VED and UED respectively
91
106
92
107
We need to allow users move money in and out of the vote accounts, but
0 commit comments