Cross-Blockchain Communication Using Oracles With an Off-Chain Aggregation Mechanism Based on zk-SNARKs
Michael Sober, Giulia Scaffino, Stefan Schulte
TL;DR
The paper tackles cross-blockchain data exchange by introducing zkOracle, a decentralized oracle with off-chain aggregation driven by zk-SNARKs. An aggregator and validators query a source blockchain, produce a majority-consensus result, and generate a zk-SNARK proving the correctness of the aggregation and rewards distribution, which is then verified on-chain, keeping on-chain work minimal. Key contributions include dynamic stake-based participation with a Merkle-tree registry, a robust incentive and slashing mechanism, and a rollup-like off-chain aggregation workflow demonstrated on an Ethereum prototype with constant on-chain submission costs (~378 gas) and scalable proof generation/memory profiles up to 256 validators. The approach reduces cross-blockchain interoperability costs, maintains security properties (safety and liveness), and remains largely agnostic to the connected blockchains’ consensus mechanisms, enabling practical cross-chain data transfer while preserving decentralization through stake-based participation.
Abstract
The closed architecture of prevailing blockchain systems renders the usage of this technology mostly infeasible for a wide range of real-world problems. Most blockchains trap users and applications in their isolated space without the possibility of cooperating or switching to other blockchains. Therefore, blockchains need additional mechanisms for seamless communication and arbitrary data exchange between each other and external systems. Unfortunately, current approaches for cross-blockchain communication are resource-intensive or require additional blockchains or tailored solutions depending on the applied consensus mechanisms of the connected blockchains. Therefore, we propose an oracle with an off-chain aggregation mechanism based on ZeroKnowledge Succinct Non-interactive Arguments of Knowledge (zk-SNARKs) to facilitate cross-blockchain communication. The oracle queries data from another blockchain and applies a rollup-like mechanism to move state and computation off-chain. The zkOracle contract only expects the transferred data, an updated state root, and proof of the correct execution of the aggregation mechanism. The proposed solution only requires constant 378 kgas to submit data on the Ethereum blockchain and is primarily independent of the underlying technology of the queried blockchains.
