funded
ZKFold: Zero-Knowledge Prover Backend
Current Project Status
In Progress
Amount
Received
₳152,000
Amount
Requested
₳200,000
Percentage
Received
76.00%
Solution

Develop a backend application called ZK-prover that can produce proofs for zero-knowledge smart contracts on Cardano. This open-source component will also be provided as a service by Maestro.

Problem

ZK-Prover-f1354a.jpg

Smart contracts that utilize zero-knowledge protocols can extend Cardano’s functionality and improve scalability. They, however, require good backend infrastructure support that is currently missing.

Impact Alignment
Feasibility
Value for money

Cardano Mixer

3 members

ZKFold: Zero-Knowledge Prover Backend

Please describe your proposed solution.

ZKFold, in collaboration with Maestro, develops the open-source ZK-prover backend application for smart contract transactions that utilize zero-knowledge protocols.

ZK-prover represents the necessary infrastructure piece for zkFold's products, such as zkFold Symbolic (the ZK smart contract language), zkFold Wrapper, and the future zkFold Rollup.

Let us specify the scope of this proposal in more detail. For zkFold Symbolic smart contracts, the transaction lifecycle looks as follows:

  1. Build the transaction constraints (skeleton).
  2. Balance inputs and outputs, including fees and withdrawals.
  3. Compute a zero-knowledge proof of smart contract satisfiability.
  4. Build the full transaction, including the proof as a redeemer in the on-chain proof verification script.
  5. Sign and submit the transaction to the Cardano network.

Through different API endpoints, the ZK-prover will cover steps 2, 3, and 4 of this lifecycle.

In traditional Cardano smart contracts, we usually operate under the assumption that the change outputs and fees will not affect the smart contract's validity. However, to utilize ZK smart contracts to their maximal potential, we need the transaction body to be available as input in the ZK protocol. Thus, we use this modified lifecycle.

The MVP of zkFold Symbolic is expected by the end of Q1 2024. With the ZK-prover implemented, the DApp developers will have everything they need to rapidly deploy new ZK-powered smart contracts on Cardano.

Please define the positive impact your project will have on the wider Cardano community.

ZK smart contracts could have a profound impact on the Cardano ecosystem. They enable blockchain scaling, make more use cases viable, and are even capable of improving UX.

A component like our ZK-prover is necessary for the adoption of such smart contracts. It is used in the process of building zero-knowledge smart contract transactions (see section SOLUTION).

The usage of this component and the corresponding API service is not limited to smart contracts based on zkFold products. It can be used as a part of other solutions, such as identity solutions and confidential data sharing. Examples of such systems that utilize the Cardano blockchain are currently in active development.

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

This is a joint effort of zkFold and Maestro teams.

The ZKFold team consists of expert Haskell, Rust, and ZKP developers. The founder of zkFold, Vladimir Sinyakov, previously completed a Project Catalyst Fund6 grant leading the ENCOINS team. ENCOINS is a DApp on Cardano recently launched on the mainnet.

The Maestro team develops and maintains the Maestro platform, which offers different services, including blockchain data APIs and a smart contract market.

Maestro has a proven track record in providing Cardano infrastructure services at scale with high availability. Maestro's services include a Blockchain Indexer, Transaction Manager, Turbo Transaction, and more, providing the necessary Dev Tool to quickly and efficiently build dapps. In particular, Maestro’s platform is being used to power top projects across Cardano's DeFi ecosystem. The zkFold Prover plays perfectly in the strength of Maestro’s expertise and guarantees a high level of success.

What are the key milestones you need to achieve in order to complete your project successfully?

Implement the proof calculation.

Proof calculation API endpoints could be used to construct zero-knowledge proofs for zkSNARKs. As a part of this proposal, we will be implementing a Plonk prover endpoint. In the future, this could be extended to other proving systems.

Outputs and verification: the code is open-source and will be published on GitHub.

>Implement the pre-balancing endpoint.

This endpoint produces a balanced transaction from transaction constraints. As explained in the section SOLUTION, it is a part of the transaction lifecycle for zkFold smart contracts. This step allows us to minimize the on-chain computations in the zero-knowledge proof (ZKP) verification contract because we pass TxID and the hashes of smart contracts (the redeemer) as the only public inputs to the ZKP protocol.

Outputs and verification: the code is open-source and will be published on GitHub.

>Implement the transaction finalization endpoint.

This endpoint completes the transaction according to the zkFold transactions lifecycle.

Outputs and verification: the code is open-source and will be published on GitHub.

>Optimize the ZK-prover app to run in a distributed environment and test it on large-scale problems.

One of the use cases of zero-knowledge smart contracts is contracts that require complex computations. Such contracts require a lot of computational power to be validated in the form of a ZKP. We plan to test and optimize large-scale ZKP computations to provide our potential clients with the best experience.

Outputs and verification: the code is open-source and will be published on GitHub. Benchmark test results will be publicly available.

>Produce the completion report and the video illustrating the solution.

Outputs and verification: the report and video will be publicly available.

