snowbridge icon indicating copy to clipboard operation
snowbridge copied to clipboard

Submit Fiat-Shamir (Relay)

Open yrong opened this issue 4 months ago • 1 comments

Context

This change introduces FiatShamir support on the relay side by adding a separate relay based on the existing parachain relay. The main changes include:

  • Instead of scanning undelivered orders in the context of light client, scan them directly against the latest BEEFY block on the Relay chain.
  • When an undelivered order is found and the attached fee is sufficient to cover the FiatShamir cost, first submit the consensus update with submitFiatShmir, followed by v2_submit with the proof derived from the latest BEEFY block in the light client.

yrong avatar Sep 14 '25 11:09 yrong

Would we ever relay fiat shamir from the relayers given that it is 3x more expensive? I do not think we need any relayer changes here.

This PR is mainly intended to address a specific use case where the end user is willing to bear the full cost of both the consensus update and the message execution for time-sensitive scenarios (as mentioned by the Hydration team in the channel). In such cases, the message relay will submit the Fiat-Shamir consensus update together with the message update.

Maybe a one shot command, that we could use in a playbook to unstuck the beefy client.

Yes, we add a one shot command for submit Fiat-Shamir in this PR.

A more important relayer change is to make sure the beefy and on-demand-beefy relayer abandons a ticket if someone has successfully submitted a fiat shamir with a block greater than your tickets block.

Yes, we've added this check, as mentioned in https://github.com/Snowfork/snowbridge/pull/1565/files#r2563477732 before commitRandao and submitFinal in the previous two-phase flow.

yrong avatar Nov 26 '25 06:11 yrong