Hello everyone, I recently had the idea to set up a community satellite that could allow Storj to become even more decentralized. I’m going to introduce you to the project itself, but due to my lack of development skills, I don’t think I can do much for its development itself…
Project Objective: The goal is to set up a community satellite on the Storj network, supported by an architecture of super nodes that will handle transaction coordination and validation. The Storj network will be used for the decentralized storage of file fragments, while encryption and file fragmentation will be managed locally by the client application.
Background: The Storj network provides a decentralized model for file storage, where data is fragmented and distributed across storage nodes. However, Storj-operated satellites play a crucial role in managing metadata and distributing fragments. The idea behind this project is to set up a community satellite that relies on super nodes to handle these tasks, while keeping the Storj network as the storage foundation.
How the project works:
Super nodes: The super nodes do not store data themselves, but instead handle the coordination of file fragments, transaction validation, and the distribution of fragments across Storj’s storage nodes.
Client-side encryption and fragmentation: The client application will encrypt files before sending them to the super nodes. After encryption, the files will be fragmented directly within the application, ensuring that super nodes and storage nodes never handle raw or plaintext data.
Storj storage network: Once encrypted and fragmented, the fragments are sent to Storj’s storage nodes, leveraging the existing decentralized infrastructure and the robustness of the network.
Maybe I expressed my thoughts badly, or I didn’t understand how satellites work well enough. In short, the idea is to replace a satellite with several “super nodes” that would be operated by various entities, a bit like Ethereum validators or other networks. Does that make more sense?
In the end, you’re suggesting Community-run satellites? It’s a good idea: though it’s going to be hard to use them for anything but testing as there would be no rewards for SNOs.
If I understand correctly, a community-run satellites runs on a single site/server? But yes, a community-run satellites makes a little more possible the idea presented of having several “super nodes” running a single satellite.
Satellite is it not single server. It’s a redundant and distributed cluster. I don’t know whether physically does storj runs theirs. I’d expect community ones to be also run in a distributed and redundant way. Otherwise it defeats the point if all metadata can succumb to a single shed fire.
I think he tries to decentralise the satelites work to the anyway distributed nodes.
Thats a big thing, because it merges serveral distributed layers into one distributed super-storage-processor-blockchain.
imagine the nodes would do the work from the satelites too.
so super nodes could run the network alone. or every node is a super.
Right?
Thanks! I don’t know why, but I was left with the idea that a satellite was redundant but not a distributed cluster.
This could be a way for community projects to be run in a distributed and decentralized manner? This way the network would no longer depend on one entity to maintain access to the data.
In a way, but not entirely. Super nodes and storage nodes would not necessarily be the same, but each could choose to become a super node. (perhaps with some sort of stakes)
If a community satellite would keep track of where all data is (so clients can be (maybe) charged, and SNOs can be (maybe) paid, and audits can be performed, and online-availability can be verified, and repairs can be made)… what’s left for a “Super Node” to do?
Or is Super Node a label for community servers that help make the community satellite resilient (so they really only run satellite code?)
It’s redundant and distributed, as any service in the Storj network, including some specific satellite’s parts like an auditors and repairers - they are even more distributed. Even a satellite database is distributed and redundant too. The same for the edge services (linksharing, auth, GatewayMT).
So, for me it looks like you suggesting to run a distributed services of the Community Satellite on servers operated by independent entities. It’s possible, the only problem that currently it cannot tolerate a Byzantine behavior, so all entities must be trusted.