合约漏洞、黑客攻击……从业者论道区块链技术安全

作者 | 冯铭 编辑 | 尹岳  

2020年10月27日 10:28  

本文2948字,约4分钟

国家标准《信息安全技术区块链信息服务安全规范》研制启动会于10月19日召开,将区块链的安全问题提升到政府层面。

区块链在安全方面主要遇到了哪些问题?如何解决?在区块链应用落地项目中,应该如何进行风险防范?《链新》采访多名国内外区块链行业从业者,分享了他们的观点。

吴思进,杭州复杂美科技有限公司创始人兼CEO、中国联通区块链顾问;

郑淳亨(Kevin Jeong),韩国区块链项目Tokamak Network联合创始人兼CEO;

李喆,区块链咨询顾问公司PANONY分析师。

《链新》:区块链技术目前还处于早期阶段。在行业发展过程中,区块链在安全方面主要遇到了哪些问题,如何进行解决?

吴思进:目前区块链的安全主要涉及三个方面:代码安全的问题、隐私安全的问题和私钥保管安全的问题。其中,代码安全的问题可以分为两类:一类是平台自身的系统的安全问题,还有一类是用户写合约的安全性。平台安全问题其实是不可能完全解决的,目前还没有任何一家公司有这个实力。我们要做的是,在平台发生漏洞的情况下,需要有时间达成共识实现补救。

区块链是一个公开的数据库,任何交易都是公开透明可以验证的。但是很多时候,我们并不希望是这样的。目前解决隐私安全主要可以通过环签名、零知识证明这两个方式。

区块链最主要的突出的问题就是私钥的丢失、被盗的问题。一个方法是,授权另外一个私钥也可以转移资产,但是这个私钥的权限比较低,他转移资产需要1个月才能完成,中间如果发现转移资产是非法的,可以用原先的私钥实时把资金转走。还有一个比较好的方案是多重签名机制,资产放到多重签名的地址上,这样系统的安全性也会提高。而且这两种方法可以结合起来,让系统更加的安全。

郑淳亨:在我们提高区块链性能的过程中,矿工(或区块生产商)可获得数据审查权的中心化风险会随之增加。而带有审查阻力的区块链二层协议将会是答案。我们是一个基于以太坊的二层协议,通过使用Plasma、Roll-up等技术,在不改变以太坊自身安全性和数据可用性的前提下,赋予更高级别的互操作性、可扩展性、功能性和可用性。任何人都可以按需部署二层协议(Layer 2)解决方案,以满足其对可扩展性的特定需求。

李喆:从DApp层面来看,近年来的安全问题主要是黑客攻击,手段主要有溢出攻击、随机数问题、重放攻击、假币攻击、假转账通知、拒绝服务攻击、敏感权限、私钥泄漏、交易回滚攻击、内联反射攻击、同名混淆交易等等,总体方式的演变遵循系统攻击——程序的逻辑漏洞——程序的算法漏洞——综合手段攻击,现在的黑客也会综合使用多种攻击手段逐个尝试。从交易所的角度来看,黑客通过获得私钥、恶意代码等手段入侵平台热钱包是最常见的攻击手法,此外还有DDoS攻击、欺诈交易、利用交易代码漏洞等。

《链新》:为了最大限度保证应用项目的安全,在选择共识机制时,需考虑哪些因素?此外,共识机制其实涉及区块链的不可能三角问题,您如何看待区块链的不可能三角问题?

吴思进:简单的说,目前还没有一个系统,做到了去中心化、可扩展性和安全性。但是,不代表未来做不到。未来的区块链一定会实现这三个安全性,目前我们也在往这个方向努力,并做出了一些成绩。比如平行链架构已经非常接近解决这个不可能三角:实现的方法是业务逻辑和数据进行分离。不同的平行链之间共享安全性。

至于共识问题,基本上可以分为三大类:POW(物理算力)、POS(资金算力)、投票(各种BFT算法)。共识有一个共同的目标,就是防止历史数据被篡改。

POW和POS一般用于公链,而且是公链系统的主流共识算法。他们有去中心化的优点,但是都有一个重要的缺点,那么就是数据可能会回滚。基于投票的共识有很多,比如:pbft,tendermint,还有facebook的hotstuff,他们实现的原理类似,唯一的不同是信息复杂度不同,对于节点数比较少的情况下,差别不大,但是节点数超过100个的情况下,hotstuff可以显著减少信息传递的数量。

郑淳亨:与其试图解决区块链不可能三角问题,倒不如更多地对已优化稳定的现有区块

链功能进行扩展。比特币、以太坊花了5年多的时间才实现了用各自的共识机制来保护数千个分布良好的节点,而创建一个扩展链则更容易实现。区块链二层协议或许是补充区块链三难困境的一种选择。

《链新》:鉴于当前的技术缺陷,在区块链应用落地项目中,应该如何做好风险防范?

吴思进:技术总是在发展的过程中,在实际应用中,很多技术需要做一定的妥协。比如,在合约存在漏洞的情况下,合约管理机制就非常重要。在存在漏洞的情况下,如何去识别,以及如何根据预定的流程去修复漏洞,尽量减少损失。这样的做法有点中心化,但是,在技术不成熟的情况下,作为防范的防范是必要的。否则,出现问题什么也做不了,会产生更大的损失与恐慌。

郑淳亨:先要认清,区块链是一种不同于互联网服务的技术,这是比较重要的。在区块链技术的应用过程中,除了需要有一个独立的网络浏览器之外,还必须加载一个钱包程序(如metamask)。另外,还需要支付与现有互联网服务不同的额外网络费用。即使你可以接受所有上述的成本,这个区块链应用必须要有一个“非用不可”的理由,否则其最终只能是成为一个“无人使用的应用程序”。

李喆:从代码层面来看,安全审计可以在一定程度上防范风险。现在已经有不少项目重视这一点,比如一些公链会请多家第三方安全公司进行定期审计,很多应用项目也会在上线前进行安全审计。另一方面,从用户角度来看,个人也需要提高安全意识,尤其是加强私钥管理,警惕钓鱼网站,使用冷钱包等等。

《链新》:未来,随着我国《安全规范》标准的制定和出台,对行业将产生哪些意义和影响?

吴思进:现在行业内对自己的系统都说是非常安全的,至于为什么是安全的,很难有说服力。如果《安全规范》出台,那么至少可以说你的系统是符合《安全规范》的,是比较安全的。《安全规范》出台后,行业内部的企业一定会研究,并且会让自己的系统符合《安全规范》,最终会促进行业系统整体的安全性。

李喆:区块链技术的发展过程带有浓厚的的极客色彩,异质性高。目前,全球范围内,区块链技术在基础架构设计、智能合约部署、数据隐私保护、治理、合规监管、安全等方面都缺乏标准体系。但区块链技术的标准化程度低,客观上制约了其在各种场景中的规模应用。为了推动区块链技术的落地应用,制定通行、普适的区块链标准是必要的。而且,区块链作为一种新兴的技术,制定通行标准相当于制定基础设施的准入标准,甚至标准将会左右未来“区块链+”的发展。

此次《安全规范》标准重点关注区块链信息服务安全风险,这对区块链行业的发展而言也是迫切需要的。安全是区块链的基石,区块链作为解决信任的机器,如果不安全,那么信任也无从谈起,尤其是目前区块链广泛应用于金融和政务场景,资产安全和数据安全尤为重要。可以预见,《安全规范》的制定与未来落实,将对规范区块链技术,提高区块链项目整体的安全性能有积极影响。如果底层技术的安全性得到质的提升,那么在此之上的应用项目的安全性也将会得到提升,这有利于区块链技术的推广和应用。