Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Relax finality check on Arbitrum #11408

Closed
wwestgarth opened this issue Jun 25, 2024 · 0 comments · Fixed by #11414
Closed

[Feature]: Relax finality check on Arbitrum #11408

wwestgarth opened this issue Jun 25, 2024 · 0 comments · Fixed by #11414
Assignees
Labels
arbitrum bridges feature new feature to be developed

Comments

@wwestgarth
Copy link
Contributor

Feature Overview

In order to make deposits on Arbitrum very quick and to avoid special complex code in FE
We will relax the finality check on Arbitrum simply check for existence on the latest block

There was a discussion about it on slack here:
https://vegaprotocol.slack.com/archives/CAHA5EX0F/p1718882784583639

The summary is that currently core waits for a Arbitrum block to be marked as safe which means the sequence has submitted its rollup of sequenced events to Ethereum. What was noticed is that this does not mean thatany sort of consensus was reached on Arbitrum. The roll-up only commits the sequence of transaction onto a blockchain and the Arbitrum nodes have 1 week to decided that the result of every other validator matches theres.

For Vega,we already have a consensus check on EVM chain events, namely, that for a given chain-event 2/3's of the voting power must agree that they saw that chain-event happen. If each validator has themselves chosen a trusted Arbitrum node then this is sufficient that the chain-event can be trusted.

I believe this change is a one liner to change here the FinalityStateSafe -> FinalityStateLatest:

n.secondaryEthConfirmations = ethclient.NewEthereumConfirmations(n.conf.Ethereum, n.secondaryEthClient, nil, ethclient.FinalityStateSafe)

Specs

  • Link to spec or section within a spec

Tasks

A checklist of the tasks that are needed to develop the feature and meet the acceptance criteria and feature test scenarios.

  • [ ]
  • [ ]

Feature test scenarios

Detailed scenarios that can be executed as feature tests to verify that the feature has been implemented as expected.

GIVEN (setup/context)
WHEN (action)
THEN (assertion) For example...
See here for more format information and examples.

Additional Details (optional)

Any additional information that provides context or gives information that will help us develop the feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arbitrum bridges feature new feature to be developed
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant