Bridge Definitions, Networks, and Components


#1

What is the POA TokenBridge?

The TokenBridge allows users to transfer assets between two chains in the Ethereum ecosystem. Digital assets (either coins or tokens, depending on the bridge mode) are locked in one network and representative assets (coins/tokens) are minted in another. When the process is reversed, the representative assets are burned on the network where they were minted, and the locked assets are released.

Cross-chain bridges provide the potential for scalability and connection - interoperability - between previously siloed Ethereum networks. Please see the FAQs for general information about POA TokenBridge usage.

Chain and Network Definitions

A bridge is created between 2 networks, referred to as a Native (or Home) Network and a Foreign network.

  • Native (Home): A network with fast and inexpensive operations. All bridge operations to collect validator confirmations are performed on this side of the bridge.

  • Foreign: Can be any chain, but generally refers to the Ethereum mainnet.

  • ERC20: Refers to an ERC20 token created during the bridge process. In the ERC20-ERC20 bridge, ERC677 represent ERC20 tokens on one side of the bridge and are minted and burned accordingly.

Bridge Modes

A bridge can be configured for several different network configurations. This currently includes a Native-to-ERC20 Bridge, an ERC20-to-ERC20 bridge, and an ERC20-to-Native Bridge.

  • Native to ERC20: An EVM sidechain coin is converted to an ERC-20 token on the Ethereum network. When a bridge transfer is initiated from the Native side, coins are locked on the Native sidechain and minted on the Ethereum network. When bridged in the opposite direction, tokens are burned on the Foreign side and unlocked in the Native network. The POA to POA20 Bridge uses this mode.

  • ERC20 to ERC20: ERC20 tokens are locked on the Foreign network and minted as ERC20 compatible tokens (ERC677 tokens) on the Native network. When transferred from Native to Foreign, the ERC677 tokens are burned and the ERC20 tokens are unlocked.

  • ERC20 to Native: Coins are locked in the Foreign Network and ERC20 tokens are minted in the Native network (the Native network must support Parity BlockReward functionality). The xDai chain uses this bridge mode.

Bridge Components

The bridge consists of several components, including smart contracts, an event handler, and an optional UI.

  • Bridge Smart Contracts. Manages bridge validators, collects signatures, and confirms asset relay and disposal. Repo

  • TokenBridge. Listens to events and sends transactions to authorize asset transfers. Repo

  • Bridge UI Application. A DApp GUI to transfer tokens and coins between chains.
    Repo

  • Bridge Monitor. A tool for checking balances and unprocessed events in bridged networks. Repo

  • Bridge Deployment Playbooks. Optional playbook which can manage token-bridge configuration instructions for remote deployments.
    Repo


pinned #2

#3

Can we think of a better statement that provide a common view on the functionality? The described example is for the native-to-erc mode.


#4

We need to clarify that it is possible only if the native network supports the Parity BlockReward functionality.


#5

Thanks, clarified this point.