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

2022-07-13 14:43 栏目:行业动态 来源:网络整理 查看()

文:袁立伟

编者按

自2021年火爆以来,海外NFT一直受到市场的广泛关注和讨论。然而,NFT在海外市场的产品逻辑与国内数字收藏并不完全相同。作为区块链的新应用,如何保证数字收藏的安全性是很多玩家非常关心的问题。本文是蚂蚁链资深技术专家袁立伟在莱卡智库“数字收藏热NFT下的冷思考”研讨会上分享的观点。

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

蚂蚁链一直非常重视安全问题。无论是智能合约的安全性,新编程范式的采用,还是联盟链的基本要求,我们始终在寻找更强的安全保障。

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

在参考这些漏洞的同时,蚂蚁链的智能合约也有专门的安全团队做智能合约的安全审计。该团队将在产品上线前检查所有合同。至少在蚂蚁链内部团队的审计报告中,产品会上线,没有任何安全漏洞。

第二点,关于线性语义。如今,中国人人都在谈论数字馆藏。怎样才能更好的保证它的安全?除了在智能合同审核上下功夫,蚂蚁链还可以有更强的保障。我们借用了一个新的编程范式“Move”。

什么是“动”?如果你关注这个行业,你应该知道,2018年,脸书的扎克伯格提出了Libra计划,其中Libra chain的白皮书首次提到了智能合约的一种编程语言“Move”。“移动”所代表的线性语义是什么意思?听起来很专业,但概念不难理解。可以用一个简单的例子来说明。

比如支付宝转账A和B的余额,A减100元,B增100元。如果A转账给B,需要在线对账。有时候,这里可能没有加B,也可能加错了(比如加了两次)。——B加了A的100元转账。第一次添加成功,返回给A的接口没有收到,系统再次转账,导致B加了200元。这种问题在早期的交易系统中很常见,需要通过对账来解决。后来因为各种基础组件和交易机制越来越完善,这些共性问题少了,但本质上还是要和解的。

“移动”提供了一种新的编程范式。以甲从100元转账给乙为例。在“动”的语义下,这100元钱不是B减少或增加,而是a 100元“动”到B,所以定义为“动”的特殊语义,保证A的100元要么“动”到B,要么不动,从而避免了A减100元,B不加或B加两次100元的情况。我们设计猎鲸的时候借鉴了这种线性语义,所以蚂蚁链上的数字集合不是传统的加减逻辑,而是“动”的语义。这样保证了产品不会因为一些特殊情况而“消失”或“增加”。这个功能是我们目前在安全方面做得比较好的。

第三点,就是关于联盟链。相比公链,联盟链的安全性更有保障。公共链的特点是随意访问,任何发现它有漏洞的人都可以攻击它。如果一个公链能活很多年,最后没有被黑客发现大漏洞,说明它的代码安全系数非常好。在联盟链中,网络接入需要认证,比如现在是基于CA证书。没有我们授权节点的证书,你不能加入网络。从这个角度来说,相当于挡住了很多潜在的黑客,根本没有机会进入网络。

综上所述,联盟链其实是一个很大的防火墙,只是这层不能作为最后的保障。最后的保证是智能合约本身应该是安全的。同时,前面提到的使用线性语义来保证资产的安全性,如果是非资产逻辑中的东西,也需要智能合约的审核来保证。

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

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发