Hi, I’m going to talking about recent plasma implementation. Title is how Plasma implementation changed. Our Plasma implementation was changed amazingly, it became very clear by OVM proposed by Plasma Group.
About me
Plasma Chamber
OVM with Rust language
My current interest
How do we build L2 efficientlly?
Both construction and application?
History of Plasma implementation
Plasma Cash
fungibility and instant finality
channel
defragmentation
atomic swap
withholding attack
simple exit game
limbo exit
Plasma implementation is very complex.
Different implementations have different features.
Difficulity of Plasma implementation
Complexity cause unsecure implementation
We need to write specific code for each feature
Plasma exit game was a complex challenge but we knew it's able to be solved. We need to know what we can do on plasma and how to implement that efficiently. We need more general concept before implementing Plasma!
Bob proves undecided contradiction. Alice's exit is never decided until that this contradicting claim is decided as False.
Not(IncludedAtBlock(state_update))
Alice can show counter claim for the Bob's claim and contradicting claim will be decided as False. Alice go exiting.
IncludedAtBlock(state_update)
Nested claim and parallel dispute
Generalized Plasma
Channel on Plasma
Generalized Plasma
We defined 3 Properties for minimal Plasma transfer.
Checkpoint Property is Property to claim and decide coin history is valid.
Exit Property is Property to claim and decide that the coin has never been deprecated.
Ownership Property is Property to claim and decide owner has signed valid transaction for the SsateUpdate.
Checkpoint Property claims that StateUpdates within this coin range included in a block less than the current block number are all deprecated.
Ownership Property. It is "deprecate logic" of StateUpdate. It represents the owner has never signed the transaction.
Exit Property claims StateUpdate never deprecated.
Plasma works as combination of these Properties.
Parallel dispute
When a user claim exit of channel on Plasma. They claim multiple Properties.
checkpoint
exit of open state in Plasma
exit of channel
Each claim can be adjudicated parallelly. We can think each claims as separated problem.
Shared client code
History Manager
History verification
Conciseness contributes to security
Conclusion
OVM enables unified expression for dispute design. Developers can design claims more securly than using natural language.
This expression also reduces developers effort because we can use same claims for both smart contract and client. Client decides claims with local information. Smart contract can decide claims by universal fraud proof contract. There will be fewer potential bugs than the developers write codes of L2 application from full scratch.