Syscoin Bridge is a two-way blockchain interoperability system that uses Simple Payment Verification to enable:
- Any Standard ERC-20 token to be moved from Ethereum to the Syscoin blockchain as a Syscoin Platform Token (SPT), and back to Ethereum
- Any SPT to be moved from Syscoin to the Ethereum blockchain as an ERC-20 token, and back to Syscoin
- No counterparties involved
- No trading mechanisms involved
- No third-party liquidity providers required
- Cross-chain Fractional Supply - Token supply maintained globally
- ERC-20s gain vastly improved transactionality with the Syscoin Token Platform, along with the security of Syscoin Core (bitcoin-core-compliant and merge-mined with Bitcoin).
- SPTs gain access to all the tooling, applications and capabilities of Ethereum for ERC-20, including turing complete smart contracts.
- Sysethereum contracts: Ethereum contracts.
- Sysethereum agents: External agents.
- Sysethereum Dapp: UI Dapp for reference implementation. The Sysethereum-Dapp was created with all the below process flows automated in a native ReactJS application for convenience. An active implementation using the Syscoin Platform Mainnet can be used at bridge.syscoin.org.
Syscoin Bridge is also available on the Syscoin 4.x Testnet and works with Ethereum Rinkeby
Syscoin to Ethereum uses Superblocks to aggregate transactions. This mechanism aligns with and extends the basic concept available in this White Paper
User burns their SPT on the Syscoin Platform and associates this burn with an Ethereum destination address at which their ERC-20 will arrive at the end of the process.
Burn transactions are aggregated by Bridge Agents and they provide a Superblock summary to the Claim Manager contract. See section "Bridge Agents" to learn their process, how they secure the Bridge, and how they are incentivized to do so.
The user sends a transaction to the Superblocks contract containing the following:
- Syscoin burn transaction
- A partial Merkle tree proving the burn was included in a block
- The Syscoin block header that contains the burn transaction
- A partial Merkle tree proving the block was included in a superblock
- Superblock id that contains the block
The ERC-20 Manager contract unfreezes the same quantity of ERC-20 tokens the user burned as SPTs and assigns these ERC-20 tokens to the Ethereum address the user specified in Step 1.
The user submits a transaction to the ERC-20 Manager contract, invoking the
freezeBurnERC20function which freeze-burns their ERC-20 tokens within the contract. The user also supplies the following parameters:
- SPT Asset GUID
- Syscoin destination address
After waiting for 240 confirmations on Ethereum (usually about one hour), the user creates, signs and broadcasts a mint transaction (
assetallocationmint) on the Syscoin Platform, resulting in the user receiving the specified quantity of the SPT at the designated Syscoin address.
Tokens freeze-burned within the ERC-20 Manager contract can only be released by two methods:
- Crossing from Syscoin to Ethereum using that particular SPT/ERC-20 pair
- Canceling the original Ethereum to Syscoin operation by proving the tokens were never minted on Syscoin. You must wait ~1.5 weeks from the time of your ERC-20 freeze-burn before beginning the cancellation process. Tokens are returned to the Ethereum address they were sent from.
Bridge Agents secure the Syscoin to Ethereum bridge in a scheme of incentivized gamification that is open to participation. They can challenge and defend the validity of proposed Superblocks. If a Challenge Agent considers a Submitter Agent's Superblock invalid, they initiate a challenge. The winning Agent receives the loser's challenge collateral (3 ETH). The Agent who successfully submits a Superblock gains a 0.01% transaction fee from each Bridge transaction in the Superblock in the form of the ERC-20(s).
- Submitter Agents gather the chain delta (new blocks) and use them to build a Superblock which is then sent as a summary to the Claim Manager contract
- During a contest period, Challenger Agents initiate challenges against the Submitter Agent if they find the Superblock to be invalid. Challengers will make several information requests; block hashes, block headers, etc.. Submitters must respond to each information request within 10 minutes. After each response, the information is validated on-chain by the Battle Manager contract.
- The Superblock is discarded if any information provided by the Submitter Agent is proven wrong or the Submitter fails to answer.
- The Superblock is approved if no challenges to the Superblock are done after the contest period or if all challenges failed.
- The Claim Manager contract notifies the the Superblocks contract which adds the Superblock to its chain.
Note: The Superblocks contract uses a checkpoint instead of starting from the Syscoin blockchain genesis.
For an in-depth technical look at the Superblock validation process, view document Superblock Validation Battles
- Incentives and collateralization will guarantee that there is always at least one honest Submitter Agent and one honest Challenger Agent online.
- There are no huge reorgs (i.e. 100+ block) on the Syscoin and Ethereum blockchains
Updated 8 months ago