Cross rollups O(1) messages bridge

Cross-rollup trustless O(1) bridge. Send messages between rollups at minimal gas cost.

Description

Sync state across rollups using merkle roots without wasting L1 gas. The demo includes a bridge and an ERC20 token that supports multiple cross-rollup transfers at O(1) cost. The demo is running between Arbitrum and Optimism, with Kovan serving as the shared L1. [Video demo: set youtube to HD quality or text will be blurry]

Cross rollups O(1) messages bridge showcase

How it's made

Used Arbitrum and Optimism. Built with Brownie (which I had to modify in order to work with Optimism). Messages are created on one of the rollups, and then redeemed on another one. The current version passes a merkle root between rollups via L1. Future version will eliminate the need for passing anything through L1, by just exposing L1 block hashes to all rollups and using it to enable access to cross rollup state by proving the state of the L1 storage of all rollups. See README.md in https://github.com/yoavw/cross-rollup-bridge

Technologies used

ArbitrumOptimism