User:Elifarley/pds: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
No edit summary  | 
				No edit summary  | 
				||
| Line 1: | Line 1: | ||
{{Category=Wireless mesh networking}}  | {{Category=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.  | One of the design goals is to make it easy to share name resolution data.  | ||
==Design Goals==  | ==Design Goals==  | ||
*strong auth  | *strong auth  | ||
| Line 12: | Line 15: | ||
*integration with existing internet infrastructure (dns, browsers)  | *integration with existing internet infrastructure (dns, browsers)  | ||
*hard to take down  | *hard to take down  | ||
==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.  | |||
==Use Cases==  | ==Use Cases==  | ||
===single record===  | ===single record===  | ||
PDR - Peer domain record - can be pasted on twitter, discussion forums, web pages, emails  and so on  | PDR - Peer domain record - can be pasted on twitter, discussion forums, web pages, emails  and so on  | ||
| Line 31: | Line 41: | ||
*signer is optional  | *signer is optional  | ||
*  | *  | ||
===pdz file===  | ===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.  | 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.  | ||
Revision as of 01:31, 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
- strong auth
 - prevent name conflicts
 - easy to use
 - scalable
 - no single point of failure
 - integration with existing internet infrastructure (dns, browsers)
 - hard to take down
 
Implementation Ideas
- Create a DNS server in Python. See if http://www.dnspython.org/ can help.
 
Looks like this question on Python DNS Server will help.
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