Vat Location Service, Meta Tracking, mutable namespaces (was: [E-Lang] A more critical question (was: an example impatience policy))

zooko@zooko.com zooko@zooko.com
Thu, 12 Apr 2001 13:52:12 -0700


[Cc: mojonation-devel and e-lang;  This is in response to this message
posted to the e-lang list:
http://www.eros-os.org/pipermail/e-lang/2001-March/004881.html
]


 Tyler wrote:
>
> Zooko wrote:
> > working "introducer" (which is called a "MetaTracker")
...
> This sounds like the VLS. I assume that the MetaTracker is what is
> documented at:
> 
> http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/~checkout~/evil/hackerdo
> cs/distributed_metatracking.html?cvsroot=mojonation
> 
> If so, then the "white pages" part of the MetaTracker is the VLS
> functionality. I think the "yellow pages" part of MetaTracker is best
> implemented in an application that gets layered on top of the base VLS
> service.

Yep.

> Based on my reading of the MetaTracker proposal, it is missing the key
> feature that makes VLS so scaleable, embedding the list of TCP/IP
> addresses of the VLS servers (MetaTrackers) to consult directly in the
> target URI. Reading the httpy:// thread (link above) should give you
> the rest of the context. I can probably fill in any holes.

Ah.  For Mojo Nation, that would be a nice, but not necessary, improvement.  In
Mojo Nation terms that would be including a (list of) Meta Tracker IDs in the
phonebook entry for a broker.  These IDs would identify the Meta Trackers that
the author of the phonebook entry considered to be good at knowing the current
address of the broker in question.

It seems like that feature could be added while making no (?) change to the
current Meta Tracker source code.  Conversely, it seems like the current Meta
Tracker could do VLS service, including that feature.


> > However what we, and everyone else, need is a distributed,
> > attack-resistant,
> > scalable mutable namespace, which seems like a difficult
> > problem and perhaps
> > not even feasible.
> 
> I think it is not only feasible, but has a quite simple and elegant
> solution. The communities.com people really did a good job on the VLS
> concept. I think a generalization of it could be the base building
> block that we all need. It sounds like Mojo has yet to fully implement
> a solution here, so now seems like a good time to merge designs.

I'm confused -- the first sentence seems to say that a distributed
attack-resistant scalable mutable namespace has a simple and elegant solution,
and the second sentence is about VLS.  Are you thinking of VLS as a distributed
mutable namespace?

I'm very skeptical that there is a simple solution to the problem that I am
envisioning, which has vague and probably self-contradictory desiderata like
"Good meta-data cannot be censored." and "Bad meta-data can be censored." in
it.

You can see my notes on transitive trust for attack-resistant distributed
meta-data on my web page[1], but they probably won't make much sense without
the accompanying patter.


Anyway, Mojo Nation has a good solution for white pages (== VLS) and yellow
pages service (although it needs to be made distributed, as per the
aforementioned plan [2]), and we need some kind of mutable namespace but 
I don't know exactly what I want.

However, I'd be happy to have access to a simple "String Lookup Service", which
makes for a nice simple mutable namespace.  All you need to do is fix your
webserver so that when I go to e.g.

http://waterken.com/lookup/tylershomepage

it gives me an HTTP 301 redirect to

http://localhost:4004/id/A0C9E8G7I6K5M4O3Q2S1U0W9U8A/

where `A0C9E8G7I6K5M4O3Q2S1U0W9U8A' is the SHA1 hash of the latest version of
your home page, which you've published on Mojo Nation.


That is the easiest way to have a mutable namespace so that the name
"waterken.com/lookup/tylershomepage" can be mapped to different immutable Mojo
Nation files at your discretion.


Regards,

Zooko

[1] An ill-organized page of zooko's stuff: 
    http://zooko.com/zooko_stuff.html

[2] "A Plan For Easy Distributed Meta-Tracking"
    http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/~checkout~/evil/hackerdocs/distributed_metatracking.html?cvsroot=mojonation