bittorrent-dht
ipfs-pubsub-room
Our great sponsors
bittorrent-dht | ipfs-pubsub-room | |
---|---|---|
3 | 1 | |
1,198 | 283 | |
0.5% | 0.0% | |
5.8 | 0.0 | |
15 days ago | about 1 year ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bittorrent-dht
- Theseus DHT Protocol
-
Static torrent website with peer-to-peer queries over BitTorrent on 2M records
I'm not talking about the consensus protocol of the blockchain itself, but of the p2p algorithms underlying it, e.g. using Kademlia for service discovery and message routing. I'm asking why a distributed system would choose something like Consul (which uses Raft, and requires a coordinator node) instead of running a decentralized protocol like Kademlia (which has no coordinator nodes) within their distributed single-tenant environment.
I did a bit more research last night, and discovered that Bitfinex actually does something like this internally (anyone know if this is up to date?) [0] — they built a service discovery mesh by storing arbitrary data on a DHT implementing BEP44 (using webtorrent/bittorrent-dht [1]).
This seems pretty cool to me, and IMO any modern distributed system should consider running decentralized protocols to benefit from their robustness properties. Deploying a node to a decentralized protocol requires no coordination or orchestration, aside from it simply joining the network. Scaling a service is as simple as joining a node to the network and announcing its availability of an implementation of that service.
At first glance, this looks like a competitive advantage, because it decouples the operational and maintenance costs of the network from the size of the network.
So I'm wondering if there is a consistent tradeoff in exchange for this robustness — are decentralized applications more complex to implement but simpler to operate? Is latency of decentralized protocols (e.g. average number of hops to lookup item in a DHT) untenably higher than that of distributed protocols (e.g. one hop once to get instructions from coordinator, then one hop to lookup item in distributed KV)? Does a central coordinator eliminate some kind of principle agent problem, resulting in e.g. a more balanced usage of the hashing keyspace?
Decentralization emerged because distributed solutions fail in untrusted environments — but this doesn't mean that decentralized solutions fail in trusted environments. So why not consider more decentralized protocols to scale internal systems?
[0] https://github.com/bitfinexcom/grenache
[1] https://github.com/webtorrent/bittorrent-dht
-
Decentralized in-browser torrent site
Yes the database is fixed. I would like to make it updateable using web2web or mutable torrents (BEP44) which the WebTorrent DHT supports.
ipfs-pubsub-room
-
Is it possible to actually host a server with a web application on IPFS?
Chat app through IPFS PubSub: https://github.com/ipfs-shipyard/ipfs-pubsub-room
What are some alternatives?
webtorrent - ⚡️ Streaming torrent client for the web
ipfs-chat - Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
bittorrent-tracker - 🌊 Simple, robust, BitTorrent tracker (client & server) implementation
ipfs-desktop - An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux.
torrent-paradise - Decentralized DHT search site for IPFS
foxql - WebRTC based, simple proof-of-work p2p ecosystem
webtorrent - ⚡️ Streaming torrent client for the web [Moved to: https://github.com/webtorrent/webtorrent]
nebulus - Virtual IPFS
webtorrent-desktop - ❤️ Streaming torrent app for Mac, Windows, and Linux
orbitdb - Peer-to-Peer Databases for the Decentralized Web
rats-search - BitTorrent P2P multi-platform search engine for Desktop and Web servers with integrated torrent client.
libtorrent4j - libtorrent for java, a swig Java interface for libtorrent