【北京,2023年4月20日】随着区块链技术的快速发展,越来越多的开发者将目光投向了Sui——这个新兴的高性能区块链平台。Sui以其独特的技术优势,为用户提供快速、安全的交易体验。然而,如何确保Sui智能合约的安全性,成为了一个亟待解决的问题。近日,慢雾安全团队发布了Sui-Move合约审计入门指南,旨在帮助开发者更好地理解Sui智能合约的安全风险,并提供实用的解决方案。
Sui平台概述
Sui是一个由慢雾科技开发的高性能区块链平台,具备多项创新技术和独特性。与其他区块链常用的编程语言(如Solidity)不同,Sui使用Move语言,在一定程度上能解决Solidity高发的漏洞问题,如重入攻击、整数溢出、双花、DoS攻击和编译器问题,但避免不了开发者在代码中引入错误。因此,开发者在使用Sui时需要了解并注意一些独特的功能或特性,确保智能合约的安全性。
慢雾安全团队发布Sui-Move合约审计入门指南
慢雾安全团队整合吸收了Sui社区分享的安全开发实践,并结合自身多年积累的安全审计经验,发布了Sui-Move合约审计入门指南。该指南旨在帮助开发者更好地理解Sui智能合约的安全风险,并提供实用的解决方案,以降低潜在的安全威胁。
关键知识点
-
模块声明和可见性
-
public(friend) 函数(在最新的Sui版本中 public(friend) 被替换成 public(package))
- 定义:用于声明函数,使其只能被指定的友元模块访问。这提供了更细粒度的访问控制,介于 public 和 private 之间。
- 示例:…
-
entry 函数
- 定义:entry 函数是模块的入口点,允许从事务块中直接调用。参数必须来自事务块的输入,不能是块中先前事务的结果或被修改的数据。此外,entry 函数只能返回具有 drop 能力的类型。
- 示例:…
-
public 函数
- 定义:public 函数可以从事务块和其他模块调用,适合外部交互。在参数和返回值上没有和 entry 函数一样的限制,通常用于将功能暴露给外部。
- 示例:…
-
-
对象管理
-
对象的唯一性
- 定义:每个Sui对象都有唯一的 objID,确保了对象在链上的唯一性。
-
包装和解包
- 定义:直接包装:将一个Sui对象作为另一个对象的字段,解包时必须销毁包装对象。对象包装:包装后的对象成为另一对象的一部分,不再独立存在。解包后对象的 ID…
-
结语
Sui-Move合约审计入门指南的发布,将为Sui智能合约开发者和安全研究者提供有益的参考。随着区块链技术的不断进步,安全风险也将随之增加,因此,加强智能合约的安全性至关重要。慢雾安全团队将持续关注Sui平台的安全动态,为用户提供更多优质的安全服务。
阅读完整指南,请访问GitHub:Sui-Move合约审计入门指南。
Views: 0