New ERC: Cross-chain broadcaster

Hey @yahgwai and @godzillaba! :wave:

Love the momentum behind ERC-7888 - storage proofs are exactly what we need for trustless cross-chain messaging.

I’ve been working on a lower level ERC for Storage Proof Broadcasting which could serve as a standardized foundation for both ERC-7888 and other storage proof systems like Taiko’s SignalService (maybe even others).

The Convergence Opportunity

For example, looking at Taiko’s SignalService and ERC-7888, both systems share core patterns:

  • :white_check_mark: Storage proof verification
  • :white_check_mark: Multi-hop routing capabilities
  • :white_check_mark: Broadcast messaging semantics
  • :white_check_mark: Deterministic storage locations

The missing piece: A standardized low-level interface that both can build on.

Implementation Path

// Both ERC-7888 and Taiko could implement this interface
contract StorageProofGateway is IERC7786GatewaySource {
    function sendMessage(
        string calldata chainId,
        string calldata receiver, // "" for broadcast
        bytes calldata data,
        bytes[] calldata attributes
    ) external payable {
        // attributes[0]: route((address,bytes,uint256)[]) 
        // attributes[1]: storageProof(bytes)
        // attributes[2]: targetBlock(uint256)
        
        // Route to either ERC-7888 Broadcaster or Taiko SignalService
    }
}

Impact: Instead of parallel development, we get ecosystem-wide compatibility, shared tooling, and easier integration paths. Both teams benefit from a common foundation while maintaining their specialized approaches.

Curious to hear your thoughts on this approach. I also opened a PR that makes 7888 compatible with ERC-7786 but doesn’t enforce it: Specify compatibility with ERC-7786 by ernestognw · Pull Request #2 · OffchainLabs/ERCs · GitHub. Opened an update to your reference implementation that minimizes changes so it’s easier for you.