-
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
ErrByzantineData.Shares are not filled #178
Comments
Thanks for identifying! I'm not sure I fully understand the |
Might be related #112 |
I've realized that as well and understood that |
Yes, that's correct. In other words, it contains shares whose individual inclusion is guaranteed to be provable by the full node (i.e. shares usable in a BEFP). |
In the description of the issue there is a small mistake, which is not affecting the fix. Nonetheless, let me bring it up: The |
Isn't the error returned by This looks like potentially the same issue as #191 (comment):
|
In the scenario where the column root can be successfully computed, but it does not equal the expected root (Unless I am missing some reason for why those lines could not be reached.) |
I see, yeah that's also an issue. |
Closes #64 and motivated by #178 (comment)
ErrByzantineData.Shares
are not set when verification of newly completed orthogonal vectors returns aErrByzantineData
error (first place and second place). On the contrary, these shares are set if a verification of newly completed row or column returnsErrByzantineData
error.When
ErrByznatineData
is raised it is propagated throughsolveCrossword
,Repair
,Reconstruct
,Retrieve
, where a newErrByzantine
is created. If the shares within are not filled,GetProofsForShares
will return an empty sequence ofsharesWithProof
andErrByzantine
is created with that empty sequencesharesWithProof
. This is further propagated through GetEDS, SharesAvailable, sample; until a new BadEncodingProof is created, and which will end up propagated (the byzantine error is captured in SharesAvailable) to other nodes, with the fieldShares
being a sequence ofnil
values. Finally, when such a proof is received by other nodes, they callValidate
on it. Since the values in it arenil
, this loop is a no-op. Consequently, decoding of shares should fail, resulting in an error.We suggest filling in the shares with corresponding column or row data if the verification of that newly completed orthogonal column or row returns an
ErrByznatineData
.The text was updated successfully, but these errors were encountered: