Zero-knowledge proofs touted as the preferred option for rollups in maintaining security and decentralization with the base chain of a transaction. There have been scholastic posts shared about how ZKP’s could be implemented to better secure bridges and the transactions they handle but there have been no actual implementation of ZKPs in bridges to date.
But before we explore ZKPs and what it offers to bridges, first let’s talk about what ZKP does. In summary, ZKPs allow one party to prove to another party that a transaction information or statement is true. This is done without having to reveal any information with the key idea behind it being possible to prove possession of certain information, such as the initiation of a cross-chain transfer, without revealing the actual information itself.
In order to be considered a proper implementation of ZKP, a protocol must satisfy the following criteria:
- Completeness: If the transaction input is valid, the zk-based protocol should always return ‘true’. This is to ensure if the underlying input is true, and the prover at the source and verifier at the destination act honestly, the proof can be accepted.
- Soundness: If the transaction input is invalid, fooling the zk-based protocol to return a valid response is not possible. This is to ensure that a malicious prover is unable to trick a verifier at the destination to accept an invalid input as valid.
- Zero-knowledge: The verifying party does not gain access to information about a specific transaction beyond whether a transaction input is valid or false. Hence the term zero-knowledge.
Zero-Knowledge Proofs and Bridging
The application of ZKP as a part of bridging protocols can be designed to increase the trustlessnes, decentralization and provides added privacy advantages when compared to existing cross-chain bridge models.
Core to the fundamentals of a ZKP based bridge are:
- Trustless and Secure
The accuracy of transaction details on the source blockchain is proven by zk-SNARKs, and there is no reliance on external trusted parties. As long as the connected blockchains and network remain secure, and there exists at least one honest node in the source chain, the bridge is secure.
- Permissionless and Decentralized
There is no restriction on who can operate a node and anyone can freely join the network to relay the block headers, generate proofs, and claim rewards. This structure removes the reliance of the bridge on the more commonly-used centralized validation methods or Proof-of-Stake style network validation models, making a ZKP based bridge application better decentralized.
Allows for greater ability for dApps to add new features or for protocols to connect with the bridge. The extensibility of a ZKP based bridge also allows for the integration of new technologies, making it a powerful tool for blockchain interoperability.
ZKP based bridges are universally compatible so long as the blockchains connected supports a light client protocol to synchronize the block headers of the state of the blockchain.
Efficiency and effective utilization of resources is achieved through an optimized recursive proof. Block headers can be relayed within a short time, and the relayed information can be quickly finalized as long as the proof is verified. This makes it possible for a ZKP based bridge to support fast and flexible processing of transactions on the connected blockchains.
What does this mean for Multichain?
Multichain’s zkRouter is a powerful tool that benefits developers by allowing them to securely connect two different blockchains using zero-knowledge proofs which are relatively short and easy to verify, making them efficient and scalable. This allows developers to build into their dApps the same interoperability provided by Router and now with a greater focus on security, trustlessness and decentralization.
The zkRouter also allows developers to easily integrate new features and protocols, making it a powerful tool for blockchain interoperability. Some possible applications that can be built on zkRouter include:
- Asset cross-chain bridge
- Trusted On-chain Oracle
- Multi-chain contract interoperability
- Cross-chain Swap
- Multi-chain issuance of tokens and NFTs
For example, in the case of OmniBTC, an integration of zkRouter would enable the protocol to allow users to enhance their existing cross-chain swap feature by enabling better security, trustlessness and decentralization. But beyond this OmniBTC would also be able to allow users to not only lend tokens from one blockchain to another in order to capitalize on earnings but to also make payments on borrowings from a completely different chain.
zkRouter would enable the protocol to handle these different scenarios while still maintaining privacy and also enabling access to existing proofs of previous transactions in order to support current transactions. An example of this could be to utilize an earlier lending position on Ethereum in order to back a current borrowing position on Fantom.
The release of zkRouter opens the doors to more opportunities for our partner developers and enables them to better build applications to serve the needs of the user.
We are excited to announce the upcoming unveiling of the zkRouter testnet, which will allow for bridging between Ethereum to Fantom. The zkRouter testnet is targeted to be released in early February 2023, so stay tuned for more updates!