Not sure what is meant by a drop in replacement in this context.
Normally I would think a drop in replacement would mean I could switch to it and do everything the same as I was doing it. But my guess is that if I did this drop in replacement that little to none of the web activities I partake in would work anymore. So maybe my thoughts aren't quite what is meant.
It's a drop in replacement for everything north of the user's web browser - so it's drop-in from the perspective of the user, but centralized services need to be recreated for it. We're already working on a decentralized messaging system as a proof of concept, others will follow.
From my perspective as a user, if after doing the drop in replacement, I can't use my bank's web site or browse Hacker News the same way, or watch TV on Hulu, it's not a drop in replacement because what I did before no longer works. It's not clear to me if this is the case with Freenet.
> From my perspective as a user, if after doing the drop in replacement, I can't use my bank's web site or browse Hacker News the same way, or watch TV on Hulu, it's not a drop in replacement because what I did before no longer works
Those are centralized services, the idea is to allow the creation of decentralized alternatives that can still be used through familiar tools like the web browser.
> Those are centralized services, the idea is to allow the creation of decentralized alternatives that can still be used through familiar tools like the web browser.
And if I can't access those services on Freenet then it's not a drop in replacement.
It may very well be a replacement. My issue is it being called a drop in replacement if it's not.
That's one way to interpret "drop in", my interpretation is that you use the existing UI you're familiar with - your browser - the rest is replaced with decentralized services.
It sounds like you're looking for an anonymizing proxy like Tor. There is no way to do what you're looking for that could reasonably be considered decentralized.
> That's one way to interpret "drop in", my interpretation is that you use the existing UI you're familiar with - your browser - the rest is replaced with decentralized services.
I feel like we're so far apart on what a drop in replacement is that there's no point continuing this.
> It sounds like you're looking for an anonymizing proxy like Tor. There is no way to do what you're looking for that could reasonably be considered decentralized.
I'm not looking for anything. I'm concerned that I'm being misled and that can have an impact on my decision to use Freenet in the future.
A tankless water heater is a drop in replacement for a traditional water heater.
Your contractor messes with it for a day and that evening you are taking a warm shower just like you did the night before.
This is what drop in means.
But if you were to go around selling people this drop in tankless water heater 150 years ago before homes had the required electricity, you would rightfully be called a liar.
I'm not thrilled to see a discussion of contracts.. How do the system designers intend to avoid a speculative tulip market for small amounts of processing? Can anyone bring up all the computing they would ever need by plugging it into the Internet?
The P2P aspect looks much better, but naturally there's the question of how this is differentiated from something like Tor with .Onion sites?
> I'm not thrilled to see a discussion of contracts
They're not contracts in the sense of a cryptocurrency, they're contracts in the sense that code and cryptography are used to control how data is used and updated in the system, similar to a database ACL, or object encapsulation in OOP.
This is a generalization of a concept called "signed subspace keys" in the original Freenet, which predated Bitcoin by almost a decade.
> The P2P aspect looks much better, but naturally there's the question of how this is differentiated from something like Tor with .Onion sites?
.Onion sites and services are still centralized, their server's location is just hidden by Tor. With the new Freenet the services themselves are entirely decentralized and can operate entirely independently of the person or people that created them.
The reputation system is radical departure from freenet. This feels like a google search pagerank integrated with yelp, where you initially buy keywords from freenet.org, like a domain name purchase, and then other users add or subtract from your rating.
The other thing that is different is providing a multicast mechanism to subscribers of a service.
My memory is fuzzy, but I think the original freenet was pull based, where content was replicated around the network closer to the consumers of the data. I believe there was a well known key that signed the static content, so you could retrieve data using natural language. The well known key could be updated to point to any static content, so you could emulate push by polling the well known key and getting the latest version.
The new reputation mechanism must integrate with the subscription multicast in order to limit the abuse of the network. I'd be interested in a description on how this works.
> The reputation system is radical departure from freenet.
Many things about the new Freenet are very different, however the original Freenet had a reputation system called "web-of-trust"[1]. The new Freenet's reputation system will be a generalization of this.
> where you initially buy keywords from freenet.org, like a domain name purchase, and then other users add or subtract from your rating.
Not exactly buying keywords, you can use a donation to "bootstrap" a reputation, this is done anonymously through an RSA blind signature. There will be other ways to do this too - but a donation is simple, and obviously benefits the project.
> The new reputation mechanism must integrate with the subscription multicast in order to limit the abuse of the network. I'd be interested in a description on how this works.
This is largely addressed by lower-level mechanisms although the reputation system could also play a role. Each peer keeps track of its neighboring peer's behavior, abusive peers will be disconnected over time. See [2] for a description of part of this mechanism.
If I wanted to setup z-library on freenet, an example where reputation could be greatly enhanced by users of the service yet at odds with the legal system. Could the governed outweigh the influence of the government using the reputation system? Sorry for the silly information wants to be free argument, I know you've answered such questions ad inifinitum.
Generally speaking, you could create a search engine on the new Freenet, based on a decentralized inverted keyword index using reputation for ranking. Such a system would run independently of any government, individual, or organization, even of its creators. Government censorship of such a system would be difficult, due to its decentralization.
I remember people saying that the previous FreeNet implementation wasn't always fast so I'm pleased to see they took that feedback seriously and rewritten it in a performance-predictable technology.
Yes, the previous Freenet was experimental which led to it being quite clunky. Aside from using Rust rather than Java, the other main differences between Fred (original Freenet) and Locutus (new Freenet) are:
Functionality: Fred is analogous to a decentralized hard drive, while Locutus is analogous to a full decentralized computer.
Real-time Interaction: In Locutus users can subscribe to data and be notified immediately if it changes. This is essential for systems like instant messaging or group chat.
Programming Language: Unlike Fred, which was developed in Java, Locutus is implemented in Rust. This allows Locutus to be much more efficient, while integrating better into a wide variety of platforms (Windows, Mac, Android, MacOS, etc).
Transparent: Locutus is a drop-in replacement for the world wide web, and will be just as easy to use
Anonymity: Fred was designed with a strong focus on anonymity. In contrast, Locutus does not offer built-in anonymity, but it is designed to allow anonymizing systems to be layered on top if required.
I think my key realization was that the more serious threat was centralization, and so the focus with the new Freenet is decentralization. Anonymity systems can be built on the new Freenet - these will likely be based on mixnets or onion routing, in fact there will likely be a variety of options. They will be easy to use, in keeping with our overall philosophy that we want grandma to be a Freenet user.
Think of the new Freenet as a decentralized global operating system, on which people can build interoperable systems to do a wide variety of things. One of these will be an anonymizing proxy.
What are the goals (or at least direction) of this network, if it isn't experimental like the previous implementation? I always was under impression that Freenet was about censorship resistance in the first place, just like I2P. In the current climate that requires packet mixing, DPI resistance, and many other things that make it resilient against practical de-anonymizing attacks and blocking. (tough to pull off!)
The new Freenet is primarily focused on decentralization rather than anonymity - however anonymizing systems (like mixnet, onion routing) can be layers on top of it as services.
Here are the key differences between new Freenet (Locutus) and old Freenet (Fred):
Functionality: Fred is analogous to a decentralized hard drive, while Locutus is analogous to a full decentralized computer.
Real-time Interaction: In Locutus users can subscribe to data and be notified immediately if it changes. This is essential for systems like instant messaging or group chat.
Programming Language: Unlike Fred, which was developed in Java, Locutus is implemented in Rust. This allows Locutus to be much more efficient, while integrating better into a wide variety of platforms (Windows, Mac, Android, MacOS, etc).
Transparent: Locutus is a drop-in replacement for the world wide web, and will be just as easy to use
Anonymity: Fred was designed with a strong focus on anonymity. In contrast, Locutus does not offer built-in anonymity, but it is designed to allow anonymizing systems to be layered on top if required.
Great to see Ian Clarke remains undaunted and laser focused on his mission. Best of wishes, Ian. Your team's work is important and very much appreciated.
In theory you are right, but in practice a handful of companies control the services everyone uses and the infrastructure behind it.
The fundamental problem is that the web is client-server, which inherently leads to concentration of power - and this is what we've seen over the past few decades.
Freenet replaces the client-server web with something entirely decentralized. More detailed explanation at [1].
I’ve been working on similar in a weird way. I’ve got it all working after a lot of years of thought and plodding at the code base. It has been an exercise in building something that is just for me. No deadlines, just do it right. I’m interested in this. It looks like my current gizmos can easily inreroperate with it.
We're working toward our first working prototype, right now you can play with our SDK[1], and learn about how to build decentralized software[2]. You can check out our roadmap[3] with realtime estimates of when we will hit various milestones.
I2P is an anonymizing proxy but I2P hidden services still run on a single machine, just anonymized. With the new Freenet the services themselves are decentralized [1]. You can think of the new Freenet as a global decentralized computer running decentralized software systems.
Hasn't that always been the case for Freenet? I'm pretty sure this is in no way revolutionary.
I'm unsure how I feel about this feature. It's one thing to facilitate encrypted data passing, or to selectively choose what data to mirror, but do I really want to serve as a host for CP unknowingly? I guess it might be possible to block known unsavory content, but that just seems like an endless game of cat and mouse.
While I like the idea of making the web redundant, I don't think it should be a feature of the web itself. People should explicitly opt into mirroring content they think is important. Anonymity is way more important than resilience.
If Freenet can succeed in helping to defeat centralized power over the web, that would be a great thing. I just hope it doesn't end up being a distraction that works against that goal. I2P has been the beat solution for a long time, yet projects with serious inherent flaws like Tor and the old Freenet suck the oxygen out of the room.
> Hasn't that always been the case for Freenet? I'm pretty sure this is in no way revolutionary.
No, the original Freenet was more like a decentralized dropbox, not a general purpose decentralized computer like the new Freenet.
> but do I really want to serve as a host for CP unknowingly? I guess it might be possible to block known unsavory content, but that just seems like an endless game of cat and mouse.
The new Freenet will have a reputation system that will strongly punish anyone's reputation for posting anything like CP. Also, when your computer is part of the (new) Freenet network, it acts more like a relay than a host.
> Anonymity is way more important than resilience.
For some things, not for others. That's why anonymity with the new Freenet will be a service, not built into the OS itself.
Can you explain the reputation system a bit more? Is all content in freenet public or how would you know that someone posted certain content? How are they punished for it? Do other users actively have to "down vote" them to reduce their reputation or is there an entity which can influence reputation? Is there are single global reputation system or is it more local?
> Can you explain the reputation system a bit more?
While it's still at the conceptual stage, the reputation system would be a generalization of a system called "web of trust" in the original Freenet [1].
> Is all content in freenet public or how would you know that someone posted certain content?
It depends on the system. For example, something like a forum might have minimum reputation requirements for posting, and also the requirement that the forum can downvote your reputation if you behave badly - this being the punishment.
> Do other users actively have to "down vote" them to reduce their reputation or is there an entity which can influence reputation?
It's a decentralized mechanism so it's all based on user feedback, but with web of trust it's transitive, so downvoting you may also downvote those who endorsed your reputation.
But bots can also participate, for example a bot could use modern deep learning to identify objectionable material and downvote automatically.
> Is there are single global reputation system or is it more local?
It's a mixture - trust is transitive so proximity matters but it isn't just about your immediate trust relationships.
Edit, saw the answer regarding i2p. I2P proxy service run on a single machine, just anonymized. While on Freenet there is no single machine or central server.
The roadmap is misleading - sorry, that feature is code complete and awaiting integration.
Our approach to resource usage is that peers keep track of the resources used by each contract or on behalf of each neighboring peer, and compares it to the value provided by the contract or neighboring peer to our peer or the network. Peers or contracts with the least bang for the buck will get dropped by the peer when it is resource constrained. See [1] for how this works with contracts, and [2] for implementation.
While your concept and cost/decision function covers more than just storage, the topic of resource allocation brought to mind the old Japanese P2P software called Perfect Dark (https://en.wikipedia.org/wiki/Perfect_Dark_(P2P)), which used an unrevealed algorithm to distribute files across participants' volunteered disk storage. Its architecture was similar to Freenet's, "only with a heavier use of distributed hash tables."
Normally I would think a drop in replacement would mean I could switch to it and do everything the same as I was doing it. But my guess is that if I did this drop in replacement that little to none of the web activities I partake in would work anymore. So maybe my thoughts aren't quite what is meant.