Tor 项目完全使用 Rust 重写的 Tor 协议实现:Arti
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 以作为未来开发的基础。
本文转自OSCHINA
本文标题:Tor 项目完全使用 Rust 重写的 Tor 协议实现:Arti
本文地址:https://www.oschina.net/news/150525/torproject-arti
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的