Trustless Ethereum Bridge

Trustless Ethereum Bridge

Next Milestone Date
June 30, 2022
Assign
Ganesha UpadhyayaJenya PiskunovTKRachit Srivastava
Status
Live on Devnet
Collaborator
Grant-1
Grant-2
Grant-3
Release Date
2022 Q3

Progress update

Currently there are several pending tasks that needs to be completed (along with estimates) listed below:

  1. EIP-1559 update to ethereum pow verification [3 days] - fzgem18, DONE, Ganesh to review & merge, Feb 14-16 COMPLETE
  2. Cleanup the repo, download DAGs for next few epochs, deploy a testnet version, provide access to others Mar 6 - Mar 14 @Ganesha Upadhyaya
  3. Limited header storage in smart contracts [2 day], Feb 28-Mar 21 - @TK
  4. Handling forks & building canonical chain for ethereum light client & TokenLockerOnHarmony to use canonical chain [5 days] Feb 14-Mar 21 - @Ganesha Upadhyaya
  5. Merging two redundant merkle libraries [3 days] Feb 28-Mar 21 - @TK
  6. Batch header receive functionality [1 day] Feb 28-Mar 21 - @TK
  7. Smart contract unit test completion [2 weeks] Feb 14-28 - @Rachit Srivastava
    1. Review required @Ganesha Upadhyaya
  8. Smart contract testing, Mar 14 - Mar 28 - @Ganesha Upadhyaya @Rachit Srivastava
  9. CLI & libraries, Feb 14-Mar 14, @Rachit Srivastava
  10. [Protocol] MMR hardfork PR, addressing comments, getting it merged [3 weeks] @Ganesha Upadhyaya, start: Feb 14 - Mar 21
    1. PR review & update Mar 21-28
    2. Testnet hardfork, Mar 28-Apr 4
    3. Mainnet hardfork, Apr 11-25 (2 weeks heads up for validators)
  11. Relayer client & frontend completion [3-4 weeks] @Jenya Piskunov, start: Feb 14 - Apr 18
  12. End-to-end testing [1 week], start Apr 4-Apr 18 (3 weeks), @Ganesha Upadhyaya , @Jenya Piskunov
  13. Reach out to relay runners, incentives and onboard them, Apr 4 - Apr 18, @Daniel Pagan
  14. Launch partner reach out & commit, Apr 4 - Apr 18 @Peter Abilla
    1. Lend/borrow, DEX, game, etc
  15. Launch PR materials Apr 4 - Apr 18 @Peter Abilla
    1. Medium post
    2. Video(s)
    3. Tweet
    4. External media coverage

Revised launch date: Apr 25-May 2, 2022 (next assessment date: Mar 28, 2022)

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