You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: applications/ZeroPool.md
+39-25Lines changed: 39 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,14 +91,24 @@ Alexandra is responsible for product development and cooperation with other team
91
91
92
92
## **Development Roadmap**
93
93
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
95
97
96
-
### **Milestone 2 — Implement zkSNARK circuit and cryptography for private transaction — 2 month — $40,000 (in DAI)**
97
98
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
101
100
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 |
102
112
103
113
104
114
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
111
121
112
122
113
123
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
119
125
126
+
***Estimated Duration:** 2 months
127
+
***FTE:** 3
128
+
***Costs:** 30000 DAI
120
129
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 |
121
139
122
140
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).
- 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
138
148
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 |
139
156
140
157
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.
141
158
142
-
143
-
144
159
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.
0 commit comments