Skip to content

Question about L1 state root injection and signal verification in fast path Signaling in Signal Service #130

@NIC619

Description

@NIC619

In the "Same Slot L1 → L2 ('fast') Signaling" section of Signal Service doc, it mentioned that L2 proposer will inject L1 state root via anchor transaction (in step 3) and the inbox contract will verify the signals' proof against the injected L1 state root (in step 4):

Image

My questions are:

  1. Doesn't this introduce a trust assumption on the L2 proposer? since he can inject any L1 state root he claimed to be "the upcoming L1 state root" and can thus fake any signal he desires. And how can the L2 proposer even come up with "the upcoming L1 state root" as "the upcoming L1 block" is not even created yet?
  2. There's isSignalStored function in the SignalService contract, shouldn't the inbox contract just call this function to check a signal instead?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions