Tor Project получил $ 670 тысяч от Zcash Open Major Grants на обновление языка программирования. Оно позволит сделать клиент Tor более адаптируемым и простым для использования. Tor Project планируется перевести с языка С на Rust.
Разработчики работают над проектом Arti, реализацией Rust для клиента Tor. Главный сетевой архитектор и соучредитель Tor Project Ник Мэтьюсон говорит, что Arti позволит создать улучшенную версию Tor, которая будет более надежной, безопасной и простой в использовании с другим ПО.
Мэтьюсон выразил надежду на то, что в течение следующих нескольких лет 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-й позиции.
Arvardan
Ничего не знаю о программировании в Rust или в C, но помню точно как мой дешевый, студенческий, ноутбук без проблем начал воспроизводить 720px видео на ютубе после апдейта Firefox на версию 57.0 где они переписали движок на Rust. Раньше он этого осилить не мог.
k-morozov
истории о которых невозможно молчать
Arvardan
Эта история — апелляция к личному опыту. У меня был браузер который плохо работал — после внедрения Rust стал работать лучше.
Другое дело, что прирост производительности был следствием параллелизации процессов, а не, на пример, написания новых кодеков.
redsh0927
Всего лишь хотят выставить ржавчину в хорошем свете, поэтому стараются писать менее погано чем обычно…
Tujh
это прекрасный комментарий, особенно если знать, что на Rust переписаны только две подсистемы, если упрощенно - работа с кодировками строк UTF-16 <-> UTF-8 (ff56) и CSS layout (как раз ff57).
Какое отношение эти изменения имеют к рендерингу потокового видео - загадка :)
dartraiden
А реальная причина - мультипоточность.
menstenebris
Ну ты погорячился немного, но таки да, про видео ничего.
Tujh
из ошибок вижу только (да, надо было уточнить что я писал именно про ff57, мой косяк)
все остальные замены были в более поздних версиях.