We've just made it through some rough seas at the office: the past week was one of countless computer crashes and persistent network failures. Tempers got short, both among wanna-be-users and frantic engineers. Nobody quite knows why things broke down. Our systems have become too complex for anybody to comprehend; interactions among sub-components trigger unanticipatable problems.
But there's a bright side. Our (all too commonplace) experience has convinced me that the scary picture painted by Bill Joy (in his recent Wired magazine article) is far, far less realistic than the author may think. Gray goo from replicants run amok --- the nightmare nanotech scenario --- presupposes near-perfect software. Not likely, mate!
Any contrivance that can copy itself has to be complicated. Yes, it's easy to clone if one's surroundings are ready-made to provide reliable duplicating machinery. That's how viruses work, by hijacking a cell's well-tuned biochemistry. Massive complexity is there, hidden outside the replicator. A nanotechnological mechanism, on the other hand, has to do all the dirty work itself. And its job is far trickier in a heterogeneous, diverse environment (like the real world) than inside a laboratory testtube or a computer simulation. Energy is tough to get and competition for resources is fierce. No free lunch, in other words.
How probable is it that a human-designed system, millions or billions of times more intricate than the largest computer programs yet built, will successfully take over the world? How likely is it to be bug-free in all the most vital routines? How plausible is it to imagine that it can adapt to the incredible range of conditions it will encounter within a journey of only a few meters on the surface of this planet?
We're safe, for quite a long time to come. Destruction on a global scale isn't as trivial as one might fear. The complexity required for self-reproduction is our safety net. The large-scale risks, if any, come from rapid evolution of mechanisms that can improve themselves. But to get to a jumping-off point will take a lot of hard work and brute cleverness, not just technological fantasy-weaving. Somebody's gotta write the software, the critical code --- or more precisely, write the code to write the code to write the code to ....
Saturday, April 15, 2000 at 08:04:14 (EDT) = Datetag20000415