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.
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.