Blockchain-Based Decentralized Storage System
Abstract
A computer-implemented method reliably stores data in a blockchain-based distributed storage system. The method utilizes computer processes carried out by a host computing device, including receiving from a renter computing device a storage contract proposal, sending over the network, by the host computing device to the renter computing device and to the blockchain, an acceptance of the storage contract proposal, and receiving from the blockchain, confirmation that a storage contract between the host computing device and the renter computing device has been added to the blockchain. After the data have been stored, the processes include computing a checksum, sending it to the renter computing device and to the blockchain and receiving, from the blockchain, confirmation that the checksum has been added to the blockchain.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method of delivering data that has been reliably stored in a storage system, the system being distributed over a network and having a stored blockchain accessible over the network to a host computing device and to a renter computing device, the method utilizing computer processes carried out by the host computing device comprising:
receiving over the network, by a host computing device from a renter computing device, a download contract proposal; sending over the network, by the host computing device to the renter computing device, an acceptance of the download contract proposal; making a determination if the blockchain has received from the renter computing device a signed download contract and has stored the download contract, and if the determination is favorable:
(a) encrypting, by the host computing device, the stored data specified in the download contract;
(b) computing, by the host computing device, a checksum of the encrypted data; and
(c) sending over the network, by the host computing device, the encrypted data to the renter computing device;
receiving over the network, by the host computing device from the renter computing device, a checksum of the data received by the renter computing device; comparing, by the host computing device, the checksum received from the renter computing device with the checksum computed by the host computing device; if the checksum received from the renter computing device matches the checksum computed by the host computing device, sending over the network, by the host computing device, a key for decrypting the encrypted data.
2 . The method of claim 1 , wherein sending the acceptance of the download contract proposal comprises:
sending information about a key that will be used to encrypt the data to be downloaded.
3 . The method of claim 2 , wherein the information about the key is a hash of the key.
4 . The method of claim 1 , wherein encrypting the stored data comprises:
dividing the data into chunks; and encrypting each chunk of data.
5 . The method of claim 1 , wherein sending the key for decrypting the encrypted data comprises:
adding, by the host computing device, a signature of the host computing device to the checksum signed by and received from the renter computing device; sending over the network, by the host computing device, the signed checksum with the key.
6 . The method of claim 1 , wherein sending the key for decrypting the encrypted data comprises:
sending over the network, by the host computing device, the key to the renter computing device.
7 . The method of claim 1 , wherein sending the key for decrypting the encrypted data comprises:
sending over the network, by the host computing device, the key to the blockchain.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.