Skip to content

Commit

Permalink
fin
Browse files Browse the repository at this point in the history
  • Loading branch information
Longarithm committed Jun 13, 2024
1 parent 87d6e97 commit 29f18e1
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion neps/nep-0509.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ The current high-level chunk production flow, if we drop details and edge cases,
The "induction base" is at genesis height, where genesis block with default chunks is accessible to everyone, so chunk producers can start right away from genesis height + 1.

One can observe that there is no "chunk validation" step here.
To simplify explanation, let's say that certain validator considers chunk C(S, H+1) valid iff **post state root** it computed by executing C(S, H) is the same as **pre state root** proposed in `ChunkHeader` `prev_state_root` field of C(S, H+1).
To simplify explanation how this happens right now, let's say that certain validator considers chunk C(S, H+1) valid iff **post state root** it computed by executing C(S, H) is the same as **pre state root** proposed in `ChunkHeader` `prev_state_root` field of C(S, H+1).
BP(H+1), in fact, includes all received chunks in B(H+1), even invalid ones. But their rejection still will happen because currently **block producers are required to track all shards**, which implies that they execute all the chunks.
So, each block producer locally has **post state roots** for all C(S, H) and can check validity of every chunk in B(H+1).
If some C(S, H+1) is invalid, the whole B(H+1) is ignored.
Expand Down

0 comments on commit 29f18e1

Please sign in to comment.