1-Second Finality

Upcoming Milestones

Multi-threaded consensus signature and message processing in leader node; reference implementation: https://github.com/harmony-one/harmony/pull/3239
Upgrade our BLS implementation with faster BLST library; see benchmark https://github.com/AlexiaChen/benchmarks-bls-libs
Only wait for two-third signature quorum in commit phase and accept late commit signatures in next block
Broadcast only block header and the list of txn ids and let validators recompile the txn list
Optimize p2p network to be sharded in connectivity and network topology

Finished Milestones

Reduce reward/cross link logic frequency; Reduced block time of shard 0 to 2s (done)
Verify block in prepare phase and avoid bottleneck of slow verification in commit phase

Week 10/25

  • Analyzed consensus bottleneck on block processing and reduced unnecessary processing of blocks through result caching.
  • Figured out how to update the base point for blst library with Ganesha

Week 10/18:

Week 10/11:

  • Change consensus block verification logic: optimistically verify new blocks in prepare phase so it won't be a bottleneck in the commit phase.
  • Add block content in the announce message of the leader
  • Refactor block verification logic as a utility to be used by both announce and prepared message handling in validator node.

Week 10/4:

Week 9/27:

Week 9/6:

Week 8/30: