-
Notifications
You must be signed in to change notification settings - Fork 62
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
digest: promote blake3 to first-class digest #66
base: master
Are you sure you want to change the base?
Conversation
66e27ab
to
1728461
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🍨
oh beans, a rebase is needed |
1728461
to
1367d1e
Compare
The dual module approach for blake3 was slightly awkward. Since it provides similar usability with a massive bump in performance, it's extremely likely to land as a registered algorithm in the image-spec. This PR removes the secondary module, which made it difficult to test as a unit. This may break users who are using HEAD versions of the package. For a new release, this will be backwards compatible. The other drawback is that the zeebo/blake3 will now be a dependency but this can be replaced transparently by the standard libary in the future. In addition to promoting blake3, this makes a few style adjustments to be in line with Go's style guidelines. Signed-off-by: Stephen Day <[email protected]>
1367d1e
to
b941ada
Compare
I'm not against this, but I'm not sure we have reached the consensus on the algorithm name. Is there any actual implementation that has been already using blake3/b3-256/whatever else? |
Since blake3 supports multiple digests sizes it seems to me that "blake3" without the digest size (e.g., "blake3-256") is a bad choice for a name. Furthermore, it makes sense to register the 512 bit algorithm as well to have the same collision resistance as SHA512 that you already have registered. "blake3-512" or "b3-512" along with either "blake3-256" or "b3-256" seem to make the most sense for names. This is not a binary compact format like multihash so I favor spelling out "blake3" instead of using "b3". That is my two cents for what it is worth. |
since the library you've pulled is is defaulting to 256bit, I think going with @ktarplee is a fine idea. And optionally we could also add "blake3-512" |
Do we want to pick this up again? Do we have consensus in the spec yet? |
Is there any existing user of blake3 in OCI? |
it would be great to see blake3 usage to start permeating the ecosystem - @ktarplee's naming proposal seems logical |
I think we should codify it in the spec before promotion (which I'm now explicitly in favor of: opencontainers/image-spec#819 (comment)), but with the caveat that I'm only an image-spec maintainer, not go-digest. |
The dual module approach for blake3 was slightly awkward. Since it
provides similar usability with a massive bump in performance, it's
extremely likely to land as a registered algorithm in the image-spec.
This PR removes the secondary module, which made it difficult to test as
a unit. This may break users who are using HEAD versions of the package.
For a new release, this will be backwards compatible. The other drawback
is that the zeebo/blake3 will now be a dependency but this can be
replaced transparently by the standard libary in the future.
Signed-off-by: Stephen Day [email protected]