<aside> ⚠️ Update (17th June 2022): this doc is deprecated, for the last version of the protocol see https://hackmd.io/@irenegia/BkqNihVY5

For more info and link to the App see the website: retriev.org

</aside>

MVP Protocol

Parties:

<aside> 📌 Protocol Overview: The high level idea is that we want to offer to the client the assurance that if the file is not retrieved then the provider is penalized. To implement this: (1) We choose a set of referees for which we can say that half of them are honest; (2) Client and provider agree on a retrievability deal (aka the assurance policy for the retrieval service); (3) When a client does not get the requested file, it appeals to the referees. One of them tries to retrieve the file asking it again to the provider, if this works the file is forwarded to the client; If not, we try again. After k failed attempts, the provider is penalized; that is the collateral is taken from the provider’s account (k is protocol parameter).

</aside>

Sign-up: A provider that wants to be part of the consortium needs to sign up (information is on-chain), needs to create an ad hoc collateral account, and moves tokens there.

[Comment: in the MVP prototype the list of providers participating in the consortium is a part of the smart contract that implements the protocol. In particular, this list is created by the contract’s owners and a provider has to communicate its intention to join to the owners]

Referee selection phase: Periodically (eg, once a year) a committee of n referees is chosen and the referee list is published on-chain (n is an integer and protocol parameter).

“Honest majority model”: in this protocol we always assume that at least floor{n/2}+1 of the referees are honest.

How do we choose referees?

[MVP] Option 0 (fixed set of referees): We assume that there is a fixed set of referees, providers join this consortium if they trust at least the majority of them.

[Comment: in the MVP prototype the list of referees is a part of the smart contract that implements the protocol.]

[Future] Option 1 (public election): Providers who are interested propose themself and all consortium members publicly vote for deciding about each candidate (eg, a candidate is elected if it collects half plus 1 of the votes).

[Future] Option 2 (random election): n providers are chosen at random among all the ones that signed up.

Assume that we have that a fraction $\alpha$ of the providers are dishonest (eg, $\alpha < 1/3$ ). Let repeat n extractions for forming the committee. How large n to get honest majority?

Retrievability deal:

Appeal: