Sam Blackshear谈Move内置安全性

Move通过内置安全性设计,防止常见的安全漏洞并帮助开发者编写安全代码。

Sui中文小助手
Sui Network CN
Published in
May 17, 2024

--

Move编程语言通过防止重入攻击并在对象元数据中包含所有者信息,内置了关键的安全机制。Mysten Labs的联合创始人兼首席技术官Sam Blackshear介绍了Move作为一种智能合约语言,旨在处理金融交易,并帮助开发者编写最安全的代码。

视频内容

编写安全智能合约的任务比在其他环境中编写安全程序要困难得多。由于智能合约的代码是公开的,因此我们在Move早期的许多工作都是围绕如何实现链上合规,如何编写100%安全的代码,这是因为智能合约往往是管理资金。当你看智能合约编程语言的安全问题时,有两点会反复出现,而我们通过在Sui上的Move设计成功避免了这些问题。

首先是重入攻击,它的根本原因在于可以进行所谓的动态调度,即在智能合约中,有一个函数的定义对智能合约开发者来说是事先未知的。这基本上给了攻击者一张空白支票,可以用任何他们想要的代码来填补这一空白。对于尝试编写安全代码的人来说,这是非常难应对的,因为你不知道那段代码会做什么。它可能会以非常难以预料的方式影响你的状态、对象或资产。使用Move,我们通过设计防止了重入攻击。每次调用一个函数时,所调用的代码是静态已知的,这使得编写可预测的代码变得非常容易,也使得推理你的代码变得非常简单,从而消除了最大的一类黑客攻击来源。

其次是访问控制检查,最常见的访问控制策略是这有一个所有者,只有所有者才能触摸它或发送修改它的交易,或类似的策略。在其他地方,一个很常见的漏洞来源是你忘记了这些检查。而在Sui中,你永远不需要编写这些检查,因为对象由元数据构成,最重要的元数据之一就是对象的所有者。所有者可以是几种不同的事物,也可以是一个单一地址,这是最常见的情况。这使我们能够避免这一常见的检查类别。对于智能合约程序员来说,这是最重要的事情。每次我们添加一个功能或做一些新的事情时,我们会确保安全始终是首要任务,并会问自己,这可能会出什么问题?我们能否设计一种方法,完全消除这些问题,使开发人员无法遇到这些问题?

Move的持续开发提高了其效率和开发者体验。

立即迁移到Move 2024

关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网英文Twitter中文TwitterDiscord英文电报群中文电报群

--

--