密码学Sui

在我们推出Sui 的同时,我们希望分享我们在Sui 中加密技术的最佳实践,以及我们支持某些算法和基元的原因。

密码学Sui

Sui 具有分布式性质,由不同的验证器组成网络,并收集所有和共享对象,因此需要强大的现代加密技术来确保系统的安全性和信任度。用户在进行链上活动时,需要依靠加密技术来确保钱包中资产的安全,而开发人员在构建智能合约时,则需要使用加密原语工具包。强大、有效和高效的加密技术是Sui 区块链的核心支柱。

在我们推出Sui 时,我们希望与大家分享我们在Sui 密码学方面的最佳实践,以及我们支持某些算法和基元的原因。我们的理念适用于从用户钱包密钥管理到链上Move 功能的方方面面。

开发 fastcrypto

为了便于维护和使用,我们引入了 fastcrypto加密库,作为一个独立的 板条箱以鼓励在Sui 生态系统内外的不同应用中重复使用。

我们在开发 fastcrypto 时考虑了以下最佳实践:

  • API 的稳定性和安全性:始终用我们自己的 structs/trait 封装 struct 和 trait,而不是直接公开它们。这有助于避免 Rust 的孤儿规则并将 fastcrypto 应用程序接口与依赖关系解耦。
  • 谨慎选择板条箱:选择安全、性能高、确定性强且易于使用的库。
    有观点的行业标准:如果存在标准,则遵循标准,但如果我们认为标准更安全,则支持更有主见的版本。
  • 关键管理安全:实施 清零和 ZeroizeOnDrop。尽可能选择固定大小的密钥,防止可篡改性,增加额外的安全属性(如新颖的密钥持有证明和域分离策略)。
  • 不透明的错误处理:一旦函数执行了加密协议/算法,它就不应返回明确的错误,否则可能会泄露私人信息。
  • 稳健的测试和基准:在可能的情况下,每个基元都要根据通用测试向量和任意输入进行测试,并设定基准以确保性能。

根据这些原则,我们实施了一系列高度优化的密码原语,并为签名方案、编码算法、可验证随机函数和零知识证明提供了大量基准。我们计划为各种密码操作引入更全面的时间戳基准,并利用 EdDSA 签名的半聚合、预计算表和改进的批量验证器等技术进一步改进结果,以实现压缩和性能提升,目前已经取得了一些创世界纪录的速度结果。

此外,我们还在开发一套零知识证明功能,该功能的实现速度是 Groth16ZKP 校验器的最快实现之一。

开发钱包

Sui 钱包和 Typescript SDK 共享相同的加密后端实用程序实现。除了 Rust SDK,我们还为钱包开发人员提供了一个参考的 钱包实现工具包我们遵循加密货币行业公认的密钥管理标准。
我们还在Sui 钱包中开发安全可用的交易预批准设计,用户可以安全地批量签署符合特定条件的交易。通过消除逐个签署交易的需要,Sui Wallet 可以轻松实现链上游戏,释放Sui 网络快速执行的全部潜力。

Sui其固有的加密灵活性意味着它可以接受多种类型的用户签名方案,而且Sui 可以快速切换验证器共识签名方案。这种设计还可以进行系统级基准测试,以实现可观测性。

密码学Move

Move 中的链上加密原语就是基于这些考虑实施的:

  • 区块链生态系统中的标准(如 Merkle Tree、ECDSA 验证签名)。
  • 支持跨链和链外应用(如以太坊的 keccak256 和 ecrecover)。
  • 启用利用Sui 作为高性能区块链的新应用(如保密代币和去中心化随机信标)。
  • 实现全面创新(例如,新的区块链优化 BLS12381 聚合方案、更快的零知识证明验证、新颖的智能合约抽奖方案)。

打造安全的网络3 未来

Mysten Labs 开发的Sui 是面向对象的第 1 层区块链。作为 web3 分布式基础设施的重要基础,Sui 需要赢得当前社区和所有未来用户的信心和信任。Sui 在开发过程中采用了上述加密技术的最佳实践,我们提供工具帮助开发人员构建应用程序,为用户提供最安全的体验。

在不久的将来,我们的博客文章将涵盖钱包规范、加密技术敏捷性、加密基元和加密库基准测试等主题。密码学领域有很多主题,我们将通过培训区块链社区,帮助开发人员构建最安全的应用程序,以此表明我们对技术这一组成部分的坚定承诺。敬请期待,因为在我们的加密博客系列中,您很快就会注意到我们业界领先的加密和系统研究团队公布的新算法和令人兴奋的成果。