Paper 2020/433

zkRelay: Facilitating Sidechains using zkSNARK-based Chain-Relays

Martin Westerkamp and Jacob Eberhardt


We facilitate trusted cross-blockchain state proofs by implementing a chain-relay that validates block headers from proof-of-work blockchains. While current approaches require proof sizes linear to the amount of blocks the state was built on, trusted intermediaries, or economic assumptions, we propose the utilization of off-chain computations through zkSNARKs to provide a cryptographically secure and highly scalable sidechain mechanism. Multiple block headers are included in batches and verified off-chain, while preserving light client support. Only the validity of the off-chain computation is verified on-chain, creating a sidechain mechanism that requires constant verification costs and releases the target ledger from processing and storing every single block header of the source blockchain. We provide a prototypical implementation that facilitates the verification of 504 Bitcoin headers in a single proof on Ethereum using the ZoKrates framework. Hereby, the verification costs are reduced by a factor of 187 compared to current approaches such as BTC Relay.

Note: Accepted for publication at IEEE SECURITY & PRIVACY ON THE BLOCKCHAIN (IEEE S&B 2020).

Available format(s)
Publication info
Published elsewhere. MINOR revision.2020 IEEE European Symposium on Security and Privacy Workshops
Distributed Ledger TechnologyBlockchain interoperabilitySidechainChain-RelayZero-Knowledge Proof
Contact author(s)
westerkamp @ tu-berlin de
2020-04-15: received
Short URL
Creative Commons Attribution


      author = {Martin Westerkamp and Jacob Eberhardt},
      title = {zkRelay: Facilitating Sidechains using zkSNARK-based Chain-Relays},
      howpublished = {Cryptology ePrint Archive, Paper 2020/433},
      year = {2020},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.