-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[stateless_validation] Missing main transition state proof for old block #10964
Comments
I don't understand. With mainnet's epoch length, why would state witness for a chunk be needed more than 1 epoch later? We can assume that a chunk will be produced every epoch |
I think it only can happen if we have a very long range of consecutive missing chunks. Something that won't probably happen on mainnet, but it happened on statelessnet. |
@bowenwang1996 I don't feel confident about this for making design decisions... I think we need some exact defensive mechanism against it. Like, don't finalise epoch until each shard has at least one chunk in it. But again, it doesn't help with attack above. |
What are they getting by doing so? Doesn't this mean they won't get any reward and risking themselves of getting kicked out? |
I think we should do that, but mainnet launch does not have to block on it. Also, why doesn't it help with the attack? Yes if all chunk producers collude they can prevent an epoch from ending but it doesn't serve them any benefit. Rather, they won't get any reward if an epoch doesn't end. |
When running stateless validation cluster with shard shuffling and with a lot of consecutive missing chunks.
Happened both on statelessnet and in adversenet, using 84.2 statelessnet protocol release.
The error looks like this:
The likely reason is that state transition data for chunk X was GC-ed after we switched shard, and after quite a long time we needed this data for chunk X.
The text was updated successfully, but these errors were encountered: