zkHub is a decentralized platform that simplifies the generation of zero-knowledge proofs, making it more efficient and privacy-preserving.
Generating zero-knowledge proofs can be computationally expensive, with generation times ranging from seconds to hours, depending on the zk-circuit complexity and the machine performing the task. This presents several challenges, such as poor user experience, unsuitability for mobile devices, and limitations on innovation.
Two potential solutions to this problem are:
However, zk proof generation in the cloud has significant drawbacks, primarily due to the sensitive data (private keys, passwords, etc.) involved. Trusting cloud providers with this information is a major concern.
zkHub addresses these problems while offering additional benefits. As a decentralized marketplace for generating zero-knowledge proofs, zkHub connects entities with idle computation resources or specialized hardware to those who need to generate zk proofs.
zkHub enables users to split their secret witness (sensitive data required for zk proof generation) into multiple parts. By leveraging multi-party computation, zk proofs can be generated more efficiently, with the process delegated to multiple nodes in the network. This ensures both computational efficiency and privacy preservation.
By harnessing the power of a decentralized network, zkHub revolutionizes zero-knowledge proof generation, making it more accessible and secure for all.
While developing zkHub, we encountered several significant challenges that required innovative solutions to ensure the platform's efficiency and effectiveness.
The primary concern was that integrating zkSNARK logic into the MPC circuit would substantially slow down the process, as MPC is already slow on its own. To mitigate this issue, we optimized the MPC algorithm by performing secret share operations directly over elliptic curve points instead of finite field coordinates. This optimization greatly improved the overall performance of the MPC circuit.
Another challenge we faced was optimizing the networking setup and operations for MPC. We focused on streamlining the communication between nodes and reducing the overhead associated with data exchange. This allowed for more efficient processing and execution of MPC tasks, ultimately resulting in a better user experience.
We encountered bugs related to the serialization and deserialization of proof data. These issues hindered the smooth functioning of zkHub. We thoroughly investigated and resolved these bugs, ensuring that the proof data could be reliably serialized and deserialized without errors or inconsistencies.
We are still working on incorporating FRI/STARK-based proofs into zkHub, as their non-algebraic nature makes them less amenable to MPC. However, we are continuously researching and experimenting with various techniques to overcome this challenge and achieve seamless integration of FRI/STARK-based proofs into our platform.
Through persistence and ingenuity, we have been able to tackle these challenges head-on, paving the way for a more efficient and privacy-preserving decentralized platform for generating zero-knowledge proofs.
Discussion