arnaucube a4ada7e2ee Add CPU parallelization to buildTreBottomUp
buildTreeBottomUp splits the key-values into n Buckets (where n is the
number of CPUs), in parallel builds a subtree for each bucket, once all
the subtrees are built, uses the subtrees roots as keys for a new tree,
which as result will have the complete Tree build from bottom to up,
where until the log2(nCPU) level it has been computed in parallel.

As result of this, the tree construction can be parallelized until
almost the top level, almost dividing the time by the number of CPUs.
2021-04-25 17:55:56 +02:00
2021-03-30 22:03:26 +02:00
2021-04-25 17:55:46 +02:00
2021-03-30 21:56:05 +02:00
2021-03-30 21:56:05 +02:00
2021-04-25 17:55:46 +02:00

arbo GoDoc Go Report Card Test

MerkleTree implementation in Go. Compatible with the circomlib implementation of the MerkleTree (when using the Poseidon hash function), following the specification from https://docs.iden3.io/publications/pdfs/Merkle-Tree.pdf and https://eprint.iacr.org/2018/955.

Allows to define which hash function to use. So for example, when working with zkSnarks the Poseidon hash function can be used, but when not, it can be used the Blake3 hash function, which improves the computation time.

Description
No description provided
Readme GPL-3.0 330 KiB
Languages
Go 97.9%
TypeScript 2.1%