10-11, 16:30–17:00 (America/Bogota), Talk 2
We shill an assembly SHA256 library that is optimized to compute the hash tree root of a Merkle tree. It consists of reusing two publicly available methods:
1. Hardcoding padding block. This method is used in Bitcoin's core client hashing algo.
2. Use CPU-vectorization to hash different branches in parallell. This is Intel's "multi-buffer" method.
Initial benchmarks show up to 1200% improvement on hashing of large lists on AVX512.
A GoAssembly version is used by prysm.
I am a professional mathematician that temporarily happen to be a core developer at prysmaticlabs. I enjoy the types of puzzles that arise when trying to hack the protocol.