Self-Emerging Proof-of-Storage Challenges Using Smart Contracts
MetadataShow full item record
- Master's theses (TN-IDE) 
Proof-of-Storage (PoS) is a collective term for protocols that allow proving data integrity and availability. There exist several PoS schemes. While they differ in detailed specifications, their common primary advantage is eliminating the need for trust between storage providers and data owners. However, there does not exist a mechanism to provide self-emerging delivery of requests for proof of storage, commonly known as challenges. This paper presents a decentralized system for PoS using self-emerging challenges built on smart contract in the Ethereum platform. Self-emerging challenges provide an automated mechanism for ensuring integrity and persistence of data at chosen time intervals. The design employs participating nodes in the Ethereum blockchain, commonly referred to as peers, to store and route challenges to storage providers. The peers are compensated for their service by their respective employers. Data owners are enabled to schedule the time of emergence of a challenge to storage providers. Upon a received challenge, storage providers prove the integrity and persistence of data by responding correctly to the challenge. The design builds on the existing work of decentralized self-emerging data systems over Ethereum blockchain networks. We show that this work can be utilized for PoS and solve the problems that the incorporation and adaptation of this work raises. We evaluate the proposed system based on several factors. We investigate the security of the system based on the different attacks that the participants may execute for exploitation. Moreover, we evaluate the attractiveness of participating in the system based on the gained remuneration by peers and the positive reputation gained by storage providers for proving the integrity of their clients’ data. We also evaluate the expenses of data owners utilizing the proposed system based on the inherited costs of invoking smart contract functions in the Ethereum platform. Lastly, through analysis, we find that to minimize the total costs in the system, the number of employed peers should be restricted to one in each path. In other words, one peer to deliver a PoS challenge to the storage service provider. We show that this additionally improves the fairness of remuneration payout to peers and analyze how security is affected by always utilizing one peer in each path. We discover that this improves prevention against drop attacks, while it to some degree decreases the prevention of release-ahead attacks which we deem less critical. Through these analyses, we recognize that the benefits greatly outweigh the drawback, and we make a suggestion that data owners should select exactly one peer per path in their services.
Master's thesis in Computer science