Blockchain Idea: Blockchain based torrent tracker
Hey you ! This is the first post of a new serie of "Blockchain idea" posts where I give ideas of apps that can be done on the blockchain. Feel free to realize these ideas ! 😀
Image source (Took from google image, the original article seams unavailable now)
So, what exactly is a torrent tracker ?
Torrent
Download files in the torrent way is much faster, more reliable and practical. But it lays on people's will to stock a file in their hard drive and to share it, and that can be difficult to less wanted files.
In order to send / receive data from users to users (or peers to peers, aka P2P) torrent software connects to a torrent tracker server.
The tracker
A torrent tracker is a server that allows seeders (people who shares a file they have downloaded) to connect to leachers (people who desires to get that file). This is the central part of the P2P torrent system.
In other word: "Without tracker you don't have torrent".
"Trackerless" torrents using DHT still needs to connect to a single node in order to get redirected to other nodes and get peers. In this case, without this entry point, you have no DHT, no peers, no torrent.
I wont develop any more details about torrents trackers, but I let you several links about it at the end of the post !
The seeders ratio
The ratio of a seeder on a file is computed as the ratio:
Data sent / Data received
It's used by trackers to motivate users to seed after downloading a file, we are going to take advantage of it for our system.
Why developing it for the blockchain ?
This is actually the most important question when developing an app for the blockchain.
As I said below, the torrent tracker is the centralized part of the torrent system, the system can't work without it, this is what we call a SPOF, a Single Point Of Failure. (SPOF Wikipedia), that can lead to downtimes or legal issues with the owner of the server.
The other advantage is the monetization of the fileshare. It turns users to actors, I'll develop this part just below.
Finally, the blockchain is fair, no one can cheat on it. That means we know where are our data, our money, etc ...
We could use the DHT technology for the tracker blockchain, I don't want this post to be technical, I'll maybe create another post if this idea gets constructed and seams really feasible.
Let's create our tracker on the Steem blockchain
Let's design the economic system we could use to make it work.
A file shared on the tracker has a price a user has to pay to get it.
- 70% of the price goes to the copyright owner
- 10% of the price goes to the seeders
- 15% of the price goes to the copyright witnesses
- 5% of the price goes to the clone hunters
Don't worry, every actor will be explained below
Let's explain it with a simple example:
- Pythagoras has shared Game Of Thrones season 3 for 15 Steem on the tracker, 2 users are currently seeding it.
- Thales didn't saw it yet, he wants to get it, he pays 15 Steem to buy it.
When downloading it, the file is seeded by Pythagoras itself, and 2 other seeders.
% of price | Amount | |
---|---|---|
Pythagoras (6.2 ratio) | (6.2/11.4) x 10% | 54.3% of 1.5 = 0.815 STEEM |
Seeder A (1.5 ratio) | (1.5/11.4) x 10% | 13.1% of 1.5 = 0.198 STEEM |
Seeder B (3.7 ratio) | (3.7/11.4) x 10% | 32.4% of 1.5 = 0.487 STEEM |
GoT copyright owner | 70% | 10.5 STEEM |
Copyrights witnesses | 15% | 2.25 STEEM |
Clone hunters | 5% | 0.75 STEEM |
The exemple is simplified as seeders sent all data at the same data speed. The real system is explained below
Seeders
A seeder earnings depends on his ratio on the file he seeds. The more he has ratio on it, the more he will earn. As well as his seeding speed compared to the total seeding speed of the file to a leacher.
Each block of data received by the leacher, a payment will be shared to every seeders who sent data to him that has an average data speed > 0 on the past block.
Let's say our GoT file is splitted into 100 blocks, worth 0.15 STEEM each.
For each block, a Seeder i will earn:
EoB: Earning in % of the seeders shares of the block
Ri: Ratio of the seeder on the file
RN: Sum of the ratio of each seeder on the block
AvgSi: Average seeding speed of the seeder on the past block
AvgSN: Sum of the average seeding speed of the seeders on the past block
If the EoB here = 0.4 (40%), the seeder will get 40% of the 10% seeder share. 0.15 total -> 0.015 to seeders -> 0.006 to seeder i
(100 blocks like this -> 0.6)
The monetization of seeders permits to:
- Rewards seeding a file for a long time
- Rewards seeding file that doesn't have a lot of seeders
- Rewards seeders dedicating a higher of seeding speed
Copyrights witnesses
In order to know to whom the copyrights has to go, the tracker will reward users that will bring to a file informations the name of the artist / company and a proof of ownership.
Everytime a user brings the proof that a file has copyrights, he becomes a copyright witness on this file and will get rewards for each file sold.
The rewards are equally shared between the witnesses
Clone hunters
Clone hunters are users that report clones of the file on the tracker, after a clone report, users can vote if (yes or no) the file is the same or not. The clone hunters reward of a file goes to every users on the tracker who hunted a clone in the last 30 days.
Copyrights owners
This is the most delicate actor of a file, as it may not be a user of the tracker and a total blockchain-related things ignorant. So we can't really reward him with STEEM for now.
The solution here could simply be to stock the STEEM copyright owner share of a file, and to distribute 1% of it them to active seeders each day; until the copyright owner gets an account on the service, prove his identity and claims the reward.
Problems to solve in order to make it work
The main problem here is about copyrights owners.
The solution I presented could be legally ok, saying "If you want to, you can get your money, if you don't that means you don't want to", but the main problem here are:
- Copyright owners can't set their own price on the file
Or maybe they could after verifying the validity of their account and their copyright ownerships
- Copyright owners's account identity and copyright ownership has to be verified without any centralised system
- Reward / Disk usage ratio could favorize expensive little files compared to cheap big files.
Conclusion
The % share, price or equations were just (closely random) picked for the example.
This is just an idea, not a functionnal system but It would be awesome to make it grow and perfect it with you in the comments !
They may be things I forgot, misunderstood or didn't see, just say it in the comments as well 😉
Torrent related links
BitTorrent tracker Wikipedia
Lifewire - How torrents works
Trackerless torrent myths and truths
DHT (base technology of trackerless torrent) Wikipedia
Sorry for my bad english, don't hesitate to correct me that'll help me improve :-)
Feel free to upvote, resteem, share, comment, this post or follow me for more awesome content ! 😎
Take care,
Warlkiry
Good ideas to be reused although, as you note, the full scenario seems fraught ... as the blockchain is not only an accounting machine (main functionality you use here) but also a hard to erase memory ... so if the copyright owner does not agree with some past behaviour, he can track past exchanges of files he owns and chase down the seeders ... with hard-to-predict legal consequences ...
Yes, this is actually very hard to deal with, and a very actual debat.
The decentralized constraint I wanted to deal with doesn't allow a lot of control on what is shared.
It could be solved by adding moderators who deletes copyrighted contents (which doesn't leave a lot of content) or by the centralization of the whole system, a digital marketplace like any other one who doesn't need big storage servers to let their user download.
Thanks for reading and for your review !
It is a very good idea. I have always been a torrent maniac. Hope someone would make your idea fruitful.
Rewards to seeders will be a reason for the increase in seeds.
Posted using Partiko Android
Thanks for your review ! I'll try to develop the technical means to create this app in a future post ^-^
Glad you enjoyed it !
!sources
Hai
When posting content that either is owned by someone else or inspired by someone else’s works, it is proper to list the said source in your post with a link to the original.
Failing to do so is considered plagiarism, and could result in being blacklisted by curation groups or even flagged.
Examples include:
Thanks for using eSteem!
Your post has been voted as a part of eSteem encouragement program. Keep up the good work! Install Android, iOS Mobile app or Windows, Mac, Linux Surfer app, if you haven't already!
Learn more: https://esteem.app
Join our discord: https://discord.gg/8eHupPq
Good job
This post has received a 45.25 % upvote from @boomerang.
Congratulations @warlkiry! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!