Erasure Codes for IPFS

Author/Creator

Author/Creator ORCID

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.