Dan Bricklin's Web Site: www.bricklin.com
The simplification of restricting a network to computers you know, trust, and control is one method of dealing with trust issues in sharing, though there are still problems.
Despite the fact that I point out many of the shortcomings of Peer-to-Peer networking as popularized by Napster ("Thoughts on Peer-to-Peer", and "The Cornucopia of the Commons: How to get volunteer labor"), I actually do believe very strongly that direct connections between personal machines on the Internet is a fertile and important area. Here are some of those thoughts:
The problems with Peer-to-Peer networking with respect to trust must be examined carefully. Gnutella's problems with spam as pointed out by CNet and others are just the tip of the iceberg. How do you distribute "fixes"? How do you know if you should trust the fixes without a centralized authority, and even with one?
In lots of discussions with Bob Frankston I've heard him point out the trust problems in networking and how little we understand about solving them. (He's been thinking hard about this for over 30 years. Read his prophetic MIT Masters Thesis from 1973 that's about markets, micropayments, and trust on shared systems like the Internet -- then called the ARPA Net.) Right now he feels the solutions involve eternal vigilance. These are not problems we know how to solve today, especially not in ways that scale. Bob feels that solutions are slowly evolving, but will take lots of work and trial and error.
A common but very flawed solution is to "rope off" large areas and keep others out. Firewalls are examples of this technique. This is like the Maginot Line in Europe that was supposed to keep out enemy troops. Heavy fortifications were built, all aiming outward. When the line was breached (by going around one end), the armaments couldn't be turned around to protect what was inside and the line became useless. Since breaches always are possible (there are always bugs in big systems as we see almost every day on the Internet security front), solutions must deal with them. Read Bob's "Firewalls: The New Maginot Line" essay from 1998.
In very small areas, though, the technique of knowing everybody and how much you can trust them, and being able to revoke access or change rules, may be a reasonable simplification. Like the use of centralized servers to make file sharing more manageable (and easier to implement, upgrade, etc.), explicit lists of network nodes you control in some way and will trust (and how much) can lead to useful systems without central control.
I'll call this small list of cooperating computers Friend-to-Friend networking (F2F).
Dan Gillmor points to Aimster, a variant of Gnutella that lets you only connect to people on your AOL Buddy list for sharing. This can be an example of that, though without the control to change other nodes' software. As Dan says, the use of a list of people you already decided you sort of trust "...looks pretty clever".
Using the Internet to communicate between specific computers that are known, such as with various Virtual Private Networks, is common. It's using the Internet to do what we used to use LANs for. I can see F2F networking becoming more common among the devices and computers I own, leading to communications that does not depend on some large company's -- or any other company's -- servers (other than for plain old IP connectivity if the communication is at a distance). That's why pure IP connectivity, without the bundling of centralized services, is so important. I see the easiest to control area one where they are all my devices, so that I can enforce policies and make changes to them all at will. It becomes an extension of one PC per person to multiple PCs per person.
We have to understand the limits of such systems, though. As Bob pointed out to me discussing this, you can't even always trust your friends, since once you let the list of friends grow too much and allow gateways to their lists, you need to trust their friends and their friends' friends, etc. Somewhere along the line there could be a breach. It brought to mind the fact that in the real world strangers are less likely to assault you than people you know. You also trust people for different types of judgment: You may trust your close relative with your life but not with choosing the fabric for your sofa. Therefore, the definition of a "friend" may need to be very narrow, depending upon what the sharing involves. Napster shares just MP3 files, which currently don't have viruses and where many people will tolerate varying quality, so the trust doesn't have to be too great. Sharing control of the locks to your house, your bank account records, or your healthcare equipment is a different matter.
-Dan Bricklin, August 11, 2000
I've added yet more about P2P: A Taxonomy of Computer Systems and Different Topologies: Standalone to P2P in June 2001.
© Copyright 1999-2010 by Daniel Bricklin
All Rights Reserved.