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

fix: update OPSuccinctFaultDisputeGame with nits #354

Merged
merged 2 commits into from
Jan 30, 2025

Conversation

fakedev9999
Copy link
Member

@fakedev9999 fakedev9999 commented Jan 29, 2025

Updates OPSuccinctFaultDisputeGame for with nits:

  • Prevent front-running prove()/resolve() -> add check for claimData.prover to accept the initial proof
  • Prevent DOS attack -> switch to pull based reward distribution like optimism.

@fakedev9999 fakedev9999 requested review from puma314 and nhtyy January 29, 2025 01:04
Copy link

github-actions bot commented Jan 29, 2025

Metric Value
Batch Start 23,189,130
Batch End 23,189,135
Witness Generation (seconds) 42
Execution Duration (seconds) 60
Total Instruction Count 2,282,691,211
Oracle Verify Cycles 535,976,501
Derivation Cycles 1,192,212,154
Block Execution Cycles 402,041,590
Blob Verification Cycles 249,785,717
Total SP1 Gas 0
Number of Blocks 5
Number of Transactions 60
Ethereum Gas Used 16,231,300
Cycles per Block 456,538,242
Cycles per Transaction 38,044,853
Transactions per Block 12
Gas Used per Block 3,246,260
Gas Used per Transaction 270,521
BN Pair Cycles 0
BN Add Cycles 0
BN Mul Cycles 0
KZG Eval Cycles 0
EC Recover Cycles 772,023
P256 Verify Cycles 0

@puma314 puma314 changed the title fix: update OPSuccinctFaultDisputeGame for better security fix: update OPSuccinctFaultDisputeGame with nits Jan 29, 2025
Copy link
Member

@ratankaliani ratankaliani left a comment

Choose a reason for hiding this comment

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

LGTM

