Live data from Hacker News

Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

blog.torproject.org

21–30 of 67 posts

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#21

To me this just seems pointless because an implementation in Rust is going to have similar features to one in C, Java, Python, or any of the handful of languages where Tor already exists... I want to rep another project that I think would be more relevant to Tor's goals. It is unfunded yet should it exist: would have the potential to transform privacy on the web. The project is https://github.com/Ayms/node-Tor It's a…

You could compile the rust version to WASM and run it in browser.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#22

Very cool, I fully support this and I plan to experiment with it. The developers should be proud of making such exciting progress. But doesn’t “ready for production use” sound like hyperbole when the blog post describes a partially completed implementation? It can’t even connect to onion services yet. Similarly, “improved security” is a suspect claim to make when comparing brand new software to a battle-tested codeba…

Agree. While this is certainly a notable milestone it does seem a little premature to celebrate considering the caveats of the current version.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#23
post #6

Earlier quoted context omitted.

Their goal was to increase security more than speed.

Yup, the core part of Tor is written in C so it can't get much speedier. Rewriting it in rust is almost is entirely to reduce the footguns you get in C

Might recall reading something to the effect of the C Tor daemon having run into bottlenecks due to lack of multi-threading of certain components and general concern over safety footguns.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#24
post #16

It's interesting that the funding for this came from the Zcash Community Grants. There's a lot of money involved with cryptocurrency and a lot of it gets invested into the software involved. It's interesting that in this case, serious money got invested into some software that isn't strictly cryptocurrency-related and is useful outside of cryptocurrency. It makes me wonder if there are other software projects that ar…

iced-rs, a gui framework in rust, is sponsored by kraken.

react-grid-layout is written and maintained by cofounder of bitmex.

uWebSockets, one of the fastest ws servers, is mainly makelt afloat by crypto exchanges who make use of the author‘s consultancy service.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#25
post #2

This project has come a long way, very fast. Great work to all involved. The biggest security holes in Tor are most likely going to be from the browser going forward. Hardening the browser is tough, but that's a win for everyone (including those not using Tor). This sentiment was one that I shared in my Rust work: > the pickiness of the compiler has been a great boon. Generally speaking, if our Rust code compiles and…

I have a question, can I use tor as a middleware? for example, can I build a social network with Tor embedded into the client as the network layer?

> Tor embedded into the client

This is the most interesting part of this announcement for me:

>> You can test Arti ... as an embeddable library (if you don't mind a little API instability).

My first thought was adding Tor as a transport for TCP DNS resolution for an existing recursive resolver like unbound. Or, a TOR proxy for DoH public recursive resolvers. Either would result in better privacy than directly using a centralized public resolver with DoH. For the former, you would need to send the query through multiple circuits to have confidence that a guard or an exit node wasn't modifying the query/result (with all exits for a particular query in the same country to minimize geo DNS load balancing causing different results-- this level of control would be easier with a library than a separate daemon communicated through via socks. For the latter, using a socks proxy would work, but the library would make for a simpler setup for the user.

Too bad rust doesn't really do dynamic linking. 'libtor' as a distribution maintained library that is automatically kept patched for security vulnerabilities would add piece of mind when running applications that embed Tor.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#26
A quick search didn't find anything. I wonder, does Arti support communication over a unix domain socket yet?

Using a unix domain socket for a client in a private network namespace with no network interfaces is a nice extra layer to ensure no IP leaks. The regular Tor daemon has supported this for a few years now.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#27

To me this just seems pointless because an implementation in Rust is going to have similar features to one in C, Java, Python, or any of the handful of languages where Tor already exists... I want to rep another project that I think would be more relevant to Tor's goals. It is unfunded yet should it exist: would have the potential to transform privacy on the web. The project is https://github.com/Ayms/node-Tor It's a…

The authors emphasize how the Rust compiler prevented them from introducing many potential bugs.

Sometimes it's better to have no security software and fully understand the implications than to have a security software with bugs unknown to you, which are tacitly exploited by your adversary.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#28

It seems the Rust people are especially prone to re implementing things. Nothing is really created, just reimplemented.

So like Unix with C being rewritten in that language instead of the original one written in PDP11 assembler for portability. Now people rewrites things in Rust for security. It's good, but I think it can be worse; it may make "lazy" programmers and if some bug it's discovered in the Rust runtime, everyone will be equally f*cked.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#29

It seems the Rust people are especially prone to re implementing things. Nothing is really created, just reimplemented.

I am happy for most software to move from C into almost anything else. Something unlikely to have memory exploits, or with standardized tooling for dependency management and compilation.

Plan9/9front uses C but...

- There are no dynamic binaries. Everything it's static. But binaries and the userland are tiny and usable.

- Cross compile it's dumb easy. [0-9]c, one number per arch.

- Every OS comes with compilers, libraries and sources for every arch.

- Security it's handled by separated modules, a password/login daemon/server and namespaces. Totally different. That will be the future in 10 years, and not Rust.

Re: Tor – Arti 1.0.0 is released: Rust Tor implementation ready for production use

#30
> At every stage, we've encountered way fewer bugs than during comparable C development. The bugs that we have encountered have almost all been semantic/algorithmic mistakes (real programming issues), not mistakes in using the Rust language and its facilities

> Development of comparable features has gone way faster, even considering that we're building most things for the second time

> Portability has been far easier than C

> We've found that Arti has attracted volunteer contributions in greater volume and with less friction than C Tor

Wow

Post reply on HN