You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Smoldot currently treats parachain blocks as opaque. It tries to decode them, but if it fails everything continues anyway.
Due to this, it makes the assumption that if relayChainBlock1 is the parent of relayChainBlock2, then parahead(relayChainBlock1) is also the parent of parahead(relayChainBlock2).
I think that this might not necessarily be the case, for example if the relay chain stalls.
Unfortunately, figuring out the parent of a block requires decoding it, which, again, might not be possible.
We could in principle have 2 code paths: one where parents are always correct if blocks are decodable, and one where they're not necessarily. But I don't think that this is the best idea, because this behaviour is surprising, and that blocks might become undecodable in case of breaking change.
The text was updated successfully, but these errors were encountered:
tomaka
changed the title
Parachain parent-child-relationship confusions
Parachain parent-child relationship confusions
May 2, 2024
Smoldot currently treats parachain blocks as opaque. It tries to decode them, but if it fails everything continues anyway.
Due to this, it makes the assumption that if
relayChainBlock1
is the parent ofrelayChainBlock2
, thenparahead(relayChainBlock1)
is also the parent ofparahead(relayChainBlock2)
.I think that this might not necessarily be the case, for example if the relay chain stalls.
Unfortunately, figuring out the parent of a block requires decoding it, which, again, might not be possible.
We could in principle have 2 code paths: one where parents are always correct if blocks are decodable, and one where they're not necessarily. But I don't think that this is the best idea, because this behaviour is surprising, and that blocks might become undecodable in case of breaking change.
The text was updated successfully, but these errors were encountered: