You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd like to do a code cleanup pass when the HS files are not actively modified by many people. For example.
avoid excessive vector copies when aggregating/verifying signatures (include update fc & bls12 submodule to use std::span instead of std::vector for input parameters.
reduce number of calls to fc::crypto::blslib::aggregate when verifying a quorum_certificate (see evaluate_quorum)
add simpler type aliases in hotstuff.hpp to make the code less verbose, for ex:
using bls_public_key_t = fc::crypto::blslib::bls_public_key;
using bls_private_key_t = fc::crypto::blslib::bls_private_key;
using bls_signature_t = fc::crypto::blslib::bls_signature;
using bls_key_map_t = std::map<bls_public_key_t, bls_private_key_t>;
As discussed with Fabiana, HotStuff should be a standalone Finite State Machine (which can be tested independently and doesn't know about Leap or Controller), which internally maintains the separation pacemaker (liveness) and chain (safety), but imho these classes are tightly coupled and can be friend of each other.
In addition there should be an interface class connecting Leap and the HotStuff FSM.
The text was updated successfully, but these errors were encountered:
I'd like to do a code cleanup pass when the HS files are not actively modified by many people. For example.
fc
&bls12 submodule
to usestd::span
instead ofstd::vector
for input parameters.fc::crypto::blslib::aggregate
when verifying aquorum_certificate
(seeevaluate_quorum
)hotstuff.hpp
class structure to the new version documented by Areg in IF: Redefine view number and add generation number to the finalizer set #1589HotStuff
should be a standalone Finite State Machine (which can be tested independently and doesn't know aboutLeap
orController
), which internally maintains the separationpacemaker
(liveness) andchain
(safety), but imho these classes are tightly coupled and can befriend
of each other.In addition there should be an interface class connecting
Leap
and theHotStuff
FSM.The text was updated successfully, but these errors were encountered: