Question

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,

  1. A client broadcasts its identification(such as IP address) beacon to the world
  2. Another client receives that beacon
  3. The both clients are connected to each other.
  4. If more clients are connected, they form a tight web.

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?

Was it helpful?

Solution 2

enter image description here

There are some attempts to do this, most of them uses similar ideas, The main idea is to use something like blockchain to have a decentralize record of all trackers, nodes, indexes …etc.

Even some private data could be stored cryptographically hashed in chunks in a decentralized way.

Some good attempts :

  1. IPFS which is a peer-to-peer hypermedia protocol. example: Torrent Paradise utilizes this technology
  2. Magnetico which is an Autonomous (self-hosted) BitTorrent DHT search engine suite. allows anyone with a decent Internet connection to access the vast amount of torrents waiting to be discovered within the BitTorrent DHT space, without relying on any central entity. liberates BitTorrent from the yoke of centralized trackers & web-sites and makes it truly decentralized.
  3. Zeronet, which is an Open, free and uncensorable websites, using Bitcoin cryptography and BitTorrent network.

In my Opinion IPFS is the best contender.

OTHER TIPS

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.

Is there any solutions(even theoretical) for 100% server-less peer discovery?

not sure about that:

But Adapting Client/Server Messaging Protocols into Peer-to-Peer Serverless Environments really a good assignment for schools.

GUMP Client/server messaging protocols in serverless environments

Journal of Network and Computer Applications

An agent based approach to discovery and formation of the serverless core network

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top