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

Consistently handle carv2 files during the deal making flows #1158

Open
jacobheun opened this issue Feb 6, 2023 · 0 comments
Open

Consistently handle carv2 files during the deal making flows #1158

jacobheun opened this issue Feb 6, 2023 · 0 comments
Labels
area/deals Area: Deals kind/bug Kind: Bug P2 P2: Should be resolved

Comments

@jacobheun
Copy link
Contributor

Summary

While doing some retrieval testing I was generating random, dense DAG car files to store. The default tooling resulted in these being CARv2 files, instead of Boosts preferred CARv1 files. The boostx commp and Boost deal flow, local commp verification do not produce the same commp. The code flow also seems to be different for the Lotus commp validation, making it likely impossible to make a deal with a CARv2.

While we do prefer CARv1 for deal making flows, we should support CARv2 as a lot of existing tooling in the ecosystem generates them by default (go-car for example).

Steps to reproduce

  1. Generate a CARv2 file using go-car (or the random car utility command, currently at b0811c7)
  2. Calculate commp with boostx commp
  3. Make a deal against the local devnet, commp validation will fail as it doesnt match

Note: It also appears that the size check during commp validation is nondeterministic. In the screenshot below the car file is the same, but the "written" byte count varied between two deal attempts:

nondeterministic size

References

@jacobheun jacobheun added kind/bug Kind: Bug P2 P2: Should be resolved area/deals Area: Deals labels Feb 6, 2023
@jacobheun jacobheun added this to Boost Feb 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/deals Area: Deals kind/bug Kind: Bug P2 P2: Should be resolved
Projects
Status: No status
Development

No branches or pull requests

1 participant