User:Elifarley/pds: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
No edit summary
Line 15: Line 15:
*scalable
*scalable
*integration with existing internet infrastructure (dns, browsers, bit torrent, twitter, dot p2p)
*integration with existing internet infrastructure (dns, browsers, bit torrent, twitter, dot p2p)
==Implementation Ideas==
* Create a DNS server in Python.
** See if http://www.dnspython.org/ can help.
** Looks like this question on [http://stackoverflow.com/questions/4399512/python-dns-server-with-custom-backend Python DNS Server] will help.
** [http://wiki.powerdns.com/trac PowerDNS ] using a python app as a [http://doc.powerdns.com/backends-detail.html#PIPEBACKEND Pipe backend]
** Search [http://www.google.com.br/search?q=dns+server+python Google]
* 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==
==Standard Syntax==
Line 39: Line 27:
** openfarmtech
** openfarmtech


==DNS-style syntax
==DNS-style syntax==
'''name.p2p'''


Examples:
Examples:
* openfarmtech.p2p
* openfarmtech.p2p
==Implementation Ideas==
* Create a DNS server in Python.
** See if http://www.dnspython.org/ can help.
** Looks like this question on [http://stackoverflow.com/questions/4399512/python-dns-server-with-custom-backend Python DNS Server] will help.
** [http://wiki.powerdns.com/trac PowerDNS ] using a python app as a [http://doc.powerdns.com/backends-detail.html#PIPEBACKEND Pipe backend]
** Search [http://www.google.com.br/search?q=dns+server+python Google]
* 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.


==Use Cases==
==Use Cases==

Revision as of 03:00, 14 March 2011

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

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

name.p2p

Examples:

  • openfarmtech.p2p

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.

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