理论教育 技术问题及安全挑战:区块链跨链技术的限制与缺陷

技术问题及安全挑战:区块链跨链技术的限制与缺陷

时间:2023-07-08 理论教育 版权反馈
【摘要】:主要有两个方面的安全挑战:哈希函数的碰撞问题和量子计算。目前,主流的跨链技术有哈希时间锁定、公证人机制和侧链/中继链3种,但这3种跨链技术都存在自身缺陷,同时也无法避免在跨链交互过程中具有共性的问题。目前而言,区块链跨链技术依然无法实现真正的跨链。

技术问题及安全挑战:区块链跨链技术的限制与缺陷

1.共识协议安全威胁

共识协议是区块链的重要组成部分,在生成区块时需要依赖于区块链的共识机制来选择矿工打包区块。因此,黑客会针对不同的共识机制,采用各种手段来破坏共识原则。目前,主要的共识协议攻击手段有双花攻击、自私挖矿攻击(Selfish Mining)、短程攻击(Short-Range)、长程攻击(Long-Range)、币龄堆积、预计算攻击(Pre-Computation)、女巫攻击(Sybil Attack)等。

若需要完全解决上述安全威胁是非常困难的,但在不同场景下依然需要使用特定的共识机制来满足需求。因此,区块链安全研究人员可以从两个方面来进行研究和解决:一是深入分析不同共识机制的缺陷,针对这些缺陷采用合适的弥补方式来逐步完善共识机制的安全性;二是融合不同共识机制的优点进行互补或是设计更安全的新共识机制。

2.密码算法安全威胁

区块链底层本身采用了密码学算法的很多机制,例如,以太坊采用了Kec-cak256哈希算法和椭圆曲线密码学算法,比特币采用了SHA256、RIPEMD160哈希算法和椭圆曲线密码学算法。除了以太坊和比特币,其他区块链同样会使用一些其他的哈希函数、加密算法和数字签名方法来保证自身的安全性。就目前而言,这些正在使用的算法都是相对安全的,但在一些特殊情况或者面对未来发展的背景下,这些算法可能会变得不安全。主要有两个方面的安全挑战:哈希函数的碰撞问题和量子计算。目前,MD5和SHA1哈希算法都已经被破解,因此迫切需要在现有的基础上推进国密算法SM2/SM3/SM4,加快构建基于自主密码技术的区块链密码应用支持体系;[7]量子计算机的发展将会给现在使用的密码体系带来重大的安全威胁。区块链主要依赖椭圆曲线公钥加密算法生成数字签名来安全地交易,目前最常用的ECDSA、RSA、DSA、国密算法等在理论上都不能承受量子攻击,将会存在较大的风险,越来越多的研究人员开始关注能够抵抗量子攻击的密码算法,即后量子密码算法,如基于格、多变量、哈希和编码的密码。[8]

3.智能合约安全威胁

进入区块链2.0时代之后,智能合约成为区块链中必不可少的一部分,智能合约具备运行成本低、人为干预风险小等优势,但如果智能合约的设计存在问题,将有可能带来较大的损失。2016年6月,以太坊最大众筹项目The DAO被攻击,黑客获得超过350万个以太币,后来导致以太坊分叉为ETH和ETC。常见的智能合约漏洞主要被分为如下几类:重入漏洞、整数溢出漏洞、tx.origin和msg.sender混淆漏洞、拒绝服务漏洞、关键字过时、未检查返回值漏洞、短地址/参数漏洞、交易顺序依赖、合约构造函数与合约名不一致、时间操作/伪随机。

智能合约的安全威胁主要发生在开发者代码编写过程中,白帽汇安全研究院有如下几点安全建议和注意事项提示:[9]

(1)尽量避免外部调用;

(2)仔细权衡在发生重要操作时的代码逻辑,避免逻辑陷阱;

(3)处理外部调用错误;

(4)开发者必须对外部调用的控制流程有详细的了解;

(5)标记不受信任的业务内容;

(6)正确使用断言;

(7)小心整数除法的四舍五入

(8)不要假设业务创建时余额为零;

(9)记住链上的数据是公开的;

(10)在双方或多方参与的业务应用中,参与者可能会“脱机离线”后不再返回;

(11)明确标明函数和状态变量的可见性;

(12)将程序锁定到特定的编译器版本;

(13)小心分母为零;

(14)区分函数和事件;

(15)避免死循环;

(16)升级有问题的业务层代码。

除上述方式之外,对于重点链,特别是司法链,必须通过第三方安全机构进行审核,包括:

