zkBridge
  • Polyhedra Network
  • zkBridge: Trustless Cross-chain Bridges Made Practical
    • Introducing zkBridge protocol
    • Block header relay network
    • Updater contract
    • Proof systems of zkBridge
    • zkBridge Research Paper
  • zkLightClient Overview
    • Introduction
    • zkLightClient on LayerZero ​
  • LayerZero zkLightClient Configurations
    • LayerZero V1 zkLightClient Oracle Addresses
    • LayerZero V2 zkLightClient DVN Addresses
    • LayerZero UA Configuration
  • Proving Ethereum Full PoS Consensus in ZK
    • Overview
    • Why Proving Ethereum full consensus?
    • System design for proving Ethereum full consensus
    • Efficient proof system for proving Ethereum full consensus
    • Performance evaluation
    • Concluding remarks
  • Application Use Cases
    • NFT transfer
    • Message passing
  • Tutorial
    • Import and transfer NFTs
  • Code Examples
    • Deploying Cross-chain NFTs
      • Cross-chain ERC-721
      • Cross-chain ERC-1155
Powered by GitBook
On this page
  1. zkBridge: Trustless Cross-chain Bridges Made Practical

Updater contract

PreviousBlock header relay networkNextProof systems of zkBridge

Last updated 1 year ago

The protocol for the updater contract is specified as:

The updater contract maintains the light client’s internal state including a list of block headers of 𝒞1 in headerDAG. It has two publicly exposed functions. The HeaderUpdate function can be invoked by any block header relay node, providing supposedly the next block header and a proof as input. If the proof verifies against the current light client state LCS and blkH𝑟−1, the contract will do further light-client checks, and then the state will be updated accordingly. Since the caller of this function must pay a fee, DoS attacks are naturally prevented.

The GetHeader function can be called by receiver contracts to get the block header at height 𝑡. Receiver contracts can use the obtained block header to finish application-specific verification, potentially with the help of a user or some third party.