autonomous agents
A canonical way to do implement things like remailers, eternity servers etc. is to build a distributed computation system to allow autonomous agents to be distributed across the internet. Create a market for CPU resources, bandwidth and disk-space so that the agent can pay it's way. Charge per CPU/hour, Mbit comms at given data rates and Mbyte/year storage, base it on Java as a portable network based language with code distribution support. Then let people fire off what ever they like, so long as they are paying. In this environment an eternity variant, or remailers, or anything else becomes a collection of autonomous agents which must fund their own distribution. The autonomous agents could send back profits to their creators, or use the profits to self propagate. Someone who thought up a good application, and got the economics right for their bot's buy and sell algorithms might become rich, even. I had considered that a generic perl execution system charging for resources would be useful for remailers a few years back. Java seems pretty good for this purpose also, being another portable network aware language.
From what Ryan has said his design uses markets for resources also.
The question is though would you let a bot of this sort loose on your system? For agents to be able to achieve anything useful, the Java sandbox model has to be relaxed to allow the agent to make network connections to other than the machine the code was served from. Java has support for this in that signed applications are allowed to make external network connections. The problem is the flexibility would allow an autonomous agent to pay it's way in say breaking into a series of machines, and sending back obtained documents via remailer to the operator. A well funded attacker could cause lots of problems for operators. However the system as a whole is nice for our `creating lawful excuses' drive, because there are many applications which could make good use of the distributed computation system: filmatic quality image rendering computations, scientific computations, code breaking efforts, distributed web server applications. The liability questions are interesting also. If the participant in the CPU resource market is not expected to be able to vet all source code he runs, this gives the would be eternity operator a chance to distribute his risk. If the system becomes widely used, this helps protect it from attack. Adam
At 11:25 AM -0800 1/12/98, Adam Back wrote:
For agents to be able to achieve anything useful, the Java sandbox model has to be relaxed to allow the agent to make network connections to other than the machine the code was served from. Java has support for this in that signed applications are allowed to make external network connections.
The Java security model proposed for version 1.2 (now in some form of beta) supports this kind of distinction. ------------------------------------------------------------------------- Bill Frantz | One party wants to control | Periwinkle -- Consulting (408)356-8506 | what you do in the bedroom,| 16345 Englewood Ave. frantz@netcom.com | the other in the boardroom.| Los Gatos, CA 95032, USA
participants (2)
-
Adam Back
-
Bill Frantz