Tor Project планирует заменить код C на Rust
Разработчики работают над проектом Arti, реализацией Rust для клиента Tor. Главный сетевой архитектор и соучредитель Tor Project Ник Мэтьюсон говорит, что Arti позволит создать улучшенную версию Tor, которая будет более надежной, безопасной и простой в использовании с другим ПО.
Tor Project получил $ 670 тысяч от Zcash Open Major Grants на обновление языка программирования. Оно позволит сделать клиент Tor более адаптируемым и простым для использования. Tor Project планируется перевести с языка С на Rust.
Мэтьюсон выразил надежду на то, что в течение следующих нескольких лет Arti станет предпочтительной реализацией протоколов Tor.
В ZOMG отмечают, что Arti станет «кодовой базой следующего поколения, которая будет более гибкой в плане встраивания, обслуживания, развертывания и производительности.
В настоящее время ZOMG фокусируется на приватности финансовых транзакций, в то время как Tor Project создал браузер, который препятствует отслеживанию действий пользователей в сети. Мэтьюсон пишет, что Tor рассматривается как «недостающий элемент» в конфиденциальности Zcash.
По словам Мэтьюсона, Arti начинался как сторонний проект, чтобы изучать Rust. Однако через какое-то время стало понятно, что проект сможет решить проблемы с программным обеспечением Tor. Он отметил, что в этом году Tor Project исполнилось 25 лет, и «за последние годы обнаружилось, что сложность существующего кода на C и хрупкость самого языка делают излишне сложным улучшение кода при сохранении безопасности и конфиденциальности».
Мэтьюсон утверждает, что Rust сочетает преимущества языка системного программирования (высокая производительность, доступ к ресурсам низкого уровня, детальный контроль) с простотой использования. По его мнению, «примерно половина проблем с безопасностью Tor с 2016 года была бы невозможна в Rust, а многие другие были бы гораздо менее вероятными».
Основная проблема использования Tor для Zcash заключается в том, что браузер сложно встраивать. Кроме того, его работу нельзя «детально контролировать», а сроки обновлений достаточно долгие из-за устаревшего кода.
Финансирование пойдет на зарплату разработчиков Arti. Мэтьюсон сказал, что цель этого раунда — продвинуть проект до уровня, когда он будет готов к общему использованию, тестированию и внедрению. По его словам, после этого Arti должен пройти долгий путь, прежде чем станет полнофункциональным клиентом Tor, и разработчики находятся в процессе сбора дополнительного финансирования.
В этом году язык С попал на первое место рейтинга TIOBE. В 2020 году он находился на втором месте. Rust оказался в рейтинге на 29-й позиции.