Polkadot Consensus Explainer

I wrote a blog post that explains in simple terms how Polkadot provides security for parachains.


So from this statement

Once the candidate is available the state transition is considered effectful. That is, the new state returned by the PVF is saved in the relay chain, messages sent by the parachain are dispatched, etc

If the messages are dispatched after the inclusion of the parachain state into the relay chain. How does it know the end state?
Because after the dispatching of the messages is when the data in the state changes and that result in changing of block header state trie root.

To be more clear initially before dispatching of messages , the state is S and after dispatching that is when the data is updated in the state and becomes S’. So if it stores the state of parachain before dispatching how can it validate if the state is correct?

Now, I am kind of regretting that I put the dispatching messages part since I did not really explain that at all.

Let’s deconstruct “dispatching messages”.

The messages in this context mean XCMP/HRMP (only outbound) and UMP. That is the messages that originate from the parachain in question to the relay chain. “Dispatching” can be interpreted as sending out messages. Since those are outbound messages they do not affect the state of the sending parachain.

1 Like