Boba Network logoBoba Network

TVL: $87.42 M

-4.34% / 7 days

...

...

Tokens:

News

Description[Edit][Issue]

Boba is an L2 Ethereum scaling & augmenting solution built by the Enya team as core contributors to the OMG Foundation. Boba is an Optimistic Rollup forked from Optimism. Amongst other features it adds standard fast withdrawal facility that allows users to remove funds immediately without waiting for the end of the 7-day fraud proof window. This facility is using funds from liquidity providers.

Risk summary

Technology

Fraud proofs are in development[Edit][Issue]

Ultimately Boba Network will use fraud proofs to enforce state correctness. This feature is currently in development and the system permits invalid state roots. Users have the ability to run a validator software and compute valid state roots locally, but cannot act on them on chain.[1][2]

  • Funds can be stolen if an invalid state root is submitted to the system (CRITICAL).

All transaction data is recorded on chain[Edit][Issue]

All executed transactions are submitted to an on chain smart contract. The execution of the rollup is based entirely on the submitted transactions, so anyone monitoring the contract can know the correct state of the rollup chain.[3][4]

    Operator

    The system has a centralized sequencer[Edit][Issue]

    While proposing blocks is open to anyone the system employs a privileged sequencer that has priority for submitting transaction batches and ordering transactions.[5]

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    Users can force any transaction[Edit][Issue]

    Because the state of the system is based on transactions submitted on-chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract directly.[4]

      Withdrawals

      Regular exit[Edit][Issue]

      The user initiates the withdrawal by submitting a transaction on L2. When the block containing that transaction is finalized the funds become available for withdrawal on L1. The process of block finalization usually takes several days to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.[6]

      • Funds can be frozen if the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production (CRITICAL).

      Fast exit[Edit][Issue]

      Users can initiate a fast exit which makes use of liquidity pools, and charges a small fee for the convenience. Users funds can then be withdrawn on L1 after only minutes.[7]

        Other considerations

        EVM compatible smart contracts are supported[Edit][Issue]

        Boba Network uses the Optimistic Virtual Machine (OVM) to execute transactions. This is similar to the EVM, but is independent from it and allows fraud proofs to be executed.[8]

        • Funds can be lost if there are mistakes in the highly complex OVM implementation.

        Smart Contracts[Edit][Issue]

        A diagram of the smart contract architecture
        A diagram of the smart contract architecture

        The system consists of the following smart contracts:

        • CanonicalTransactionChain 0xfBd2…c3Db
          The Canonical Transaction Chain (CTC) contract is an append-only log of transactions which must be applied to the OVM state. It defines the ordering of transactions by writing them to the CTC:batches instance of the Chain Storage Container. CTC batches can only be submitted by OVM_Sequencer. The CTC also allows any account to enqueue() an L2 transaction, which the Sequencer must eventually append to the rollup state.
        • StateCommitmentChain 0xdE73…41Ec
          The State Commitment Chain (SCC) contract contains a list of proposed state roots which Proposers assert to be a result of each transaction in the Canonical Transaction Chain (CTC). Elements here have a 1:1 correspondence with transactions in the CTC, and should be the unique state root calculated off-chain by applying the canonical transactions one by one. Currenlty olny OVM_Proposer can submit new state roots.
        • ChainStorageContainer-CTC-batches 0x1714…1231
        • ChainStorageContainer-CTC-queue 0x5f00…CD8d
        • ChainStorageContainer-SCC-batches 0x1399…7d93
        • BondManager 0x6066…b627
          The Bond Manager contract will handle deposits in the form of an ERC20 token from bonded Proposers. It will also handle the accounting of gas costs spent by a Verifier during the course of a challenge. In the event of a successful challenge, the faulty Proposer's bond will be slashed, and the Verifier's gas costs will be refunded. Current mock implementation allows only OVM_Proposer to propose new state roots. No slashing is implemented.
        • The L1 Cross Domain Messenger (L1xDM) contract sends messages from L1 to L2, and relays messages from L2 onto L1. In the event that a message sent from L1 to L2 is rejected for exceeding the L2 epoch gas limit, it can be resubmitted via this contract's replay function.
        • The L1 Cross Domain Messenger (L1xDM) contract that allows permissioned relayer to relay messages from L2 onto L1 immediately without waiting for the end of the fraud proof window. It is used only for L2->L1 communication.
        • L1MultiMessageRelayer 0x5fD2…070B
          Helper contract that allows for relaying a batch of messages using L1CrossDomainMessenger.
        • L1MultiMessageRelayerFast 0x2d61…9622
          Helper contract that allows for relaying a batch of messages using L1CrossDomainMessengerFast.
        • Liquidity Pool manager for fast withdrawal facility. This contract can store any token
        • Lib_AddressManager 0x8376…F089
          This is a library that stores the mappings between names such as OVM_Sequencer, OVM_Proposer and other contracts and their addresses.
        • Main entry point for users depositing ERC20 tokens and ETH that do not require custom gateway. This contract can store any token
        • Standard NFT bridge.

        The current deployment carries some associated risks:

        • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).

        References

        1. The incentive contract for verification proofs is disabled - Boba FAQ
        2. Checking Boba Mainnet for Fraud - Boba Optimism repository
        3. Data Availability Batches - Paradigm Research
        4. Canonical Transaction Chain - Boba documentation
        5. Boba operates the only "Sequencer" node - Boba FAQ
        6. The Standard Bridge - Boba documentation
        7. The LP Bridge - Boba documentation
        8. Execution Contracts - Learn more about the Boba Network execution contracts