This blog might be a little too techie for some, but I want to write these ideas down anyway—if for no one else, then at least for myself. I’m still trying to figure out the right tune-up for 3Speak’s infrastructure.
On one hand, it makes perfect sense to prioritize hot videos—the ones living inside that seven-day window. But I keep wondering if maybe they should stay hot a little longer.
Ideally, once I finish making the Hotnode service easy to use—plug-and-play, even—other members of the community would start running them. If that happens, we’d end up with a hefty decentralized buffer between the hot nodes hosting new videos and the cold storage we call the Supernode.
The more hot nodes that exist, the smaller each one can be. Smaller nodes are faster nodes. That logic holds… provided those nodes are set up with proper peering and can communicate directly with the main hot node that actually delivers videos to users.
And this is where I start feeling torn...
I could use clusters, but that adds complexity and makes installation harder for the average user. That’s friction, and friction kills adoption.
Another unresolved decision is whether hot nodes should be able to connect directly to the traffic director. Right now, the only living hot node is in constant communication—but setting that up required my direct involvement. In a perfect world, a community hot node would simply perform a handshake with the traffic director, present its health endpoint and upload path, and immediately get to work.
But that opens a whole can of worms.
A bad actor could spin up a hot node, accept uploads, and then quietly delete them. If this happens before the videos are migrated to cold storage, that content is gone. Forever. That’s real damage, not theoretical damage.
So it makes sense to vet the nodes that are allowed to host videos—even if they only hold them for seven days or so. But this is the crux of the problem: vetting introduces centralization.
One idea I’ve been considering is forcing community hot nodes to migrate content immediately. In theory, that would prevent premature deletions. In practice… a determined bad actor could still do harm if they really wanted to.
If you’re wondering why I keep thinking about bad actors, it’s probably because you haven’t looked closely at the muted accounts in the comment sections lately.
So, for now, we compromise.
There’s still a discovery phase ahead. I suspect the correct parameters for hot nodes will reveal themselves over time, through usage and iteration. But at least for now, all hot nodes will need to be approved by us.
Not because we want centralization—
but because losing videos is worse.
MenO