Q: I'd like to talk about the domain-name system for a second, since you mention it, because one implication of not being able to identify which machine stores a piece of data is that the whole notion of attaching one name to one machine - you're calling that into question. The whole question of fighting over domain names seems to me to go away.
A: Well, it is an interesting question. I mean certainly one of the initial applications for Freenet that occurred to me was as a way to replace the domain-name system, because Freenet can attach a piece of information to an identifier. So the identifier might be the name of the computer and the piece of information might be the computer's IP address. So one of the opportunities will be for Freenet to replace this mechanism.
Of course, the problem that you then encounter is that whereas it costs some money to register a domain name with the domain-name system, in Freenet it would be free, and that would create the problem of people just taking apart dictionaries and registering them so you could end up with a much more extreme version of what people currently call "domain hogging" or "cybersquatting." There have been proposals for how to address that: there's an idea called "hash cache" where prior to inserting something into the system you're forced to perform this extremely time-consuming calculation, which is one option. The problem, of course, with hash cache is that it discriminates against people with less powerful computers. Another option which we've been pondering is an idea called "think cache" where it actually requires that a person do some thinking prior to ...
Q: ... Not that! ...
A: ... Um? ...
Q: ... Not thinking, for God's sake ...
A: ... Yeah, that would obviously discriminate against stupid people, but that might not be such a bad idea, but these are the kind of problems where you have an anonymous system. But aside from that, it's probably a much more effective solution because it's much more efficient and it doesn't rely on this somewhat shaky hierarchy of domain-name servers that the Internet relies on, which periodically breaks down.
Q: Right. If you're looking at the Third World as a world of machines that go down rather frequently and connectivity that isn't always up, the Freenet system might be a way to maintain availability.
A: Well, never mind the Third World. You've just described the First World. The reliability of the Internet even now, even in well-developed countries, still leaves a lot to be desired.
Q: It also seems to me to address certain economies of, well, I was going to say economies of scale, but really scale can be thought of economically inefficient. Being a very large information provider means you have to have these giant server farms and redundant connectivity solutions. It becomes very expensive, I think, to be a Yahoo and have to own all of the redundancy.
A: Well, what we saw in terms of Network Solutions with the domain-name system was that if you create this reliance on centralized servers, you basically create these artificial monopolies, which seem destined to abuse those monopolies, and people who need to rely on them generally end up getting a bad deal. So there are a number of reasons, both economically and practically, and also technical efficiency reasons why you should really avoid centralized servers if it's possible. The problem to date has been that not having centralized servers is actually quite a difficult problem to solve in computer science, and I think that Freenet is probably one of the first examples of a piece of software that is designed to address the issue head-on and provide a scalable solution.
Q: Can the issue of anonymity be divorced from the architecture of Freenet?
A: I think to a degree it can. I mean Freenet, the current Freenet architecture, is quite amenable if you want to create an anonymous publication system, which was our intention with Freenet, but anonymity is not an inherent part of the architecture.
Q: So as you look into the future, you indicated that we're quite early into the development of decentralized networks. As you look out a couple of years, do you see a lot of substantial prospect of success for a different kind of Internet, a decentralized Internet?
A: I believe that it's really inevitable, even if you look at the past as opposed to looking at the future. If you look at the intentions of the original Arpanet, it was to create a decentralized system. The idea being that if there was a nuclear war, the only two things to survive would be cockroaches and the Internet, but what has happened since then is that due to the conceptual problem and the difficulties in designing completely decentralized systems, centralization such as the domain-name system has kind of been bolted on top of the Internet and the Internet has really grown into this really hierarchical architecture. So I think that really Freenet in some ways is the realization of the original creators of the Internet.
Q: Could the Freenet architecture be adopted by other software applications?
A: Well, I think that the Freenet architecture - architectures based on the same principles as Freenet - have very significant benefits to anyone who cares to adopt them. The first one being the improved reliability you get from not relying on a server, because it means you're got no single point of failure. The second real benefit is the scalability.
Current information sharing systems really do have scalability issues. If you take Napster and forget about all of the copyright arguments and just look at it from an architectural point of view, it has quite serious scalability problems, and then it's got this huge number of users and they all rely on a central server, and a time comes when you've bought the most expensive server you can and it's simply not big enough. So what Napster had to do is get multiple servers and split them up, and now people who happen to be attached to one server cannot communicate with people attached to another server. So I think that really reliability and scalability are the two core benefits that Freenet-style architectures could bring to existing systems.
Q: Is searching possible on Freenet?
A: Well, it depends on precisely what you mean by searching. The way Freenet works at the moment, it's a little bit like a file system. If you have a file name you can retrieve the information that was stored - except to consider a file name, we use keys. In terms of doing a fuzzy search, that's as yet still not possible with Freenet.
However, what is possible is the creation of Yahoo-style directories of information that is stored in the system, but fuzzy searching is one of the major things that we plan to implement in the near future, and we're confident that the Freenet architecture is in fact very well-suited to that. The way that Freenet organizes information, Freenet groups together similar information, and what happens because of that is you get this kind of collaborative filtering effect, and so you actually get that as an added bonus of any fuzzy-searching system that makes use of Freenet. So Freenet doesn't yet do fuzzy searching, but it will have the potential to it in the near future.
Q: Does fuzzy searching compromise anonymity?
A: No, not really. The only thing that you lose is, at the moment, if there's a piece of information stored on your computer by Freenet, there's no way to tell what it is because of the way that it's encrypted. With searching information, it will not be encrypted in the same way. So it will actually be able to tell what pieces of searching information are stored on your computer. But that's not really that serious an issue, given that the searching information is very widely distributed and the fact that searching information as stored on your computer does not indicate that the information itself is stored on your computer.
Q: What do you think about attaching metadata descriptions to the content and doing searches on the metadata rather than the actual ...
A: Well, that's exactly what we do, or that's exactly what we're planning, that each piece of content would actually be described in terms of metadata and you would search on the basis of metadata.
Q: Did you attend the Intel P2P Working Group?
A: I attended a small part of it. I was lucky enough to see Tim O'Reilly's little speech at that.
Q: I just wonder what the need for standards is at this time.
A: Well, trying to come up with standards for something like peer-to-peer is a little bit like trying to decide what color you should be painting your house before you've even started to build it.
Q: ... A bit premature ...
A: Not just a bit, I think it's very premature. Nobody agrees on what peer-to-peer is yet. You can't come up with standards with something until it's very well-defined and people are very confident they know what it is. And right now, peer-to-peer encompasses everything from Freenet, which is really distributed information distribution, to stuff like SETI@Home, which is distributed processing. And it's very difficult to see where the common ground is between those two things, which will be useful for defining a standard.
Return to the P2P DevCenter.