DRNS - Naming Schemes for Distributed
While I know that there might be many people who'd disagree with me, I think it is very important in a distributed storage space to have some sort of structured equivalent to DNS. My working title for this is DRNS (Distributed Rights Naming System). This could be non storage protocol specific, so it might work on both MojoNation and FreeNet. Here are some of the ideas I have as requirements:
- It should be able to be plugged in to various storage schemes.
- It should be usable through existing browsers. (You should be able to append the name to an Existing URL for an freenet 2 web gateway for example.)
- Names should be cryptographically unrevokable if wished. This is to avoid many of the disputes seen in the world of domain names right now.
- It should support anonymous ownership. Otherwise why would you be using Freenet in the first place.
- It should be hierarchical of nature, where each level of the hierarchy only controls issuance for the level directly below. Lets say that some one owned the /geovillages/ domain. They can control and set rules for issueing direct subdomains from their domain. But once they domain /geovillages/xxxsites/ domain had been issued by them, they can not control that domain or what goes on in that domain.
- On creation a domain can be set to be expireable. This expiration will be a set time or date and can not be changed once it's been created. When expired a domain can be reissued with a new expiration.
- Because of the hierarchical nature of the system. Given a document with a given name, you can verify that it and each parent domain above it is signed by the above domain.
One way to do this would be to use a hierarchy of PGP keys. Each domain would be described in a simple XML file, that was signed by the domain signer above.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
<drns> <domain> /neu </domain> <owner href="http://neudist.org"> 1B14 4ED3 4CE5 3338 0B91 4640 AB15 3180 761B 4BD4 </owner> </drns>
-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com>
iQA/AwUBOoJJh4BkJoqOarblEQLSJwCgx0MN2IHwplBZ+klV+yfoN3Oh2r8A mwaw wjGb9v7pIQfs9BMh9zxkhvPq =Hl06 -----END PGP SIGNATURE-----
This is the file that you get if you would get if you searched the underlying protocol for a file with the name "/neu". Any subdomains under "/neu" would consist of files similar to above, but signed by the key specified in the above owner tag.
The freenet of mojonation server would verify when a new document comes in, if it's allowed to be posted using the given name. Clients reading the file would also do a check for validity.
DRNS could be part of a layer of protocols to enable distributed, anonymous, p2p, commerce webs (how many more buzzwords can I put in here;). Higher level application specific protocols, could enable transactions and versioning ontop of this naming system and it's underlying storage protocols.