Earlier quoted context omitted.
> If you have a file and the BLAKE3 hash of that file, you can generate a proof that a portion of the file is correct This seems wrong to me? I would expect you could only verify the entire file.
This is a difference between BLAKE3 and most other hash functions. In the usual arrangement ("Merkle–Damgård"), each block depends on the previous one, so the only way to verify some "slice" of the input is to re-hash the whole thing. But when you arrange the input into a tree shape (a "Merkle tree") instead, suddenly the right half of the tree does not depend on the left half until the very last step at the very top…
> If you have a file and the BLAKE3 hash of that file
To me that means the final hash. If you have the full tree of hashes that is a different story!
PS. Thanks for making BLAKE3! I use it in several pieces of software.