馃寜

Trustless Ethereum Bridge

Progress update

Currently there are several pending tasks that needs to be completed before audit (nov 15th), listed below:

Given the resource requirements and time crunch to launch the BTC bridge, will revisit the tasks starting nov 8th and finish everything by nov 22nd for the launch, by then the audit will also be ready. Hence revised launch date: 22 Nov 2021 (optimistic)

Ethereum Bridge: trustless and efficient asset transfers among PoW-PoS chains

We are building a bridge for applications to access assets on Ethereum while enjoying fast transactions on Harmony. Our bridge architecture is industry leading, being gas efficient and seamless between Proof-of-Work and Proof-of-Stake chains. Inspired by Flyclient (already deployed in ZCash), our light client uses Merkle Mountain Range (MMR) and epoch syncing. Later we may employ zero-knowledge proofs such as Plonk to further compress the states of these heterogeneous chains.

Testing instructions

Weekly milestones

9/6-9/13: bug fix & localnet testing Done

  • Fixed a bug in the MMR proof generation logic related to siblings node computation. Added node index to MMR Proof RPC response and modified GetProof RPC to return MMR proof with respect to an input block number to 3872. The 3872 PR is almost ready for review this week and testnet testing.

9/13-9/30: v1.0.0 [Pre-alpha] functionality completing & unit tests DONE

  • Finalize MMR Hardfork PR 3872 and get it reviewed/merged
  • Finish HarmonyLightClient & tests
  • Migrate to hardhat with upgradability
  • Upgradable LightClients and Provers (both Harmony & Ethereum side)

9/27-TBD: v1.0.1 [Pre-Alpha] functionality completing & unit tests In-Progress

  • complete unit tests for lightclient, prover and bridge contracts on both sides
    • prover: validating header, transaction inclusion, receipt, account, log, code
    • lightclient: checkpointing, relayer add/remove, threshold
    • bridge: deposit, withdraw, execute
    • upgradability: both lightclient & bridge, gnosis-safe ownership
  • fix bridge cli & tools - DONE
  • gas cost estimation experiments for relayers and users
  • begin audit (internal+external)

10/11-TBD: v1.0.2 [Alpha] bridge ecosystem deployment In-Progress

  • specs & docs @Ganesha Upadhyaya
  • relayer client, dashboard @Jenya Piskunov
    • client: includes both eth and hmy rleays, js client with docker build, aws kms for signing key management
    • admin dashboard: list all withdraw requests from users, show relay cost, profit, trigger client to relay
  • bridge frontend & explorer @Jenya Piskunov

10/11-TBD: v1.0.3 [Alpha] testnet deployment

  • deploy eth components on harmony testnet, run kovan testnet relayer, full functionality testing
  • deploy hmy components on kovan testnet, run hmy testnet relayer, full functionality testing

10/18-TBD: v1.0.4 [Beta] mainnet deployment