MOVE:浅论国内数字藏品的技术安全问题

文:袁立威

编者按

海外NFT自从2021年火爆出圈以来,受到市场的广泛关注和讨论。然而,海外市场的NFT的产品逻辑与国内的数字藏品并不完全一样。数字藏品作为一种区块链新应用,如何从技术上保证其安全性是众多玩家都十分关心的问题。本文是蚂蚁链高级技术专家袁立威在来咖智库“数字藏品&NFT火热之下的冷思考”研讨会上的观点分享。

在互联网领域,安全的问题是永恒的话题。即便是已经非常成熟的Windows操作系统,仍旧需要不断地打安全补丁。在我看来,安全的实质就是攻防双方的不断演进。所谓道高一尺魔高一丈,攻防两方其实是互为强弱的关系,没有绝对的安全,也没有绝对的不安全。

Magic Eden正式上线Ordinals API:金色财经报道,据NFT市场Magic Eden旗下比特币平台在社交媒体披露,Magic Eden的Ordinals应用程序接口(API)已经正式上线,接口文档也已经发布在其官方网站平台,可供比特币建设者在此基础上构建。Magic Eden表示上线Ordinals应用程序接口旨在鼓励可组合性、创新解锁,并且与更多开发者一起持续构建Ordinals 生态系统。[2023/6/7 21:20:52]

而蚂蚁链对安全问题一直都非常重视。无论是智能合约的安全性、新编程范式的采用和对联盟链的基础要求上来讲,我们都一直在寻求安全性的更强保证。

日本IT巨头GMO Internet推出NFT域名服务:7月27日消息,日本IT巨头GMO Internet宣布,其通过与美国NFT域名发行商Unstoppable Domains合作,已推出NFT域名服务“Crypto Name by GMO”。GMO称通过该服务旨在推动NFT域名在日本的普及以及拓展Web3市场。

此外,GMO发布“Crypto Name by GMO”的路线图,将于9月份支持NFT域名代理注册,并于2023年开始自售NFT域名并与GMO旗下NFT市场Adam by GMO达成合作等。(Coinpost)[2022/7/27 2:40:25]

第一点,关于智能合约。鲸探是基于智能合约开发的,在智能合约的安全性上,目前业内会有一些积累。众所周知,现在国内外有一些可以进行智能合约审计的公司,它们会审计从最早区块链到现在几十种比较常见的漏洞,最基本的例如像整数的溢出或重入问题,等等。

Lossless Protocol已阻止Horizo??n攻击事件中的7800万枚AGG代币被盗:金色财经消息,在Harmony跨链桥Horizo??n攻击事件中,DeFi黑客识别与激励协议Lossless Protocol成功阻止7800万枚AGG代币被盗。其中在黑客进行攻击时,对应恶意交易被报告为Lossless Protocol上的黑客攻击,从而将7800万枚AGG代币有效冻结了24小时。按规定,在这24小时内,由代币所有者,Lossless技术团队和安全委员会组成的决策机构需对报告进行调查,然后投票决定黑客攻击是否得到确认。决策机构很快结束了对黑客攻击的调查,并于UTC时间6月24日下午3:17成功找回了被盗的7800万枚AGG代币。

此前报道,6月24日以太坊与Harmony间跨链桥Horizo??n遭到攻击,损失金额约1亿美元。[2022/6/27 1:33:38]

蚂蚁链的智能合约在参考这些漏洞的同时,内部还有一个专门的安全团队做智能合约的安全审计。这个团队会在产品在上线前将所有的合约都去做卡点。至少在蚂蚁链内部团队的审计报告里面,没有任何安全漏洞的情况下产品才会上线。

MakerDAO投票决定在3个月内用300万DAI进行MKR回购试验:6月24日消息,MakerDAO投票决定在3个月内用300万DAI购买和销毁MKR,通过部署试运行DssKiln来实现整个过程,MakerDAO旨在让其金库维持高于当前水平的盈余缓冲,以降低未来债务拍卖中MKR铸造崩盘事件的可能性。

据悉,该提案是Restart the burn SR V2提案的升级版本。而DssKiln是一个无需许可的代币购买和处置工具,将直接使用DAI从Uniswap市场购买MKR并通过调用MKR的burn()功能来销毁它们。[2022/6/24 1:29:08]

第二点,关于线性语义。今天国内大家都在谈论数字藏品,怎么能够更好的保证其安全性?除了在智能合约审计这方面下功夫,蚂蚁链还可以有一个更强的保证,我们借鉴了一种新的编程范式“Move”。

何为“Move”?如果大家关注这个行业,应该知道在2018年,Facebook的扎克博格提出的Libra计划,其中Libra链的白皮书,率先提及了一种智能合约的编程语言“Move”。那“Move”所代表的线性语义是什么意思?听上去很技术,但概念不难理解,通过一个简单的例子就可以说明。

例如,支付宝做A与B之间的余额转账,A减少100元,B增加100元。假如A给B转账,网上需要对账。有时候就会出现B这边可能没有加,或者加错了(如加了两次)的情况——B加了A的100元转账,第一次加成功了,返回给A的接口没有收到,系统又调取了一次,导致B加了200元。早期的交易系统里面这种问题很常见,就需要通过对账来解决。后来,因为各种基础的组件和交易的机制越来越完善,这些常见的问题就少了,但是本质上还是需要对账的。

而“Move”则是提供了一种新的编程范式。仍旧以A转账100元给B为例。在“Move”的语义之下,这100元钱不是A减少或者B增加,而是A这100元“Move”给B,所以定为一种叫做专门“移动”的语义,这就保证了A的100元,要么“移动”给了B,要么没有移动,从而避免出现A减100元,B没有加或者B加了两次100元的情况。我们在设计鲸探的时候,就借鉴了这种线性语义,所以蚂蚁链上数字藏品并不是走传统的加减的运算逻辑,而是“Move”语义。这样就保证了产品不会因为一些特别的情况出现“消失”或者“多增”。这个特点是我们目前在安全上面做得比较强的点。

第三点,就是关于联盟链。相比公链,联盟链的安全性更有保障。公链具有随便加入随便访问的特点,任何人发现它有漏洞就可以去攻击。如果一个公链能活多年,最后都没有大的漏洞被黑客发现,说明它的代码安全系数是做得非常好的。而在联盟链里,网络准入需要有认证,例如现在是基于CA证书的认证。如果没有我们授权节点的证书,就无法加入网络。从这个层面来看,相当于挡掉了许多潜在的黑客,它根本就没有机会进到网络里面来。

总结来看,联盟链其实是一个很大的防火墙,但是这一层并不能把它作为一个最终的保障,最终的保障还是说智能合约本身要安全。同时,前面谈到的使用线性语义来保证资产的安全,如果是非资产逻辑上的一些东西,它还需要智能合约的审计来保证。

作者:袁立威?蚂蚁链高级技术专家

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:519ms