(1)函数可见性审核;

(2)合约限制绕过审核;(www.daowen.com)

(3)调用栈耗尽审核;

(4)拒绝服务审核。

4.网络安全威胁

凡是网络都会存在病毒类的恶意程序威胁,区块链系统也是一种新型网络架构。主要的威胁形式有BGP路由广播劫持、伪造数字签名和勒索病毒。

区块链底层主要是通过P2P网络来进行通讯,所以针对网络层的安全策略主要包含网络验证机制和P2P网络安全两个方面。

加强对访问者的访问审计,对于重要操作和信息,客户端节点需要进行必要的验证。使用https而非http,甚至采用基于国密SM算法的https。

5.用户使用安全威胁

区块链用户可以分为开发者用户和普通用户,不同的用户类型会执行区块链系统中不同的功能操作。攻击者会根据用户身份进行针对性攻击,主要分为节点暴露API接口和钱包私钥窃取两种情况。

普通区块链用户最关键的就是自己的私钥,黑客会通过各种手段来窃取用户的私钥,从而转移用户的数字资产。为了确保用户使用的安全性,简单方式就是将私钥记忆在脑中或者记录在纸上来抵御黑客的窃取。另外可采用密钥分割技术,将私钥分为两个部分,一部分存储在服务器中,另一部分通过加密存储到用户手机电脑里,这样即使一部分被盗了,得到的私钥也是不完整的,无法使用。

6.区块链跨链安全

随着区块链技术不断发展,各种企业级区块链平台也应运而生,导致区块链底层架构也变得类型不一。在整个司法应用中可能不仅涉及司法系统的不同部门甚至银行、政务、企业等部门,因此区块链跨链的需求也在持续上涨。目前,主流的跨链技术有哈希时间锁定、公证人机制和侧链/中继链3种,但这3种跨链技术都存在自身缺陷,同时也无法避免在跨链交互过程中具有共性的问题。

(1)哈希时间锁定:面临恶意节点建立多笔超时交易以及资金锁定需维持“热钱包”状态问题;[10]

(2)公证人机制:存在中心化特性,存在被伪装可信状态的风险;

(3)侧链/中继链安全问题:不能做到对主链数据的追溯,或是识别一些常见的区块链攻击现象,[11]要有完全可信度,否则将会导致参与跨链交互的区块链发送异常,甚至导致系统紊乱崩溃。

区块链跨链过程的安全性主要取决于不同区块链之间数据信息交互的原子性、同步性和网络通道的安全性。目前而言,区块链跨链技术依然无法实现真正的跨链。然而,量子物理学中的“量子纠缠现象”[12]非常适用于跨链数据的交互,因此将来区块链跨链领域的发展必然离不开量子物理在通信领域的突破。

7.性能问题

目前,影响区块链性能的因素主要包括广播通信、信息加解密、共识机制、交易验证机制等几个环节。[13]比如,共识机制的目标是使得参与节点的信息一致,但在高度分散的系统达成共识本身就是一件耗时的任务,如果考虑会有节点作恶,这会更加增加处理的复杂性。目前,比特币理论上每秒最多只能处理7笔交易,每10分钟出一个区块,相当于交易吞吐量为7,交易延时为10分钟,实际上,等待最终确认需要6个左右的区块,也就是说实际交易延时是1个小时。以太坊稍有提高,但也远远不能满足应用需求。

(1)广播通信

为了能最大限度地改善交易性能,推荐采用联盟链而不是公链,可以指定节点机器的物理配置和节点数量,并尽量以高速网络(如5G、专用网)进行连接,则可以很大程度上改善区块链的交易性能。

(2)信息加解密

现阶段采用安全性效率更高的国密算法SM2/SM3/SM4。

(3)共识机制

从PoW到PoS再到DPoS和各种拜占庭容错算法,共识机制不断创新,区块链平台性能也得到大幅提升。DPoS或PBFT的共识机制下,区块链上交易的确认很迅速,交易吞吐量也满足现有的金融交易规模,部分私链性能达到万笔/秒。

(4)交易验证机制

主要包括:隔离验证、闪电网络、RSK侧链、分片、分层等手段。这些方式主要是通过将部分链上任务转到链下或其他链进行处理,或者将整个交易分为几个部分并分别处理。另一种思路是调整共识机制。比如,EOS提出的DPOS等,会将共识限制在某一小部分被选举出的节点上,据此来加快共识达成、区块生成和运算的速度和效率,但是这种方式会加剧区块链的中心化程度,并且其安全性和实用性也有待进一步考察。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