Skip to content
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 VRF+BFT Consensus Algorithm #5

Closed
11 of 20 tasks
tnasu opened this issue Dec 5, 2019 · 2 comments
Closed
11 of 20 tasks

Implement VRF+BFT Consensus Algorithm #5

tnasu opened this issue Dec 5, 2019 · 2 comments
Labels
G: epic Granularity: Epic issue

Comments

@tnasu
Copy link
Member

tnasu commented Dec 5, 2019

Description

Replaces the Tendermint BFT with the VRF BFT algorithm. Tendermint's implementation of PoS only uses Proposer and Validators as election probabilities.

Stories

The details of each item should be written in their respective story or task tickets. This ticket is just a summary and its pointer. Please add stories and tasks as needed.

Design Policy

The proposals outlined below are specific to LINK Network v2 and ultimately any differences from the original Tendermint should be compiled into a public Wiki page.

Implementation

The VRF election may be divided into the following several points.

Build CI environments

Test

  • Functional test
    • n-th Proposer does select the expected (n+1)-th Proposer and Validators.
    • the selected Proposer and Validators do play their respective role.
    • block generation does continue without a stall.
  • Crash fault and recovery test
    • the system does recover normally in case the selected Proposer doesn't respond.
    • the system does work normally in case the number of selected non-failure Validators equals the quorum.
    • block generation for the round fails and the system does recover normally in case the number of selected non-failure Validators less than the quorum.
  • Byzantine fault and recovery test
    • the Validators or P2P network do detect and recover correctly in case an unexpected Proposer worked.
    • the P2P network does detect and recover correctly in case an unexpected Validator worked.
  • Performance test (practical evaluation)
    • compare with Tendermint's PoS and VRF consensus (it probably be slow due to increased computational complexity).
    • measure the performance against the number of Candidates (Nodes) and Validators.

Public Document

  • New block format
  • Concrete sequence chart or flow chart
  • Fault recovery procedures
@tnasu tnasu closed this as completed Dec 5, 2019
@tnasu tnasu reopened this Dec 5, 2019
@tnasu tnasu added the G: epic Granularity: Epic issue label Dec 5, 2019
@torao torao pinned this issue Mar 12, 2020
@zemyblue
Copy link
Member

zemyblue commented Mar 13, 2020

We need to implement how to process the penalty about voting violation via VRF consensus algorithm.

And we need a name that will simply call the new consensus algorithm. "VRF+BFT Consensus Algorithm" is too long.

@zemyblue
Copy link
Member

Reward think #35 is more appropriate.

@egonspace egonspace unpinned this issue Oct 26, 2020
@torao torao closed this as completed Nov 13, 2020
egonspace pushed a commit that referenced this issue Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
G: epic Granularity: Epic issue
Projects
None yet
Development

No branches or pull requests

4 participants