Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The GNUnet System (gnunet.org)
123 points by summm on Dec 8, 2017 | hide | past | favorite | 38 comments


Is anyone knowledgeable that can tell me the difference between

IPFS, GNUnet, Zeronet, freenet or even something like i2p, tor and urbit .. as well as probably others.

Actually I know this question is asked all the time and I do know how these differ, to some extent at least, but I just don't understand why there are all these competing standards since it's all driven by the same-ish vision.

Whenever someone accomplishes this vision though it'll be a huge game changer. IPFS feels closest to it as of now .


super tldr...

ipfs and zeronet (and dat project) are distributed file stores (think bittorrent), some have some special browsers n top that let you build applications

freenet is a distributed, secure content network.

i2p and tor are secure overlay neworks - run on top of the existing internet to provide secure connectivity - designed to obscure where traffic is going to and from.

gnunet and cjdns are also secure overlay networks but more like point to point vpns.


I'm actually reading the paper...

> GNUnet is an overlay network, as it is initially supposed to primarily operate over the existing Internet network. However, GNUnet does not assume that this is always the case. For example, GNUnet can also operate directly over WLAN or Bluetooth to create an ad-hoc wireless mesh network, and with the GNUnet “PT/VPN” subsystems we can run TCP/IP over GNUnet. So in this configuration, GNUnet would be an underlay network, a bit like MPLS or B.A.T.M.A.N. [NAL07]. In reality, we in fact expect to see both at the same time: some peers will run over the existing Internet, while others may connect to GNUnet on Layer 2.


ah yeah, youre right. cjdns has that too, you can build mesh networks with it:

https://tomesh.net/build-a-node/


Thanks for mentioning 'Dat Project', hadn't heard of it before. Do you know if any of these distributed file stores are making use of this[1] result like Pijul?

It'd be amazing if these projects converge on making version control, package management and any sort of information distribution (internet) into the same thing. Currently it feels like they are all working in separate corners on what they consider to be 'the abstraction that will eat the world' so to speak..

[1]: https://arxiv.org/abs/1311.3903


GIT would come closest. Note that while it's not common now (aside from some first canaries, like scuttlebutt), GIT works perfectly fine as a P2P opennet. You are much less trapped on github, because you can just take your repo and the complete history in it anywhere you want - be it central server, or some sort of P2P overlay.


Isn't Darcs based on some kind of "theory of patches" too? That was the whole selling point versus Git, that Git takes snapshots and calculates diffs, while Darcs takes diffs and calculates snapshots.


This is quite a helpful tldr! Thanks!!


> IPFS feels closest to it as of now.

I'm rather skeptic. IMO, IPFS is just overengineered bittorrent. At the lowest layer, the semantics are the same, except with really bad ideas thrown into the mix - wantlist instead of bitmaps, forcing DAG in places where there's no use for it, all driving overall performance of the network into the ground.


AFAIK you can't get sued because you accidentally are hosting a fragment of copyrighted material over IPFS, whereas seeding coyprighted material over Bittorrent is a crime in the USA.


What do you mean "accidentaly"? You either have the file pinned, or not. If its not pinned, you're not seeding anything. If it's pinned, you're liable same as with BT.


Ok, I'll bite.

Suppose I want to download a tarball of the GNUnet file sharing application. (I chose file downloading because the GNUnet Wikipedia page says file sharing is the primary application atm.)

What are the steps I need to follow in order to fire up GNUnet's filesharing application and download that file?

To whomever responds: you make the file available, and I'll try to download it.

Edit: it doesn't have to be a tarball of the app. It can be any file which I can find a hash for on clearnet. But somebody has to vouch that they are making it available over GNUnet while I try to download it.


What is the biggest barrier or challenge for these network systems to succeed? Hardware? Infrastructure? Users?


Adoption. Users want convenience. They want to click a thing and go, not install a desktop app, configure it, learn about the networking model, etc.

Then when we've all sunk into all these convenient cloud services and "easy to use" disposable devices, we'll have lost all of our privacy and power. The corporations will get regulated, and then the government will have access and control of the systems.

And yet we'll have people argue that these open source and federated/distributed systems are "too confusing" and "not practical" and that we shouldn't even try to avoid this future.


>Then when we've all sunk into all these convenient cloud services and "easy to use" disposable devices, we'll have lost all of our privacy and power.

Convenience can be engineered into P2P, too.

With Bitcoin, people definitely get the convenience of unregulated speculative asset they wanted (presumably because real estate is even more obtuse than bitcoin).

With Bittorrent, people definitely get the convenience of having access to obscure content (though netflix is great counterexample to it).

> And yet we'll have people argue that these open source and federated/distributed systems are "too confusing" and "not practical" and that we shouldn't even try to avoid this future.

I think best route would be that of Linux vs Android. Which has already happened to a certain degree with Mastodon for instance - someone "privatizes" the underlying open fabric and puts a nice "convenience trap" on top of it to "attract adoption".

The issue here is mostly that investors in such an endeavor are seeking total control of the userbase, an engineered artificial "inconvenience of switching platform".

Internet behemoths should not be called out on "dangers of getting regulated and handing control to the government" (frankly, anything can happen, not just that), but on keeping their platforms un-interoperable on purpose in a bid to attain a monopoly through networking effects, burdening the entrapped users with "inconvenience of limited frontend choice". They should be called out the same way we called out Microsoft back then, or say, Comcast now.


