Skip to content

Block forge should check for pending future blocks in ChainDB #579

@nfrisby

Description

@nfrisby

The ChainDB only processes blocks it set aside as future blocks the next time a block is added. From the report:

In a way, calls to addBlock are how the chain database sees time advance.

Suppose we receive a block B that is slightly in the future, then idle long enough for B to no longer be in the future, and then forge a new block. Since we didn't receive any blocks after idling, we will not forge on top of B.

Since leadership opportunities are precious, we wouldn't want to squander one like that: forging on top of B would have made a more competitive block.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions