onflow / onflow/flow-go

[LN Decentralization] Audit requester/provider engines for BFT resilience

Open
#8,063 1 comment 0 reactions 1 assignee View on GitHub

@durkmurder is already working on this.

Since Nov 6, 2025.

Preserve
Dominant language
Go
Stars
575
Forks
217
Avg merge
4d 20h
Merged PRs (30d)
9

Description

Context

Collection nodes participate in the generic entity requester/provider protocol. This protocol encompasses the provider engine and the requester engine.

This issue is to ensure this protocol is resilient to malicious collection nodes (who act as providers).

Definition of Done

  • Audit relevant logic for correctness, error handling resilience
  • Update documentation if necessary, resolve any BFT-related TODOs (eg. for origin validation)
    • If already BFT resilient, ensure documentation exists explaining why
  • Ensure error paths indicating malicious inputs trigger a notification (see HotStuff as example), consumer of notification should log using LoggingTagSuspicious for now.
  • Check for potential attacks:
    • Memory impact: How is the message cached (eg. if it is valid but not yet processable, like a block for a future view)
    • CPU impact: How early is the message validated? Aim to validate signatures, message structure as early as possible in validation pipeline.
    • Persist only validated entities (do not persist to disk data that has not been validated)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.