Skip to content

BEP_667: Introduce Vote Interval to Relax Fast Finality Consensus.#3589

Closed
zlacfzy wants to merge 2 commits intobnb-chain:developfrom
zlacfzy:BEP-667
Closed

BEP_667: Introduce Vote Interval to Relax Fast Finality Consensus.#3589
zlacfzy wants to merge 2 commits intobnb-chain:developfrom
zlacfzy:BEP-667

Conversation

@zlacfzy
Copy link
Copy Markdown
Contributor

@zlacfzy zlacfzy commented Mar 11, 2026

Description

https://github.com/bnb-chain/BEPs/blob/master/BEPs/BEP-667.md

Rationale

tell us why we need these changes...

Example

add an example CLI or API response...

Changes

Notable changes:

  • add each change in a bullet point here
  • ...

@zlacfzy zlacfzy changed the title BEP-667: Introduce Vote Interval to Relax Fast Finality Consensus Con… BEP-667: Introduce Vote Interval to Relax Fast Finality Consensus Mar 11, 2026
@zlacfzy zlacfzy changed the title BEP-667: Introduce Vote Interval to Relax Fast Finality Consensus BEP-667: Introduce Vote Interval to Relax Fast Finality Consensus. Mar 11, 2026
@zlacfzy zlacfzy changed the title BEP-667: Introduce Vote Interval to Relax Fast Finality Consensus. BEP_667: Introduce Vote Interval to Relax Fast Finality Consensus. Mar 11, 2026
@zlacfzy zlacfzy marked this pull request as ready for review March 12, 2026 03:11
Comment thread core/vote/vote_manager.go
log.Debug("failed to get BlockInterval when voting")
}
voteAssembledTime := time.UnixMilli(int64((curHead.MilliTimestamp() + p.GetAncestorGenerationDepth(curHead)*blockInterval)))
// BEP-667: votes for curHead will be included in the next voting block,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so before Pasteur, there will be more chances to refuse to vote?

if len(votes) >= quorum {
targetHeaderParentSnap = snap
break
for votingLeft := p.GetAncestorGenerationDepth(header); votingLeft > 0; {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why need votingLeft?
and we need a comment that: after pasteur enabled, these code can be cleared up

ancestor := parent
ancestorParents := trimParents(parents)
for range p.GetAncestorGenerationDepth(header) {
for votingLeft := p.GetAncestorGenerationDepth(header); votingLeft > 0; {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need votingLeft

voteInterval := uint64(1)
if chainConfig.IsPasteur(header.Number, header.Time) {
voteInterval = pasteurVoteInterval
}
Copy link
Copy Markdown
Collaborator

@allformless allformless Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need more handle and comment during transition

@allformless
Copy link
Copy Markdown
Collaborator

allformless commented Apr 22, 2026

decide not included in Pasteur, but need for reduce block interval further

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants