Skip to content

Allow batch submitter to intentionally commit fraud#376

Merged
karlfloersch merged 4 commits intomasterfrom
fraud_batch_submitter
Dec 12, 2020
Merged

Allow batch submitter to intentionally commit fraud#376
karlfloersch merged 4 commits intomasterfrom
fraud_batch_submitter

Conversation

@karlfloersch
Copy link
Contributor

@karlfloersch karlfloersch commented Dec 11, 2020

Description

A quick change to the state root batch submission to intentionally commit fraud if we so desire. (useful for the fraud proof security drill! The point is we'd get caught if we ever did this!!)

Contributing Agreement

@karlfloersch karlfloersch marked this pull request as ready for review December 11, 2020 00:40
@tynes
Copy link
Contributor

tynes commented Dec 11, 2020

This is failing in the CI because of Fatal: Error starting protocol stack: unable to start syncservice: Error resolving addresses: Cannot resolve canonical transaction chain: no contract code at given address

This error happens when the CTC deploy height configuration option for Geth is too early. By any chance was a change made that changed the number of contracts being deployed? It could also happen if the contract deployment failed, but we do not wait for receipts so it is impossible to know for sure

There are two open PRs that address this:

#51 is no longer viable based on Karl's comment re: not waiting for each receipt in order failing deployment on Goerli. I usually deploy using a Ledger, so I don't observe this because the signing time is long enough between txs to not notice the problem. Also we need to be mindful of not changing the output of the deployer such that it breaks downstream services that depend on addresses.json

@tynes
Copy link
Contributor

tynes commented Dec 11, 2020

Right now the CTC deploy height is hard coded as 8. It would be better if we could access a receipt from addresses.json and pass along the deploy height to remove the need to hard code it.

https://github.com/ethereum-optimism/optimism-integration/blob/4f51df04866b805d6a74b5f2335e80bc59018b10/docker-compose.env#L29

@tynes
Copy link
Contributor

tynes commented Dec 11, 2020

Problems mentioned above solved by ethereum-optimism/contracts#132
See ethereum-optimism/contracts#133

)) as L2Block
batch.push(block.stateRoot)
if (block.transactions[0].from === this.fraudSubmissionAddress) {
batch.push(ethers.utils.keccak256(Date.now().toString(16)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we push a specific root instead of a hash? Would be nice to be able to easily see exactly which root was fraudulent inside the fraud prover.

Copy link
Contributor

@smartcontracts smartcontracts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving preemptively, but LGTM

@karlfloersch karlfloersch merged commit 46d0a65 into master Dec 12, 2020
@gakonst gakonst deleted the fraud_batch_submitter branch March 18, 2021 15:09
bap2pecs added a commit to babylonlabs-io/optimism that referenced this pull request Jul 31, 2024
theochap pushed a commit that referenced this pull request Dec 10, 2025
* fix(actions): trusted sync docker publish

* fix

* fully qualified path
theochap pushed a commit that referenced this pull request Jan 15, 2026
### Description

Replaces #370 

Removes the `op-alloy-rpc-jsonrpsee` crate since `maili` provides this
functionality in `maili-rpc-jsonrpsee`.
emhane added a commit that referenced this pull request Feb 3, 2026
Adds `initialize-op-proofs` which is now required before running the
node with the proof ExEx.

Fixes #376

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants