Integrate cleanup from book (#1991)
This is backwards. In the future, I'll make changes to the RFC first. Once the design is implemented, it can be more of a copy-paste into the book.
This commit is contained in:
parent
4ae58cc854
commit
969016b9e4
|
@ -42,21 +42,20 @@ The diagram below represents a validator's view of the PoH stream with possible
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
time +----+ validator action
|
validator action
|
||||||
| | L1 | E(L1)
|
+----+ ----------------
|
||||||
| |----| / \ vote(E(L2))
|
| | L1 | E1
|
||||||
| | L2 | E(L2) x
|
| +----+ / \ vote(E1)
|
||||||
| |----| / \ / \ vote(E(L2))
|
| | L2 | E2 x
|
||||||
| | L3 | E(L3) x E(L3)' x
|
| +----+ / \ / \ vote(E2)
|
||||||
| |----| / \ / \ / \ / \ slash(L3)
|
time | | L3 | E3 x E3' x
|
||||||
| | L4 | x x E(L4) x x x x x
|
| +----+ / \ / \ / \ / \ slash(E3)
|
||||||
V |----| | | | | | | | | vote(E(L4))
|
| | L4 | x x E4 x x x x x
|
||||||
V | L5 | xx xx xx E(L5) xx xx xx xx
|
| +----+ | | | | | | | | vote(E4)
|
||||||
V +----+ hang on to E(L4) and E(L5) for more...
|
v | L5 | xx xx xx E5 xx xx xx xx
|
||||||
|
+----+ hang on to E4 and E5 for more...
|
||||||
|
|
||||||
```
|
Note that an `E` appearing on 2 forks at the same slot is a slashable condition, so a validator observing `E3` and `E3'` can slash L3 and safely choose `x` for that slot. Once a validator commits to a forks, other forks can be discarded below that tick count. For any slot, validators need only consider a single "has entries" chain or a "ticks only" chain to be proposed by a leader. But multiple virtual entries may overlap as they link back to the a previous slot.
|
||||||
|
|
||||||
Note that an `E` appearing on 2 forks at the same slot is a slashable condition, so a validator observing `E(L3)` and `E(L3)'` can slash L3 and safely choose `x` for that slot. Once a validator commits to a forks, other forks can be discarded below that tick count. For any slot, validators need only consider a single "has entries" chain or a "ticks only" chain to be proposed by a leader. But multiple virtual entries may overlap as they link back to the a previous slot.
|
|
||||||
|
|
||||||
#### Time Division
|
#### Time Division
|
||||||
|
|
||||||
|
@ -64,8 +63,8 @@ It's useful to consider leader rotation over PoH tick count as time division of
|
||||||
|
|
||||||
leader slot | L1 | L2 | L3 | L4 | L5
|
leader slot | L1 | L2 | L3 | L4 | L5
|
||||||
-------|----|----|----|----|----
|
-------|----|----|----|----|----
|
||||||
data | E(L1)| E(L2) | E(L3) | E(L4) | E(L5)
|
data | E1| E2 | E3 | E4 | E5
|
||||||
ticks to prev | | | | x | xx
|
ticks since prev | | | | x | xx
|
||||||
|
|
||||||
Note that only data from leader L3 will be accepted during leader slot L3. Data from L3 may include "catchup" ticks back to a slot other than L2 if L3 did not observe L2's data. L4 and L5's transmissions include the "ticks to prev" PoH entries.
|
Note that only data from leader L3 will be accepted during leader slot L3. Data from L3 may include "catchup" ticks back to a slot other than L2 if L3 did not observe L2's data. L4 and L5's transmissions include the "ticks to prev" PoH entries.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue