
mBlob is a lightweight decentralized storage protocol for Monad that enables applications to securely store large files off-chain while keeping ownership, payments, and storage metadata on-chain. Instead of relying on a single storage provider, encrypted file replicas are distributed across multiple independent storage nodes, while a lightweight Gateway API coordinates uploads, retrievals, and storage verification. The protocol consists of four main components: a frontend that calculates storage fees using a deterministic pricing algorithm, a Gateway API that verifies payments and creates on-chain Blob Objects, three independent storage nodes that store encrypted file shards, and a background worker that automatically deletes expired blobs(not yet implemented). During retrieval, the Gateway uses the Blob ID to locate the required replica, if any storage nodes fails, it falls back to the next. Blob sharded would also be implemented in the future. mBlob solves the problem of expensive on-chain storage and the risks of centralized cloud storage. By storing only metadata on Monad and distributing encrypted data across multiple nodes, it provides a transparent, cost-effective, and resilient storage solution while ensuring storage fees can be independently verified by both the client and the Gateway. Building mBlob taught me how to design a system that combines on-chain and off-chain components into a cohesive decentralized protocol. I gained practical experience with distributed storage, deterministic pricing, encryption, data sharding, and coordinating independent services, while also learning the architectural trade-offs between simplicity, scalability, and decentralization.
Discussion
No comments yet. Be the first to share what you think.