I’d like to share an idea that could make Storj more flexible and open while still ensuring a solid revenue stream for the network.
The concept is to allow private satellites that could use existing Storj storage nodes, but instead of Storj directly billing end users, Storj would bill the satellite operators in STORJ tokens through a smart contract.
Here’s how it could work:
Private Satellites – Any organization could run its own satellite and connect to the Storj node network.
Billing in STORJ – Storj would charge these private satellite operators in STORJ via a smart contract, ensuring automated and transparent payments.
Commission for Storj – Storj takes a 10–30% commission on all traffic/storage handled by these satellites. The rest goes to the nodes as usual.
Independence & Flexibility – This allows satellites to operate independently from Storj’s main platform, while Storj still benefits from node usage and earns revenue from commissions.
Benefits:
Decentralizes the satellite ecosystem.
Encourages more adoption by allowing niche or private use cases.
Keeps Storj financially sustainable through commissions.
Smart contracts make payments trustless and automated.
I think this could open the door to many innovative use cases for Storj, especially for enterprises or specialized projects that need their own satellite logic but still want to rely on Storj’s powerful node network.
What do you think? Would this model make sense for both Storj and the community?
To avoid having to build your own network of node operators, setting up a reliable payment mechanism, maybe providing technical support. There is value to that, not sure if 10–30%, but still some value.
I would argue though that the cases where it would make the most sense to set up a community satellite are cases where the payment scheme would need to incentivize a specific storage trade-off (like, maybe cold storage, or short-term storage), necessitating a different set of nodes and/or customized payment scheme anyway, and hence making OPs idea not as useful.
Probably not. The satellite is the most crucial part of the network which requires expertise and resources to run. If the satellite gets messed up, customers, nodes might lose data. And we have seen in the part that even Storj had to roll back unwanted deletions.
But anybody can already run a satellite today however interest is low:
So what you are suggesting is that Storj could charge any satellite that they put on their list of satellites, so they get found by the existing nodes:
Otherwise there is not much more Storj has to do with other satellites. The satellite operator is responsible for paying nodes, acquiring customers etc.
Of course it could always be negotiated if Storj can handle that and getting paid for it.
As Storj has the expertise and the resources to run the satellites and satellites are so important not to fail, I believed that it would be rather the satellite part that would get outsourced by interesting parties. That’s why I had suggested to offer the Satellite as a service where interesting party would manage the customers and the nodes part but leave it up to Storj to run their satellites and pay Storj for doing so. As it seems, this is possible by now:
In the last Town Hall they gave information that sounds like something like that is going on in India:
Out of curiosity, can you share any numbers, like even orders of magnitude, when it makes sense for a customer to set up a private satellite? I can imagine that unless a customer wants to store more than, let say, ten petabytes, there’s no point in bothering Storj?
This depends on requirements. Most of the customers can use a Global Storj network, some needs SOC2, some geofencing, but some wants, that their data is never leave their perimeter even end-to-end encrypted.
Some wants to replace other distributed network storage protocols, because Storj’s one is more efficient, robust and fast.
Many cases, so no a common stat, sorry.
You may setup a Storj network with any amount of storage which is needed, all depends on requirements. The most efficient way is to use Storj Global.