Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add filecoin hashing functions to table #167

Closed
mikeal opened this issue Apr 6, 2020 · 2 comments · Fixed by #172
Closed

Add filecoin hashing functions to table #167

mikeal opened this issue Apr 6, 2020 · 2 comments · Fixed by #172

Comments

@mikeal
Copy link
Contributor

mikeal commented Apr 6, 2020

Filecoin is using raw CID’s w/ an unregistered multihash function.

https://github.com/filecoin-project/go-fil-commcid/blob/master/commcid.go#L19

We should add this to the table. @Stebalien how should we go about reserving the additional constants noted in the file?

@Stebalien
Copy link
Member

We got stuck trying to define the right hash functions/formats: #161. We wanted to define some kind of general-purpose "merkle-tree" IPLD format, but at the time, filecoin hadn't even stabilized around how they were hashing content. Has that changed?

@mikeal
Copy link
Contributor Author

mikeal commented Apr 7, 2020

They consider the current implementation stable. Any changes to it would cause a pretty massive break across Filecoin.

rvagg added a commit that referenced this issue May 12, 2020
These describe roots & nodes of a merkle tree, not the underlying
data. In the case of CommP and CommD they are binary merkle trees
using sha2-256-trunc2. For CommR they are novel structure merkle
trees using poseidon-bls12_381-a2-fc1.

All nodes of the respective merkle trees could also be described
using this codec if required, all the way to base data. It is
anticipated that the primary use will be restricted to the roots.

Ref: #161
Closes: #161
Closes: #167
rvagg added a commit that referenced this issue May 12, 2020
These describe roots & nodes of a merkle tree, not the underlying
data. In the case of CommP and CommD they are binary merkle trees
using sha2-256-trunc2. For CommR they are novel structure merkle
trees using poseidon-bls12_381-a2-fc1.

All nodes of the respective merkle trees could also be described
using this codec if required, all the way to base data. It is
anticipated that the primary use will be restricted to the roots.

Ref: #161
Closes: #161
Closes: #167
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants