Bridges
The bridge, based on POA's bridge implementation, is used to transfer IZC Tokens between The Izicoin SmartChain and the Ethereum network.
Tokens sent to the respective bridge contract on one network (whether it's IZC or wIZC) are "locked" in the bridge, "unlocked" on the other network bridge and transferred to the sender.
The validators of the bridge on both networks are the IZC validators. This means that validators, as part of their governance responsibilities, also need to validate bridge transactions and therefore hold IZC tokens to "approve" bridge transactions on IZC SmartChain and hold wIZC to "approve" transactions on Ethereum Blockchain.
Each bridge transaction must be approved of the validators in order to be processed successfully.
The bridge contracts are deployed on both networks, and bridge oracle processes run on each validators machine as part of the validator deployment stack.
Besides the transfer of IZC tokens between the two networks, the bridge is also responsible for network core functionality events:
Mint block reward distributed on the IZC SmartChain on IZC
Each cycle the total block reward distributed on IZC SmartChain is minted on IZC and locked on the bridge contract.
This works by listening to the `RewardedOnCycle` event emitted by the BlockReward contract on IZC chain, waiting for all bridge validators on IZC chain to sign it, and eventually sending a transaction to mint on ETH (by the last signing validator).
Update IZC SmartChain validators
Each cycle the IZC chain validators are selected from a random snapshot of pending validators.
Those validators, being also the bridge validators, need to be updated on IZC as well.
This works by listening to the `InitiateChange` event emitted by the Consensus contract on izicoin smartchain, waiting for all bridge validators on IZC smartchain to sign it, and eventually sending a transaction to set the bridge validators on IZC (by the last signing validator).
Bridge contracts
Last updated