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: src/ipips/ipip-0499.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
@@ -22,7 +22,7 @@ tags: ['ipips']
22
22
23
23
This proposal introduces configuration profiles for CIDs used to represent files and directories with UnixFS. These ensure that the deterministic CID generation for the same data, regardless of the implementation.
24
24
25
-
Profiles explicitly define the UnixFS parameters, e.g. dag width, hash algorithem, and chunk size, that affect the resulting CID, such that given the profile and input data different implementations will generate identical CIDs.
25
+
Profiles explicitly define the UnixFS parameters, e.g. dag width, hash algorithm, and chunk size, that affect the resulting CID, such that given the profile and input data different implementations will generate identical CIDs.
26
26
27
27
## Motivation
28
28
@@ -31,7 +31,7 @@ UnixFS CIDs are not deterministic. This means that the same file tree can yield
31
31
This lack of determinism makes has a number of drawbacks:
32
32
33
33
- It is difficult to verify content across different tools and implementations, as the same content may yield different CIDs.
34
-
- Users are requires to store and transfer UnixFS merkle proofs in order to verify CIDs, adding storage overhead, network bandwidth, and complexity to the verification process.
34
+
- Users are required to store and transfer UnixFS merkle proofs in order to verify CIDs, adding storage overhead, network bandwidth, and complexity to the verification process.
35
35
- In terms of developer experience, it deviates from the mental model of a hash function, where the same input should always yield the same output. This leads to confusion and frustration when working with UnixFS CIDs
36
36
37
37
By introducing profiles, we can benefit from both the optionality offered by UnixFS, where users are free to chose their own parameters, and determinism through profiles.
@@ -49,7 +49,7 @@ The profiles define a set of parameters that affect the resulting CID. These par
49
49
1. CID version (currently only CIDv0 or CIDv1)
50
50
1. Hash function
51
51
1. UnixFS chunk size
52
-
1. UnixFS DAG layout (e.g. balanced, trickle)
52
+
1. UnixFS DAG layout (e.g. balanced, trickle etc...)
53
53
1. UnixFS DAG width (max number of links per `File` node)
54
54
1.`HAMTDirectory` fanout (must be a power of 2)
55
55
1.`HAMTDirectory` threshold (max `Directory` size before switching to `HAMTDirectory`): based on an estimate of the block size by counting the size of PNNode.Links
@@ -115,7 +115,7 @@ Kubo 0.35 will have [`Import.*` configuration](https://github.com/ipfs/kubo/blob
115
115
116
116
### Alternatives
117
117
118
-
As an alternative to profiles, users can store and transfer CAR files of UnixFS content, which include the merkle proofs needed to verify the CID.
118
+
As an alternative to profiles, users can store and transfer CAR files of UnixFS content, which include the merkle DAG nodes needed to verify the CID.
0 commit comments