Optimistic Rollups: Actors - lukso-network/network-optimism-integration-test GitHub Wiki

Agregator

Aggregators are entities responsible for performing operations performed on the second layer. They group these transactions (hence the term rollup in the name), calculate their state checksum (state root) and send this state to the main chain, to the smart contract - allowing the possibility of questioning the correctness of the second layer states transmitted by aggregators. Anyone can do it.

  • When this state goes to a smart contract, everyone has the opportunity to challenge it and send it correctly. If such a fraud report proves correct, then this condition is not recognized and the fraudulent aggregator is penalized with a loss of funds. He had to put these funds in a smart contract beforehand to be able to aggregate transactions on the second layer.

  • Bonded aggregators bundle user-submitted transactions into L2 blocks on the sidechain. Users pay aggregators fees to submit their transactions and the aggregator submits the new sidechain state root (AKA the optimistic rollup block) to the mainnet.

  • Anyone can become an aggregator and begin to process rollup blocks by putting down a bond in the mainnet contract. Additionally, anyone can download the rollup blocks and earn a reward for proving a state transition is invalid. When a user successfully invalidates a block, they slash the aggregator’s bond and the bond of any aggregator who built on top of the invalid block. The challenger earns a portion of the slashed bonds.

  • OVM addresses are the same as ETH addresses, we can use existing keys on L2;


Validator

Agregator is the validator on L2 network.


Batch submitter

Check this page -> Batch submitter


Sequencer

Check this page -> Sequencer


Execution Manager (smart contract)

Provides a safe, sandboxed execution environment for OVM contracts to run in.


Safety Checker (smart contract)

Contract which can check that OVM contracts will not try to escape the Execution Manager's sandbox.


Transpiler (TypeScript)

Converts EVM contracts to safe OVM contracts which will not escape the execution sandbox.

Code: https://github.com/ethereum-optimism/optimism-monorepo/tree/doctest/packages/rollup-dev-tools/src/tools/transpiler