Skip to content

Optimize PrepareRequest construction #82

@AnnaShaleva

Description

@AnnaShaleva

NeoGo has mechanism that in case of CV allows to fetch some of the known transactions from the previous dBFT view and construct new view PrepareRequest based on these known hashes. It's needed to make it easier for CN to collect necessary set of transactions to approve block: https://github.com/nspcc-dev/neo-go/blob/3176f72878bab11fc824c53e8b24b584971163f7/pkg/consensus/consensus.go#L642-L672.

However, implementing it on Geth is a tricky task because of the current way of dBFT integration with miner. dBFT doesn't create proposal by itself, it waits for the miner's proposal to be accepted, and thus, it can't precisely manage the set of transactions in proposal. So that's the caveat.

Ref. #59.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2PNetwork-related or P2P protocol-related issuesdBFTEverything related to dBFT module integrationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions