Memo vs Filecoin: Brief Analysis on Decentralized Storage Projects

Memo Labs
Memo Labs
Published in
8 min readNov 26, 2021

Filecoin and Memo are both decentralized storage systems. They share many similiarities. For example, both systems are fundamentally built on blockchain-based storage sharing economy. They do not require any centralized servers, but links to user nodes to provide storage space. Both systems build a series of encryption technologies, storage algorithm proofs, and earning mechanisms to ensure decentralization, trust and the user-provider fit during transactions.

However, the two systems vary in the working mechanisms for storage sharing, technologies and rules used in development and application. Specifically, differences exist in the following four aspects.

Differences in system architecture and earning mechanisms bring varying storage purposes and blockchain dependency.

Filecoin: higher on-chain overhead

The primary positioning of Filecoin is the incentive layer of IPFS. It uses the encapsulation space as the computing power to generate blocks. In other words, the data-encapsulating provider can acquire the right to generate blocks with matching computing power. Block generation requires data encapsulation, so many use Filecoin to produce blocks, not to store data. Therefore, massive invalid data encapsulated on Filecoin significantly undermine the storage function. Theoretically, each provider can benefit from block generation, storage space rental, and retrieval. However, due to invalid data stored, the provider can only profit from block generation.

Another aspect is that most critical proof of storage and verification must be completed on chain, subject to the Filecoin system design. The system consists of three roles: user, provider, and retriever. The provider can also retrieve data in the system, so the user and the provider are actual users of the system. This role definition challenges the storage verification on-chain.

Memo: on-chain payment only, low cost

Memo’s positioning is a blockchain storage infrastructure that can link any complete Turing public chain. In doing so, transactions can be made on-chain via smart contracts, whereas other functions off-chain. The Memo file system (MEFS) incorporates three roles: the User, Provider, and Keeper. The User pays for storage and download services. The Provider provides storage space for the User to earn rents. The Keeper connects the User with the Provider on information matching, retrieval, and collaboration as an intermediary.

Compared with the Filecoin system, three roles in the Memo system can fulfil their duties independently. The Keeper is unique in the system design and cannot be assumed by the Provider. The Keeper responds to important storage challenges and collects proofs of storage. To be specific, the Keeper regularly challenges the Provider to verify on-schedule storage. The role design can transfer the storage proof and verification off-chain without over-reliance on-chain. It can effectively improve the system processing capacity while ensuring credibility.

Differences in storage proof mechanisms bring varying availability and communication overheads

Filecoin: time-consuming proof replication and costly communication reduce system availability

Proof of storage is the most critical technology in a decentralized storage system. Filecoin proposes two proof mechanisms: Proof-of-Replication (PoRep) and Proof-of-Spacetime (PoSt). The former requires the provider to prove that specific data are stored on its node. The latter is a constantly replicating collection of proofs factoring in the time element. Both proofs intend to verify effective data storage in a given time.

The process of generating a replicate certificate is complex. It is essentially a data encoding process. The storage space available on a node is called a sector. After filling in a sector, the system needs to encapsulate it. Encapsulation is a set of operations that gradually transforms the sector into a unique copy of the original data linked to the public key holder in the Filecoin system. It is a highly intensive process that calculates the data stored in a sector and generates a unique identification code, also known as the hash value. Hash value allows anyone to retrieve the copy to achieve public verifiability. The identification code is a compressed zero-knowledge proof submitted to the blockchain as storage proof issued by the provider. Only the storage provider with all the original data can offer the correct Commitment of Replication (CommR), an on-chain commitment to the copy to the Filecoin blockchain.

Filecoin encodes the data (hashing) and uploads it using one of the underlying IPFS technologies. However, encoding is a complex computing task that is time- and resource-consuming. For instance, it takes about one hour to encapsulate data in the smallest 32GB-sector on Filecoin. Similarly, once data storage is complete, users must first unpack to access data. Both processes require equivalent resources and are immensely time-consuming, reducing the efficiency and availability for data reading and download on Filecoin.

Memo: Effective proof of storage and verification, low communication cost

Unlike Filecoin, the proof of storage for the Memo system is completed off-chain and can be verified in seconds. Off-chain is not the reason for its rapid verification. A new publicly auditable BLS-based signature method featuring privacy, batch auditing, completeness and high efficiency holds the key to the answer.

When the user requests storage and gets a matching provider, the system will generate public and private keys, hand over the public key to the Keeper and store the private key locally. Before uploading data, the system will segment outsourcing data and assign a number to each segment. The user will sign each segment and generate a verification label for each segment. Then data segments and labels will be sent to each provider. The Provider only needs to specify the segment verification code in each verification, such as Segment №100–200. The Provider will process the corresponding segment, label the segment and generate a certificate of several hundred bytes. The storage certificate can be generated in seconds. Developed in several stages, the proper storage of all segments can be verified by certificates. Combined with the probability spot check, terabyte-level data can be verified by certificates and by any data public key holders.

To verify proofs of storage, the Keeper will also generate its key pair using a verifiable random function. The Keeper will initiate challenges by sending off challenge information built on a verifiable random function to Providers. Verifications are completed off-chain due to low on-chain scalability. Once consensus on the verification layer is reached, anyone can verify and check results. The system can also merge challenges to multiple data blocks. Once challenged, the system can reduce the communication cost by a one-off transfer of various data blocks in bulk, not individually block-by-block.

Differences in fault-tolerance and repair mechanism bring varying system space utilization rates and reliability.

Filecoin: Using multi-copy redundancy, low storage space utilization

Filecoin chose multi-copy redundancy in the design of its fault-tolerant mechanism. This is because its proof of replication mechanism can only support copy, not erasure code redundancy. The user can specify the number of copies. For example, if the user chooses three copies, the space utilization rate is only 33%. The more nodes the user selects, the higher the redundancy and the securer the data. However, higher redundancy also reduces the utilization of system storage space, especially for massive data storage.

In addition, Filecoin uses a multi-copy redundancy mechanism. As long as one of the nodes is normal, then the user can get a copy. If any data node fails, the system will immediately repair the lost block and rebuild it in other nodes. However, the system reliability is limited for the lack of a repair mechanism.

Memo: two redundancy technologies and original data repair technology with a high utilization rate

Memo combines multi-copy and erasure code redundancy technologies. Based on the data volume and application, erasure codes are mainly used for large-volume data, whereas multiple-copy redundancy is used for small-volume data.

Storing raw data generally requires a large capacity and low read frequency. Therefore, the erasure code is the default mode for raw data storage. The user can also choose a multi-copy method, depending on storage requirements. Erasure codes ensure data redundancy by employing data-checking blocks in less space. In addition, the proprietary RAFI technology can accelerate data repair by quickly identifying invalid data blocks using either multiple-copy or erasure code redundancy mechanisms. Compared with ordinary data repair mechanisms, RAFI technology significantly improve reliability.

Differences in barriers bring varying system scalability.

Filecoin: consensus mechanisms amass computing power, barriers for general devices

Filecoin generates blocks according to encapsulation spaces. Its consensus mechanism is based on the expected consensus (EC) built on Proof-of-Replication (PoRep) and Proof-of-Spacetime (PoSt). The expected consensus denotes that the provider’s computing power is propositional to the probability of getting a match. Therefore, Filecoin counts on its encapsulation space to generate a block. The larger the space, the more probable it is to generation blocks. However, encapsulation is a complex computing process. General equipment may fail to do so due to limited computing power. Only purposefully built equipment with high performance and enormous computing power can use the Filecoin system, barring generic equipment out of the system and inevitably amassing the computing power.

Memo: low barriers, high scalability

Memo can link any complete Turing public chain. It adopts a hierarchical data management mechanism. The blockchain is only used to record and manage system roles, transactions and smart contract information. Verifications are done off-chain, separating storage nodes earnings from block generation. This mechanism eases the burden of on-chain transactions and lowers the system barriers for any device with idle storage space to join without any prerequisite computing performance. Low barriers and on-chain operations attract more devices to join, either generic or purpose-built. This approach can gradually scale up its capacity and boost performance.

Summary

As the IPFS incentive layer, Filecoin can defend against multiple attacks with its complex storage proof mechanisms. However, it limits the storage purpose, space utilization, reliability, performance, and system scalability to a certain extent. Memo is committed to the blockchain infrastructure. We value flexibility and availability in our system design. The BLS signature-based public verification mechanism features safety, efficiency and low communication cost. A multi-level fault tolerance mechanism and a data repair mechanism with core RAFI technology are developed on off-chain verification mechanisms. The combination of these technologies makes Memo a decentralized cloud storage project with high security, high reliability, high availability and high scalability.

--

--

Memo Labs
Memo Labs

MEMO is a new-gen blockchain decentralized cloud storage protocol. Our mission is to build a reliable storage infrastructure for the Web3 era. www.memolabs.org