Go to file
Alexander Kolotov 3d8623e05d
Merge pull request #24 from k1rill-fedoseev/master
2019-11-27 21:43:33 +03:00
.circleci Waiting in side oracle until connection with rpc is successful 2019-11-26 18:35:05 +03:00
demo Keygen restart tests 2019-11-26 17:41:59 +03:00
src Fixed side oracle 2019-11-27 09:48:51 +03:00
tests Keygen restart tests 2019-11-26 17:41:59 +03:00
.eslintignore Added eslint configs 2019-11-01 21:42:44 +03:00
.eslintrc Added eslint configs 2019-11-01 21:42:44 +03:00
.gitattributes highlight Solidity code in GitHub browser 2019-08-23 20:49:33 +03:00
.gitignore Updated run.sh scripts for test services 2019-11-11 19:51:05 +03:00
.gitmodules Demo of ETH-to-BNC bridge 2019-07-07 22:58:35 +03:00
DEMO.md Updated configs 2019-11-25 17:49:44 +03:00
README.md Fixed side oracle 2019-11-27 09:48:51 +03:00
package.json Added binance_net network in docker configs, updated validator configs 2019-11-09 15:14:06 +03:00

README.md

CircleCI

Ethereum to Binance Chain bridge

This repository contains a proof-of-concept for ERC20-to-BEP2 bridge.

https://forum.poa.network/t/ethereum-to-binance-chain-bridge/2696

The bridge is able to transfer an ERC20 tokens on an EVM-based chain to BEP2 to the Binance Chain and vice versa.

It includes the following components:

  1. The bridge contract on an EVM-based chain that is responsible to receive and release ERC20 tokens
  2. The orchestration contract on an EVM-based chain that participate in MPC (multy-party computations) to generate a threshold signature.
  3. The oracle that monitors the chains and the send transactions. One oracle represents one bridge validator (one private key).

The idea of the bridge is similar to the token bridge produced by POA.Network:

  • every oracle sends its confirmation as soon as a user sends the token relay request in one chain.
  • when enough confirmations collected the requested amount of tokens is unlocked in another chain.

Collecting confirmations for the Binance Chain is made in form of mutlisig wallet - the validator's confirmation is participation in the transaction signature gneration with usage of Threshold Signature Scheme (TSS) implemented for ECDSA by KZen Research team.

At this version the tool for TSS is used as is. It is assumed that later part of TSS orchestration will be moved to the orchestration contract. So far, the orchestration contract is used as a database to keep data required by TSS parties during the signature generation.

Read an instruction how to run a demo for the bridge.