1. Empirical comparisons (run locally)
Hash throughput
SHA-256 / SHA-256d / BLAKE3 / BLAKE3d / BLAKE3-portable measured
in hashes-per-second, single thread and N-thread, on the host CPU.
End-to-end block validation
Wall time to
-reindex 2016 regtest blocks on
bitcoind vs b3chaind. Most defensible
single number — whole validation path, not just hashing.
Length-extension safety
Working SHA-256 length-extension forgery against a naive MAC; same
attack against BLAKE3 fails by construction. Construction-level
safety, not a Bitcoin attack.
2. Structural / data-only comparisons
ASIC landscape
Bitcoin's mature SHA-256 ASIC market vs BLAKE3's nascent one;
what this means for B3Chain's launch-time decentralisation.
Energy per hash
Algorithm-level energy figures from the BLAKE3 paper plus
manufacturer ASIC J/TH numbers, with the necessary caveats.
Attack surface & cryptanalysis
CVE history, round-reduced cryptanalysis status, structural
properties (length-extension, multi-target, side channels).
Collision margin (MD vs Bao)
Merkle-Damgard chained compression vs BLAKE3's tree mode —
what changes structurally and why it matters for protocol design.
3. Run all empirical comparisons
cd b3chain bash contrib/testing/compare/run-all-compare.sh
Each script prints a markdown table on stdout and writes a JSON file
under contrib/testing/compare/results/. The hub page
above is regenerated from results/latest.json when the
site is deployed.
4. Honesty caveats
- Throughput numbers vary substantially by CPU, cache size, and
thermal state. Each result records
cpu_modelandcoresso you can re-interpret. - The BLAKE3 throughput advantage is largest on multi-thread large-input workloads. Single-thread 80-byte hashing through a Python wrapper is dominated by call overhead.
- The length-extension demo is about construction
differences. Bitcoin's
SHA-256dsidesteps the LE issue intentionally; BLAKE3 sidesteps it by design. - SHA-256 ASICs are a mature market with a 15-year head start. BLAKE3 ASICs are nascent. This asymmetry is part of why we picked BLAKE3 for launch security; it is not a permanent property.