Monday, August 10, 2015

Let's coding mainline dht with dartlang (1)

My English skill is poor. If I make mistakes in my English,please pardon me.

I will make description and implementation about Mainline DHT. 

Mainline DHT can search peer without tracker server

  • It is not necessary to use tracker server
  • The concept of six degrees of separation
  • Define the distance for building a p2p

Can build p2p network without tracker server

  Torrent client had to use tracker server to find peer in bep003. but, The Mainline DHT realized the role of this tracker server on p2p network only.
   We needed to prepare tracker server on the world wide web. but, DHT changed this scenario. We could share data to use only p2p network by DHT.

Use the concept of six degrees of separation

 How can we create p2p network that is substitute for tracker server?
Concretely speaking,  we must to realize  p2p network that return response has special peer list when receive InfoHash.

- It is realized to repeat request for introducing well informed person.

Do you know about "The concept of use six degrees of separation"?  I think that DHT has same concept.

 The theory that everyone and everything is six or fewer steps away, by way of introduction, from any other person in the world, so that a chain of "a friend of a friend" statements can be made to connect any two people in a maximum of six steps.(https://en.wikipedia.org/wiki/Six_degrees_of_separation)

We can send message into some person to repeat request about well informed person.

- p2p network use same rule.

p2p network use the same rule too. repeat to request messae.

  • if a peer has peers for the InfoHash, return peer information
  • if a peer don't has peer for the InfoHash, return closet peer information to InfoHash.


Must to define distance

 A little more specifically, We must to think about how to find closed peer in peers. We can solve this problem to define distance for a peer and InfoHash.   If we can define distance,  We can find close peer to calculates distance in peers.


Must to create biased information on p2p network

And we must to bias stocked peers  to realize the six degrees of separation.

There is bias about  our list of acquaintance.  We are well-known about our family, our colleague and our friends of same club. but We are not well-known about person of another company, and person of another country.

If this p2p network don't have bias like this. It is not possible to find peer even if introduce clost peers at infohash.

 A peer must to be well-known about close peer.  and peer must to be not well-known about distant peer.

-------
Kyorohiro work

http://kyorohiro.strikingly.com

No comments:

Post a Comment