-
Notifications
You must be signed in to change notification settings - Fork 241
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
Proper handling of bad invalid bundle ER that point to non-exist extrinsic #2287
Comments
As discussed with @vedhavyas, the solution to this issue would be adding a new variant of the invalid bundle fraud proof. Currently, we have 2 variants of the invalid bundle fraud proof in general:
We need to introduce a new variant called The honest operator will generate this fraud proof variant if it finds:
The The consensus node (the verifier) will verify this fraud proof by extracting the |
Makes sense to me. Though it seems like there is a way to merge this case into the |
I'd like to double down on making this case a |
Yeah, I'm okay with reusing the |
Currently, when generating the invalid bundle fraud proof, the honest operator needs to generate a
proof_of_inclusion
for the invalid extrinsic that is contained in the bundle:https://github.com/subspace/subspace/blob/7ee4687c10180cfa4d3a52da809e09d53a0887de/domains/client/domain-operator/src/fraud_proof.rs#L185-L192
While this is okay for
TrueInvalid
bundle fraud proof, because the invalid extrinsic is pointed out by the honest operator's localER::bundle
.In the
FalseInvalid
bundle fraud proof, the honest operator needs to prove the invalid extrinsic of the bad ER'sER::bundle
is actually valid, thus we need to use the extrinsic index provided by the bad ER, if the bad ER provides a non-exist extrinsic index (i.e. the bad ER claim an empty bundle is invalid) then the honest operator will fail to generate theproof_of_inclusion
for such extrinsic and shut down due to this failure.cc @vedhavyas @ParthDesai
The text was updated successfully, but these errors were encountered: