Announcing Droplets
Mark S. Miller
markm@caplet.com
Mon, 27 Sep 1999 17:39:02 -0700
Very cool!! Congratulations Tyler!!!!
At 01:35 AM 9/27/99 , Tyler Close wrote:
>Droplets is a secure web based capability environment. I think it might be the
>world's first (Mark?).
As far as I know, it is indeed the world's first web based one. Not that I
know everything happening on the web ;)
>I've also provided Open Source implementations of Mark's ERTP and the e-gold
>Shopping Cart Interface (http://www.e-gold.com). This means that you can make
>applications that do secure transactions with real money.
Well, real gold. Just like it's important that Schwab not call themselves
a bank, let's be careful not to call gold money.
>Since ERTP supports
>secure anonymous transactions, Droplets might be the only currently deployed
>software that supports blind transactions.
I think I understand what Tyler means here, but let's be careful. Within
ERTP, someone can supply an Issuer that provides for blinded
transfer. When a client of ERTP performs a rights transfer
(Assay.transfer()), if the Assay is from such an Issuer, then the client
will cause the Assay to perform a blinded transfer. The same client, given
a non-blinding Assay, will perform a non-blinded transfer.
No one has yet written an ERTP Issuer that supports blinding. Therefore,
no rights transfers are blinded. However, when such Issuers are created,
Tyler's ERTP client code, without being changed, should be able to invoke
their transfer operation, which will be blinded in that case.
>For the Xanadu buffs in the crowd, Droplets also has built in support for
>transclusion.
Cool! I didn't know that was coming.
>I built Droplets with a few aims in mind. One of those aims was to create a
>precursor for full E. ...
>Most importantly, it allows programmers to deploy capability based solutions
>now.
I very much appreciate this, and think it's correct. However, I have to
quibble with an implication of the last sentence. As MarcS's echat and
edesk applications show, E is already up to allowing programmers to deploy
capability based solutions as well.
Btw, in enumerating the capability security issues E addresses but Droplets
don't, the most important is the issue of multiple TCBs vs shared trust in
a single TCB. E does the first & Droplets do the second. Both are valid
and valuable, it's just important to notice the difference. The most
important symptom of the difference is in the cryptographic encoding of a
capability. Droplets and E both use the swiss number technique. E also
has the VatID http://www.erights.org/elib/capability/ode/ode-protocol.html
specifically to deal with inter-Vat mutual suspicion -- not an issue with
Droplets.
>I hope that Droplets provides an easy way for programmers to get into the
>capabilities mindset, and that once there, they'll start demanding the
>full set
>of functionality that environments like E provide.
Likewise!
>As Mark has been occasionally hinting at, I've got a 100% Java implemented
>object database. It stores everything in a single file, does generational
>garbage collection and has support for very large, deterministic collections.
>It's used for persistence in the Droplets environment. It's possible that it
>could be used for persistence in E.
>
>That said, getting to full E is a lot more work than making Droplets from
>scratch was. It's a large codebase and it hasn't really been conceived with a
>persistence solution in mind.
Well, actually E was conceived of with persistence in mind, and actually
had it twice in its history. Once, orthogonally by me, a mistake, and once
state-bundle-based by Arturo. However, in terms of the work that still
needs to be done to get persistence back, E may as well not have been
conceived with persistence in mind.
>There are also some unresolved persistence issues
>with E. We have to come up with a way of identifying objects which should be
>persistent. Some thought also needs to be given to E's transactional paradigm.
>When can an E object be sure that a given state has become durable?
>
>I have some ideas for the above problems and would like to see how they fit in
>with the current E code, but this is likely more work than I am willing to do
>for free. A possible solution would be for me to develop a commercial E
>vat. The
>tl-E distribution would of course remain free. How much would people on this
>list pay for a full E vat?
Sorry, but E requires a persistence solution that's adequate, open-source,
and free. Without one, E will simply die. I have been hoping that you
would provide one, but if you don't, I'll do something else. This would be
a shame, as the one I'd expect to build instead would be merely adequate,
whereas your works points at something much better than adequate. If I
build my adequate open source solution and you build a high quality
proprietary solution, I sure hope they are compatible. Otherwise, we have
a disaster.
Btw, you and I have already privately talked about another form of
compensation. That offer is still on the table.
>We can kick around ideas for this, and I am going to spend a bit of time
>wandering around in the E code. In the meantime though, it would be great
>if you
>could all help spread the word about Droplets.
Indeed! I will modify the erights site accordingly.
>As a last word, I'd like to thank Mark for all the work he's done on E. A
>lot of
>the design expertise that I used in making Droplets is newly acquired
>expertise
>that I got from being exposed to E. Thanks Mark.
You're very welcome. I'm proud to see it inspire such wonderful
work. However, please remember that the ideas you are being inspired by,
the ideas embodied in E, are the result of contributions from a great many
people. I hope the attributions on the erights home page begins to spread
this gratitude around appropriately.
-----------------------------------------------------------
Due to a bug (possibly at my ISP, but probably in Eudora 4.2.0.58), on 9/15
I lost 18 email messages. If it's possible for you to check whether you
sent me something on that date, resending it would be great. Otherwise,
please excuse my non-responsiveness to email you may have sent around that
time. Sorry for the inconvenience, and thanks.
Cheers,
--MarkM