You can now watch movies from DCS storage from nodes

@1qazx I’m curious about who’s gonna pay for all the egress your service might generate (and storage it’s going to need) if it proves successful and used by hundreds/thousands of people?

Once / if that happens I plan to try find people or even sell the project complete but also I could find people to host vid buckets

very good as a proof of concept, but unrealizable as is.

Storj is designed for backup purposes but unusable for streaming/file hosting.

In fact, if you try to launch something like this, someone can attack your service just by watching your video from a botnet (generating fake usage) that YOU must pay. This will put you out of business quickly, even before you reach the audience.

captcha can help, but once solved your service give access to an unrestricted resource, then the abuse continues. Even if you implement an expired token that put the resource offline after 30 minutes, you force all legit users to solve the captcha every time making a very bad experience.

IMO the only valid solution is to launch your own satellite and remove the egress payout but add the ingress. So you pay only when users upload content, then you can restrict it using a “verified” level.

For example, the new accounts can upload max 30 sec of video per day (tiktok like), so you not only fix the attack (free egress and restricted ingress) but this help to prevent the 99% of copyright issues. Once the user get like, views, follower, comments etc etc…you increase the user level allowing more video size, and continue to increase it until the uploader gets fully verified and unrestricted. If someone abuse your service to share copyright materials, then as punishment you reset the level to zero.

The target can be:
a) Street artist, a quick youtube search, surprisingly, points me to this one: When Someone Requests Tennessee Whiskey and This Singer Steals The Show - YouTube …completely legal and very nice O_O
b) People that want to share their ability (talent show like)
c) Influencer content
d) Video tutorials (the classic HOWTO video never die)

This is a working business model, allowing you to build a streaming platform on storj and monetize it with ads.

Why do we don’t try to do this as a comunity?

It is currently working ok for streaming but yes I plan to get funding and or donation buckets I plan to make it as a community

Would apache RATE_LIMIT work

The mod_ratelimit is a temporary solution, it protects by IP while a botnet can access 1k or more connections…even if you ban them nothing prevent the attacker from just using a proxy rotator.

Anyway, for now, you can ignore this, no economic incentive to spend money just to hurts you, but in the future, it will.

If you want to make it a community project, I am in.

Ok cool atleast for now will set up an example url with rate limiting but may consider making a satellite for it

Also I am wondering what the community could do to help ATM all I need is videos and buckets

But we can all make it work

Also unsure if you as an sno will know as I am to an sno but dont know will my free bucket overload over my free 150gb or just not work

This limit comes from storj DCS satellite offer, but with a private satellite and the community node operator supporting the project for free, you will face zero cost and limit. For start is probably the best choice, I am writing an overview idea, so we can discuss about it with others and try to figure out the best path.

Could someone link me to how to make a satellite?
Would other SNO’s support running a node for free to support it

After a quick check, seem storj actually just proxy the video. So when i play the video, my browser connects to a central point (for example your bunny video point to: https://link.us1.storjshare.io/s/jvx6qgxzq2m7otvynqkd4wjfks2q/newbucket/BigBuckBunny_512kb.mp4?download=1), then this satellite rescue and reassemble the video on server-side and send it to the browser piece by piece (not the storj piece, just the video piece already assembled).

Just a normal download with satellite act as proxy between browser and node operators, there is no decentralized streaming here. Only the storage is decentralized.

So, the project goal is to decentralize the streaming itself. To do that we can’t use html5 video tag, probably we are forced to play with html5 canvas and try to reassemble the video on client-side. In this way the streaming is decentralized and the source is the storj nodes (not the satellite like actually http://us1.storjshare.io seems to work).

While the private satellite will be a book with all node file pieces source.

Can storj confirm this?

That US1 link is a link to storj us1 satellite

There is some details on how it works here https://www.storj.io/documents/storj-dcs-video-use-case.pdf

Thx, I read it. It contains information about storage layer but no information about the stream of such storage to the end user.

My question is about the current model for retrieving a stored file from storj, not how it s stored\secured\distributed.

Are satellites act like a big proxy or there is a way to download the pieces from client-side just by sending to the client the list of piece locations (and the hash for verification)?

There is a doc with protocol specs of storj protocol (the communication rules between nodes and satellite)?

Exist actually a base satellite lib/project to use as a kick-start without all DCS features?

The satellite is only address book, payment processor, audit and repair service. Please note - the satellite is not a single server, it consist of several separate services.

The satellite is not acting as a proxy, it can work as a node, if the metadata to store a piece is bigger than the piece. Only in that case the piece will be stored inline on the satellite alongside with metadata.

Your uplink requests the satellite for nodes, where pieces of your files are stored and then downloads them directly from nodes.

However, when you use a linksharing service or GatewayMT, these services acts as a proxy. They are not a single servers too, they are running in several physical locations, and automatically routed from the closest service to your location (at least for GatewayMT, with the linksharing service you still should select a region).

The high level description of communications between satellites, nodes and uplinks are described in the Storj Whitepaper V3 and Storj Blog.
The low level - in the code on our GitHub.

5 Likes

Here is something that seems to be a Polish version of your idea:

Maybe worth to have a look at.

2 Likes

Cool I will have a read thanks i am still working on a sat for this idea but thanks for thinking of my idea when seeing this