Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Guide: Availability Recovery Subsystem #1597

Closed
rphmeier opened this issue Aug 17, 2020 · 1 comment · Fixed by #2011
Closed

Guide: Availability Recovery Subsystem #1597

rphmeier opened this issue Aug 17, 2020 · 1 comment · Fixed by #2011
Assignees
Labels
S0-design PR/Issue is in the design stage
Milestone

Comments

@rphmeier
Copy link
Contributor

rphmeier commented Aug 17, 2020

This subsystem is the inverse of the availability distribution subsystem: validators will serve the availability chunks kept in the availability store to nodes who connect to them. And the subsystem will also implement the other side: the logic for nodes to connect to validators, request availability pieces, and reconstruct the AvailableData.

One main difficulty will be addressing the fact that the pieces may have been made available during session N, while we are currently in session N+K, where session keys may have changed. Thus, we will expect some data that lives on-chain to allow us to determine the session in which some receipt was included, who the validators were during that session, and what their authority-discovery key was. This will enable us to do the necessary DHT lookup to find the node to connect to, as long as their actual address hasn't changed.

This data can live partially on-chain and mostly off-chain, by using the technique introduced in paritytech/substrate#6220, where the chain stores cryptographic commitments in the state and triggers a write to an off-chain database which is maintained by the full node.

@rphmeier rphmeier added the S0-design PR/Issue is in the design stage label Aug 17, 2020
@rphmeier rphmeier added this to the Grosvenor milestone Aug 17, 2020
@rphmeier
Copy link
Contributor Author

When we recover available data, we need to then re-erasure code all the pieces (even though we've just recovered from 1/3 of the pieces) so we can ensure the erasure-root in the CandidateCommitments is valid.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
S0-design PR/Issue is in the design stage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant