NilFoundation / crypto3-fil-proofs

Filecoin C++ Proofs Implementation based on =nil; Crypto3 C++ Cryptography Suite
MIT License
0 stars 0 forks source link

Refactor MerkleTree implementation #1

Open nemothenoone opened 4 years ago

nemothenoone commented 4 years ago

The tree itself has to be an arity-configurable and hashable. Actual requirements are fully covered with this: https://github.com/filecoin-project/rust-fil-proofs/blob/master/storage-proofs/core/src/merkle/tree.rs. The implementation mentioned has accessors to proof generation right inside the class vtable, which violates concept requirements and makes the tree itself a "god object". Merkle Proof generation has to be factored out to separate make_proof factory method.

Boost.Graph/Boost.ParallelGraph concepts usage is required because of this could open the way to multi-machine DRG processing.

Zerg1996 commented 2 years ago

Moved in containers