codex-storage / nim-codex

Decentralized Durability Engine
https://codex.storage
Apache License 2.0
67 stars 25 forks source link

Minimal S&W publicly verifiable BLS based PoR scheme #12

Closed dryajov closed 2 years ago

dryajov commented 3 years ago

Minimal S&W publicly verifiable BLS based PoR scheme

Summary

Proofs of Retrievability are a form of proof of possession that allows a verifier to tell with high probability whether a data set can be extracted given that a prover passed the verification phase. For a more in depth overview of PoRs refer to https://github.com/status-im/dagger-research/discussions/32.

Note: PoRs explicitly rely on MDS erasure codes (such as reed-solomon) for their high probabilistic guarantees, however given that the erasure coding scheme can be implemented independently this issues will not attempt to explicitly track it.

Architecture and Implementation Overview

The scheme should implement the algorithm outlined in section 3.3 of Schaham2008.

Screen Shot 2021-08-23 at 8 13 45 PM

Implementation Outline

The original scheme outlines 3 discrete roles:

The verifier role can be further split into two sub-roles:

Furthermore,

These two properties allow us to implement these roles separately, in a non-interactive scheme, as follows:

This scheme is split into several steps:

Functional Outline

All steps are outlined in [Schaham2008] section 3.3

Acceptance Criteria

dryajov commented 2 years ago

Closing as most of this has been implemented in #26 and improvements are being worked on in #76 and #101.