Skip to content

Commit 9eccd91

Browse files
committed
add ZeroPool.md
1 parent 458e816 commit 9eccd91

File tree

1 file changed

+166
-0
lines changed

1 file changed

+166
-0
lines changed

applications/ZeroPool.md

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# Open Grant Proposal
2+
3+
- **Project:** [ZeroPool](https://zeropool.network)
4+
- **Proposer:** snjax
5+
- **Payment Address:** DAI ERC20: 0xb6F9F891497C0B72a8A817f3D3E3C721fca6f9CC
6+
7+
## **Project Description**
8+
9+
ZeroPool is the first fully anonymous solution for the Ethereum. One can deposit, withdraw, and make transactions inside the project. ZeroPool supports ERC20 and ERC721. We hide the whole graph of the transaction. Gas cost is pretty attractive in our solution (15-40k per transaction), because we are using optimistic rollup.
10+
11+
All these points explain benefits for the community. True anonymity on the blockchain becomes possible with ZeroPool.
12+
13+
We are interested in cooperation with Web3 because we will be able to make zkSNARK and privacy technologies more attractive and clear for developers. Also, we will be able to attract more users and attention to our project.
14+
15+
Private transactions are a rather atypical development for blockchain. There are two differences from common dApps: our dApp needs to manage local client/browser-side database and zkSNARK prover requires heavy computational complexity. We need to optimize the solutions not only at the opcodes level and algorithms but also at a more high level, like interactions between all components (UI, cryptography, local database, blockchain).
16+
17+
Here is a tech description, how our solution works: [State of Zeropool - scaling anonymous transactions for Ethereum](https://ethresear.ch/t/state-of-zeropool-scaling-anonymous-transactions-for-ethereum/6946).
18+
19+
##
20+
21+
## **Team members**
22+
23+
- Igor Gulamov / Applied cryptography, architecture, rust
24+
25+
https://github.com/snjax
26+
27+
28+
29+
Igor is responsible for cryptography, architecture, coordination, and team management. Also, Igor is responsible for research and finding out the best way of adapting ZeroPool for Web3.
30+
31+
- Alexandra Gulamova / Business development, community, UX, administrative
32+
33+
Non-technical tasks for our interaction requires a separate person. All applications, reports, coordination questions. Also, it is needed to follow up with the community to adopt and support this project.
34+
35+
- Dmitry Vdovin Rust/wasm developer
36+
37+
https://github.com/voidxnull
38+
39+
Dmitry has experience in the development of wasm and rust applications, backend and microservices, interacting with the blockchain.
40+
41+
Rust/wasm developer is full-time, he is responsible for developing wasm part of the client-side application and also there are client-side bases among the tasks. It takes a lot of time and affords.
42+
43+
- Samuele Landi Rust/blockchain developer
44+
45+
https://github.com/samuelelandi
46+
47+
Samuele has experience in rust, blockchain, and polkadot development.
48+
49+
Rust/blockchain developer builds relayer and maybe some parts of the pallet, which is needed for cryptography adapting for the final product.
50+
51+
- Anton Pegov Frontend developer
52+
53+
https://github.com/antonpegov
54+
55+
Anton has experience in fronted (including fronted for Ethereum DApps).
56+
57+
We need a separate position for the frontend developer because the scope of skills of other team members does not imply strong frontend skills. Anton covers this scope giving time for others to work hard on the codebase.
58+
59+
## **Team Website**
60+
61+
- https://zeropool.network
62+
63+
## **Team's experience**
64+
65+
Igor is the tech lead of the team. Igor is responsible for core parts such as ZeroPool architecture and SNARKs.
66+
67+
Igor has great experience in research and product creations. He started as a researcher in physics at the same time he created some IT products for the b2b sector. Igor came to the blockchain as VP Eng in BANKEX Foundation and then became CTO there. Also, Igor has great experience in blockchain research (https://ethresear.ch/u/snjax/) and built [Fawkes-Crypto library](https://github.com/zeropoolnetwork/fawkes-crypto), providing development zkSNARKs as native applications in pure Rust.
68+
69+
Dmitry has a strong experience in rust. He worked on different IT projects before.
70+
71+
Anton is responsible for the frontend. He has perfect experience and skills in UX/UI. He worked for international IT companies. Also, he has experience in blockchain. He created a frontend for several dApps.
72+
73+
Samuel has great experience in IT. He worked in application-directed cryptography. So he has deep knowledge of encryption, communication protocols, and coder of original communication protocols for encrypted communications. Also, Samuel worked on several blockchain projects with Polkadot (Substrate), Ethereum, and Bitcoin.
74+
75+
Alexandra is responsible for product development and cooperation with other teams and companies. Alexandra has great experience in IT projects and business development. Also, she is responsible for non-coding questions in the project.
76+
77+
## **Team Code Repos**
78+
79+
- https://github.com/zeropoolnetwork
80+
- https://github.com/snjax
81+
- https://github.com/voidxnull
82+
- https://github.com/samuelelandi
83+
- https://github.com/antonpegov
84+
85+
86+
87+
## **Team LinkedIn Profiles**
88+
89+
- https://www.linkedin.com/in/igorgulamov/<Igor Gulamov >
90+
- [https://www.linkedin.com/in/alexandra-gulamova/](https://www.linkedin.com/in/alexandra-gulamova-a4102a57/)<Alexandra Gulamova>
91+
92+
## **Development Roadmap**
93+
94+
* **Total Estimated Duration:** 6 months
95+
* **Full-time equivalent (FTE):** 3 FTE
96+
* **Total Costs:** 100000 DAI
97+
98+
### Milestone 2 — Implement zkSNARK circuit and cryptography for private transaction
99+
100+
* **Estimated Duration:** 2 months
101+
* **FTE:** 3
102+
* **Costs:** 40000 DAI
103+
104+
| Number | Deliverable | Specification |
105+
| ------------- | ------------- | ------------- |
106+
| 0a. | License | Apache 2.0 and MIT |
107+
| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can sign, proof and verify the transactions. |
108+
| 0c. | Testing Guide | We will build a testing environment to demonstrate functionality. Proved transactions could be verified in substrate pallet application (1) |
109+
| 0d. | Article/Tutorial | We will write an article or tutorial that explains the work done as part of the grant.
110+
| 1. | zkSNARK circuit and cryptography library | We will create a library for proving and verifying private transactions, compatible with the substrate pallet |
111+
112+
113+
The solution is based on [Fawkes-Crypto](https://crates.io/crates/fawkes-crypto) library. We implement a join-split transaction with hidden inputs from a merkelized anonymity set. Also we are going to support spending, receiving and decryption keys, like in ZCash.
114+
115+
The resulting software will be available to sign and prove, encrypt and decrypt transactions :
116+
117+
- deposits
118+
- withdrawals
119+
- transfers
120+
121+
122+
123+
### Milestone 3 — Implement private transactions contract for substrate pallet and client library
124+
125+
* **Estimated Duration:** 2 months
126+
* **FTE:** 3
127+
* **Costs:** 30000 DAI
128+
129+
| Number | Deliverable | Specification |
130+
| ------------- | ------------- | ------------- |
131+
| 0a. | License | Apache 2.0 and MIT |
132+
| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can execute private transactions on the substrate node. Once the node is up, it will be possible to send test transactions that will show how the new functionality works. |
133+
| 0c. | Testing Guide | The code will have unit-test coverage (min. 70%) to ensure functionality and robustness. In the guide we will describe how to run these tests |
134+
| 0d. | Article/Tutorial | We will write an article or tutorial that explains the work done as part of the grant.
135+
| 1. | Substrate module: private transactions | We will deliver a working module, demonstrating private transactions in the substrate chain |
136+
| 2. | Wallet library: | The js&wasm wallet library will support interaction with the contract (perform transactions and view the state) from the frontend side. |
137+
| 3. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain |
138+
139+
The contract will support transfer, deposit, and withdrawal for multiple assets (DOTs, tokens, presented on the parachain). All transfers are private (balances, user accounts, asset types, transaction graph are hidden).
140+
141+
142+
### Milestone 4 — Implement wallet app, providing private transactions
143+
144+
* **Estimated Duration:** 2 months
145+
* **FTE:** 3
146+
* **Costs:** 30000 DAI
147+
148+
| Number | Deliverable | Specification |
149+
| ------------- | ------------- | ------------- |
150+
| 0a. | License | Apache 2.0 and MIT |
151+
| 0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can perform private transactions with our application. |
152+
| 0c. | Testing Guide | The code will have unit-test coverage (min. 70%) to ensure functionality and robustness. In the guide we will describe how to run these tests |
153+
| 0d. | Article/Tutorial | We will write an article for Medium, describing to users, how to use our solution as part of the grant.
154+
| 1. | Wallet application | We will create a frontend app for private transactions |
155+
156+
The wallet will support all types of transfers, using the client library. Also, the wallet will support keys and seeds management, browser allocated DB and core libs, compiled into wasm modules.
157+
158+
So, the users could overview the assets they have (public and private in the pool), move the assets into the pool and back, transfer assets privately inside the pool to other users.
159+
160+
161+
## **Future Plans**
162+
163+
- Trusted setup
164+
- Audit
165+
- Support assets from other para chains for private transfers
166+

0 commit comments

Comments
 (0)