Where is BLAKE3?
Applications and use cases of the fastest hash function
Six years ago we announced BLAKE3 at Real World Crypto. Our pitch was simple: one hash algorithm to replace them all, faster than MD5 yet as secure as SHA-3, and doubling as a MAC, KDF, PRF, and XOF without a baroque collection of variants, modes, and parameter sets. You can just see BLAKE3 as a massively parallel version of BLAKE2 that’s even more aggressively optimized, building on the Too Much Crypto principles.
BLAKE3 is not a NIST standard. It's not even an IETF (RFC) standard. But from an engineering perspective it’s the best choice for many use cases, because it’s ridiculously fast.
In this note we’ll review some of the use cases that BLAKE3 addressed, focusing on the most prominent projects:
The LLVM compiler infrastructure adopted BLAKE3 to replace SHA-1 and address SHA-1's collision vulnerability. BLAKE3 also proved faster than SHA-1.
Cargo, Rust's package manager, uses BLAKE3 for checksums. This means every Rust developer on the planet is running it continuously without thinking about it.
Bazel, Google's widely adopted build system, supports BLAKE3 as its file digest function.
CCache, the popular compiler cache, migrated from MD4 (!) to BLAKE3 in 2020, shortly after we announced BLAKE3.
Cloudflare Pages uses BLAKE3 for hashing requests’ content, and Cloudflare Pipelines supports BLAKE3, along with other hashes .
The OpenZFS filesystem supports BLAKE3 for computing checksums of filesystem blocks.
The iroh networking stack (used for distributed AI training, P2P messaging, video streaming, etc.) chose BLAKE3 for fast hashing of small data blobs, although BLAKE3 is mainly known for its performance on large data. The iroh project created the Rust crate iroh_blake3.
In the blockchain space, many projects use BLAKE3 internally, but let’s just mention:
Alephium, whose proof-of-work system consists only of BLAKE3 hashing, and for which dedicated hardware miners (and thus BLAKE3 hardware circuits) were created.
Ethereum’s EIP-7864 (Ethereum state using a unified binary tree) uses BLAKE3 for tree hashing, but notes “Do not assume BLAKE3 is a final decision.”
Chia uses BLAKE3 as part of its proof-of-space system.
IPFS added support for BLAKE3, as IPFS does a lot of hashing to ensure file integrity.
Solana uses BLAKE3 as the hash in its runtime software. Some questioned its efficiency on short messages, but it doesn’t seem to be a meaningful issue.
BLAKE3 can speed up post-quantum cryptography: the PQC-Suite-B project (which I contributed to) used BLAKE3 to create a variant of the post-quantum signature standard ML-DSA, replacing SHA-3 with BLAKE3: ML-DSA-B.
In video game applications, BLAKE3 was adopted by the Mesa 3D graphics library (for faster Vulkan shader hashing), and the fighting game Tekken 8 reported using BLAKE3 in its credits.
The research project presented in the recent paper Do Androids Dream of a Dead Internet: Interactive Watermarks for Bot Detection used BLAKE3 as a universal hash function. As a general-purpose cryptographic hash, BLAKE3 is overqualified for the job, but fast enough and likely close to the speed of pure universal hashes.
More anecdotally, BLAKE3 appears to be used in a whistleblowing portal of the Indonesian Civil Service Police Unit.
Many other systems use BLAKE3, including ClickHouse, Farcaster, Nix, Nym, Redox, Wasmer. Many proprietary commercial systems likely use it too but examples are harder to find.
