Nomad is a general messaging bridge that uses optimistic verification to validate cross-chain bridging transactions.
If you find something wrong on this page you can submit an issue or edit the information.
Funds can be stolen if
- updater manages to relay fraudulent message batch and is not slashed by Watchers during 20 min fraud proof window,
- destination contract does not block receiving fraudulent messages after malicious Updater has been slashed,
- destination token contract is maliciously upgraded (CRITICAL),
- a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).
Users can be censored if
Principle of operation
Nomad Bridge is a Token Bridge with ability to facilitate fast transfers via additional LP-provided liquidity. For deposits, it locks tokens in the escrow contracts on Ethereum and mints a "representation token" on the destination network. When bridging back to Ethereum tokens are burned and then released from the escrow on Ethereum.
Messages on the source (home) chain are periodically signed by Updater. Updater cannot censor messages and if it refuses to attest them, it can be changed by the governance. Once message batch is attested, it is relayed to the destination (replica) by the permissionless Relayers. After 20 min fraud proof window messages can be delivered to the destination contract. During 20 min fraud proof window, if malicious Updater tries to relay invalid message batch, anyone can submit a fraud proof to the source (home) chain slashing Updater and stopping home contract. On the destination messages cannot be stopped, so receiving contracts have to be independently notified to not process messages.
Users can be censored if updater fails to attest messages and governance does not change the Updater.
Funds can be stolen if updater manages to relay fraudulent message batch and is not slashed by Watchers during 20 min fraud proof window.
Funds can be stolen if destination contract does not block receiving fraudulent messages after malicious Updater has been slashed.
Destination tokens are upgradeable
Tokens transferred end up as "representation tokens" some of them may be upgradable.
Funds can be stolen if destination token contract is maliciously upgraded (CRITICAL).
The system uses the following set of permissioned addresses:
Manages Nomad bridge components via GovernanceRouter contract.
Watchers can unenroll, i.e. stop receiving messages, from a given Replica.
The system consists of the following smart contracts:
Nomad Home. This contract is used to send x-chain messages, such as deposit requests. Messages are regularly signed by Attester.
Nomad Replica. This contract is used to receive x-chain messages, such as withdrawal requests, from Relayers.
Nomad Bridge Router. Used to send messages to Home and receive messages from Replica. When receiving messages, it routes them to XAppConnectionManager. This contract stores the following tokens: USDC, FRAX, WETH, USDT, WBTC, DAI, FXS.
Contract managing list of connections to other chains (domains) and list of watchers.
Nomad Token Registry.
Contract managing Beacons.
Nomad Governance Router. Manages all Nomad components.
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).