85 |
and increase availability. However, if the Web worked like |
and increase availability. However, if the Web worked like |
86 |
a file-sharing system, Web pages could never be updated. |
a file-sharing system, Web pages could never be updated. |
87 |
|
|
88 |
|
While many file-sharing systems provide URIs |
89 |
|
for particular versions of a file, using cryptographic hashes |
90 |
|
(e.g., [XXXrefs]), these files cannot be updated; |
91 |
|
a new version would have a different hash, and thus |
92 |
|
a different URI. In file-sharing systems, updating |
93 |
|
would be useful for media files like the e-books |
94 |
|
distributed by Project Gutenberg [XXXref], which |
95 |
|
are occasionally updated to fix typographic errors. |
96 |
|
|
97 |
XXX |
XXX |
98 |
|
|
99 |
.. Standing on the shoulders of giants: Example of Web links rotting away |
.. Standing on the shoulders of giants: Example of Web links rotting away |
142 |
|
|
143 |
History of location-dependence: `TBL ref`_ (like in HT'03 paper) |
History of location-dependence: `TBL ref`_ (like in HT'03 paper) |
144 |
|
|
145 |
This can be accomplished by replacing URIs that include |
.. <<<This can be accomplished by replacing URIs that include |
146 |
a server name by URIs that are |
a server name by URIs that are |
147 |
|
|
148 |
- location-independent: do not refer to a particular server |
- location-independent: do not refer to a particular server |
149 |
that the file is to be downloaded from; |
that the file is to be downloaded from; |
150 |
- semantic-free: don't include human-readable information; |
- semantic-free: don't include human-readable information; |
151 |
if an identifier is semantic-free, there is no incentive |
if an identifier is semantic-free, there is no incentive |
152 |
to change it when a site is re-designed; |
to change it when a site is re-designed; |
153 |
- self-verifying: after downloading an alleged copy of a document, |
- self-verifying: after downloading an alleged copy of a document, |
154 |
there is a cryptographical algorithm to test whether |
there is a cryptographical algorithm to test whether |
155 |
this is *really* a copy of this document. |
this is *really* a copy of this document.>>> |
156 |
|
|
157 |
The most prominent example are cryptographic hashes. |
.. <<<In 1996, Tim Berners-Lee [name-myth]_ argued that |
158 |
A file identified by a cryptographic hash |
using location-independent, semantic-free identifiers |
159 |
can be downloaded from any server that has a copy; the client |
is not viable on a global scale: |
160 |
can then check the integrity of the file by checking it against the hash. |
"[I]f you put information in a name, it decreases its longevity; |
161 |
|
if you don't you can't dereference it to a resource.">>> |
162 |
.. <<<Self-verifying means that given the identifier and a file, |
|
163 |
a client can check that the file matches the identifier.>>> |
.. <<<However, as observed in [fallenstein03storm]_, |
164 |
|
with the advent of efficient peer-to-peer lookup mechanisms such as |
165 |
.. <<<(If the hashes do not match, the client can try a different server.) |
distributed hashtables (DHTs), this observation |
166 |
This way, a page's URI never needs to change.>>> |
is no longer true. A DHT is quite able to resolve a |
167 |
|
hash-based identifier on a global scale, |
168 |
In 1996, Tim Berners-Lee [name-myth]_ argued that |
as evidenced by applications like the Cooperative |
169 |
using location-independent, semantic-free identifiers |
File System (CFS, [dabek01widearea]_) and |
170 |
is not viable on a global scale: |
the Overnet file sharing client [overneturl]_.>>> |
|
"[I]f you put information in a name, it decreases its longevity; |
|
|
if you don't you can't dereference it to a resource." |
|
|
|
|
|
However, as observed in [fallenstein03storm]_, |
|
|
with the advent of efficient peer-to-peer lookup mechanisms such as |
|
|
distributed hashtables (DHTs), this observation |
|
|
is no longer true. A DHT is quite able to resolve a |
|
|
hash-based identifier on a global scale, |
|
|
as evidenced by applications like the Cooperative |
|
|
File System (CFS, [dabek01widearea]_) and |
|
|
the Overnet file sharing client [overneturl]_. |
|
171 |
|
|
172 |
.. SFR (semantic-free referencing) not all that close, |
.. SFR (semantic-free referencing) not all that close, |
173 |
though semantic-free idea shared (SFR takes along |
though semantic-free idea shared (SFR takes along |
186 |
|
|
187 |
.. Proposal: A location-independent Web <<<(closest thing is Freenet (ref))>>> |
.. Proposal: A location-independent Web <<<(closest thing is Freenet (ref))>>> |
188 |
|
|
|
We propose, then, to build a location-independent Web |
|
|
based on self-verifying identifiers. |
|
|
|
|
189 |
.. <<<The project that is currently closest to this goal is Freenet, |
.. <<<The project that is currently closest to this goal is Freenet, |
190 |
a XXX>>> |
a XXX>>> |
191 |
|
|
198 |
- Verifiable |
- Verifiable |
199 |
- Same namespace for local and for non-local data |
- Same namespace for local and for non-local data |
200 |
|
|
|
Using hash-based addressing in such a scheme has several benefits: |
|
|
|
|
|
- Pages can be moved between servers without breaking links. |
|
|
- Links continue to work as long as *anybody* keeps a copy |
|
|
of their targets, even if the original publisher does not |
|
|
maintain the Web page any longer. |
|
|
- Downloaded files can keep their global identifiers. |
|
|
Links between two downloaded Web pages automatically work. |
|
|
- It is possible to implement load-balancing schemes in which |
|
|
a user downloads a page from anybody who happens to have a copy. |
|
|
- Different networks can be used to download a file. XXX |
|
|
|
|
201 |
.. <<<Other projects exploit some of the advantages of hash-based |
.. <<<Other projects exploit some of the advantages of hash-based |
202 |
(storage systems: CFS, PAST; web caching: Squirrel), |
(storage systems: CFS, PAST; web caching: Squirrel), |
203 |
but don't address the Web.>>> |
but don't address the Web.>>> |
214 |
.. However, there's a problem with this: versioning ----- |
.. However, there's a problem with this: versioning ----- |
215 |
Basic problem: Hash-based addressing allows no updates |
Basic problem: Hash-based addressing allows no updates |
216 |
|
|
|
However, a document refered to by a cryptographic hash |
|
|
can obviously not be changed (without making it a different document, |
|
|
refered to by a different hash). For most Web pages, this is not |
|
|
acceptable [#academic-articles-hashlinking]_. In this paper, |
|
|
we examine solutions to this problem that keep the desirable properties |
|
|
of hash-based addressing. |
|
|
|
|
217 |
.. Contributions; structure of this paper ---- |
.. Contributions; structure of this paper ---- |
218 |
|
|
219 |
.. Main contrib: Pointer records for implementing updating |
.. Main contrib: Pointer records for implementing updating |
590 |
.. [#rtg-links] ``http://www.seds.org/spaceviews/cassini/rtgpages.html``. |
.. [#rtg-links] ``http://www.seds.org/spaceviews/cassini/rtgpages.html``. |
591 |
All links dereferenced on October 27th, 2003. |
All links dereferenced on October 27th, 2003. |
592 |
|
|
593 |
.. [#academic-articles-hashlinking] A notable exception |
.. .. [#academic-articles-hashlinking] A notable exception |
594 |
may be academic articles, in which references to other articles |
may be academic articles, in which references to other articles |
595 |
are ideally to an immutable version, and in which references |
are ideally to an immutable version, and in which references |
596 |
are generally not circular, making this domain map neatly |
are generally not circular, making this domain map neatly |
597 |
to the properties of hash-based referencing. |
to the properties of hash-based referencing. |
598 |
XXX Except for "in press", "unpublished manuscripts", ... |
XXX Except for "in press", "unpublished manuscripts", ... |
599 |
|
|
600 |
|
|
601 |
|
|