L2BEAT Bridges is a work in progress. You might find incomplete research or inconsistent naming. Join our discord to suggest improvements!
...
Polygon PoS it the official bridge provided by the Polygon team to bridge assets from Ethereum to Polygon chain. The bridge is validated by Polygon validators and allows for asset as well as data movement between Polygon and Ethereum.
If you find something wrong on this page you can submit an issue or edit the information.
This is a very typical Token Bridge that locks tokens in the escrow contracts on Ethereum and mints tokens on the Polygon network. When bridging back to Ethereum tokens are burned on Polygon and then released from the escrow on Ethereum.
Validators on the Polygon network watch for events on Ethereum and when they see that tokens have been locked they mint new tokens on Polygon. Every 30 minutes validators submit new Polygon state checkpoints to the Ethereum smart contracts. To withdraw tokens users need to present a merkle proof of a burn event that is verified against the checkpoints.
Users can be censored if validators on Polygon decide to not mint tokens after observing an event on Ethereum (CRITICAL).
Funds can be stolen if validators decide to mint more tokens than there are locked on Ethereum thus preventing some existing holders from being able to bring their funds back to Ethereum (CRITICAL).
Funds can be stolen if validators submit a fraudulent checkpoint allowing themselves to withdraw all locked funds (CRITICAL).
Tokens transferred end up as wrapped ERC20 proxies, some of them are upgradable. The contract is named UChildERC20Proxy.
Funds can be stolen if destination token contract is maliciously upgraded (CRITICAL).
Can propose and execute code upgrades on escrows via Timelock contract. This is a Gnosis Safe with 5 / 9 threshold.
Those are the participants of the Polygon Multisig.
Main contract to manage bridge tokens, deposits and withdrawals.
Smart contract containing logic for syncing the state of the bridge.
Contract storing Polygon sidechain checkpoints. Note that validity of these checkpoints is not verified, it is assumed they are valid if signed by 2/3 of the Polygon Validators.
Contract enforcing delay on code upgrades.
Escrow contract for ERC20 tokens. This contract stores the following tokens: USDC, USDT, WBTC, SAND, DAI, AAVE, LINK, CRV, MANA, CEL.
Escrow contract for ETH. This contract stores the following tokens: ETH.
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is a 48 hours delay on code upgrades.