Track All the Things P2P Tracker Proposal

in #utopian-io6 years ago (edited)

Repository

https://github.com/r351574nc3/track-all-the-things

Introduction

This is a proposal for implementing a P2P tracker system run by the steem blockchain

Post Body

In the #witness channel of steem.chat, there was a discussion about efficiently sharing blockfile backups.

Some Background Blockfile backups are used to replay the blockchain for nodes. This is especially useful for new nodes because syncing can take days or even weeks without it.

The concept of a CDN was raised where witnesses could periodically contribute compressed blockfiles to the CDN. This is particularly arduous for witnesses because compressing a blockfile takes resources. Uploading it takes bandwith. These are pretty precious to witnesses. Not to mention, there's no way to collaborate on this. With a CDN approach, one witness-at-a-time produces a blockfile. If @jesta pushes a blockfile, then only he can push it and there's no point for anyone else to.

I thought

Hey! Why not have a P2P tracker? Witnesses can collaborate on a tracker by setting one up and pushing blockfiles to the tracker.

This way

  1. All witnesses contribute to resources and bandwidth of sharing blockfiles
  2. Improves regional performance by bandwidth being more performant in the region of the downloader.

There are a number of P2P solutions that can be used, but then another idea came to me

Why not host tracker data on the steem blockchain? That is, turn steemit into a glorified P2P tracker? <insert expletive> Yeah!!!

Specifications

Protocol

This project will build on the Bittorrent P2P Network Protocol.

Tracker Items

The manifest and tracked files will be located in the steem blockchain and stored as steemit blog entries. That is, adding a file to the tracker is as simple as creating a blog post on steemit. Manifest and hash related information will be stored on the post in human-readable output for users to be able to use steemit as a searchable location for materials.

Tracker specific details will be stored in the json_metadata including manifest information.

Tools

  • Magnet URLs for torrent files will be available in posts
  • Command line tools for creating torrent files and posts on steemit will be available
  • Tools for converting steemit urls to torrent files will be available

DMCA and Copyright

Tracker abuse will be managed by the community as well as steemit condenser bad actor lists.

Steemit is not the Tracker

  • The tracker is the software being built.
  • It will store torrent data in steem blockchain transactions
  • The torrent is NOT stored in the steem blockchain (just torrent data)
  • Torrent files will be stored on the tracker (not affiliated with steemit)
  • The tracker is a private tracker available to steemit users only

Trackback Links

Sort:  

Good idea regarding backups of the blockfile. Surprised it was not already done: once you realize how easily it could be done.

inorite!?

Hi, thank you for sharing this idea with us. Unluckily, this is yet to be implemented and therefore we can't consider it in Utopian for rewarding.

The Github repository linked to the submission post must contain the project’s source code, a readme file with usage and install instructions and an appropriate open source license, or be directly connected to such a repository.

In other words, Utopian can support a project if there is at least basic implementation. If you start working on it, you may introduce not only the idea but the whole project.

You can find more instructions on what we expect and support as Utopian contributions at https://join.utopian.io/guidelines


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks. Indeed. Nothing there yet. I thought I would just promote it first. Maybe get an idea of what people's thoughts are before development. For gathering user stories. I figured #blog was my best bet. Sorry for the distraction.

Does #utopian-io have something for that? Is there a better place to ideas and flesh them out prior to #development? If not, maybe #utopian-io should have one? I bet the idea has probably already been mentioned.

No worries. The blog section is open to all projects, however, Utopian is willing to support existing ones. When you have some implementation, you are welcome in Utopian.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64678.67
ETH 3086.68
USDT 1.00
SBD 3.87