@fakedev9999 fakedev9999 merged commit 87ef647 into main Jan 30, 2025
9 checks passed
@fakedev9999 fakedev9999 deleted the taehoon/update-zkfp branch January 30, 2025 00:44
PinelliaC added a commit to mantle-xyz/op-succinct that referenced this pull request Feb 18, 2025
* feat: implement OPSuccinctFaultDisputeGame (succinctlabs#342)

* feat: implement OPSuccinctFaultDisputeGame

* apply comments

* apply comments

* chore: forge fmt

* chore: forge fmt src/ test/ script/

* fix .gitmodules

* fix .gitmodules

* fix .gitmodules

* fix: add missing checks

* chore: forge fmt

* fix .gitmodules

* fix submodules

* feat: implement with new spec

* fix: handle first game

* apply comments

* fix: range vkey, public values from contract storage

* missing fix from ^

* refac: use deadline, proposal status instead of clock

* feat: use genesis l2 block number and hash for initial game

* apply all comments

* feat: make unchallenged games provable

* apply comments

* chore: remove warnings

* test: add more tests

* refac: use payable transfer instead of call

* refac: remove claimant from claimData

claimant never changes + can get from gameCreator()

* fix: remove l2 chain id

* apply comments

* first

* udpate doc

* docs: make fault proof doc visible in the book

* enable mermaid in book

---------

Co-authored-by: Uma Roy <uma.roy.us@gmail.com>

* docs: update `fault_proof_architecture.md` (succinctlabs#353)

* docs: fix mermaid diagram

* docs: update immutable params

* docs: make doc more comprehensive

* docs: minor updates

* docs: make initalization more clear in terms of initial state

* docs: add types section for new/modified types

* fix: update OPSuccinctFaultDisputeGame with nits (succinctlabs#354)

* fix: update OPSuccinctFaultDisputeGame with nits

* docs: fix proving section

* feat: upgrade to latest `kona` (succinctlabs#344)

* feat: wip, running into fd issues bc zkvm mode

* wip

* add

* wip

* feat: program compiles

* feat: still working through host issues, many of the scripts aren't compiling, making progress

* wip

* update

* wip

* feat: need to clean up host lib

* feat: drop the kv_store so there are no conflicting locks

* add

* feat: move to latest kona

* add

* fix: DOckerfile

* add

* clippy

* fix

* redundant

* fix

* feat: todo

* multi works

* feat: small program works

* feat: got store_oracle working

* remove configs

* feat: works with new blob provider

* feat: docs

* feat: works with upstream kona

* add cycle tracking

* add

* feat: add driver with logging

* fix: more efficient than before

* feat: delete single

* add

* feat: general cleanup

* fix

* clippy

* fix

* clean

* add

* clean

* rm bootinfowithbytesconfig

* feat: new elf

* add

* refactor

* add

* remove configs

* delete

* remove test

* update

* fmt

* feat: in parallel

* feat: update elf

* feat: simplify

* host

* feat: show entire diff

* clippy

* feat: trigger workflow

* feat: fix cost estimator

* add

* chore: remove slack token (succinctlabs#364)

* feat: remove slack token

* tidy

* feat: update

* add

* feat(fetcher): Use finalized block (succinctlabs#366)

* feat(proposer): don't re-checkpoint (succinctlabs#365)

* feat: dont recheckpoint in proposer

* add

* chore: `sp1-sdk` (succinctlabs#368)

* docs: issue template

* chore: `kona` + `sp1` upgrade (succinctlabs#376)

* feat: kona upgrade

* cargo fmt

* delete safe_head_hash

* fmt

* rm

* clippy

* test fix

* add

* works

* expose start_server

* add

* add

* fix: Rust install

* add

* move witnessgen

* add

* lint

* bump to 4.1.0

* one week rolling

* add

* feat: add

* clean

* add

* ad

* add

* ELF

* chore: Use `op-rs` upstream (succinctlabs#379)

* feat(server): add proof mode (succinctlabs#380)

* feat: add agg proof mode

* add

* chore: remove bls patch (succinctlabs#381)

* feat: add agg proof mode

* add

* chore: remove bls patch

* feat(server): debug logs (succinctlabs#351)

* feat: boba debug branch

* fix

* enable push

* fix

* additional debug logs

* build succinct-proposer first

* feat: fetch in order

* add

* add

* rm logs

* fix

* chore: fmt

* chore: trigger docker build (succinctlabs#382)

* feat: `kona` pectra tag (succinctlabs#384)

* chore: kona pectra tag

* docker elf

* chore(server): `Arc` shared state (succinctlabs#385)

* chore: wrap proposer config in arc

* chore: fmt

* fmt

* feat(contracts): use `DisputeGameFactory` (succinctlabs#378)

* feat(contracts): use `DisputeGameFactory`

Removes unnecessary `OPSuccinctDisputeGameFactory`

* fix: fix proposer to call DFG correctly

* fix: make op-succinct validity working with op's dgf

* cleanup

* update

* apply comments

* feat(contracts): remove bond for validity DGF (succinctlabs#386)

* feat(server): Only use `Arc<NetworkProver>` in real proof mode (succinctlabs#387)

* feat(proposer): set default network private key

* add

* fmt

---------

Co-authored-by: Ratan Kaliani <ratankaliani@berkeley.edu>

* chore: Switch to `OPSuccinctHost` (succinctlabs#389)

* chore: clippy

* chore: fix just update-parameters (succinctlabs#392)

* chore: fix contract verification (succinctlabs#391)

* chore(ci): docker tag (succinctlabs#393)

* chore(client + ci): precompile annotation checks (succinctlabs#390)

* chore: kzg_eval precompile

* feat: bump to revm_precompile 0.16.1

* wip

* chore: precompile

* works

* add

* addgs

* ci.yaml

* remove unnecessary tests

* ci

* add

* range elf

* add

* chore(ci): docker build

* fix(proposer): bindings (succinctlabs#396)

* chore: add go test

* checkout

* add

* fix test

* feat: update range elf

* chore: remove unused code

* elf: update range elf

---------

Co-authored-by: fakedev9999 <taehoon@succinct.xyz>
Co-authored-by: Uma Roy <uma.roy.us@gmail.com>
Co-authored-by: Ratan Kaliani <ratankaliani@berkeley.edu>
Co-authored-by: ratankaliani <ratan@succinct.xyz>
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.

2 participants