Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upIs WebRTC really decentralized? #302
Comments
This comment has been minimized.
This comment has been minimized.
|
Just like BitTorrent does webtorrent use "trackers" to route peers and you can specify multiple webtorrent trackers for each torrent. You can write a userscript using webtorrent and it would function normally, so it does not need to be hosted anywhere. Even if a bunch of people are browsing a site that uses webtorrent suddenly goes down, the peers are still able to communicate since they're already connected. And if the webtorrent tracker is hosted on another server than the actual website that went down, the peers would also still be able to announce to the tracker. |
This comment has been minimized.
This comment has been minimized.
|
I guess you're talking about the node.js version of webtorrent. My post was specifically regarding the WebRTC infrastructure which requires users to browse to a website in order to instantiate the WebRTC communication. This is the single point of failure required in the WebRTC world. |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
|
In addition to the excellent answers already provided, here are my own answers:
Yep, right now I'm running wss://tracker.webtorrent.io (this is what https://instant.io uses) but there's nothing stopping you from running your own tracker! This is the module:
Yeah, eventually I'd love to get a DHT working over WebRTC for trackerless torrents, just like normal BitTorrent has. Issue here: #288 PR welcome!
Yep, this would help get around the problem of the site serving the JS going down. You can try saving https://instant.io to your desktop and seeing if it works. Other options include:
|
If a webtorrent-enabled website goes down, the browsers will not be able to communicate with each other. This to me is a serious problem that needs to be taken in account for systems that are built to avoid a single point of failure.
In regular BitTorrent you at least have the possibility of announcing on multiple trackers. Is this a possibility for webtorrent? I guess once could simply go to another webtorrent-powered site and see whether their torrent is being served there, hoping that other peers have switched from the other site.
Are there any ideas for making this self-sufficiently decentralized? Can WebRTC work without going to a site? Perhaps there's a way to allow users to download the HTML version of the site and access other peers even if the site went down? Check this out https://github.com/cjb/serverless-webrtc/