hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.47k stars 799 forks source link

Block builder interrupt, incremental block building option #4484

Open garyschulte opened 1 year ago

garyschulte commented 1 year ago

Description

As a validator, I want besu to produce a block within a specified duration so that I do not miss block proposals.

In some cases besu might take a too long to build a full block, and when the consensus client asks for the prepared block, only an empty block is available. Conversely, if besu builds a block quickly (with few or low value transactions) and susequent high value transaction arrive after the block is constructed, besu will produce a suboptimal block.

Both of these situations can be mitigated by having besu's block building process continue to iterate on building the highest value block until it reaches a timeout threshold and/or it is interrupted via engine_getPayload.

Acceptance Criteria

garyschulte commented 1 year ago

relates to #4400