Storage as an Abstracted Backend — IPFS, Autonomi, and the Cooperative Network Vision
Context
This post captures an architectural decision and the thinking behind it, emerging from an exploration of Autonomi Network, IPFS, and cooperative distributed storage.
The question was: where does distributed storage fit in the NEXUS ecosystem, and how does it relate to the INFLUANCE vision?
The Core Decision
Storage is an abstraction boundary in NEXUS. Where data actually lives is an implementation detail behind that boundary — the slices, facts, and events don't care. PAXUS resolves the backend at runtime.
type StorageBackend =
| Local of LocalPath
| Forgejo of ForgejoConfig
| Ipfs of IpfsConfig
| Autonomi of AutonomiConfig
This means the cooperative network vision — IPFS with contribution accounting, resource budgeting, and INFLUANCE tracking — is an option users enable, not a dependency NEXUS requires.
Why IPFS as the Cooperative Layer
The 404 problem is real: older content disappears because hosting costs money and platforms delete things. Content-addressed storage solves this structurally — the address is derived from the content hash, so the same content can be served from anywhere that has it.
IPFS has no built-in persistence guarantee (nodes store what they want), but that weakness becomes a feature here: you become the persistence layer. Seed nodes pin content. INFLUANCE tracks who else is pinning what. Nodes that contribute more earn more.
No ANT tokens. No ETH gas. Contribution is the currency.
Autonomi remains a future slot — if its payment friction is ever resolved, the Autonomi case is already waiting.
The Resource Agent
Participation should be opt-in and bounded. The agent operates within a user-defined resource envelope:
type ResourceBudget = {
BandwidthCapPercent : float
StorageCapGB : float
CpuCapPercent : float
ActiveHours : TimeRange option
}
type BandwidthSource =
| OpenWrt of RouterEndpoint // automatic, real-time via router API
| Manual of ResourceBudget // user-defined caps
| Default // conservative fallback: 5% bandwidth, 2GB storage
OpenWrt users get dynamic adjustment — the agent backs off when the connection is busy. Everyone else sets caps manually. New users get sane defaults so onboarding doesn't start with a configuration wall.
The agent watches:
- IPFS request logs (what content is being asked for and how often)
- Real-time bandwidth utilization (from OpenWrt or manual cap)
- NEXUS session state (active projects get proactively pinned; dormant ones relax)
INFLUANCE as the Contribution Ledger
INFLUANCE in this context is not a token or cryptocurrency. It is a contribution accounting system — metrics that reflect participation and impact:
- Bandwidth served × time
- Storage pinned × time
- Availability during peak demand
- Geographic proximity to requesters
Someone contributing 10% of a 1Gbps fiber connection is worth more to the network than 50% of a slow connection. INFLUANCE makes that visible.
The dashboard surfaces three things:
- What you are contributing right now
- What you have contributed historically
- What you could contribute if you raised your caps
The third is a gentle nudge, not a demand. Contribution is transparent and voluntary.
Influences
- SAFE Network — the inspiration for how storage should behave: automatic caching near demand, pay-once permanence, encrypted by default. The auto-caching model (XOR routing + proximity-based replication) is approximated here by INFLUANCE incentives rather than protocol enforcement.
- IPFS — the practical foundation: content addressing, open participation, no payment friction.
- PeerTube / WebTorrent — ephemeral p2p delivery while content is actively being consumed. Relevant for video use cases layered on top.
- CrashPlan / Symform — the original inspiration: reciprocal storage between trusted participants, no intermediary.
What This Is Not
This is not a blockchain. There are no tokens to acquire, no wallets to configure, no gas fees. The cooperative layer is a peer network of people who feel the difference and want to give back — one tiny community at a time.
Open Questions
- How does content discovery work across nodes that don't know each other? (Shared indexes stored on IPFS itself is one answer)
- What is the right default resource budget for a first-time participant?
- How does CORTEX interact with the pinning agent — does session awareness drive proactive pinning?
- Self-encryption layer: borrow from Autonomi's open source implementation or roll our own?