What is the most efficient hashing algorithm for constructing a Merkle tree? Most algos assume large inputs, but in a Merkle tree you hash many small inputs, doing expensive setup+finalization every time. Is there a way to minimize those costs without sacrificing security?
Just occurred to me that if your hashing algorithm has a block size of n, and an output size of m, you can increase your tree arity to n/m "for free." That is, you can fit four 32-byte tree nodes in a 128-byte block, and the hash will be just as cheap as the hash of two nodes.