Kalypso
Increasing number of developers are looking to leverage developments in ZK cryptography to build scaling solutions (validity rollups), coprocessors, bridges, gaming engines, payment apps, identity solutions and more. However, generation of ZK proof, like mining, is energy and compute-intensive which requires powerful machines which ultimately leads to high costs or poor response time for users.
Kalypso is a ZK proof marketplace. It allows applications to outsource generation of ZK proofs to a network of hardware providers for better cost and time efficiency. A competitive market motivates hardware providers to innovate, reduce costs and increase the speed of proof generation. They may achieve this by securing access to specialized hardware (FPGA, ASICs), fine-tuning their software, securing affordable energy and cheap colocation facilities.
Some key advantages of using a permissionless prover market are:
-
Fast proofs for a smooth user experience: Client-side proving can stall devices and lead to awkwardly long wait times. Outsourcing proof generation to a specialized prover network allows users to have smooth and seamless interactions with the application.
-
Higher resource utilization for hardware providers: Operating a prover hardware dedicated to a single network can result in long idle times and poor utilization rate. Higher resource efficiency can be achieved by aggregating and serving more requests and amortizing fixed costs over several users, protocols and networks.
-
Censorship-resistance for protocols: Provers may refuse to generate proofs for certain interactions or may go offline (intentionally or otherwise) and pause the protocol. Decentralizing the prover infrastructure improves liveness and censorship-resistance properties of the protocol.
Each circuit has its own market on Kalypso. Such markets can be added permissionlessly. Hence, applications built using any proof system can be serviced on Kalypso, provided hardware providers show interest in participating in the market. An orderbook-based exchange is used to match requests, which specify the maximum time within which they desire the proof and the maximum price that they are willing to pay for it, against quotes from different hardware providers.
To prevent sybil attacks, hardware providers are required to stake POND. The staked POND is susceptible to slashing if the response time guarantees they specify when registering on a market aren’t met. Since the Kalypso network consists of GPUs with confidential computing capabilities, Kalypso can also handle cases where private/secret inputs are involved.
Kalypso is designed to be a key component of the proof supply chain. As a result, its architecture is versatile, making it easy to be integrated into any tech stack as a decentralized Infrastructure-as-a-Service. A few of its architectural highlights are shared below:
-
Modular: Kalypso’s modular design allows it to be plugged and played into any ZK application allowing developers to focus on their apps instead of infrastructure maintenance. As markets can be created for any circuit, the marketplace can also cater to developers building on different zkVMs. zkVMs allow developers to write code in familiar programming languages like Rust. Unlike applications that use custom circuits, applications built using the same zkVM can use the same orderbook allowing for a much less fragmented prover market.
-
Composable: Protocols with their own proof networks (for eg. rollups) can also leverage Kalypso provers in their protocol as the network ’s provers who stake the protocol’s proprietary token can still outsource proof generation to an open proof market for better cost efficiency.
-
Parallelizable: In order to generate proofs faster, it might sometimes be desirable to break proofs of a large computation into parts or segments and then generate a proof of having verified the individual proofs to prove the whole. Of course, this is only possible when the computation is such that there are no dependencies between the segments. Similarly, for better liveness guarantees, some applications might want a higher degree of redundancy in case a prover fails to generate the proof within a specified time. Such distributed and parallel proving is as simple as placing multiple orders on Kalypso.
-
Flexible: Kalypso uses a two-dimensional matching engine algorithm along the dimensions of time and price. Some applications and/or users are cost-sensitive while others more time-sensitive. When placing bids, Kalypso offers users the ability to state their preference on whether to prioritize time-to-proofs or cost. Accordingly, Kalypso matching engine ensures that the fastest machine with a price quote below the user’s price cap is chosen or the cheapest one with a response time below the user’s maximum response time limit.
-
Extensible: Although Kalypso itself only offers low-level primitives, these primitives are powerful enough to build any sort of abstractions on. Apps can choose to pay on behalf of their users using meta-transactions. Others might enable subscription models while yet others may want to offer future markets to allow for predictable pricing and revenues. Such logic on how bids are submitted can be added at the SDK or application level and is easily compatible with Kalypso.