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: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,8 +31,8 @@ Consider the following UnixFS DAG file with a fanout factor of 3:
31
31
32
32
33
33
Considering a verifer is asking a prover to provide a proof that it contains the corresponding block at the _file level offset_ X, the prover generates the subdag inside the green zone:
34
-
-RoundIndigo nodes are internal DAG nodes that are somewhat small-ish and don't contain file data.
35
-
- Square blocks are leaves that contain part of the original file data.
34
+
-Roundo nodes are internal DAG nodes that are somewhat small-ish and don't contain file data.
35
+
- Square nodes contain chunks of the original file data.
36
36
- The indigo colored nodes are necessary nodes to make the proof verify that the target block (red) is at the specified offset.
37
37
38
38
@@ -67,7 +67,7 @@ Notice that if the prover has missing internal nodes of the UnixFS, then the imp
67
67
68
68
69
69
## Proof sizes and benchmark
70
-
The size of the proof should be already close to the minimal level. Notice that these proofs are pretty big for the single reason that no assumptions are made of DAG layout nor chunking. Thus internal nodes at visited levels include many children. If the fan-out factor at each level is the default-ish ones, this involves a non-negligible number of blocks, which are unavoidable to allow having these minimal assumptions.
70
+
The size of the proof should be already close to the minimal level. Notice that these proofs are pretty big for the single reason that no assumptions are made of DAG layout nor chunking. Thus internal nodes at visited levels include many children. If we're able to have some extra assumptions as fixed-size chunking, then we could potentially ignore untargeted raw leaves which are the biggest in size, and only include the targeted (red) leaf node.
71
71
72
72
Generating and verifying proofs are mostly symmetrical operations. The current implementation is very naive and not optimized in any way. Being stricter with the spec CAR serialization block order can make the implementation faster. Probably, not a big deal unless you're generating proofs for thousands of _Cids_.
73
73
@@ -78,7 +78,7 @@ The following bullets will probably be implemented soon:
78
78
-[ ] CLI command wirable to `go-ipfs`. The lib already supports any `DAGService` so anything can be pluggable.
79
79
-[ ] Allow strict mode proof validation; maybe it makes sense to fail faster in some cases, nbd.
80
80
-[ ] CLI for validation from DealID in Filecoin network; maybe fun, but `Labels` are unverified.
81
-
-[ ]Many border-case tests.
81
+
-[ ]godocs
82
82
83
83
This is a side-project made for fun, so a priori is a hand-wavy roadmap.
0 commit comments