MUD anyone?

Jon Leonard jleonard at divcom.umop-ap.com
Sat Aug 31 03:35:17 PDT 1996


Tim May wrote:
>At 4:27 PM 8/30/96, Jon Leonard wrote:
>>Tim May wrote:

[difficulty of coding crypto, even for a MUD]

>>I don't think it's quite that hard, so I tried to implement asymetric key
>>cryptography:
>>
>>20 minutes, to write and debug:
>
>Well, cryptography (per se) is the most basic, and in some sense simplest,
>part of the whole thing: the "semantics" of crypto are well-understood
>(even if not to the snake oil salesmen and repeated inventors of one time
>pads).
>
>Consider that PGP was basically a realization (others existed, natch) of
>ideas that were almost 20 years old.
>
>Some much harder (to me) protocols: fair coin tosses, blinded coins,
>oblivious transfers, digital cash in all its many forms (and issues),
>DC-Nets, and so on. Sure, bits and pieces are codable--and have been--but a
>comprehensive package is tough to write. Wei Dai's and Matt Blaze's
>libraries are excellent, I hear, but are not targetted at creating these
>building blocks for crypto anarchy.

Thanks for the list of useful protocols to consider.  I'll wind up
getting the rest from Applied Cryptography and your Cyphernomicon if
I don't get any more input.

Some of these are fairly easy to fake, though.  Fair coin tosses, for
example:

Assume a perfectly trustworthy escrow agent.  (A bad assumption in
real life, but workable on a MUD, where it's the server.)
Tell the agent to wait until all parties have contributed a bit,
and then announce the XOR of the bits.  As long as an individual
has picked a bit randomly, and given it to the escrow agent securely,
the result is random.

That doesn't answer the questions of integration into a game, or how
make a crypto anarchy out of it.  I'll just have to try things and
see what works.

>Your code is admirable. I did the same thing in Mathematica, a few years
>ago when I was still interested in the innards of RSA. (It took me longer
>than 20 minutes to write, though...but I also got to play around with big
>primes, the basic number theory stuff, etc. A useful learning experience.)

My code doesn't do nearly as much as you seem to think it does.
All of its "security" relies on a mutually trusted interpreter, which
isn't a bad assumption on a MUD.  I'm cheating on the cryptography,
but I think I can get away with it for the purposes of a game.

And, of course, I didn't comment it, document it, or integrate it into
the rest of the game.

>But implementing more recent cryptographic building blocks seems more than
>an order of magnitude harder. (If you can implement a reasonably robust
>bank-digicash system in 10 x 20 minutes = 3.5 hours, I'll be impressed.
>Merely speccing what it should do and how it should behave in various
>situations would take far, far longer than this. Just my view. Maybe I'm
>wrong.)

Even if it's more than that much harder, it's still worth doing.  I'll
see how long it takes, but I'll try for robustness instead of coding
speed.

>>It is a big project, but the big part is writing the MUD, not adding the
>>crypto-anarchy stuff to it.  I'm writing a MUD anyway, and have been off
>>and on for over a year.  Mark Grant's message made me think about what it
>>would take to add the features I wasn't already planning on.
>
>Depends on what you mean by "crypto-anarchy stuff." As I see it, it means
>building a reasonably robust economic system, a market or agora with
>various transaction mechanisms built in. Sort of a cross between "SimCity"
>and Vinge's "True Names."

"True Names" is a better fit than SimCity for what I'm imagining.  In
the absence of any better ideas, it'll borrow a lot from LPmud too.

I've considered a game-run anonymous market, with bid and asked prices
akin to the stock market equivalents.  Characters would have the money
(or whatever) unavailable until the bid or ask was withdrawn, and clearing
would be automatic in case of a match.

It's more appealing if the market is magically provided by a wizard of
some reputation, but game-run is simpler to start with.

>--Tim May

Jon Leonard






More information about the cypherpunks-legacy mailing list