Earlier quoted context omitted.
We started as an IPFS implementation, but since then the scope of iroh has been reduced. Iroh is not IPFS, but more like libp2p. If you want something like a globally distributed internet archive you would have to use protocols on top of iroh. For example iroh-blobs provides verified streaming of content-addressed data using the BLAKE3 tree hash function. It is very close to itself being 1.0 (probably Q3), but for no…
> I wish you could also delegate this problem to the mainline DHT, but alas that is not possible because of some mainline limitiations. Have you seen https://github.com/bittorrent/bittorrent.org/pull/174 - does that address the main issue?
Iroh 1.0
391–400 of 488 posts
Re: Iroh 1.0
#392If you're new to Iroh, my mental model is roughly "Tailscale at the application layer instead of the network layer". If your question is, "why not just use Tailscale?", look at it from an app developer's perspective. If you want to release an app and have instances of your app be able to easily connect to each other, you could theoretically embeded Tailscale functionality into your app, but then the users of your app…
Still I am not sure why I should use their paid service instead of using publicly available infrastructure. If they go out of business, get sold what's then? DNS and friends are not going to disappear and send me "it was great journey" e-mail. Maybe for some specific applications, like P2P chats, this makes sens, but how many of such applications are needed? I've looked at the usecases page, obviously there is an AI…
Re: Iroh 1.0
#393Earlier quoted context omitted.
No idea why this is downvoted, it's exactly the pitch for DNS. Others and I are asking the same question. There's no value proposition here.
Different network layer, no centralization, no authorities, DNS has nothing to do with making p2p connections, it's like the ballpark is not even in the same country
Re: Iroh 1.0
#394If you're new to Iroh, my mental model is roughly "Tailscale at the application layer instead of the network layer". If your question is, "why not just use Tailscale?", look at it from an app developer's perspective. If you want to release an app and have instances of your app be able to easily connect to each other, you could theoretically embeded Tailscale functionality into your app, but then the users of your app…
Its amazing to me how people can make a great a product. And then completely bury the lead because they are so deep into the guts of the system You explained the value proposition so well. The website just didnt get to the "why?" At all
Re: Iroh 1.0
#395I am one of the iroh developers. A question that frequently comes up: when will iroh support webrtc, or BLE, or LoRa, or ... Iroh as of now supports only IPv4, IPv6 and relay transports out of the box. There is such a large variety of potentially interesting transports out there that we can't support all of them without turning the codebase into an unmaintainable maze of feature flags. But we have added the ability t…
Please consider putting the first paragraph of [1], "iroh is a modular networking stack written in Rust. It provides the building blocks to create applications that can communicate using fast, cheap, and reliable connections.", at the top of the blog post and the main website. The middle two lines of [2] are good as a follow-up. The current stuff about dialling is pretty incomprehensible, as shown by the many confuse…
You can omit the "written in Rust" part, but then you'd lose street cred.
Re: Iroh 1.0
#396How does Iroh's performance compare to wireguard?
I think we do very well with devices devices with limited bandwidth and changing connections. We are able to saturate a 1 GiB link from a normal desktop PC or good phone, but have some work to do to saturate a 10 GiB link with a single process. We don't have a comparison benchmark, but we are fast enough that we are not the limiting factor for many use cases. In many cases the performance bottleneck is the interface…
I might have assumed io_uring would be the high throughput kernel interface for Linux.
Can iroh run on a proxy server which forwards requests to backends that don't integrate with iroh directly?
What is the CPU overhead at link saturating speeds?
Re: Iroh 1.0
#397Earlier quoted context omitted.
I think we do very well with devices devices with limited bandwidth and changing connections. We are able to saturate a 1 GiB link from a normal desktop PC or good phone, but have some work to do to saturate a 10 GiB link with a single process. We don't have a comparison benchmark, but we are fast enough that we are not the limiting factor for many use cases. In many cases the performance bottleneck is the interface…
I'm happy to hear you really care about perf. I might have assumed io_uring would be the high throughput kernel interface for Linux. Can iroh run on a proxy server which forwards requests to backends that don't integrate with iroh directly? What is the CPU overhead at link saturating speeds?
We might do an io_uring based linux only implementation at some point. For now we do care about performance very much, but also want to have a single code base for all supported architectures and platforms.
We do support a lot out of the box, which is hard enough as is with a small team. And while io_uring is a bit better than the current sendmsg with GSO / recvmmsg with GRO setup, it isn't orders of magnitude.
> Can iroh run on a proxy server which forwards requests to backends that don't integrate with iroh directly?
We have a tool called dumbpipe that has options to forward local tcp services over an iroh pipe. Something like global netcat.
And there are plenty of tools that do something similar for specific services, e.g. there is iroh-ssh.
> What is the CPU overhead at link saturating speeds?
We don't have exact measurements, but CPU is not the bottleneck usually.
Re: Iroh 1.0
#398Re: Iroh 1.0
#399Congrats on shipping You need urgently a "versus" page that talks about tailscale/netbird/netmaker/zerotier/twingate/openziti Looking at the use cases, right now I don't see anything that cannot be done with Tailscale...