5

为何Rust语言在区块链中应用广泛? - Reddit

 2 years ago
source link: https://www.jdon.com/62506
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

为何Rust语言在区块链中应用广泛? - Reddit


区块链初创企业是新而多,他们需要发挥他们的优势,他们还会以安全作为核心功能向人们推销:区块链的全部意义在于它提供了其他数据结构所没有的保证。而Rust很适合这一点,特别是考虑到智能合约的失败是多么具有破坏性。

Rust 不太容易出错,这意味着代码不太可能不会按照您阅读它时的预期执行(只要它可以编译)。对于智能合约来说,这是一个非常理想的功能,您必须对代码有 110% 的把握,因为在交易后无法修复它。第一次运行时,它必须坚如磐石。

Rust有一些相当杀手级的加密库,尽管Rust非常年轻,但由于社区中不同成员的艰苦努力,一些库是一流的。

Rust 在其设计中强制实施了一些非常重要的安全措施(内存、数据竞争……)以及许多可以使用宏对其进行扩展的方式。交叉编译也很容易,其中一些项目使用的一个好处是编译到 WebAssembly 以构建非常广泛的合约。当然,像 C 这样的其他语言也可以做到这一点,但是 Rust 工具链(即使我对它有一些问题)可以很容易地让一个简单的项目快速运行并交叉编译它。
还有一些像 libp2p 这样的库已经实现了区块链所需的许多东西。

例如:最先进的区块链框架之一,称为 Substrate,是用 rust 编写的,使新开发人员可以很容易地创建自己的链。

区块链工作基本上是基础设施工作,这意味着它必须是:

  • 尽可能安全

最重要的是,市场由年轻公司领导,没有太多技术债务或现有团队可以利用,因此在这种情况下,Rust 更有意义。

一旦有几家公司在Rust上下注,其他公司不这样做也是白费力气,所以你会产生连带效应。这就像 "为什么没有人用Rust重写所有的数据科学库 "一样,因为那是工作。

特点总结:

  • Rust 是一种理想的智能合约语言:它是类型安全的、内存安全的,并且没有未定义的行为。它生成小的二进制文件,因为它不包含额外的膨胀,如垃圾收集器,高级优化和树抖动删除死代码。通过编译器标志,Rust 可以自动防止整数溢出。
  • Rust 生态系统:您可以免费获得 Rust 生态系统的所有支持。随着语言的发展,将自动获得对新特性和功能的访问权限,从而改进您将来编写智能合约的方式。
  • 工具:遵循 Rust 标准,诸如 rustfmt、clippy 和 rust-analyzer 之类的工具已经开箱即用。大多数现代文本编辑器中的代码格式和语法突出显示也是如此。Rust 还有一个集成的测试和基准运行器,
  • 无开销:最少的运行时间。
  • 安全和高效:零成本和安全的抽象。
  • 生产力: Cargo + crates.io生态系统。
  • 一流的 Wasm: Rust 为 WebAssembly 提供一流的支持。
  • 小尺寸:在空间受限的区块链世界中,尺寸很重要。Rust 编译器对此有很大帮助,因为它重新排序结构字段以使每种类型尽可能小。因此,Rust 数据结构非常紧凑,在许多情况下甚至比 C 中的更紧凑。

 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK