![]() Since 2016, we've been tracking all the security bugs that we've found in Tor, and it turns out that at least half of them were specifically due to mistakes that should be impossible in safe Rust code. That's a huge win for us in programming and debugging time, and a huge win for users in security and reliability. To a first approximation, if the code compiles, and it isn't explicitly marked as " unsafe", then large categories of bugs are supposed to be impossible. ![]() What's more, it's got some really innovative features that let the language enforce certain safety properties at compile-time. It's a high-level language, and significantly more expressive than C. Rust seems like the clearest way out of our bind. This slows us down seriously, and increases the cost of adding new features. Everything we write takes more code than we'd like it to, and we need to double-check even the safest-looking code to make sure it doesn't fall prey to any of C's list of enormous gotchas. Although C is venerable and ubiquitous, it's notoriously error-prone to use, and its lack of high-level features make many programming tasks more complex than they'd be in a more modern language.įor us, these problems mean that programming in C is a slow and painstaking process. Today's Tor is written in the C programming language. Since then, Tor has grown to handle millions of users around the world. In 2006, we incorporated the Tor Project as a nonprofit charity. We started Tor back around 2002, based on earlier Onion Routing designs from the mid-1990s. Tor is also a program (in C) that provides client-side and server-side implementations of those protocols. Tor is a set of protocols to provide anonymity, privacy, and censorship resistance on the Internet. Thanks to funding from Zcash Open Major Grants (ZOMG), we can finally put the Arti project up in our priorities list, and devote more time to it.īelow I'll talk about why we're doing this project, what it means for Tor users and operators, where it's going in the future, and how people can help. ![]() Over the past year or so, we've been working on "Arti", a project to rewrite Tor in Rust. Today I'm happy to announce a new era in Tor implementation.
0 Comments
Leave a Reply. |