Description
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.
Risk summary
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),
- validators submit a fraudulent checkpoint allowing themselves to withdraw all locked funds (CRITICAL),
- destination token contract is maliciously upgraded (CRITICAL),
- a contract receives a malicious code upgrade. There is a 48 hours delay on code upgrades.
Users can be censored if
Technology
Principle of operation
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.
Outbound transfers are externally verified, inbound require merkle proof
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).
Destination tokens are upgradeable
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).
Permissioned Addresses
The system uses the following set of permissioned addresses:
Can propose and execute code upgrades on escrows via Timelock contract.
These addresses are the participants of the 5/9 Polygon MultiSig.
Smart Contracts
The system consists of the following smart contracts:
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 validatity of these checkpoints is not verfied, 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.