网赚论坛
标题: 【一期四团Day-9田宇】区块链安全问题 [打印本页]
作者: uzh17873kdh 时间: 2017-10-21 14:11
标题: 【一期四团Day-9田宇】区块链安全问题
区块链技术所具有的去中心化、去信任化、分布式、数据透明的特点,固然为金融系统构建乃至各个领域的发展提供了一种崭新的解决思路。但是,区块链的这些优良的特性,也存在一定的安全问题。
1 共识算法的攻击
在去中心化的区块链技术中,每个有意愿维护区块链的网络节点都拥有一份完整的区块链账本备份,并由网络中的共识节点执行共识算法来共同记录账本。而网络中正确的区块链账本,即为大多数网络节点所维护的账本。
在工作量证明算法中,存在51%算力攻击。如果某一个节点或由一些节点组成的组织掌握了全网超过51%的算力,他们就有能力将目前正在工作的区块链转移到另一条包含有恶意行为的区块链上,并使得全网节点在这条恶意的区块链上继续工作。由于比特币所使用的工作量证明算法的安全性依赖于其所消耗的巨大的算力,51%算力攻击曾一度被认为是难以达到的。然而随着矿池的出现,一个名为GHash.IO的矿池就曾经在2014年6月拥有全网51%的算力;因此,51%算力攻击的威胁始终存在,并且是可能发生的。
在权益证明算法中,存在有“无利害关系”攻击问题 (Nothing at stake) 。根据权益证明算法,在发生分叉时,节点将在这些分叉上投票,以决定哪一条分叉成为主链。但是,进行投票的节点可能因为私下接收贿赂等原因,做出影响原本判断的决定,从而造成选择分叉上的偏向。
在其他解决拜占庭问题的BFT算法中,共识节点做出正确的判断与网络中恶意节点的数目相关。目前,运行RPCA的服务器多数由Ripple实验室控制。如果由外界运行的服务器数量增加,一旦拜占庭故障节点超过阈值,则有可能阻碍Ripple网络的交易进行,甚至是被迫接受恶意交易。
2 哈希碰撞
在现有的区块链结构中,哈希值是保证区块链不可篡改的重要参数。如果可以构造出具有相同哈希值、但内容不同的数据区块,则可以在该数据区块上发生篡改。如果有足够多的节点共同实施篡改,其他节点将很难判断哪一个数据区块是正确的。2013年9月发布了为SHA-1、SHA-256和RIPEMD160碰撞设置的长期奖金。其中,SHA-1和比特币采用的Git版本控制系统相关,而SHA-256和RIPEMD160用于生成比特币的锁定脚本和解锁脚本。为获得这项奖金,参与者需要提交两个包含有不同数值的消息,但这两条消息的消息摘要相同。这项奖金迄无人领取,但这并不代表比特币中涉及到的哈希函数就安全。SHA-1算法曾一直被警告存在风险,而在2017年2月23日,荷兰阿姆斯特丹Centrum Wiskunde&Informatica研究所和谷歌公司的研究人员使用改进后的Shattered算法找到并公开了一例SHA-1哈希碰撞实例。这表示SHA-1已不再具有很好的安全性,需要被安全性更高的哈希算法代替。
3 编程安全
区块链技术通常依赖数学方法来建立信任关系,在应用过程中需要编写较为复杂的程序。因而在数学逻辑上,甚至是编程所使用的语言上存在的漏洞都将对区块链技术带来威胁。2010年8月15日,比特币区块链的第74638块上被发现了一条包含有92233720368.54277039 BTC的交易记录,而且这些比特币仅被发送到两个比特币地址。而导致这次攻击的原因,是由于比特币代码中的大整数溢出漏洞。为使这笔交易失效,比特币核心开发人员开发了比特币补丁版本,并启动了硬分叉。在33个区块的竞争之后,带补丁版本的区块链才成为主链,消除了原有漏洞的影响。
| 欢迎光临 网赚论坛 (http://www.caifuba.net/) |
Powered by Discuz! X3.1 |