Tor 宣布了完全使用 Rust 重写 Tor 协议实现的项目,被称为 Arti。
据介绍,其开发团队已经在这个项目上工作了一年多的时间,由于得到了 Zcash Open Major Grants (ZOMG) 的资金支持,他们可以把 Arti 项目放在优先级列表中,并投入更多的时间。
Tor 是一组可以在互联网上提供匿名性、隐私性和抗审查性的协议,同时也是一个用 C 语言编写的程序,提供了协议的客户端和服务器端实现。
开发者表示,Tor 是用 C 语言编写的。尽管 C 是一门古老且无处不在的语言,但众所周知,它使用起来很容易出错,而且 C 缺乏高级功能,使得许多编程任务比使用更现代的语言更复杂。对于他们来说,这些问题意味着用 C 编程是一个缓慢而艰苦的过程。他们编写的所有代码都比计划的要多很多,而且还需要仔细检查以确保它不会落入 C 的“巨大陷阱”。这严重拖延了开发进度,并增加添加新功能所需的成本。
在这样的背景下,Rust 似乎是摆脱 C 束缚的方法。它是一门现代的高级语言,并且比 C 更具表现力。更重要的是,它具有一些真正创新的功能,可以让该语言在编译时强制执行某些安全属性。这对于 Tor 开发者在编程和调试方面带来了许多便利之处,此外对于项目本身而言,也增强了安全性和可靠性,比如更容易实现多线程加密。
开发者还指出,自 2016 年以来,他们一直在跟踪在 Tor 中发现的所有安全漏洞,结果证明其中至少有一半错误不会在 Rust 代码中出现。
开发者原本的计划是慢慢地用 Rust 替换 Tor 的 C 代码,但发现这样行不通,原因是 Tor 项目的 C 模块过于耦合,所以他们很无法逐渐地使用 Rust 重写每一个 C 模块。因此他们决定重写,这样就可以保持现有的 C 代码稳定性,并且只对其进行最少的更改,同时构建 Rust 代码的 work base 以作为未来开发的基础。
ps:Rust更具表现力?Rust更安全?你怎么看?
往期精彩回顾
华为:谷歌改用AAB格式 HarmonyOS无影响
Linus:硬件日新月异,但对我们来说不算什么挑战
情感分析神器!再也不怕女朋友生气
觉得不错,请点个在看呀
文章评论