TLDR: We propose an imperfect availability scheme for large data. It is intended as a stopgap for TrueBit-like computational markets until fully decentralised availability solutions for large data are ready.
Construction
Whenever a task giver supplies a TrueBit task with large data D (large program or large inputs) the task giver does the following:
- Puts
Don IPFS, referenced by its hashH(D) - Requests
archive.orgto archiveipfs.io/[H(D)] - Produces a short Oraclize proof
PthatDis available on somehttps://archive.orgURLU - Supplies
H(D),P,Uonchain for verifiers
Discussion
Verifiers will be able to retrieve D if:
-
ipfs.iois a faithful IPFS gateway -
archive.orgis a faithful public and permanent historical mirror
For extra reliability more than one IPFS gateway (or other service that maps files to hashes) can be used simultaneously, as well as more than one storage provider.
Various bells and whistles can be used, e.g. SNARKs to remove the need for ipfs.io or to encrypt H(D) and U for stealthiness.