Syscoin

Syscoin Core Developer Portal

Comprehensive guides and documentation to help you start working with Syscoin as quickly as possible, and support if you get stuck.

Get Started

Syscoin Bridge & How it Works

An Overview

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

Benefits

  • 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.

Main Subprojects

📘

Syscoin Bridge is also available on the Syscoin 4.x Testnet and works with Ethereum Rinkeby

Follow these instructions to get started with Testnet.
Read the Testnet FAQ.
A Testnet implementation of the Sysethereum Dapp is available at bridge-testnet.syscoin.org.

Syscoin to Ethereum

Syscoin to Ethereum uses Superblocks to aggregate transactions. This mechanism aligns with and extends the basic concept available in this White Paper

Process flow:

  1. 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.

  2. 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.

  3. 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
  4. The Superblocks contract checks the consistency of the supplied information. If consistent, it relays the details to the ERC-20 Manager contract.

  5. 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.

Ethereum to Syscoin

Process flow:

  1. The user submits a transaction to the ERC-20 Manager contract, invoking the freezeBurnERC20 function which freeze-burns their ERC-20 tokens within the contract. The user also supplies the following parameters:

    • SPT Asset GUID
    • Amount
    • Syscoin destination address
  2. 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

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).

Process flow:

  1. 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
  2. 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.
  3. 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

Assumptions

  • 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

Syscoin Bridge & How it Works


An Overview

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.