Traditional cloud storage platforms like Dropbox, Sia, Storj, and Maidsafe, either enable users to share data or plan to support such functionality. These applications place users in control of the data they supply to the network. In contrast, a recent flood of cryptocurrency incentives has ushered in a need for an inverted, security requirement: systems must deter unscrupulous, anonymous users from merely pretending to publish data. In 2009 a heretical solution called Bitcoin introduced an immutable, public ledger structure known as a “blockchain” which successfully prevents “publishing” of financial transactions without a permanent commitment. Storage on Bitcoin and related blockchains, however, remains both limited in capacity and prohibitively expensive.
Consider what could happen to a trustless, computational oracle like TrueBit if a Task Giver were to “publish” a computational task in such a way that other Solvers, Verifiers, and Judges, a.k.a. miners, could not see the task’s input. Since “honest” Solvers couldn’t perform the task, the Task Giver could execute it himself as a Solver and thus get a bogus answer onto the blockchain. “Honest” Verifiers wouldn’t know whether to challenge or not. Moreover, Solvers and Verifiers would have no legal means to voice their objections to the missing data since Judges would have no way to reach consensus on whether or not the Task Giver’s data was publicly available.
We thus arrive at an apparent dilemma manifesting itself in the following options:
- Guarantee availability: Restrict input to reliable “on-chain” data, despite the blockchain’s inadequate storage space (paragraph 1).
- Guarantee storage: Allow substantive “off-chain” inputs, but suffer the security consequences (paragraph 2).
Might Filecoin or Swarm offer us the best of both these worlds? Perhaps someday. In the meantime, let’s strip this problem down to its essence. Free your mind from data sharding, computation, privacy, scalability, and Ethereum, and let’s see how far we can get with just three axioms about peer-to-peer networks. Join me on a journey into decentralized oracles for data availability!