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
CEL's plasma claims design #4
Comments
This is fantastic, thanks for posting!!! 😃Super exciting! Here is a possible attack which I have been thinking about for generalized plasma checkpoints. I am not sure if this post has it, I think it depends on how What I am worried about is the aggregator including a This could be solved by making If we do, one idea is to take the But, I am still not sure if this allows the good feature of the original plasma spec of deploying new predicates once live. So, maybe we still include a property, but one which changes some "implication scope" (like a variable scope) used in Hope this makes sense! Maybe there is a better solution or I am not realizing something and it is not an attack 😊 |
Thank you for replying! There are certainly a problem that I did not notice 😅
I and @tkmct discussed about that. If we understood the problem correctly Pseudo code
In this way, I guess a malicious challenger can't deprecate an exit by the claim with different range. And one thing I forgot is
|
Let me introduce Plasma claims which we are working on, for collaboration!
Plasma claims
There are two claims for Plasma, checkpoint claim and exit claim.
Checkpoint claim
This claim claims that the coin has valid history.
This is state_update format.
IsDeprecated
predicate decides providing property, such as SignedByPredicate.For client,
withinBlockRange
returns included state_updates within certain range, and check exclusion if there is no state_update in provided range. For smart contract, check provided state_update is within the coin_range.Exit claim
This claim claims the state update wasn't deprecated.
To exit state from Plasma, users should claim both checkpoint and exit claims.
Challenging
IncludedAtBlock(block_number, state_update)
in exit claim showing Not(IncludedAtBlock(block_number, state_update)).Rust Implementation
checkpoint property: https://github.com/cryptoeconomicslab/plasma-rust-framework/blob/8333757a576870575a98a618376aeb84cddbfe16/ovm/src/statements/plasma.rs#L11
exit property: we are still working on this;;)
The text was updated successfully, but these errors were encountered: