funded
zkFold: UPLC Converter
Current Project Status
In Progress
Amount
Received
₳88,000
Amount
Requested
₳200,000
Percentage
Received
44.00%
Solution

UPLC Converter transpiles UPLC code to zero knowledge circuits. Developers will continue using their preferred language with minimal disruption to easily create ZK smart contracts on Cardano.

Problem

uplc-converter-4eda30.jpg

ZK technology remains inaccessible for most developers as Cardano on-chain languages lack proper support for producing zero knowledge smart contracts, which are crucial for privacy and scalability.

Impact Alignment
Feasibility
Value for Money

Cardano Mixer

1 member

zkFold: UPLC Converter

Please describe your proposed solution

zkFold Symbolic is the new smart contract language for Cardano, enabling straightforward development of ZK smart contracts. Unlike in traditional smart contracts, in ZK smart contracts, the contract runs off-chain, followed by the production of a zero-knowledge proof. The proof is then verified on-chain in a constant, predictable number of operations, thus enabling the blockchain to handle truly complex contracts and make the most from the data and computation limits imposed on the transactions.

On Cardano, there exists a diverse set of languages to develop on-chain code. These languages and frameworks include Aiken, Plutarch, PlutusTx, Scalus, plu-ts, OpShin, and others. Ultimately, the code written in those languages is compiled to Untyped Plutus Core, the low-level language that is executed on Cardano nodes.

In this proposal, we want to bring this functionality to other Cardano on-chain languages through a UPLC Converter. So, what is a UPLC Converter, and why is it needed?

  • It is a translator from UPLC to zero knowledge circuits;
  • It gives access to almost all features and advantages of zkFold Symbolic in other Cardano on-chain languages;
  • With proper integration support from the developers of those on-chain languages, the users (smart contract developers) will barely notice any difference in their development process;
  • It makes the development of ZK smart contracts even simpler!

The UPLC Converter consists of the following components:

  1. The UPLC → zero knowledge circuit transpiler.
  2. A CLI tool to be used with the host language toolset. It provides a set of APIs to produce all necessary on-chain code artifacts (zero knowledge circuits, Plutus verifier scripts, and ZK prover info),

We have gathered support from many prominent Cardano language developers.

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

UPLC Converter will significantly support developers and boost the capabilities of the Cardano blockchain, making it more competitive, versatile, and attractive to both developers and users seeking advanced, efficient, and secure blockchain solutions.

By enabling the integration of zero knowledge circuits into smart contracts, the UPLC Converter facilitates the development of applications that can provide stronger privacy guarantees. This is particularly beneficial for applications requiring data sensitivity, such as in finance or personal data management, where users can interact with smart contracts without revealing underlying private information.

Zero-knowledge circuits can improve the scalability of the Cardano blockchain. By abstracting the complexity involved in creating zero-knowledge proofs, UPLC Converter allows developers who are not specialists in cryptographic programming to build sophisticated and secure dApps. As a result, UPLC Converter will reduce development costs.

As more advanced and diverse applications are developed, the intrinsic value of the Cardano blockchain will increase, attracting more users and investors. The ability to support cutting-edge privacy and scalability features will position Cardano as a leading platform in the competitive blockchain space.

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?

ZKFold is the company that works on L1 and L2 scaling for Cardano using zero-knowledge proofs. It aims to release the first version of zkFold Symbolic (the zero-knowledge smart contract language) in Q3 2024. The zkFold team consists of expert Haskell, Rust, and ZKP developers. The founder of zkFold, Vladimir Sinyakov, previously completed a Project Catalyst Fund 6 grant leading the ENCOINS team. ENCOINS is a DApp on Cardano that has been recently launched on the mainnet. Also, zkFold is consistently delivering Fund 11 proposals' milestones.

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

Milestone 1: Create documentation

Milestone 2: Implement a prototype for a limited subset of UPLC

Milestone 3: Circuit generation for basic builtin operations

Milestone 4: Circuit generation for more complex builtin operations

Milestone 5: CLI tool prototype with core functionality

Final Milestone: Complete the CLI tool

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

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. Also, zkFold's Fund 11 proposals have been accepted by the community.

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 Fund 6 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/>

Bachelor degree in Business Management. Cardano Blockchain Certified Associate (CBCA). PMP and agile professional with 12+ years of experience in worldwide IT and blockchain projects. Stanislav has experience in leading multicultural international teams (30+ countries) and working closely with top level stakeholders in finance.

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.

Eitan Chatav

Developer

PhD in mathematics, expert in advanced mathematics and physics; probability and statistics, algebra, real and complex analysis. 5+ years of experience with blockchain, NFT, Haskell

Vladimir Morozov

Developer

B.Sc. in Applied Mathematics and Computer Science, PhD in Computational Biology. 6+ years of experience with Haskell and Python

Other zkFold developers will contribute to this proposal on request.

Please provide a cost breakdown of the proposed work and resources

Documentation and project management: 47,000 ADA

1 technical writer @ $3,000 per month for 4 months = $12,000 (~25,000 ADA)

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

1 project manager @ $2,000 per month for 2 months = $4,000 (~9,000 ADA)

Implement a prototype for a limited subset of UPLC: 57,000 ADA

3 software developers @ $3,000 per month for 3 months = $27,000 (~57,000 ADA)

Circuit generation for basic builtin operations: 45,000 ADA

2 software developers @ $3,000 per month for 3 months = $18,000 (~39,000 ADA)

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

Circuit generation for more complex builtin operations: 25,000 ADA

1 software developer @ $3,000 per month for 3 months = $9,000 (~19,000 ADA)

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

CLI tool prototype with core functionality: 13,000 ADA

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

Complete the CLI tool: 13,000 ADA

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

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

No dependencies.

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

The project requires a deep understanding of Cardano smart contracts and blockchain backend infrastructure, as well as expertise in zero-knowledge cryptographic protocols. As we pay competitive salaries to our developers and researchers, we've arrived at the budget breakdown above. Ultimately, the project's cost is comparable to other Cardano projects of similar scale.

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