区块链共识算法及其应用研究
【摘要】:自从2008年化名为“中本聪”(Satoshi Nakamoto)的学者发表的奠基性论文《比特币:一种点对点电子现金系统》[1]开始,比特币(Bitcoin)本身及其底层框架——区块链(Blockchain)技术都获得了学术界及工业界的广泛关注。尤其是近年来,区块链相关的技术和产业都得到了爆发式的增长,其应用范围已扩展至金融、物联网、公共服务、数字版权、医疗、车联网等领域。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,它本质上是一个共享的、容错的去中心化分布式数据库。在去中心分布式的场景中,区块链几乎要达到最高的容错等级——拜占庭容错。因此,很多区块链算法不得不牺牲一定的安全性或效率或去中心化来达到特定的目标性能。但即便如此,区块链技术的发展仍面临着诸多困难,包括但不限于:高昂的通信成本及存储成本造成的低吞吐量;网络环境的差异及迭代造成不公平竞争(例如,挖矿)和高度的中心化;量子计算未来会带来的对于区块链所需的密码学基础的毁灭性冲击。具体地说:首先,为了完成高容错性,区块链系统中的所有(全)节点必须备份所有必要的信息以达成共识,这必然导致复杂的通信任务,尤其在网络带宽拥塞时,系统的性能和效率将会大幅度下降,而且过多冗余的备份也对节点造成了巨大的存储压力,更糟糕的是大部分区块链系统的上述表现会随着网络规模的扩大而越来越差;其次,引起网络带宽不均衡的网络迭代升级(例如,4G到5G时代的过渡)会造成工作量证明(Proof-of-Work,PoW)型区块链系统的公平性失衡及中心化加剧,除非所有节点均放弃更大的带宽带来的更高的效率;最后,随着量子计算机的不断发展,区块链的经典密码学基础(例如:非对称密钥、哈希函数等)将被摧毁,根据Shor的算法[2],任何RSA安全系统完成的加密都将在短时间内解密,而传统的哈希操作也可以通过Grover搜索算法来加速[3]。因此,为了应对以上问题,本文提出了解决方案:两个基于量子纠缠的量子拜占庭共识协议,一个自适应的区块链分片扩展协议和一个针对PoW型区块链系统公平性的解决方案,此外,针对应用层设计了一个基于区块链的频谱管理系统和一个去中心化价格歧视解决方案。本文的主要研究成果如下:·在量子拜占庭共识协议的研究上,Fitzi等人和Gaertner等人提出的3方量子可检测拜占庭共识协议(Detectable Byzantine Agreement,DBA)[4-5]存在着无法扩展至多方情况、实用性较差以及效率较低等问题。因此,基于先前的工作,本文提出了一个更实用的协议,其可以扩展至包含任意t(tn/2)个错误节点的n节点网络,并且只需要一些非常简单的纠缠状态和少量的数字签名。本文的协议与激励机制相匹配,以实现最佳效率:只需要一轮的协议执行和O(mn)消息复杂度,其中m是常数参数。(在最坏的情况下,整个网络需要t+1轮和O(n2t)消息复杂度,但是奖励机制将有效地阻止这种情况的发生)。然后,为了突破经典拜占庭问题的限制,本文重新设计了共识的量子纠缠态,并提出了新的量子可检测弱拜占庭共识协议(Detectable Weak Byzantine Agreement,DWBA),DWBA协议不需要任何非对称加密的经典密码学基础,并且其实现了用有限的量子资源完成对无限经典信息量的共识(这是之前的协议没有达到的),此外它还可以容忍任意数量的错误节点,即,最优的容忍界。在效率方面,DWBA仅需要O(1)的通信轮次和O((n-t)2)的消息复杂性,这比之前的协议降低了一个数量级。·针对5G网络不断覆盖的场景,本文研究了底层网络(例如:网络带宽)的升级对于PoW型区块链突破当前的性能瓶颈(效率,安全性和去中心化)的效用及节点公平性、去中心化之间的制约关系。结论表明,除非所有节点都具有相同的优质网络资源,否则系统只能在公平性(或去中心化)和效率之间选择其一。这意味着PoW型区块链无法享受网络升级带来的突破,或者必须浪费某些节点的计算能力。无论如何,这将浪费大量资源。为此,本文提出了一种新颖的解决方案,可确保不浪费系统中的所有计算能力,同时通过节点之间的协作来实现对当前带宽资源的利用达到较高水平。此外,相关的原型实验表明,此解决方案在效率,安全性和去中心化性之间实现了出色的平衡。·目前,许多分片区块链协议牺牲了一些重要性能以提高可扩展性,这使它们复杂且不安全。此外,要实现恒定的(而不是线性的)交易通信成本(Communication Cost Per Transaction,CCPT)是许多分片协议面临的挑战。因此,本文提出了 EZchain,这是一种基于“被动分片”的可扩展的区块链协议,其可以达到比传统分片协议更高的安全性。使用固定的初始化参数,EZchain的CCPT期望值是一个常数,与网络的大小无关。此外,不需要信标链的EZchain节点的存储成本也接近恒定,并且不会随网络规模和交易的增加而变化。自适应分片也不需要交叉分片交易、网络分片算法和反Sybil攻击验证,因此EZchain非常简洁高效。此外,多达100,000个节点的原型实验也验证了 EZchain的性能,结果表明EZchain的设计满足了先前的预期目标。·在区块链应用层,本文提出了两个基于区块链的应用协议:首先,不断发展的5G和物联网(IoT)技术引起了人们对频谱的使用和管理的更多关注。区块链是一个很好的潜在解决方案,但是基于中本共识的方案具有较低的频谱利用率和高交易延迟。因此,本文提出了一种基于新型区块链的频谱交易协议—STBC(Spectrum Trading Blockchain),其旨在提高效率,简洁性和安全性。STBC使用一种新的共识机制来快速确认交易,同时最多容忍n/3个恶意节点(n是节点总数),并且其实现代码非常简洁。并且此协议采用类分片思想来提高系统的效率和扩展性。由于频谱交易的特殊性,需要保护交易节点的隐私。因此,本文提出了一种临时的匿名交易方案,可以有效地防止DDoS(Distributed Denial of Service)攻击。此外,理论分析表明,STBC还可抵御双花攻击。本文的协议的原型评估表明,与最新的区块链频谱交易方案相比,该协议将频谱利用率提高了约30%,同时将交易确认延迟减少了约12.5倍。其次,随着大数据和移动网络的发展,出现了严重的价格歧视,这损害了消费者的利益。为了解决这个问题,本文中提出了一种基于区块链的价格歧视解决方案。首先给出了价格歧视的数学定义,这需要系统满足一致性和及时性。分布式区块链可以使商家的不同定价对消费者透明,从而满足一致性。本文的协议的aging窗口和验证机制可确保在固定时间内,任何节点之间在价格共识或价格歧视方面都不会存在分歧,这符合及时性。此外,本文也通过原型实现和多达100个用户节点的实验来评估其性能。实验结果表明,本文的协议可以实现所有预期目标,并且可以以较高的概率保证最优价格的共识。