A multichain world

  • Ethereum
  • Rollups, L2s, sidechains...
  • Other L1s

How to transfer liquidity between

all the different networks ?

The cross-chain

communication problem

Chain A

Anne

Chain B

LockOrSendFunds()

MintOrWithdrawFunds()

How to verify the funds have been properly sent on chain A ?

The cross-chain communication methods

  • Trusted third-party (Binance Panama Bridge)
  • Custom POS chains/L2/state channels (Celer Guardian Network)
  • Atomic locks with whitelisted network of relayers  (Connext)
  • Hybrid systems of nodes that collectively sign transactions (Multichain's SMPC nodes)
  • HTLCs (Nuclear Bridge)

Warpgate

Enable cross-domain transfer

with very light clients

 

Very light clients

Verify

the chain A transaction

directly from chain B

A very light client to verify

Ethereum post-merge transactions

from Aleph Zero

A block

Block hash

Block header

Transaction

Transaction

Transaction

Transaction

Transaction

Transaction

Transaction

Transaction

Transaction

transactionRoot

A transaction

  • chainId
  • nonce
  • maxPriorityFeePerGas
  • maxFeePerGas
  • gasLimit
  • to
  • value
  • data
  • signature (v, r, s)

Transaction hash

Verify a transaction is in a block

txRoot

txHash1

txHash2

txHash3

txHash4

hash(A+B)

A

B

C

D

hash(C+D)

What's next

  • Implement the Very Light Client with native Ink!
  • Implement the sync committee consensus to verify the block headers (or another trusted source for the block header)

ETA: a few months

Made with Slides.com