«In technology, I believe it comes down to the power dynamics of convenience. To create convenience—particularly the automated convenience technology trades in—someone else must make our choices for us. In other words: the less you have to do, the less say you have.»

(From https://www.frankchimero.com/writing/the-webs-grain/)


I don't buy that it's impossible to deliver decentralization and usability. It just requires a lot of developer effort.

The real problem is that everything has to be free. That means there's no money to pay developers to do the stuff that is not fun. UI/UX is a painful slog through a long tail of tiny little issues, not to mention many iterations on design. Developers don't do that unless they're getting paid.


Coming up with new an innovative ways of doing things is reward in and of itself. Examples are Wozniak with Apple I, Berners-Lee with HTTP server. Breakthroughs lead to big things.

I think we are on the precipice of a decentralized network paradigm shift.


> We note that outside of TCP, the client-server relationship is often described using the terms “master” and “slave”. These terms more aptly describe the social roles the client-server paradigm produces.

Best quote I've seen in a while...


> GNUnet is an alternative network stack for building secure, decentralized and privacy-preserving distributed applications. Our goal is to replace the old insecure Internet protocol stack.

Sounds like a PhD thesis run amok.

This just isn't going to happen. Who are they kidding? Even the transition to IPv6 is proving agonisingly slow.

GNU really need to pick their battles more wisely.


You assume GNU is a top-down organization that selects where to invest its efforts. In reality, individuals do that, only under the auspices of the GNU organization that does provide some benefits.


What _are_ the benefits, other than you get to say you're a GNU project and surrounded by Saint IGNUcius's halo?


Contributing to the GNU Project and having your project associated with certain principles. Some people just want to make GNU stronger or send a message about software freedom.


Choosing file transfer as the first goal seems like a great decesion to me. File sharers are willing to adopt anything.


They might not like that too much based on:

> Bitcoin is unethical as it prevents the state from effectively extracting taxes from economic activity, or from enforcing basic rules on allowed economic activity.

Interesting how privacy in communication is ethical but privacy in economic activity isn't.


It’s the general default of societies I’ve lived in. The idea that money is speech and corporations are people is a very very new and uniquely North American concept.

That said the privacy of users can be protected with crypto-currencies just like it is with cash, without providing a tax-evasion scheme for the wealthy/criminal. GNU Taler is a good example of this design. I wish it well!


> Choosing file transfer as the first goal seems like a great decesion to me.

True. We still don't have a good way of doing this[0].

[0] https://xkcd.com/949/


one to one peer to peer file transfer: justbeamit.com peer to peer file transfer (link doesn't die after one person) file.pizza


but ironically every single OS today ships with a remote desktop functionality. some even on by default.


Actually, there is: if both users are on gmail, you can attach big files to your mail, and it's automatically uploaded on Drive (and retrieved seamlessly by recipient from mail). If recipient is not using gmail, you can still use Drive to upload your file and share it. And obviously, there are many Drive competitors, like dropbox and Box, to name the biggest ones.


Unless something has changed each of those still require an existing account on the senders side. With an account on an appropriate service or the right program sending files has been a pretty solved problem for ages. Not sure this really solves super well either since both people would have to download, install and configure GNUnet.


Indeed, it requires auth. The xkcd page nor grandparent were mentioning not requiring auth as a requirement :)

I didn't get this is something GNUnet would allow. I guess it could be a thing... if using GNUnet is easier that registering a drive/dropbox/whatever account.


While some core projects are pillars of GNU and were created either to provide a fully free Unix replacement or out of one of their initiatives, many are projects offered by individuals.[0] There is no battle.

"Replace" doesn't mean global domination. It means that those who chose to use the replacement can do so, just as those who chose to use the GNU operating system as a replacement can do so.

[0]: https://www.gnu.org/help/evaluation.en.html


The speed of IPv6 adoption doesn't seem relevant as this doesn't depend on IPv6 and appears to be solving very different problems.


While I disagree with parent comment I think it was meant to draw a comparison between GNUnet and IPv6. As in "we can't get people to adopt IPv6 despite it's being backed by just about every large tech company, how is GNU going to get people to switch to this?".

At least that's how I read it. But as another poster pointed out I don't believe it's GNU's intention to get the whole world to switch, just make it available and if people can and want to use it they will. And then hopefully those people make it easier and easier for others to use it.


> I think it was meant to draw a comparison between GNUnet and IPv6

That's what I'd intended, yes. I wasn't terribly clear.

> I don't believe it's GNU's intention to get the whole world to switch

I hope you're right, but they used 'replace'. Them's fightin' words.

Normally, projects go out of their way to clarify where hostility is not intended. I seem to recall LLVM/Clang being quite explicit about their not intending to kill GCC, for instance. (Annoyingly, I can't find a source for this.)


> but they used 'replace'. Them's fightin' words.

You are welcome to communicate feedback to our (GNUnet) mailinglists. We are in the process of replacing the website (Drupal is good, but doesn't get the job done anymore for us), so if there are problems (even if just interpretation problems or tiny things that throw you off) I invite you to send them to the appropriate mailinglist listed at https://gnunet.org/contact_information

We appreciate any kind of feedback.


I've read into this again. 'Replacing' will be clear from context. This was added very recently (2016?) to the homepage by myself and to the official description.

The Manual (the pushed content as well as my stacks of old fashioned paper corrections) is not mentioning it. For the new website it (the description) either will be described as it is right now (unlikely) or rewritten to be easier to understand.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: