<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: [DevMUD] Re: Database module --> <!--X-From-R13: plaorNzhd.bet --> <!--X-Date: Tue, 22 Dec 1998 02:14:51 -0800 --> <!--X-Message-Id: XFMail.981222040450.cynbe#muq,org --> <!--X-Content-Type: text/plain --> <!--X-Reference: E0zsLFC-00078N-00#mail,kanga.nu --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] Re: [DevMUD] Re: Database module</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:cynbe#muq,org"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg01038.html">Previous</a> | <a href="msg01040.html">Next</a> ] Thread: [ <a href="msg01038.html">Previous</a> | <a href="msg01040.html">Next</a> ] Index: [ <A HREF="author.html#01039">Author</A> | <A HREF="#01039">Date</A> | <A HREF="thread.html#01039">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: [DevMUD] Re: Database module</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: [MUD-Dev] Re: [DevMUD] Re: Database module</LI> <LI><em>From</em>: <A HREF="mailto:cynbe#muq,org">cynbe#muq,org</A></LI> <LI><em>Date</em>: Tue, 22 Dec 1998 04:04:50 -0800 (PST)</LI> <LI><em>Cc</em>: <A HREF="mailto:devmud#kanga,nu">devmud#kanga,nu</A></LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> -----BEGIN PGP SIGNED MESSAGE----- On 22-Dec-98 J C Lawrence wrote: > Within very large values of "TRUE" there are no truly random number > generators. Yes, there are some, just not many (ie I'd wager not from > from 1,000 on the planet, total). (cf LavaRand at > <A HREF="http://lavarand.sgi.com/">http://lavarand.sgi.com/</A> -- I work with some of the guys that did > LavaRand BTW). > >> It is often practical to make this long enough to make collision >> probability effectively zero for the purposes at hand. > > Unfrotunately approximately zero is never quite the same as zero. But we live in a probabilitistic universe, no? There's some chance all the hydrogen in my body will fuse into helium a microsecond from now: Just requires some improbable but permitted quantum tunnelling. I don't lose sleep over it, 'cause the probability is effectively zero for all practical purposes. I see nothing wrong with probablistic hacks as long as the expected failure rate due to them is a small fraction of the overall expected failure rate of the system. > Ahem. Not quite true. They may have damned good PRNG's, very well > tested, graphed, measured, and expertly coded PRNG's with well > documented behaviours and caveats, but they are very definitely > Pseudo-RNG's. Perhaps we're using different definitions of PRNG here. PGP uses irregularities in human typing speed as a source of entropy. Whether that is "truly" random may depend on your philisophical stance on free will, the foundations of quantum mechanics &tc. But I think we can agree a practical exploit depending on the ability to predict such variations isn't a practical prospect this decade? Another approach I've seen keys off the fluctuations in rotational velocity of hard disk drives: I'm told that whereas head seek times are pretty deterministic, rotational flutter is dominated by turbulence around the disk head, which is an example of physical chaos. Again, you may subscribe to a physical model which makes such chaos "deterministic", but I think we can agree that practical exploits are a long way off. For Muq, I'm not making any great claims to analysis of phsical systems: I just XOR the microsecond-precise time of arrival of events like network packets and disk reads into an internal buffer on a continuing basis as the system runs. When I need some "truly random bits", I just SHA-1 hash the buffer and return it. That's not very formal (e.g., I don't meter the entropy in vs entropy out to ensure that the former exceeds the latter), but I'd be quite surprised if that turned out to be the biggest weakness in the muqnet distributed authentication and encryption layer. > > Why go for a PRN, especially when its a time bomb waiting to happen > that you can't predict, can't detect when it doesn happen, and can't > (usefully or elegantly) handle the effects of when it does blow up? > Yes, its bloody rare, I'm just not fond of that sort of thing, > especially when I have an alternative and a guaranteed correct one at > that (assuming system time is reliable (Kanga.Nu is NTP stratum 3 > right now, soon to be stratum 2 if I have my way)). Possibly in the specific case at hand, no reason at all! But I think it is clear that in general, randomness is a great help in distributed algorithms, primarily as a cheap way of discoordinating different branches of the effort without using a central mechanism which can be both a single point of failure and a performance bottleneck. E.g., without randomness, PGP would produce the same public keys for everyone, so we'd have to depend on a single central authority to issue all public/private keypairs, raising issues of trust and reliability and such. E.g., with your time_t approach on a multiprocessor machine, you'll need to keep a unique numbering of each thread in the system and combine that with the current time value, I think, in order to guarantee uniqueness? Which might start becoming a significant pain on a 512-node Beowulf cluster, say. But I'm sure you knew all that. (Or do you never use hash tables? :) Cynbe -----BEGIN PGP SIGNATURE----- Version: 2.6.3a Charset: noconv iQCVAwUBNn+K4j35srNZ3GptAQES6QP/U0rE0Y3qgFUpOXP1yMHUkdyJcsTmQQgc /0qgTZciJ3JvDaUwlm4+9aTsLnFOJLoalJ79X2L/YLMbxNja2zIq1IT7Ci+3j3XF XjhbJdiOQK1E0p6C0icPxPoTxx130AYdPpDmxd0Rr/WxCUevv2x2BZkrsjyqJEen V7d75UjnOLA= =tmhH -----END PGP SIGNATURE----- </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="01038" HREF="msg01038.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></STRONG> <UL><LI><EM>From:</EM> J C Lawrence <claw#kanga,nu></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg01038.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg01040.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg01038.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg01040.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#01039"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#01039"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><strong><A NAME="01045" HREF="msg01045.html">[MUD-Dev] [RRE]AAAI 1999 Fall Symposium: Narrative Intelligence</A></strong>, Bruce Mitchener, Jr. <a href="mailto:bruce#puremagic,com">bruce#puremagic,com</a>, Wed 23 Dec 1998, 00:47 GMT <LI><strong><A NAME="01036" HREF="msg01036.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Tue 22 Dec 1998, 04:30 GMT <UL> <LI><strong><A NAME="01037" HREF="msg01037.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, cynbe <a href="mailto:cynbe#muq,org">cynbe#muq,org</a>, Tue 22 Dec 1998, 05:32 GMT <UL> <LI><strong><A NAME="01038" HREF="msg01038.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, J C Lawrence <a href="mailto:claw#kanga,nu">claw#kanga,nu</a>, Tue 22 Dec 1998, 06:24 GMT <UL> <LI><strong><A NAME="01039" HREF="msg01039.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, cynbe <a href="mailto:cynbe#muq,org">cynbe#muq,org</a>, Tue 22 Dec 1998, 10:14 GMT </LI> </UL> </LI> <LI><strong><A NAME="01040" HREF="msg01040.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, Jay Carlson <a href="mailto:nop#mitre,org">nop#mitre,org</a>, Tue 22 Dec 1998, 15:02 GMT <UL> <LI><strong><A NAME="01042" HREF="msg01042.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, cynbe <a href="mailto:cynbe#muq,org">cynbe#muq,org</a>, Tue 22 Dec 1998, 20:12 GMT </LI> </UL> </LI> <LI><strong><A NAME="01041" HREF="msg01041.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, T. Alexander Popiel <a href="mailto:popiel#snugharbor,com">popiel#snugharbor,com</a>, Tue 22 Dec 1998, 16:32 GMT </LI> </UL> </LI> </UL> <UL> <li><Possible follow-up(s)><br> <LI><strong><A NAME="01044" HREF="msg01044.html">[MUD-Dev] Re: [DevMUD] Re: Database module</A></strong>, Felix A. Croes <a href="mailto:felix#dworkin,nl">felix#dworkin,nl</a>, Tue 22 Dec 1998, 21:42 GMT </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>