Merkle Tree implementation