11 ms·
Show HN: Freenet 2023, a drop-in decentralized replacement for the web
- ilaksh 3y agoSo they basically just decided to rebrand Locutus as Freenet 2023? Or was that the goal the whole time? Anyway seems like a good idea.
- sanity31415 3y agoThat was the goal for a while, Locutus was a working title for Freenet's successor.
- stuntkite 3y agoI’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.
- sanity31415 3y agoNice, let me know if you have questions.
- eternalban 3y agoGreat 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.
- sanity31415 3y agoThank you :)
- pdimitar 3y agoI 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. Will monitor them!
- sanity31415 3y agoYes, 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.
- jszymborski 3y agoSurprising to see that strong anonymity isn't built into Freenet 2023... i always associated FreeNet with anonymity. Would be willing to speak to these anonimizing layers? Are they difficult to use? Do they offer the same level of anonymity?
- fsflover 3y agoI wonder how it differs from https://geti2p.net https://geti2p.net.
- sanity31415 3y agoI2P 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. [1] https://docs.freenet.org/components.html https://docs.freenet.org/components.html
- ravenstine 3y agoHasn'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.
- sanity31415 3y ago> 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.
- Alifatisk 3y agoIs this like Zeronet or i2p? 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.
- deleted 3y ago[deleted]
- rascul 3y agoNot 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.
- sanity31415 3y agoIt'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.
- rascul 3y ago> everything north of the user's web browser I'm not sure what this means. > it's drop-in from the perspective of the user 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.
- sanity31415 3y ago> I'm not sure what this means. See the diagram here: [1] > 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. [1] https://docs.freenet.org/introduction.html https://docs.freenet.org/introduction.html
- rascul 3y ago> 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.
- jasonlfunk 3y agoI guess I’m confused. I thought the web was already decentralized. Of course individual websites aren’t, but the web itself certainly is.
- sanity31415 3y agoIn 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]. [1] https://freenet.org/about#introduction_html https://freenet.org/about#introduction_html
- shp0ngle 3y agoIs there something I can actually download and run? I am very confused from the website. There is some github page... should I download and compile myself? I am really really confused
- sanity31415 3y agoWe'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. [1] https://docs.freenet.org/tutorial.html https://docs.freenet.org/tutorial.html [2] https://docs.freenet.org/components.html https://docs.freenet.org/components.html [3] https://freenet.org/dev https://freenet.org/dev
- projektfu 3y agoIt looks like resource allocation is a future feature. Is there a place to find the current thinking on how to reduce resource abuse by clever actors?
- sanity31415 3y agoThe 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. [1] https://github.com/freenet/locutus/issues/244 https://github.com/freenet/locutus/issues/244 [2] https://github.com/freenet/locutus/blob/3e5a31780f235e04f7b22d8face93a05141568f5/crates/locutus-core/src/resource_manager/mod.rs#L42 https://github.com/freenet/locutus/blob/3e5a31780f235e04f7b2...
- projektfu 3y agoCool thanks
- creamyhorror 3y agoWhile 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) 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."
- injinj 3y agoThe 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.
- sanity31415 3y ago> 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. [1] https://freesocial.draketo.de/wot_en.html https://freesocial.draketo.de/wot_en.html [2] https://github.com/freenet/locutus/blob/3e5a31780f235e04f7b22d8face93a05141568f5/crates/locutus-core/src/resource_manager/mod.rs#L42 https://github.com/freenet/locutus/blob/3e5a31780f235e04f7b2...
- injinj 3y ago