Skip to content

Commit 47e8713

Browse files
authored
Create RIW2021_RFC_ZKCP Optimizations.md (#16)
1 parent d4d64ae commit 47e8713

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# RIW2021 | RFC: ZKCP Optimizations
2+
3+
_Status:_ **draft**; **~~ready for review~~**; **~~ready to publish~~**
4+
5+
_Area of Improvement:_ Data Delivery Metering
6+
7+
_Estimated Effort Needed:_ <?>
8+
9+
_Prerequisite(s):_ <?>
10+
11+
_Priority:_ <? P0, P1, P2>
12+
13+
14+
### Abstract
15+
16+
TBWRITTEN
17+
18+
### **Proposal/Construction**
19+
20+
* Assumption
21+
* We assume that encrypting a file and issuing a Proof-of-Retrievability is an expensive operation
22+
* Optimization I
23+
* encrypted the data once, then encrypt the encryption key to the client to do the fair exchange
24+
* Pros
25+
* Only issue s Proof-of-Retrievability once
26+
* A group of providers can collaborate over a set of pre-encrypted files and issue the keys to the clients as they request
27+
* Cons
28+
* Opens the potential for a grieving attack, where multiple clients ask the provider to get the file, but then only one client pays for the decryption key
29+
* Open Problem: Need to find a way for individual parties to be unable to share the keys to decrypt the same cyphertext.
30+
* Perhaps the client specific key does one last, non expensive scramble?
31+
* Optimization II
32+
* Only prove a small n of chunks out of N
33+
* Getting n random chunks in an initial interaction for free might be fine as it would take O(n^3) time to collect the whole file that way
34+
* Question for Steven: how do you prove random pieces belong to file that you want?
35+
* Merkle-tree, share the merkle path
36+
* If an IPLD dag is used, we could leak data on proving a path
37+
* Attacker wouldn’t necessarily want to pull different pieces from multiple endpoints (expensive)
38+
39+
**Impact**
40+
41+
TBWRITTEN
42+
43+
### Pros and Cons
44+
45+
TBWRITTEN
46+
47+
### **Implementation **n**otes**
48+
49+
TBRITTEN
50+
51+
### **Evaluation**
52+
53+
TBRITTEN
54+
55+
### Prior work
56+
57+
TBRITTEN

0 commit comments

Comments
 (0)