You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The error is returned immediately and not processed. RepairExtendedDataSquare needs to be changed to check that the error is not ErrUnrepairableDataSquare (which indicates a need for more samples, orthogonally), and if not, instead create a BEFP using
The returned ErrByzantineRow or ErrByzantineCol, and,
A Merkle proof for shares in the above error that are missing from the error struct.
The second point will require retrieveShare to return a Merkle proof along with the share value.
Summary
Tracking issue: #4
Implement stubs to produce and verify BadEncodingFraudProofs.
Impact on users
BadEncodingFraudProofs are necessary to have secure partial nodes.
Cost of not doing
No partial nodes☹️
Evidence
No response
Implementation ideas
As the first step towards having BadEncodingFraudProofs, add stubs to the node for functions to produce and verify BadEncodingFraudProofs.
Producing BEFPs
Full node starts performing
FullAvailability
check.celestia-node/node/services/service.go
Line 137 in 40c4c62
During
FullAvailability
, repairing the square is attempted.celestia-node/ipld/read.go
Lines 60 to 62 in 40c4c62
The
error
is returned immediately and not processed.RepairExtendedDataSquare
needs to be changed to check that the error is notErrUnrepairableDataSquare
(which indicates a need for more samples, orthogonally), and if not, instead create a BEFP usingErrByzantineRow
orErrByzantineCol
, and,The second point will require
retrieveShare
to return a Merkle proof along with the share value.celestia-node/ipld/read.go
Line 49 in 40c4c62
A produced BEFP must then be disseminated across the network with some new p2p message (a separate issue).
Verifying BEFPs
When receiving a BEFP from the network (a separate issue), it is verified.
Urgency
Medium
The text was updated successfully, but these errors were encountered: