Build

Build

Implementation caveats

Implementation caveats

Plasma was specifically designed to tackle two key issues: data availability (DA) and execution validity.


More recently, zero-knowledge technology has solved the execution issue, leaving the DA problem to be addressed.

In a Plasma implementation, users must monitor online whether data is available and ensure all transactions are correct. If they aren’t, users exit from an old state.


Plama Free is a zkEVM-based system that allows data to be stored off-chain.

Our solution is based on Polygons’s Validium implementation.


We complement this protocol by implementing a rollback mechanism that triggers when data is unavailable.

In Plasma Free, a block producer creates blocks based on the user’s transactions.

The block header and proof of validity are published on-chain, but the data is not. The data is supposed to be shared with all users. If not, users place a forced transaction in the queue.


A Plasma Free forced transaction is an Ethereum transaction signed by the user who wants to exit. Forced transactions can be batched in the same way that off-chain transactions are batched.


The block producer should sequence all forced transactions during the forced transaction window; if not, the latest verified block is reverted. A block can be reverted only if its timestamp is within the finality period. Otherwise, it cannot be reverted. When the block producer does not sequence a forced batch, users can activate revert mode by executing the enterRevertMode function.


The system re-enters revert mode if any forced batch remains unprocessed for the forced transaction window. This process is plotted in the following image:

Copyright© 2024 Plasma Free. All rights reserved.