funded
ENCOINS x Anastasia Labs: Zero-Knowledge Proof Trustless P2P Fiat-to-Crypto On-Ramp for Cardano
Current Project Status
In Progress
Amount
Received
₳246,000
Amount
Requested
₳500,000
Percentage
Received
49.20%
Solution

A combined effort of ENCOINS, zkFold, and Anastasia Labs: an escrow smart contract based on zero-knowledge tech that enables P2P trustless exchange of fiat and crypto.

Problem

Copy-of-White-Minimalist-Profile-LinkedIn-Banner-5-85f42c.png

Crypto needs more ways to onboard users. The existing crypto on-ramps are centralized and require trust. Can we build a decentralized and trustless on-ramp using Cardano smart contracts?

Impact Alignment
Feasibility
Value for money

Cardano Mixer

3 members

ENCOINS x Anastasia Labs: Zero-Knowledge Proof Trustless P2P Fiat-to-Crypto On-Ramp for Cardano

Please describe your proposed solution.

We propose to develop an escrow smart contract based on zero-knowledge tech that enables P2P trustless exchange of fiat and crypto.

This feature adds new functionality to the ENCOINS protocol, which has recently went live on the mainnet. It can also be integrated into wallets and other DApps or used as a standalone application.

A proof of concept for this feature has been previously developed by another team:

https://github.com/zkp2p/zk-p2p/tree/develop/circuits-circom

However, it does not include a smart contract. Cardano's smart contract architecture is perfectly suited for such an application due to transaction determinism and parallelism.

For this protocol to be fully decentralized and trustless, the zero-knowledge proof verification must be done on-chain - by the blockchain network of validators.

The on-ramp transactions will be facilitated by the escrow smart contract. On a high level, the smart contract works as follows:

  1. Crypto seller deposits funds into the smart contract, chooses the price, and the off-ramp option (fintech, online bank, cex, etc.). All supported off-ramps must have a system for attesting transfers with digital signatures.
  2. Crypto buyer sends the fiat using the corresponding off-ramp option. Upon success, they receive or generate a message certifying the transfer of funds (signed by the chosen off-ramp option).
  3. The buyer creates a zero-knowledge proof of knowledge of a valid signature for the fiat transfer message.
  4. The buyer submits a transaction that validates the proof and withdraws the crypto locked in the escrow contract.

Our solution will also include a simple frontend to access this smart contract directly.

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

Cardano blockchain will have a unique on-ramp feature, which, to the best of our knowledge, is currently unavailable on any other blockchain. We expect a natural inflow of people and capital into the ecosystem.

The impact can be measured by the usage of the smart contract or the frontends that give access to it.

The smart contract will be open source and will be shared with the Cardano community.

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?

The ENCOINS team has successfully completed the Project Catalyst Fund6 grant and delivered the ENCOINS DApp, which is now on the mainnet.

Anastasia Labs has previously completed several rigorous smart contract audits. Their developers have participated in the development of many smart contracts that are currently running on Cardano.

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

Create the specification and other technical documents for the smart contract.

Outputs: a detailed description of the smart contract, its input and output data formats.

Verification: The documents will be available to the public.

>Implement the smart contract template for an abstract off-ramp option.

Outputs: the smart contract code.

Verification: The code will be publicly available on GitHub.

>Integrate support for on-chain verification of the signed payment confirmation message(s) for a number of payment processors.

Outputs: the smart contract code and types for each payment processor's message structure.

Verification: The code will be publicly available on GitHub.

>Implement the basic version of the frontend for the smart contract.

Outputs: a web interface to interact with the smart contract.

Verification: The web interface will be publicly available.

>Develop a test suite for the smart contract.

We will create a comprehensive test suite that will cover the smart contract template as well as its intances for several selected off-ramp options.

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

>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 project of ENCOINS, zkFold, and Anastasia Labs teams.

ENCOINS is a private transaction protocol on Cardano. The protocol development was kickstarted by the Project Catalyst Fund6 grant, which is now completed. The Dapp is currently available on the mainnet.

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 Q1 2024.

Anastasia Labs is an auditing and consulting firm specializing in Cardano smart contracts. Being experts in Cardano smart contract design, they have audited several notable protocols, including ENCOINS.

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. Former researcher at ETH Zurich in Computational Fluid Dynamics.

Philip DiSarro

Philip is CEO and founder of Anastasia Labs and a senior Haskell developer on the XSY team, a consultant and lecturer for Emurgo.

Philip is an expert in the field of Compiler Development & Programming Language Theory. He was the lead smart contract architect of many features on WingRiders DEX. Philip has also made significant contributions to the Cardano developer ecosystem. As a co-chair of the IOHK developer experience working group he worked to identify and resolve pain points that DApp developers experience in Cardano, and had an integral role in getting Lucid & Plutus Simple Model included in the Plutus Pioneer Program. He has a vast wealth of professional experience in smart contract security and auditing on Cardano.

Grigory Petrov

Developer

Grigory is the developer for ENCOINS. Early into the development, he joined the team and built the relay app for the ENCOINS protocol as well as the delegation server and other backend tools.

Vladislav Sabanov

Developer

Vlad is the frontend developer for ENCOINS. He is a senior Haskell developer. His previous experience includes building various blockchain applications on Cardano at MLABS.

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

Smart Contract Development: 200 000 ADA

4x software developer @ $3,000 per month for 6 months = $72,000 (~180,000 ADA)

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

Off-Ramp Signature Verification Protocol Development: 100 000 ADA

2x software developer @ $3,000 per month for 6 months = $36,000 (~90,000 ADA)

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

Frontend Implementation: 100 000 ADA

2x frontend engineer @ $3,000 per month for 6 months = $36,000 (~90,000 ADA)

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

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

1 technical writer @ $2,000 per month for 4 months = $8,000 (~20,000 ADA)

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

1 project manager @ $3,333 per month for 6 months = $20,000 (~50,000 ADA)

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

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

The project requires a deep understanding of the Cardano smart contracts 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 notable DApps 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