I've been thinking of how an actual 100% server-less system would work. In specific, I am interested in peer discovery. It seems like this is the only part that is holding current decentralized systems to actually be decentralized.
To my knowledge, there are no 100% server-less system. For example, even torrents need to connect to centralized networks like trackers or DHT routers(router.bittorrent.com) to discover its peers.
First thought I've came up with is internet wide broadcasting. Simply put,
However, this is probably very inefficient(255*255*255*255 * 64 bytes = 270GB/beacon) and not supported. For now, this is the only solution that I could think of. And after searching for hours, the only solution is "just use partly centralized server".
Is there any solutions(even theoretical) for 100% server-less peer discovery?
This means that unlike client–server systems, the content-serving capacity of peer-to-peer networks can actually increase as more users begin to access the content (especially with protocols such as Bittorrent that require users to share, refer a performance measurement study ).
Perpetrators of live streaming sexual abuse and other cybercrimes have used peer-to-peer platforms to carry out activities with anonymity. Although peer-to-peer networks can be used for legitimate purposes, rights holders have targeted peer-to-peer over the involvement with sharing copyrighted material.
A peer-to-peer (P2P) network is a type of decentralized and distributed network architecture in which individual nodes in the network (called “peers”) act as both suppliers and consumers of resources, in contrast to the centralized client-server model where client nodes request access to resources provided by central servers.
The client–server model provides financial barriers-to-entry to small publishers and individuals, and can be less efficient for sharing large files. As a reaction to this bandwidth throttling, several P2P applications started implementing protocol obfuscation, such as the BitTorrent protocol encryption.
In 2008 XMPP developed a standard to support serverless peer service discovery
http://www.xmpp.org/extensions/xep-0174.html
Unfortunately I only found one instance where this was implemented.
https://igniterealtime.org/issues/browse/SMACK-262
It was not committed to the code base because it was blocked by a dependency. There have been attempts to recompile it with newer versions. https://github.com/jadahl/smack-linklocal this might be one but cannot verify if it works.
How the peer discovery works is by using an mDNS with DNS-SD,
Read the XEP-0174 spec on how it works for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With