ZExchange: A Decentralized P2P Marketplace For Zcash, non-custodial and no KYC

Hi, Zcash community. I’m Emmanuel, former Dash incubator dev and Ethereum CAT contributor. I’m submitting this proposal as a full-stack blockchain developer with over seven years of experience building decentralized applications. I have a passion for censorship-resistant projects and enhancing user experience, for this reason, I’ve contributed to several open-source decentralized projects focused on these principles. I’m putting in this proposal, to build a decentralized platform that allows users to acquire Zcash from peers without relying on a centralized platform. Please feel free to give feedback.

Applicant name: Emmanuel

A one-liner elevator pitch version of your proposal: A decentralized, non-custodial P2P marketplace for purchasing Zcash without KYC requirements and driving user adoption.

Total Request (USD): $17,497

Description of Problem or Opportunity:

In regions like Venezuela, Turkey, Pakistan, Bolivia, India, Amenia, and others where Zcash seeks to grow peer-to-peer (P2P) marketplaces are often the most accessible way to acquire cryptocurrencies. Decentralized P2P exchanges are unique in that they enable direct transactions between users without relying on intermediaries unlike centralized exchanges, which require a third party to manage and control trades. However, the current landscape is dominated by centralized exchanges like Binance and Paxful, which compromise user privacy and security through mandatory KYC (Know Your Customer) procedures and custodial wallet owned by the platform, which means you have to move your funds into their wallet to make a trade. These platforms are also increasingly subject to government restrictions and stringent regulations, making it difficult for users to access their services. A cryptocurrency like Zcash, which respects users’ privacy, faces the constant threat of being delisted for one reason or the other, while customer assets are increasingly frozen or confiscated under allegations of fraud or non-compliance with KYC requirements.

The situation highlights the urgent need for an in-house solution, a decentralized, non-custodial P2P exchange that protects user privacy while providing a reliable way to acquire Zcash without KYC requirements. While Zcash is known for its robust privacy features, it does not yet have its own marketplace for users to acquire it directly without compromising their privacy, in a lot of cases the benefits of Zcash’s privacy features can be undermined when users are required to obtain it through exchanges that enforce strict KYC. The majority of Zcash transactions occur on these centralized platforms, contradicting the core principles of decentralization and privacy. This creates a gap for a decentralized platform that offers a privacy-focused solution, enabling users to transact directly without intermediaries or the risks associated with centralized exchanges.

Proposed Solution: Describe the solution at a high level.

A Decentralized P2P Exchange for Zcash

Accessibility and Adoption

This could introduce Zcash to a new user base, serving as an entry point for those seeking to purchase cryptocurrencies without the need for KYC. Many people in unbanked countries lack government-issued IDs, to perform KYC, which is a significant reason they remain unbanked. This could drive adoption by making it easier for users to acquire and use Zcash directly.

Peer-to-Peer Transactions, Privacy and Autonomy

A peer-to-peer (P2P) marketplace dedicated to Zcash would make it more resistant to censorship, allowing Zcash in a way to own a major means of its distribution and address various challenges by providing a secure, privacy-preserving, and censorship-resistant platform for trading. This setup would mitigate concerns like delisting or asset seizure, ensuring that users retain full control over their transactions. The functionality of on-ramps and off-ramps facilitates the conversion between fiat currencies and digital assets and is vital for bridging traditional finance with Zcash. These mechanisms not only provide essential liquidity but also expand the practical, real-world applications of Zcash, making it easier for users to engage in everyday transactions.

Solution Format: What is the exact form of the final deliverable you’re creating?

A web-based fully integrated P2P marketplace that includes both frontend and backend components, optimized for mobile responsiveness.

Technical Approach: Dive into the how of your project. Describe your approaches, components, workflows, methodology, etc. Bullet points and diagrams are appreciated!

1. Architecture Overview:

Frontend (User Interface):

  • Responsive Web Application: Developed using Vue.js.

  • Features: User dashboards, offer creation, trade management, transaction history, chat functionality, reputation system, and access to community forums.

Backend (Server-Side Components):

  • 2-of-3 Multi-Signature Escrow: Transactions are managed by a 2-of-3 multi-signature escrow system, where at least 2 out of 3 designated parties (e.g., buyer, seller, and Zcash Arbitrator) must approve before a transaction is finalized.

  • APIs: Developed using Node.js to facilitate interactions between the frontend and backend. These APIs handle data retrieval, transaction processing, user management, and communication features.

Database and Storage:

  • MongoDB: For storing application data and user metadata.

  • IPFS: For decentralized storage.

Security Mechanisms:

  • 2-of-3 Multi-Signature Escrow: Ensures secure transactions by requiring approval from at least 2 of the 3 parties before funds are released.

  • Encryption: SSL/TLS for secure data transmission and encryption techniques for protecting user data and transactions.

  • Bug bounty: For quality assessment

2. Workflow:

User Registration and Setup:

  • Users create an account by selecting a username and password

Offer Creation:

  • Users list offers for buying or selling Zcash.

  • Offer Controls: Users can create, edit, pause/activate, and archive offers. Offers include terms, amounts, and payment methods.

  • Offers are stored in DB with essential details securely recorded.

Trade Initiation:

  • When two users want to start a transaction, the “Maker” sends Zcash to the 2-of-3 multi-signature escrow address of that trade. Funds are held until the fiat payment is confirmed (made off-chain).

Trade Lifecycle:

  • Start trade

  • Cancel trade

  • Fund escrow

  • Mark as FIAT paid

  • Release escrow

  • Open dispute

  • Refund escrow

Trade Completion:

  • Users confirm receipt of funds or Zcash.

  • Dispute resolution mechanisms are available if issues arise, involving a Zcash Arbitrator for resolving disputes.

Governance and Updates:

  • Community votes on platform upgrades and changes via decentralized governance mechanisms.

  • Implement updates and new features based on community feedback.

Reputation System:

  • Time of Trade Rating: Measures the efficiency of transaction processing.

  • User Rating: Users rate each other based on their trading experiences to build trust and discourage bad actors.

Chat Functionality:

  • Provides a way for users to communicate and exchange payment-related information securely.

Dispute Resolution System:

  • In the case of a disagreement between the parties on a transaction, a dispute will be initiated and an Arbitrator elected by the community will settle the dispute.

Arbitrator Dashboard:

  • View open disputes

  • Resolve disputes to benefit either the Maker or Taker.

Execution risks: What obstacles do you expect? What is most likely to go wrong? Which unknown factors could jeopardize success? Who would have to incorporate your work for it to be usable?

While the benefits of a decentralized P2P exchange for Zcash are clear, some challenges will be addressed to ensure the platform’s success:

  • Regulatory Risks: The decentralized nature of Zcash P2P may attract scrutiny from regulators, particularly in regions with stringent cryptocurrency laws. To mitigate this risk, the platform could adopt a decentralized governance model that distributes control among a global network of participants, reducing the impact of any single regulatory jurisdiction.

  • Security Concerns: Decentralized platforms are not immune to security risks. To address this, Zcash P2P will implement continuous security audits, offer bug bounties to incentivize community-driven security initiatives, and foster a culture of transparency and vigilance to identify and resolve vulnerabilities.

  • Liquidity and Adoption: Achieving sufficient liquidity and user adoption is a common challenge for new platforms. To overcome this, Zcash P2P will pursue strategic partnerships with existing Zcash communities, decentralized finance (DeFi) projects, and other relevant platforms to bootstrap liquidity and attract a critical mass of users. Additionally, targeted marketing and educational campaigns will be implemented to raise awareness and drive adoption, an idea we have on how to go about this is by inviting users from the classified website to utilize the escrow protection system in acquiring Zcash without the need to perform KYC.

Solution Format: What is the exact form of the final deliverable you’re creating?

Budget and Justification

Total Budget: $17,496

UI/UX, Branding and Logo $1499 (8 days )

Frontend Development: $3,499 (3 weeks)

  • Project infrastructure setup

  • Design and Implementation: Creation of the static UI for a responsive, user-friendly web application.

  • Technologies Used: Vue.js

  • Features: User dashboards, offer creation, trade management, transaction history.

  • Compensation Explanation: The front-end developers will be paid a flat rate for completing the design and implementation of the static UI. At an average hourly rate of $50 per hour, the total compensation is based on 70 hours of work.

Backend Development: $9,999 (2 months)

  • Backend Development: Development and deployment of server-side components.

  • Multi-Signature Wallet: Integration and management of a 2-of-3 multi-signature wallet for escrow.

  • APIs: Implementation of RESTful APIs for frontend-backend communication.

  • Integration: Integration of backend services into the front end.

  • Database Integration: Use of MongoDB and IPFS for data storage.

  • Compensation Explanation: Backend developers and engineers will be compensated based on their expertise and the complexity of tasks. With an average hourly rate of $75, the total budget covers 120 hours of development, including backend services and integration tasks.

Security and Compliance: $2,499 (1 month)

  • Security Audits: Audits of platform and escrow wallet security (Bug bounty).

  • Encryption Implementation: SSL/TLS encryption and other security measures.

  • Compensation Explanation: Security specialists will be paid for conducting security audits and implementing encryption measures. The budget includes payments for audits and a bug bounty program. At an average rate of $100 -$500 depending on complexity.

Cloud and infrastructure

Mid-Range VPS Cost Estimates

*** Typical Specs:**

  • RAM: 4-8 GB

  • CPUs: 2-4

  • Storage: 50-100 GB SSD

Monthly Cost:

  • Average Cost per VPS: $30 to $50

*** We need two environments one for testing and another for production**

Summary

Monthly Cost for 2 Mid-Range VPS Instances: $60 to $100

Annual Cost for 2 Mid-Range VPS Instances: $720 to $1,200

which averages to about $999 for one year.

How was the project timeline determined?

The project timeline was determined through analysis of the project scope, complexity, and the tasks required to complete each major component. Here’s how the timeline was established:

Breakdown of Major Tasks and Components

  • Frontend Development: Estimating the time needed to convert design mockups into a static frontend, ensuring responsive design, and conducting initial testing.

  • Backend Development: Assessing the effort required to develop server-side components, integrate the multi-signature wallet, create APIs, and set up the database.

  • Security and Compliance: Allocating time for security audits, implementing encryption, and ensuring the platform meets necessary security standards.

  • Integration and Testing: Estimating the time needed to integrate frontend and backend components, perform comprehensive testing, and resolve any issues.

Conclusion

A decentralized P2P platform for Zcash could significantly drive its adoption and enhance its resistance to censorship. By emphasizing ease of accessibility, decentralization, and a positive user experience, this platform would provide a robust solution for individuals seeking a more secure and easily obtainable cryptocurrency. This approach aligns with Zcash’s core principles of privacy and autonomy, broadening its appeal to a wider audience.

3 Likes

@ZcashGrants

Hi @Emmanuel - Welcome to the forum, and thank you for submitting your grant proposal! We will review it in the upcoming weeks and reach out if we have any questions.

In the meantime, if you have any questions for us, you can post them to this thread or DM us at @ZcashGrants.

Zcash Community - We want to hear your feedback on this grant! You can post your comments to this thread or DM us at @ZcashGrants if you’d like to provide feedback in private.

Thanks!

2 Likes

Thank you. I should clarify that I haven’t submitted the proposal yet. I want to gather input from the community first before I decide to.

1 Like

Hi Emmanuel. Sorry to be the downer lawyer at the party, but I don’t think the Zcash community should fund your proposal. Here was my presentation at ZconnV about the issues you raise. https://www.youtube.com/watch?v=C8jZH1HyqRU&t=37s

1 Like

I will watch the video. Would it be possible for you to put in text the part that addresses my concerns so others can read it?

This should not be necessary since the Zcash ecosystem Security Lead team can audit the project.

additional questions:

  • How will your escrow work with shielded addresses? How would you return funds to the originating address?
  • What is the business model of the service? How will it run over time? Is it profitable? Would you consider taking this grant as honor debt to ZCG instead?

Hey Prof, I watched your video and I found it insightful. It effectively highlights the ongoing issues we are facing with financial censorship and restrictions, also in good timing as the issue with the telegram CEO is currently on the news. I would love it if we could discuss this further to explore how to proactively address these concerns and move forward in a way that benefits the community.

One idea could be adopting a system similar to Noones, which allows users to transact up to $700 per day and $10,000 in total using a phone number for registration without requiring further KYC. This would help lower the barriers to entry for unbanked users who lack government-issued IDs and it would also allow us to address the custodian issues common with centralized exchanges, which often carry the fear of trying to log in to your account and finding out that accessing your funds is restricted for whatever reason, along with the constant threat of delisting as is being discussed here as I hate the feeling of being held by the balls by them.

This works within the legal framework while mitigating these risks. What are your thoughts on this approach?

Hi Pacu, nice to hear from you, I have noticed you and your development work around the community.

Great, that makes the work lighter.

Regarding refunding transactions to a shielded wallet, we have two possible implementations. The first is using viewing keys. I’m aware that Zcash implemented this functionality a few years ago. In this method, the buyer provides a viewing key during a dispute, which allows the exchange to partially view the transaction details and ascertain the originating address. However, a drawback of this approach is that it might reduce the level of privacy.

The second, simpler option involves a direct return method in case of a dispute. Here, the buyer provides a shielded address for the refund. The escrow service can then send the funds back to this address without needing to verify if it’s the original address or a different one.

Business Model:
The primary source of revenue will be small fees on each transaction made through the platform. Users who create advertisements will be charged a 1% fee for every completed trade. As well as offering referrals to other verified DeFi systems within the Zcash ecosystem.

Profitability: will depend on achieving a substantial user base and transaction volume. The more people we attract to the platform, the more profitable it will become, and it will also help increase the adoption of Zcash, the platform would cover its costs and potentially generate surplus revenue over time. Another thing is keeping a low overhead, by leveraging a community approach system and reducing the need for a large operational team, the platform can maintain low operating costs. The major expenses would be initial development, infrastructure (e.g., VPS hosting), and periodic security audits.

To drive users to the platform, we plan to serve as an entry point for those seeking to purchase cryptocurrencies without the need for KYC for transactions up to $10,000. One specific idea is that we will reach out to users on classified websites and forums where people are seeking answers to these solutions in multiple regions, inviting them to use the escrow protection offered by the platform in acquiring Zcash without KYC. As well as a potential partnership with other (mostly smaller) networks/coins offering Zcash as a way for their users to acquire their coins without KYC, meaning they exchange Zcash for fiat first to exchange Zcash for their coin, this puts Zcash in a good position in terms of brand recognition and network activity.

Operational and Governance Model:
Over time, the platform will be governed through decentralized mechanisms involving community votes. Governance will include community voting on platform upgrades and changes, this includes voting on arbitrators, spending of revenue, etc. Platforms like Paxful and Biannce are making too much money from decentralized services while making all the rules, the aim is to change it to a model where community input rules instead.

Consideration of Honor Debt to ZCG:
If ZCG is open to the idea, taking the grant as an honor debt could be a viable approach. In its early stages, using the generated revenue might be necessary to cover operational costs until it reaches a critical mass of users (reinvested into platform improvements, user acquisition, and liquidity enhancement, to help accelerate the platform’s growth and increase its long-term viability). Pass that, Instead of outright repayment, we can do repayment through revenue sharing ZExchange would allocate a portion of its revenue (e.g., a percentage of transaction fees) to gradually repay the grant over time, this aligns the platform’s success with its obligation to the ZCG. Also, I should highlight that this project has other benefits to Zcash which include more users, easier onboarding, and increased network activity.

1 Like

Yes I think this is the best approach because the user can provide the address they please and it’s easier to implement, plus, other exchanges like stealthcex and sideshift do that as well

1 Like

noted, thanks for the input.

1 Like

@Emmanuel Thank you for your forum engagement. After consideration from @ZcashGrants and sufficient time for the community to provide feedback on the forum, the committee has decided to reject this proposal.

The committee appreciates your efforts and encourages you to continue as an active member of the Zcash community going forward, both here on the forum and in the below avenues as well:

Thank you for your consideration.