-
Notifications
You must be signed in to change notification settings - Fork 81
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
Clarification around rowRoots
provided to Repair
#220
Comments
On the complete EDS iirc. In the node we pass there roots from DAH |
Interestingly, I also contemplated the same issue yesterday regarding why roots are computed from the corrupted EDS. As mentioned by @Wondertan, the roots should be derived from the DA header, which, in the tests, represents the roots of the sample EDS before it got corrupted. Regarding the specific test, my understanding is that it seems to aim at examining whether a full node can identify faulty erasure coding, even when the roots of the DA header are corrupted, meaning they were computed from a corrupted EDS. |
+1. If an EDS contains nil shares, I think |
Context
rsmt2d/extendeddatacrossword.go
Lines 59 to 74 in e8e042f
Question
Should the
rowRoots
andcolumnRoots
that are provided toRepair
be the row roots that are computed on the complete EDS or the incomplete EDS? I assume the complete EDS because computing row roots for an incomplete EDS is undefined behavior (see #122).However, if the row roots are indeed the ones computed on the complete EDS prior to shares being removed, I don't understand why this test exists. I would expect every test case in that test to fail because
Repair
is being called with bad roots. The only reason test cases in that test pass is because row roots are being computed after shares are removed from the data square which is undefined behavior.The text was updated successfully, but these errors were encountered: