ipfs-pubsub-room
bittorrent-dht
ipfs-pubsub-room | bittorrent-dht | |
---|---|---|
1 | 3 | |
283 | 1,199 | |
0.0% | 0.3% | |
0.0 | 5.8 | |
about 1 year ago | 22 days 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.
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
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.
What are some alternatives?
ipfs-chat - Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
webtorrent - ⚡️ Streaming torrent client for the web
ipfs-desktop - An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux.
bittorrent-tracker - 🌊 Simple, robust, BitTorrent tracker (client & server) implementation
foxql - WebRTC based, simple proof-of-work p2p ecosystem
torrent-paradise - Decentralized DHT search site for IPFS
nebulus - Virtual IPFS
webtorrent - ⚡️ Streaming torrent client for the web [Moved to: https://github.com/webtorrent/webtorrent]
orbitdb - Peer-to-Peer Databases for the Decentralized Web
webtorrent-desktop - ❤️ Streaming torrent app for Mac, Windows, and Linux
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