For the purpose of internet-wide distributed system bootstrapping an easy and decentralized method is currently missing.
Currently, the problem is solved by using ad-hoc bootstrapping mechanisms; examples include connecting to an IRC channel (bitcoin), using a list of well-known hosts, connecting to a bootstrapping server (skype), manual or out-of-band bootstrapping (ed2k).
Until IPv6 any/multicasting is widely deployed, it should be possible to leverage the pervasivity of the web to attain the same effect. To do this, we propose a schema for in-band metadata.
Essentially, when we want to publish some information, we embed it into a fragment of the form:
fragment : header body
header : "__metafrag_" schema "_"
schema : [a-z]+
body : [a-zA-Z0-9]+
The following are examples of well-formed fragments:
The format is chosen to be simply recognizable, indexable and searchable using general-purpose search engines.
Example rendezvous schema
To advertise the availability of nodes for a P2P system called FooBar, we could decide to define a suitable FooBar rendezvous schema:
schema : "rvfoobar"
body : ip port?
ip : [0-9A-F](8) | [0-9A-F](32)
port : [0-9A-F](4)
The following are examples of well-formed FooBar rendezvous fragments:
To bootstrap, a node would simply perform a websearch for the string "__metafrag_rvfoobar_" (or even just for the string "metafrag rvfoobar") and then parse the returned results for occurences of well-formed FooBar rendezvous fragments.
It's obvious that such a system does not guarantee any form of built-in security. Data contained in the body might be malicious, tampered, in a wrong format or simply incorrect. It MUST be treated as such.