sebak
sebak copied to clipboard
Changing proposer selection algorithm
The proposer selection algorithm is like below. https://github.com/bosnet/sebak/wiki/How-to-select-the-proposer
func CalculateProposer(blockHeight int, roundNumber int) string {
candidates := sort.StringSlice(nr.connectionManager.RoundCandidates())
candidates.Sort()
return candidates[(blockHeight + roundNumber)%len(candidates)]
}
- I think the good selection algorithm is that,
- the proposer is changed every round.
- to predict the specific height and round proposer is impossible. -> next year
But in our selection algorithm, if the block is confirmed in round 1, the next proposer is same as before. And I think this situation will happen often.
So this the proposer is changed every round condition is not satisfied.
Therefore I want to suggest the new selection algorithm that the proposer is changed every round.
Applying VRF into this method is good start for open membership.