Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Possible solutions for 100% server-less(decentralized) peer discovery? [closed]

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?

like image 762
Jee Seok Yoon Avatar asked Jan 29 '14 13:01

Jee Seok Yoon


People also ask

Why do peer-to-peer networks perform better than client–server systems?

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 ).

Can peer-to-peer networks be used for cybercrimes?

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.

What is peer-to-peer (P2P)?

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.

What is the client server model of peer to peer sharing?

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.


Video Answer


1 Answers

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.

like image 132
deefactorial Avatar answered Sep 22 '22 07:09

deefactorial