-
Notifications
You must be signed in to change notification settings - Fork 28
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
Remove the voter election process #543
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #543 +/- ##
==========================================
- Coverage 66.15% 66.08% -0.08%
==========================================
Files 279 278 -1
Lines 37593 36981 -612
==========================================
- Hits 24871 24440 -431
+ Misses 10947 10787 -160
+ Partials 1775 1754 -21
|
ed62360
to
2f3828a
Compare
8eb65e3
to
66de98b
Compare
66de98b
to
1fce309
Compare
This reverts commit 3cab0a5.
I can then accept this PR if the details of the backgrounds and objectives of this modification are written. |
@torao |
@ulbqb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently the voter election process is executed in Ostracon. However, if Ostracon's spec follows Tendermint's spec for this process, Ostracon should not have vote election process. Because Tendermint is not responsible for voter election, it is done by abci app.
@ulbqb , I think it is not a problem of description.
Ostracon need some compatibility with Tendermint for IBC and cosmos-sdk. So I think this PR is necessary because it is necessary to change possible parts for compatibility, and since voter selection can be moved to the lbm-sdk layer, it is moved to the lbm-sdk layer without putting it in Ostracon.
@torao Voter selection and reward logic can be freely implemented with abci app(lbm-sdk). Updating validators is perform in EndBlock. See tendermint docs for details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (Just in case, this PR will be merged after someone else's review.)
@zemyblue @ulbqb All right. We have an implicit agreement in our private discussion about how to conduct voter elections, but this PR only contains bits and pieces of information, which is why I asked the question. To state our conclusion for those interested in LINE Blockchain, we plan to move the behaviour known as voter election from |
Hi guys~ |
@egonspace
No. This PR removed only the voter election from ostracon. The proposer election is still run by ostracon. |
Abstract
This PR remove the voter election process from Ostracon.
Background
Ostracon need some compatibility with Tendermint for IBC and cosmos-sdk. It it necessary to change possible parts for compatibility. Currently the voter election process is executed in Ostracon. Since voter selection can be moved to the lbm-sdk layer, it want to be moved to the lbm-sdk layer without putting it in Ostracon.
Goal
The goal is to fix to be compatible with Tendermint about voter election process. This means that the voter election process is removed from ostracon and it is done by only abci app. This goal need the following changes.
voter_params
,voter
,voters
,last_voters
,voters_hash
,voter_set
,voting_weight
that does not exist in Tendermint.voter_params
is the parameters used by voter election so this is not needed.voters
is the nodes elected from validators so this is not needed.voting_weight
is the value recalculated as voting power in voters so this is not needed.Voters
,ValidatorsWithVoters
Policy
The changes is based on Tendermint v0.34.19.
This PR contains fixes other than documentation fixes. Fixing the documents is in #544.
Results
The voter election process was removed from ostracon. However, voter selection can still be implemented with the abci app. This PR makes it impossible to change the validator for each round. Updating validators is perform in EndBlock. See tendermint docs for details.