johan-nygren avatar

Idea for proof-of-storage

johan-nygren

Published: 21 Feb 2019 › Updated: 21 Feb 2019Idea for proof-of-storage

Idea for proof-of-storage

This proof-of-storage is based on a simple asymmetric signature function signature(segment), and a symmetric key one-way function (not a hash function, rather one that produces a ciphertext with the same file size as the preimage. )

The proof-of-storage is based on that every server stores a unique encrypted version of the file, without access to symmetric key. The file is encrypted with a symmetric key one-way function.

The client can choose exactly how many copies of the file they want to store, by paying for exactly n number of encrypted versions of the file (only client has access to symmetric keys. )

Periodically, for example each month, the client publishes private keys that servers use to generate “proof-of-storage”, signatures of the file they host. The signature (proof-of-storage) uploaded to the smart contract decrypts the segment of the encrypted file that was used to generate signature (new segment each month incentivizes server to store whole encrypted file), and validates the proof-of-storage if proofOfStorage == signature(segment). The signature is also used to select the next segment.

A commit-reveal scheme is used to prevent stealing of proof-of-storage signatures.

Economic incentives

The client deposits a payment to the smart contract. The server also deposits a sum equal to the payment. The server also commits signature(segment), with a private key they choose. This prevents the client from claiming the reward (only they and the server have knowledge to claim reward. ) Removes uncertainty. The server uploads that private key together with their proof-of-storage, and both are validated. If verified, payment is automatic.

Idea to measure global storage capacity and generate proof-of-capacity

In simultaneous global events, exactly at the same time, for 30 minutes or so, a global event on Earth to measure proof-of-capacity. Based on the total capacity each entity generates, rewarded with BIT tokens. These are used to distribute storage, higher probability of being selected as host based on share of BIT (prevents a single entity from storing a million copies of same file. )

A bit like proof-of-work except does not go on all the time, only a brief time period to measure relative proof-of-capacity.

Leave Idea for proof-of-storage to:

Written by

Read more #proofofstorage posts


Best Posts From johan-nygren

We have not curated any of johan-nygren's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From johan-nygren