Skip to content

Commit 6257b1b

Browse files
authored
Update ZeroPool.md
1 parent 11d96fe commit 6257b1b

1 file changed

Lines changed: 39 additions & 25 deletions

File tree

applications/ZeroPool.md

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,24 @@ Alexandra is responsible for product development and cooperation with other team
9191

9292
## **Development Roadmap**
9393

94-
All source code will be licensed under either of MIT and/or Apache 2.0.
94+
* **Total Estimated Duration:** 6 months
95+
* **Full-time equivalent (FTE):** 3 FTE
96+
* **Total Costs:** 100000 DAI
9597

96-
### **Milestone 2 — Implement zkSNARK circuit and cryptography for private transaction — 2 month — $40,000 (in DAI)**
9798

98-
- We will create a library for proving and verifying private transactions, compatible with the substrate pallet
99-
- All source code will be unit tested and documented
100-
- We will build a testing environment to demonstrate functionality. Proved transactions could be verified in substrate pallet application (1)
99+
### Milestone 2 — Implement zkSNARK circuit and cryptography for private transaction
101100

101+
* **Estimated Duration:** 2 months
102+
* **FTE:** 3
103+
* **Costs:** 40000 DAI
104+
105+
| Number | Deliverable | Specification |
106+
| ------------- | ------------- | ------------- |
107+
| 0a. | License | Apache 2.0 and MIT |
108+
| 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. |
109+
| 0c. | Testing Guide | We will build a testing environment to demonstrate functionality. Proved transactions could be verified in substrate pallet application (1) |
110+
| 0d. | Article/Tutorial | We will write an article or tutorial that explains the work done as part of the grant.
111+
| 1. | zkSNARK circuit and cryptography library | We will create a library for proving and verifying private transactions, compatible with the substrate pallet |
102112

103113

104114
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.
@@ -111,40 +121,44 @@ The resulting software will be available to sign and prove, encrypt and decrypt
111121

112122

113123

114-
### **Milestone 3 — Implement private transactions contract for substrate pallet and client library — 2 month — $30,000 (in DAI)**
115-
116-
- We will create a smart contract for private transactions
117-
- All source code will be unit tested and documented
118-
- We will deliver a working module, demonstrating private transactions in the substrate chain
124+
### Milestone 3 — Implement private transactions contract for substrate pallet and client library
119125

126+
* **Estimated Duration:** 2 months
127+
* **FTE:** 3
128+
* **Costs:** 30000 DAI
120129

130+
| Number | Deliverable | Specification |
131+
| ------------- | ------------- | ------------- |
132+
| 0a. | License | Apache 2.0 and MIT |
133+
| 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. |
134+
| 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 |
135+
| 0d. | Article/Tutorial | We will write an article or tutorial that explains the work done as part of the grant.
136+
| 1. | Substrate module: private transactions | We will deliver a working module, demonstrating private transactions in the substrate chain |
137+
| 2. | Wallet library: | The js&wasm wallet library will support interaction with the contract (perform transactions and view the state) from the frontend side. |
138+
| 3. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain |
121139

122140
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).
123141

124142

143+
### Milestone 4 — Implement wallet app, providing private transactions
125144

126-
The js&wasm wallet library will support interaction with the contract (perform transactions and view the state) from the frontend side.
127-
128-
129-
130-
131-
132-
### **Milestone 4 — Implement wallet app, providing private transactions — 2 month — $30,000 (in DAI)**
133-
134-
- We will create a frontend app for private transactions
135-
- All source code will be unit tested and documented
136-
- We will write an article for Medium, describing to users, how to use our solution
137-
145+
* **Estimated Duration:** 2 months
146+
* **FTE:** 3
147+
* **Costs:** 30000 DAI
138148

149+
| Number | Deliverable | Specification |
150+
| ------------- | ------------- | ------------- |
151+
| 0a. | License | Apache 2.0 and MIT |
152+
| 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. |
153+
| 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 |
154+
| 0d. | Article/Tutorial | We will write an article for Medium, describing to users, how to use our solution as part of the grant.
155+
| 1. | Wallet application | We will create a frontend app for private transactions |
139156

140157
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.
141158

142-
143-
144159
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.
145160

146161

147-
148162
## **Future Plans**
149163

150164
- Trusted setup

0 commit comments

Comments
 (0)