[Core Protocol] <Question FPP Testing in Devnet> #567
-
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 1 reply
-
Hello. As it's the weekend now, I'll ask the OP team when the week starts. |
Beta Was this translation helpful? Give feedback.
-
In the depth of 14, all data is initially aligned on the left side. After that, to fill the nodes, the data from the last block is duplicated as shown in the red part of the diagram. Each duplicate represents a repetition of the last valid data.
Yes It will monitor the new block in L1 and perform the action, also you can use https://github.com/ethereum-optimism/optimism/tree/develop/op-challenger#usage
Yes the mechanism and proofs are embedded within the challenger system. For instance, when it progresses to a step, it retrieves the proof you mentioned, as referenced in (https://github.com/joohhnnn/The-book-of-optimism-fault-proof/blob/main/05-op-challenger.md#generating-action). For other issues, you can refer to the entire document. "Defend" and "Attack" are abstract concepts used when there is no standard binary answer available. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your detailed explanations and the links you provided it really helped a lot ! However, there are still some points that are unclear to me:
If the last block is duplicated, does that mean that out of the 16,384 blocks (2^14), 16,351 will be duplicates since there are only 33 blocks in range? If so, how can I manually target a specific block, given the difficulty of calculating which block (or claim at the lowest split depth) to attack? Is there another way to attack a claim? Additionally, if an attacker wants to target a specific claim at the lowest split depth, the hash of the block should be listed in the dispute game to identify the claim to dispute. For example, if I reach depth 1 at index 2, I need to know which exact claim index 2 is pointing to and the hash of that claim to decide whether to dispute it.
I have run the op-dispute-mon (which detects invalid output roots), but I could not find any function that automatically attacks a specific invalid claim until the resolution stage (after reaching MAX_GAME_DEPTH). Should attacking or defending be done manually, or is there a way for it to be done automatically? If it can be automated, including submitting _stateData and _proof in the ValidStep function (after reaching the split depth), can you explain how to do this? I couldn't find any manual or documentation on this. Sorry for asking so many questions, but it's been difficult to grasp the whole concept just by going through the documentation. |
Beta Was this translation helpful? Give feedback.
-
Yes, but in practical terms, because of the binary method, you only need to upload a small number of repeated data instances, like 14 times instead of 2^14 times.
You can use 'attack' or 'defend' to further narrow it down until you reach the block you want to participate in.
https://github.com/joohhnnn/The-book-of-optimism-fault-proof/blob/main/03-cannon.md#execution First, you need to calculate the trace index for your current node based on the trace index rules. Then, run the cannon up to the specified step and generate a claim based on the output.
You should run op-challenger, op-dispute-mon is only used for monitor.
reference https://github.com/ethereum-optimism/optimism/blob/develop/op-challenger/game/fault/trace/vm/executor.go#L74 and https://github.com/joohhnnn/The-book-of-optimism-fault-proof/blob/main/05-op-challenger.md#generating-action |
Beta Was this translation helpful? Give feedback.
Yes, but in practical terms, because of the binary method, you only need to upload a small number of repeated data instances, like 14 times instead of 2^14 times.
You can use 'attack' or 'defend' to further narrow it down until you reach the block you want to participate in.
https:…