New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement PBFT consensus algorithm to replace PoW consensus algorithm #2872
Conversation
…or-set Added `ValidatorSet`
Libplanet 0.44.0
….0-to-pbft 🔀 Merge main 0.44.0 to pbft
…actor-null-start Run `ConsensusReactor` if `consensusOption` is given
…mmit Move `LastCommit` saving to `Commit`
…t-invalid-lastcommit-proposal Added additional checks when proposing a block
Removed magic `constant`s
🧹 Reuse private keys for validator set
chore: fix build failure in linux mono [skip changelog]
🔀 Merge main to pbft
…ixture Refactor test fixture
Libplanet 0.48.0
…0.48.0 Merge/main to pbft 0.48.0
…0.49.0 Merge/main to pbft 0.49.0
Remove the deprecated class `ProposerSelector`
…0.50.0 Merge/main to pbft 0.50.0
This PR has Quantification details
Why proper sizing of changes matters
Optimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful? 👍 :ok_hand: :thumbsdown: (Email) |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #2872 +/- ##
==========================================
+ Coverage 80.31% 80.88% +0.56%
==========================================
Files 313 335 +22
Lines 10752 11751 +999
==========================================
+ Hits 8636 9505 +869
- Misses 2116 2246 +130
|
This patch implements PBFT (Practical Byzantine Fault Tolerance) consensus algorithm for libplanet, motivated by tendermint.
Each node can be promoted to validator by special system action
SetValidator
produced by admin key, which is hard-coded in policy. And selection of validator for each round is now round-robin, and its power does not affect preference to be chosen.You can check all progress here.