Erasure Codes for IPFS

Author/Creator

Author/Creator ORCID

Date

2019-01-01

Department

Computer Science and Electrical Engineering

Program

Computer Science

Citation of Original Publication

Rights

Access limited to the UMBC community. Item may possibly be obtained via Interlibrary Loan thorugh a local library, pending author/copyright holder's permission.
This item may be protected under Title 17 of the U.S. Copyright Law. It is made available by UMBC for non-commercial research and education. For permission to publish or reproduce, please see http://aok.lib.umbc.edu/specoll/repro.php or contact Special Collections at speccoll(at)umbc.edu

Abstract

IPFS (Interplanetary File System) is a peer to peer method of storing content addressable data in distributed file system. To provide Fault Tolerance to important files, IPFS copies them on at least 3 nodes in different geographical areas. To store a file safely, IPFS consumes at least 3X more space. This is inefficient and can be reduced significantly using Erasure Coding. My idea is to use Reed-Solomon code to compute parity of data. For each N blocks of data, Reed Solomon codes will produce additional "K" parity blocks. Each of these "N+K" blocks can be stored on different IPFS nodes. Original data can be reconstructed even if any K nodes are not available. To provide K-Fault tolerance to the system, we only need N+K storage as opposed to N*K in the earlier approach.