Idea for a True Decentralized Video Platform: Blockchain Torrent Hybrid

We have seen examples in the space such as PeerTube and Dtube which use Torrent and Blockchain respectively to host video in a decentralized way.  However there are aspects of centralization in both but both can be used as a template for future development.  PeerTube is open source and downloadable software to host your own platform.  Dtube has an open source equivalent ScotTube that users can use to create their own platform.

Here is an alternative idea that combines the good from torrent and blockchain.  In this idea there are creators, hosters, and viewers.  The creators have a channel and upload videos.  Hosters sponsor a channel by hosting all the channels videos and share this list of videos with other would-be hosts so they can download from the other hosts.  Now when a viewer watches a video (1 view per IP/hardware), two coins are created.  One coin is given to the creator of the video.  Another coin is given to the hoster of the video.  Now in the interest of decentralization we want many hosters of the channel.  So if one is forced to take down videos or channels, there are still others hosting the content so it stays up.  In this case that there are multiple hosts of a certain channel, when a viewer clicks a video link there is a random "roll" to determine which host gets to host the video for the viewer and get paid in digital currency.  Only the host that provides the video to the viewer will get paid (can also be a group effort to host the video between all the hosts as well, in that case the roll determines who gets paid).  So if there is only one host for a channel, then the host and the creator both make the same amount of coins per viewer.  But if there are multiple hosts then the creator will get paid more than any one single host.

So the roll is random for which host gets to host (or hosts, or just the roll for who gets paid but all the hosts work together) a particular view, however this roll is weighted towards the best host.  What this means is that the channel itself will ping the servers every few seconds or any regular or random time interval, with a particular software that will measure the integrity of the host.  This software can check latency, delivery rate, etc. Then the creator software assigns a ranking to each host which ranking weights the random roll to what host gets to deliver the video on a particular click of the video link.  So a high quality host may be given a 25% chance to host (or just chance to get paid) instead of say 10% chance for a lower quality host.

What this achieves is three fold.  Firstly, the better hosts get to provide more views and therefore earn more currency.  This is to incentivize better viewer experience and not just having a person have multiple hosting instances to have a higher RNG (random) chance to host.  Secondly, there are multiple hosts so if any one gets taken down or censored there are more hosts to continue to deliver the content.  Thirdly, there is no way for anyone to know who will deliver the content to the viewer.  This randomness will help prevent man-in-the-middle attacks and also centralized censorship attempts or ddos attacks.  If one host gets ddosed then that hosts chance to host decreases and other hosts have a better chance.

Also each channel runs the software to test the hosts and distribute viewers to the hosts so they have ultimate control over their own contents' hosting.  Since this is distributed amongst each creator, there is no central distributor of all clicks that can be taken down.  Each channel distributes clicks for their own channel to the hosts.  So there is no central distributor to distribute all clicks of all channels.  Also the creators software is not dependent on a website or anything, as long as they can connect to the internet and run the program, they can keep their channel up, they are self hosting the distribution software and do not actually host any of their own videos.  Since they are not hosting their own videos they cannot be charged for their own content, much like how pirate bay doesn't actually host anything so they can't be held liable.  The hosts would be the only ones liable and there will be many of them so there is no single target which would make enforcement very difficult.

Finally there would be  one more layer, a website or application.  This site would simply bring all the channels/videos onto a central site and act as a search/recommendation engine.  Any clicks would be directed to the channel creator themselves and then distributed to the hosts from there.  The cool thing about this is there could be unlimited number of websites or applications that link to the video network.  If any one of these sites get taken down another one could pop up and link to the video network, just like a torrent search engine.

In conclusion we have a 3 layer decentralized video sharing network.  First is the channel creator who hosts a pinging and distribution software on their machine.  Secondly there are hosts that all have copies of the channels videos and host them either separately or as a team effort.  Thirdly there is a UI layer in the form of websites or applications which act as a search engine and aggregator/ranker that delivers links and/or previews to the end user and directs the traffic back to the creator and then hosts.

PS: the digital currency used would most likely just be etherium or steem or another mined cryptocurrency.  Since we currently don't want to worry about mining and distribution/verification of the coins we would rather use another premade crypto.  The channel creator could put a sum of crypto in escrow or on a smart contract that pays the hosts per view according to the roll.  In this case creators would have to pay for their hosting.  In another case sponsors could offer up the sum that pays creators and hosts or even the viewers could pay for this sum.  It is possible for this idea to have it's own crypto (proof of view) that mints new coins with each view as well but that would add a whole other layer of complexity.

No comments:

Post a Comment

Thank you for your feedback! Sharing your experience and thoughts not only helps fellow readers but also helps me to improve what I do!