Who is in the project team and what are their roles?

This is a joint effort of zkFold and Maestro teams.

zkFold team

The zkFold team consists of expert Haskell, Rust, and ZKP developers. ZKFold's team members participated in the development of several successful projects on different blockchains, including Cardano, Polkadot, and Near. The zkFold team won the EMURGO BUILD Hackathon on the zero-knowledge track and took 3rd place in the Battle of the Builders at the Cardano Summit 2023 in Dubai.

Vladimir Sinyakov

Founder and CTO,

<https://www.linkedin.com/in/vladimir-sinyakov/>

Founder and protocol architect of ENCOINS. Ph.D. in Computational Mathematics. Prior experience includes five years of postdoc in applied mathematics (Control Theory), publishing in top journals in the field. Previously completed a Project Catalyst Fund6 grant leading the ENCOINS team. ENCOINS is a DApp on Cardano that has been recently launched on the mainnet.

Stanislav Marycev

Co-founder, Business Development.

<https://www.linkedin.com/in/stanislav-marycev/>

Cardano Blockchain Certified Associate (CBCA). Blockchain technology and smart contracts certified, Project Management Professional (PMP) and agile professional with 12+ years of experience in worldwide IT projects.

Ilya Eriklintsev

ZKP researcher,

<https://www.linkedin.com/in/ilya-eriklintsev-3a296852/>

Techlead at vSelf, an SSI solution on NEAR blockchain. More than six years of experience in the blockchain industry. Former researcher in Computational Fluid Dynamics.

Vladimir Kukharenko

Developer

<https://www.linkedin.com/in/vladimir-kukharenko-vovunku/>

Participated in a blockchain infra project on Polkadot. Worked on developing a blockchain from scratch and an API for it as a part of a formally verified blockchain project. Two years of experience in the blockchain industry. Researcher in formal verification and formal methods.

Sergey Ivannikov

Developer

Experienced as a senior software engineer in various IT companies. A former researcher at ETH Zurich in Computational Fluid Dynamics.

Maestro Team

  • Varderes Barsegyan - Engineering Manager, Software Architect and Go Developer &lt;https://www.linkedin.com/in/barsegyanvarderes>

Maestro CTO, Genius Yield TPM;

Varderes Barsegyan is an engineer with a diverse background in physics, computer science, aerospace engineering, bioinformatics, and blockchain technology. As the Co-founder and CTO of Maestro, a leading provider of blockchain infrastructure for Cardano, he is trailblazing the way for the financial operating system of the world.

  • Jamie Harper - Senior Rust Engineer &lt;https://www.linkedin.com/in/jamie-h-8bb539114/>

Maestro engineer, Cardano open source contributor;

James is a Rust developer with unique experience in the Cardano ecosystem such as auditing the Cardano ledger and related codebases. Also a top contributor for some of TxPipe's open source software projects, Scrolls and Pallas. James now works at Maestro, where he plays a key role in designing, developing, and optimizing their developer platform and indexer, working with the rest of the team to ensure they meet the evolving needs of developers within the Cardano ecosystem.

  • Jeev B. - Senior DevOps Engineer &lt;https://www.linkedin.com/in/jeevb>

Maestro engineer, Union.AI staff engineer;

Jeev Balakrishnan is an accomplished staff software engineer with a proven track record of success. With his expertise and strong technical skills, he has played a crucial role in leading mission-critical projects at Union.AI, Freenome, and Maestro. Jeev's ability to deliver exceptional solutions, coupled with his innovative mindset, has made him a valuable contributor to the Cardano ecosystem.

Please provide a cost breakdown of the proposed work and resources.

Zero-Knowledge Proofs Protocol Development: 30 000 ADA

2x software developer @ $3,000 per month for 2 months = $12,000 (~30,000 ADA)

ZK-prover App Main Functionality Development: 85 000 ADA

2x software developer @ $3,000 per month for 4 months = $24,000 (~60,000 ADA)

1x senior software developer @ $4,000 per month for 1 months = $4,000 (~10,000 ADA)

1 ZKP researcher @ $3,000 per month for 2 months = $6,000 (~15,000 ADA)

Distributed Proving Implementation and Testing: 30 000 ADA

2x software developer @ $3,000 per month for 2 months = $12,000 (~30,000 ADA)

Documentation, Project Management, and Protocols Design: 55,000 ADA

1 technical writer @ $2,000 per month for 3 months = $6,000 (~15,000 ADA)

1 software developer @ $3,000 per month for 2 months = $6,000 (~15,000 ADA)

1 project manager @ $1,666 per month for 6 months = $10,000 (~25,000 ADA)

Total: $80,000 = ~ 200,000 ADA

How does the cost of the project represent value for money for the Cardano ecosystem?

This proposal covers a crucial step for the adoption of zero-knowledge smart contracts: the creation of easy-to-use backend infrastructure. The project requires a deep understanding of zero-knowledge protocols, Cardano smart contracts, and blockchain backend infrastructure. We believe that we can deliver this infrastructure piece for a very competitive price.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00