Comment by generalizations

2 years ago

From the FAQ about the differences: https://freenet.org/faq#faq-3

> While the previous version was designed with a focus on anonymity, the current version does not offer built-in anonymity but allows for a choice of anonymizing systems to be layered on top.

I wonder why this choice was made. To me it's concerning...seemed like one of the big draws of freenet was the anonymous nature of it, and it seems like this would cause some fragmentation if there's multiple options to choose from.

I didn't think the original was truly anonymous without other systems being used anyways. Probably better to just allow integration with other systems since the methods of staying anonymous will change over time.

> I wonder why this choice was made.

Because it's a better architecture. There are numerous different approaches to anonymity, each with different pros and cons (mixnets, dining cryptographers, etc). It's better to have a system that can offer a choice of anonymity mechanisms without locking users into one approach.

The new Freenet is a platform for building interoperable decentralized systems. Some of these systems can provide anonymity, and can be integrated into other systems if the creators of those systems choose to do so.

  • This sounds a lot like IPFS's strategy regarding anonymity, and AFAIK it resulted in basically no one being able to use IPFS anonymously. When anonymity requires building your own separate sub-community and maintaining your own custom plugin/patchset/configuration for the client, it's really hard to achieve that because the default non-anonymous project sucks all the oxygen out of the room.

    Do you at least plan to provide some level of baseline consideration for privacy/anonymity in the main project, like making sure core protocols/libraries don't expose fingerprinting surfaces or leak information?

    • IPFS and Freenet employ fundamentally different approaches, so comparing them isn't quite valid. With Freenet, there is no need to build separate sub-communities or worry about plugins, patches, etc.

      Freenet is designed to facilitate the creation of various decentralized tools that are fully interoperable. Among these tools, some can provide anonymity, allowing application builders to choose the appropriate tools for their specific needs.

      This approach is better than imposing a one-size-fits-all solution as the previous Freenet did.

      > Do you at least plan to provide some level of baseline consideration for privacy/anonymity in the main project, like making sure core protocols/libraries don't expose fingerprinting surfaces or leak information?

      Freenet incorporates several novel approaches to enhance data privacy. For example, delegates[1] allow users to manage private information without leaking it to other software components, unlike how browser local storage can. There are other precautions like Freenet's protocol being encrypted from the first byte making it more difficult to fingerprint.

      Mitigating things like correlation attacks is more complicated since they normally require introducing delays and low-latency is an important design goal - so that will be handled by specific anonymity systems.

      [1] https://docs.freenet.org/components/delegates.html

will be interesting to know if this is a bait and switch or simply a concession to the majority of users that just want free stuff

  • Freenet is free as in free speech, not free beer. The goal is to provide a platform that allows people to build sophisticated decentralized systems to replace today's centralized systems. The original Freenet architecture wasn't flexible enough to do this.