D. J. Bernstein
Notes on writing papers

Document IDs

When I write a new paper, I create a new ``document ID'' for that paper, and list the ID inside the paper:
Date: 2004.04.02. Permanent ID of this document: 46d904d0613f360904e88a85dcdaa52b.
When I update the paper, I change the date but leave the ID alone. The ID and date together identify a specific version of the paper.

When I cite a paper with a document ID, I list the paper's document ID in the bibliography entry:

[7] Daniel J. Bernstein. Sharper ABC-based bounds for congruent polynomials. Journal de Theorie des Nombres de Bordeaux, to appear. ISSN 1246-7405. Document ID: 1d9e079cee20138de8e119a99044baa3. URL: http://cr.yp.to/papers.html#abccong. Date: 2004.02.10.

The idea is that, even if the URL changes for some (probably bad) reason, you can still search the Internet for the words

Permanent ID of this document: 46d904d0613f360904e88a85dcdaa52b
and thus locate the document. You can also search the Internet for the ID by itself to locate the document and all documents that cite it.

This system breaks down if two documents are assigned the same ID. I choose fairly long random IDs, by typing

     head /dev/urandom | md5
on BSD or
     head /dev/urandom | md5sum
on Linux, to avoid accidental collisions.

This system also breaks down if the bibliography entries use the same phrase ``Permanent ID of this document.'' Using a different phrase gives readers the choice between (1) searching for the original document and (2) searching for documents that cite it.

This system also breaks down if the original document uses, e.g., a French translation of the phrase ``Permanent ID of this document,'' without the English version.

This system has no protection against malice. One solution is to limit the search to documents signed under the author's public key (which is, presumably, included in citations), but current search engines don't support this feature.