Add the brief of `per_block` processing, and nudge some wording

This commit is contained in:
Hsiao-Wei Wang 2019-01-28 01:49:15 +08:00
parent 1a41078768
commit 41827d26ec
No known key found for this signature in database
GPG Key ID: 95B070122902DEA4
1 changed files with 5 additions and 4 deletions

View File

@ -765,12 +765,13 @@ def lmd_ghost(store: Store, start_state: BeaconState, start_block: BeaconBlock)
## Beacon chain state transition function
We now define the state transition function. At a high level the state transition is made up of two parts:
We now define the state transition function. At a high level the state transition is made up of three parts:
1. The per-slot transitions, which happens every slot, and only affects a parts of the `state`.
2. The per-epoch transitions, which happens at every epoch boundary (i.e. `state.slot % EPOCH_LENGTH == 0`), and affects the entire `state`.
1. The per-slot transitions, which happens every slot.
2. The per-block transitions, which happens at every block.
3. The per-epoch transitions, which happens at every epoch boundary (i.e. `state.slot % EPOCH_LENGTH == 0`).
The per-slot transitions generally focus on verifying aggregate signatures and saving temporary records relating to the per-slot activity in the `BeaconState`. The per-epoch transitions focus on the [validator](#dfn-validator) registry, including adjusting balances and activating and exiting [validators](#dfn-validator), as well as processing crosslinks and managing block justification/finalization.
The per-slot transitions focus on the slot counter and block roots records updates; the per-block transitions generally focus on verifying aggregate signatures and saving temporary records relating to the per-block activity in the `BeaconState`; the per-epoch transitions focus on the [validator](#dfn-validator) registry, including adjusting balances and activating and exiting [validators](#dfn-validator), as well as processing crosslinks and managing block justification/finalization.
### Helper functions