Skip to content

Feature: Pre-built Emergency Address Freeze Hardfork #110

@tac0turtle

Description

@tac0turtle

Summary

Chains using Reth lack ready-to-deploy tooling for freezing wallet activity during active exploits. This issue proposes a pre-tested hardfork template that can restrict token transfers from arbitrary addresses with minimal configuration.

Problem

When an exploit occurs, engineering teams must build and test address-freezing logic under time pressure. This introduces risk of mistakes and extends chain downtime. A pre-built solution would let teams respond faster and with more confidence.

Proposed Solution

1. Emergency Freeze Hardfork Template

A tested, documented hardfork module that can:

  • Freeze native token, ERC20, and ERC721 movement from a configurable address list
  • Allow transfers only to a designated rescue address
  • Deploy with config-only changes (no code modifications required)
  • Include pre-written tests for all freeze scenarios

Implementation locations:

  • Block validation (validate_post_block_execution): Reject blocks containing prohibited transfers by inspecting receipt logs for Transfer events
  • Block building (commit conditions): Prevent validators from proposing invalid blocks

2. Oracle-based Address Blocklist (Exploratory)

Investigate mechanisms to freeze addresses without chain downtime:

Option A: Consensus client maintains a blocklist oracle, injected into execution client via Engine API

Option B: Authorized oracle submits blocked addresses to an on-chain contract, read during post-block execution

Trade-offs to consider:

  • Race condition risk (attacker may transact before rules update)
  • Decentralization implications of authorized oracles
  • Effectiveness depends on control over block builders

Acceptance Criteria

  • Emergency freeze hardfork template with configurable address list
  • Coverage for native token, ERC20, and ERC721 transfers
  • Kurtosis-based test suite validating freeze behavior
  • Deployment documentation
  • (Optional) Evaluation of oracle-based approach

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions