User:Elifarley/pds

From Open Source Ecology
Jump to navigation Jump to search

Main > Software > Wireless mesh networking


Peer Domain System is a decentralized name resolution system which provides strong authentication and prevents name conflicts.

Introduction

One of the design goals is to make it easy to share name resolution data.

Design Goals

Implementation Ideas

  • Create a DNS server in Python.
  • PDS client home folder:
    • pdz folder
    • pdr folder
  • PDS client searches for peer domain data on the pdz and pdr folders. If no file matching the name being looked up is found, the pds client initiates multiple searches (on bittorrent, kademlia, twitter, google, etc) and creates a pdz file for each result found.

Standard Syntax

name#scope@signer

Examples:

  • 3 levels (name#scope@signer)
    • openfarmtech#20110310@elifarley
  • 2 levels (name#scope):
    • openfarmtech#20110310
  • 1 level (name):
    • openfarmtech

==DNS-style syntax

Examples:

  • openfarmtech.p2p

Use Cases

single record

PDR - Peer domain record - can be pasted on twitter, discussion forums, web pages, emails and so on

#pdr domain scope record-type value expiry-date signer digest

  • #pdr magic string
  • domain is the name to be resolved
  • scope helps prevent name conflicts
  • record-type can be a, aaaa, cname
  • value can be an ip, standard dns name, other pds name

examples:

#pdr openfarmtech 20110311 c openfarmtech.org 0 elifarley 2afqgwk6

  • expiry is optional
  • signer is optional

pdz file

a .pdz file has all records of a given domain. A pds client retrieves the file using a dht like kademlia, bittorrent or other p2p apps. Users can also save such files in a specific folder called pdz, which should be shared with everyone.

name#scope@signer.pdz

See Also