Simple, composable primitives for efficiency and innovation in storage applications and markets.

@Alex North @Kubuxu and the Protocol Opportunities Group (with big assist from @zenground0).

Goals

The storage/data programmability project aims to:

With a well-conceived architecture, we should be able to:

See also https://github.com/filecoin-project/FIPs/discussions/241 for a general motivation towards composable market primitives.

Challenges

Today (February 2022), storage powered consensus, the built-in storage deal market, and Filecoin Plus program are tightly coupled. There is no room for a competing market contract or alternative storage/data application that doesn’t sit on top of the built-in market. The built-in market actor is trusted with network-critical operations like calculating sector quality. It’s also inefficient and inflexible. Deals are expensive, incur ongoing maintenance cost, and cannot be extended, transferred, or generally inspected or manipulated in any way on-chain. Sector storage is limited to write-once semantics by the complex quality-adjusted power calculations necessary to update data.

This was fine for network liftoff, when all actor code was trusted by the network and we wanted the simplest thing that could work. But as the FVM enables user-programmable contracts, these limitations will severely limit the possibilities for innovation, if left in place.

Solutions

Our path toward lego-like building blocks comprises a few major legs.