Stephan Profile picture
Aug 6 9 tweets 3 min read
1/ 听space做了一点笔记,包含space中老师讲到的 #MOVE 在安全层面的一些特性,以及与 #solidity 的对比,另外也加入了我自己的一些思考:

#MOVE #solidity #Starcoin
2/ 首先,为什么安全性在今天的web3领域如此重要?

来自慢雾的统计,2021年全年,区块链安全事件导致的资金损失高达98亿美元。

图片来源:
tuoluo.cn/article/detail…
3/ 可以看出DApp、DeFi、NFT、跨链的安全事件占比最大,这其中智能合约漏洞导致的安全事件非常多。在项目方角度来看,上线前的代码审计工作可能还待加强。但另一方面,有没有在代码编写之初就能够尽量降低安全漏洞风险的方法呢(毕竟审计还是属于事后工作)?这就引出了MOVE语言层面在安全性上的改进。
4/ MOVE语言的5大安全特性:

1. 分散存储
在MOVE中,每个用户账户的数据是分散存储的,这样即使合约存在漏洞,每个用户的数据也无法被黑客篡改。而Solidity中的所有账户数据是和合约一起集中存储的,一旦合约被黑,所有用户数据都会暴露在风险中。

我觉得这也是MOVE安全性方面最大的一个亮点。
2. 面向资源编程
资源可以定义为不可复制和丢弃的,对于链上资产,可以有效避免被无限增发或丢失(注意这是虚拟机层面可以保障的,也就是可以防范内存拷贝进行的漏洞攻击)。
3. 静态调用
solidity支持动态调用,这个特性会便于提供灵活性,但相对的也会有漏洞风险。而MOVE不支持动态调用,规避了可能的漏洞风险(灵活性可以通过泛型来实现)。
4. 更强的容错机制,例如防止溢出等
在solidity中可能出现一些溢出攻击,而在MOVE中如果溢出则会抛出异常回滚交易。
5. 形式化验证
MOVE的形式化验证特性不仅可以验证功能的正确性,还可以验证边界条件的正确性。这样可以有效降低合约逻辑bug导致的漏洞,同时也提升了测试的覆盖度。
5/ 以上是MOVE语言层面的支持,我理解语言的特性虽然不能规避所有安全问题,但可以有效降低出现安全漏洞的风险。就像穿防弹衣虽然不能避免被爆头,但还是比不穿的安全性要强很多。😆这种前置性的安全性提升,最终会体现在未来MOVE生态的安全漏洞数量和金额的降低上,让我们拭目以待!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Stephan

Stephan Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(