区块链基础架构与共识机制
2019-04-02袁琛
袁琛
摘 要 2008年,中本聪发表了一篇关于比特币的论文,首次建立了点对点电子现金系统的概念,为缺乏第三方可信平台和交易双方互不信任情况下交易活动的安全进行提供了一种选择。区块链技术是这种点对点电子现金系统的技术基础和关键核心,是一种全新的去中心化结构。现阶段,学术界对区块链技术的研究才刚刚起步,研究成果较少且尚未成熟。在本论文中,笔者首先对区块链技术的基础架构进行分析,然后对区块链的特点进行了分析。然后对区块链技术使用中的公示机制进行了介绍,并对比了其特点。文章对于区块链技术的发展有较一定的理论指导价值。
关键词 区块链;特点;共识机制
中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2019)230-0153-02
1 区块链基础架构及其特点
区块链在比特币系统中是作为一个分布式共享账本的形式存在,同时也是比特币的底层技术,在其中发挥连接沟通的作用,使得网络中所有节点之间形成稳定的信任关系。有关区块链的含义,学术界有着狭义和广义两种说法,前者认为区块链本质上是一种数据结构,负责将数据信息进行封装,并以时间顺序进行排序,同时对内容进行加密,确保其不可伪造和篡改。后者则认为区块链实质上是一种以块链形式数据结构存储和验证数据、以分布式共识算法生成和更新数据、以密码学方式加密数据保障传输、同时以自动化脚本代码进行数据运算和系统运转的分布式构架。
传统的第三方支付平台是一种中心化的数据库,网络中所有的交易行为和交易信息必须经由这个中心数据库完成和记录,因此需要确保中心与各节点之间的畅通,维护成本高,难度大[ 1 - 3 ]。
而区块链是一种去中心化的数据库,去除了传统第三方支付平台中的中央数据库,继而由网络中千千万万个节点来共同承担数据库的作用,储存和维护发生在网络中的每一笔交易信息,因此,每个节点既扮演数据库维护者的角色,也发挥数据共享者的作用。然而,在区块链系统中,仅仅做到去中心化还不能完全保障数据安全,还需将网络中各个区块之间进行链接,共同记录和监管所有的交易数据。在区块链中,各区块之间是一种共生的关系,即下一区块的内容由上一区块的内容决定,区块之间环环相扣,若要更改其中一个区块的内容需要获取其他全部区块的认可,因此难度极大,继而确保了数据的安全性[ 4 ]。
一般来说,区块链的基础架构由数据层、区块层、网络层、共识层和激励层、应用层五层构成(如图2所示)。底层数据全部保存在数据层中,为了确保其安全性,采用了非对称加密、哈希算法、时间戳、Merkle树等密码学技术进行加密;区块层中包括了区块之间的连接方式及其内部结构;网络层是对数据安全性进行验证的,其应该是对数据的安全性进行验证,除此之外,还要对信息的传播方式进行协议的统一。如图所示,图中的激励和网络层使用封装的方法,对各节点之间的共识机制、经济激励发行机制和分配机制;顶层应用层则包括区块链的各种应用场景和案例。链式区块结构、分布式节点的共识算法、哈希值、非对称加密、智能合约、经济激励机制等基础技术是该模型的核心部分[ 5 ]。
区块链的特点如下所示:
1)去中心化。区块链的核算和存储技术是分布式的,相比与传统数据结构,去除了中央数据库,网络中各节点具有相等的权利和义务,由全体共同负责数据的维和和存储。
2)自治性。区块链中所有节点的数据交互遵循一套既定的协议和规范,任何人为的干预行为都将被拒绝,因此整个区块链节点都能在自由安全的环境下交换数据,从而确保交易活动的安全可靠。
3)不可篡改性。数据信息一旦通过各节点验证写入区块链系统,就将被各节点共识并封装,在单个节点篡改数据信息不能达成共识,因而无效,从而极大程度地确保了区块链信息的安全性。
4)匿名性。整个区块链都遵循同一套协议和规范,因此网络中任意两个节点之间无需建立信任即可进行数据交互,从而确保了数据信息的匿名性。
2 区块链共识机制与特点
区块链系统中如果各个节点能够相互信任的话,那么用户之间就能进行信息的写入和交换,这也是区块链技术使用的技术支持前提。以往的用户之间都是相互独立的,各个节点之间很难进行相互信任,但是如今的区块链技术能够打破该技术壁垒,实现用户之间可信任的数据交换。
1)POW:顾名思义,工作量证明机制即对于工作量的证明,是指在分布式系统中,新区块的生成必须满足的要求。节点通过消耗自身算力计算随机哈希散在数列的数值,最先求得该随机数的节点体现了该节点的算力,获得比特币奖励同时享有记账权。在比特幣系统中,为了确保新区块的生成时间维持在10分钟,随机数的计算的难度值每2016块调整一次。在以太坊社区中,为了提高区块的生成效率,使得每12秒生成一个新区块,随机数搜索算法和难度值调整算法均进行了一定程度的优化。
2)POS:POS(Proof of Stake)直译意思为权益的证实,与前面所述对于工作量的证明不同的是,权益的证实是需要对使用者进行权限的验证。比如POS要对使用该算法的用户,要求其提供货币的拥有证明,权益最高的节点将获得记账权。挖矿难度值方面,POW共识系统与POS系统有较大的差别,两者虽然在难易程度上保持一致,有相同的难易度,但是POW共识系统的特点是其计算能力越强,其在进行挖矿活动时就越容易;而后者则与币龄成反比,即区块中交易消耗的持有币数量和时间越多,挖矿难度值越低。
3)PBFT:该共识机制的基础原理是拜占庭容错算法,对于区块链中恶意节点的忍受限度为1/3,即只要全网要确保有超过2/3的节点是可以受到信任和信赖的,这样就能使区块链中的数据得到很好地安全保证。数据的前后一致和节点之间的一致性都能得到很好地保证,也能够确保数据的相对安全性。因此,运用此共识机制的区块链网络至少具有4个节点,且要有3个可信节点。
上述内容为目前比较有代表性的几种共识算法的运作原理,表1对上述共识算法的抗攻击性、效率、使用场景及适应节点的规模进行了归纳梳理[ 6 ]。
由共识算法性能比较表可以看出,POW共识算法与POS共识算法均适用于节点规模较大且任一节点都享有同等记账权(即公有链)的场景,其中POW较POS能适应更多的节点。DPOS共识算法的抗攻击性和效率很高,同时也能适应较大的节点规模,但是该算法只能在选出的拥有记账权的节点(即联盟链)的场景。PBFT共识算法的使用场景最广,能同时适用于联盟链或私有链,同时抗攻击性与效率也非常可观,但适应节点的规模较小。RAFT共识算法是众多主流算法中效率最高的,但是其缺点也非常多,如抗攻击性低、适用节点规模小、使用场景局限。
参考文献
[1]Ming Zheng Liu, Zong feng Zou.The application of blockchain technology in spot exchange [J]. Journal of Intelligent & Fuzzy Systems,2018,34(2).
[2]安庆文.基于区块链的去中心化交易关键技术研究及应用[D].上海:东华大学,2017.
[3]唐塔普斯科特,亚力克斯·塔普斯科特.区块链革命:比特币底层技术如何改变货币、商业和世界[J].中国报道,2016(11):34-41.
[4]何蒲,于戈,张岩峰,等.区块链技术与应用前瞻综述[J].计算机科学,2017,44(4):1-7.
[5]沈鑫,裴庆祺,刘雪峰.区块链技术综述[J].网络与信息安全学报,2016,2(11):52-61.
[6]朱岩,甘国华,邓迪,等.区块链关键技术中的安全性研究[J].信息安全研究,2016,2(12):1090-1097.