APP下载

区块链技术发展与应用前景

2020-11-25郭文俊杨泽民张叶娥

电子技术与软件工程 2020年18期
关键词:共识区块证明

郭文俊 杨泽民 张叶娥

(山西大同大学计算机与网络工程学院 山西省大同市 037009)

区块链技术是以比特币为代表的“去中心化”、“去信任化”的一种新型分布式数据库技术方案。该方案的主旨思想为整个数据库由参与系统的所有节点共同维护,运用其独有的节点针对网络数据信息进行分布式的存储、验证以及信息的交流与传输,具有不可篡改、透明、安全等特性。区块链技术因其独特的功能和交易模式获得了金融产业、高新技术产业和相关管理部门的高度关注,也因此区块链技术具备了广阔的发展应用前景。

1 区块链技术的定义

区块链技术是通过Encrypted Data Block 进行数据的存储和验证,利用分布式共识机制(Consensus Mechanism)保障数据的生成与更新,利用智能合约(Smart Contract)确保块内data 的相关操作,其特征是不依附于任何可信的第三方机构,有效保证了无信任关联节点间的信息互通。

2 区块链技术基础保障

本节简要介绍构建区块链的基础技术保障。

2.1 Merkle树

区块链中的每一个block 都包含了记录该区块的交易记录,整个block 系统采用Merkle 树对进行交易的节点记录做归纳表示,同时生成属于该交易记录的数字签名。Merkle 树在验证交易以及文件对比中的应用较多,尤其是在分布式数据环境下,Merkle 树会大大减小数据的传输有效保证了Blockchain“不可篡改”的特性。

2.2 区块链时间戳

区块链中的数据block 按时间戳(Timestamp)排列,由Block Header 指针连接成链式结构,使得Blockchain“可追溯”的性能得以保障。比特币的应用需求推动了区块链技术的发展,而比特币作为数字货币,double spending 问题成为其发展的瓶颈,而区块链技术利用时间戳服务解决了double spending 问题。区块链系统依靠给block 内的每一笔交易记录盖上特定的时间戳,以此来表明该时刻该交易确实发生,交易的所有则权益已经发生转移,如若先前的资金拥有者再次使用该数字货币系统就会报错,从而有效解决了double spending 问题。

2.3 共识机制

由于区块链网络中节点的不可信且要求所有节点均存储数据的相同状态,所以当要更新block 内的某一个节点的数据时,需要调动所有节点以便对本次更新操作达成一致共识。区块链常用的共识机制有工作量证明共识机制(PoW),权益证明共识机制(PoS),委托权益证明共识机制(DPoS)以及实用拜占庭容错算法(PBFT)。

2.3.1 工作量证明共识机制

工作量证明共识机制(Proof of Work),是比特币体统所用的共识机制,利用该机制使系统block 内各个节点最终达成共识,进而得到最终区块。工作量证明机制的原理是网络中的节点通过工作量证明确定下一个即将要添加到区块链中的节点。一旦这样的节点被找到就说明该节点确实经过了大量的计算,因此这种共识机制其安全性能的保障是以系统性能的损耗为代价的,任何想要在此机制中伪造或修改某一节点信息的攻击至少需要付出近一半以上的算力,故此工作量证明机制可以很好地应用到公有链网络中,并且可以有效抵御女巫攻击[1]。但由于要耗费大量的算力才能得到复合要求的结果,因此基于PoW 共识机制的区块链存在交易结果确认缓慢、系统资源冗余开销高等问题。

2.3.2 权益证明共识机制

权益证明共识机制(Proof of Stake),是PoW 机制常用的替代机制,PoS 共识机制将节点所拥有的货币量及货币币龄总和作为证明,仅仅需要很少的算力就能维持区块链的正常运转。由于这种机制在block 内的产生没有经过大量的算力消耗,导致这种机制下的货币价值源难以确定。

2.3.3 委托权益证明共识机制

委托权益证明共识机制(Delegated Proof of Stake),是PoS 共识机制的一种改进变体,在该机制中block 内的交易节点是通过投票机制进行选择的,block 内的每一个节点均可以为其信任的节点进行投票,投票权重的大小则根据每个投票节点所拥有的交易度来决定。最终票数最多的节点会被选出来作为顶层交易节点负责验证所有交易并为这些交易创建block,顶层交易节点在完成自身职责的同时也可以获得收益。DPoS 是基于民主投票的思想来实现的,通过民主投票和选举机制使得block 内的节点免受集中化制约和恶意使用,常使用的加密货币有Steem、BitShares 等。

2.3.4 实用拜占庭容错算法

实用拜占庭容错算法(Practical Byzantine Fault Tolerance),这是一种基于通讯的共识协议,基于通讯的协议将投票权分配给网络中的各个节点,并利用多轮通讯最终达成统一协议。这该协议的执行可分为预准备(pre-prepare)阶段、准备(prepare)阶段和提交(commit)阶段3 个阶段[2]:具体过程为:一个master 节点会在预准备阶段向所有节点广播其请求,在准备阶段所有节点收到广播请求后判断是否执行该操作,若同意执行则添加自己的数字签名在消息中,并广播给其他节点;若不同意执行,则不发送任何消息,当某一节点接收到其他节点发来的执行操作消息数量达到一定程度后说明执行操作达成了共识。在最后的提交阶段,节点执行相应的请求,并将执行结果回报给master 节点。PBFT 算法可以保证当30%的参与节点受到恶意攻击时分布式系统仍具有可用性。

2.4 P2P技术

区块链基于P2P 技术使得block 内每个节点都拥有系统的全部信息,再加上P2P 没有“中心化”的server,使得block 内所有节点在参与系统运行方面体现出独立特性,整个server 是分散在不同的节点上的,因此当某一节点遭受恶意攻击时并不会影响整个系统的运转[3-4],从而很好地实现了区块链网络“去中心化”的结构特性,保证了区块链“无中心化”的特点。

3 区块链技术分类

根据节点选择进入或退出block 的不同方式,可以将区块链分为公有链(Public Chain),许可链(License Chain),私有链(Private Chain)3 类。

3.1 公有链

公有链允许系统的任何节点均可参与block 内的数据维护与读取,而且block 内的节点也可以随时进入或退出系统,由此可见,公有链是一个完全“去中心化”的系统。

3.2 许可链

任何一个节点想要进入或退出block 均需获得许可,是一种限制可参与的成员节点的系统,所有block 内的节点进行数据的读取和计算均要满足block 内的设计规则,在许可链内多采用的是实用拜占庭容错算法。

3.3 私有链

私有链目前还不能完全解决信任问题,各节点之间虽彼此透明但不对外公开,仅限于有信任关系的个体之间使用。

4 区块链技术的应用

通过对区块链相关文献进行统计研究发现区块链的应用以及涉及到了多个学科和领域,相关热点应用主要有智慧医疗、智慧交通、金融科技、电子政务等方面。

4.1 区块链技术在智慧医疗方面的应用

在智慧医疗中医疗大数据的收集和共享推动着现代医学的进步,而这些信息又常常涉及到一些个人私密数据,故此在大力发展智慧医疗的同时也需要研究者们不断深入思考究竟该采取怎样的措施以确保医疗大数据的安全,这也是电子医疗大数据共享发展的一个瓶颈。

张超,李强等[5]提出了联盟式医疗区块链系统,该系统基于实用拜占庭容错算法(Practical Byzantine Fault Tolerance),对算力很小的实体给予一定公信力的政府背书,将区块链应用到Medical System 中,有效解决了Electronic Medical Big Data 的隐私泄露问题,同时还增加了Medical Data 在管理上的灵活性,为患者就医提供了便捷,也使得医学研究者能够获得更可靠、更有效的医疗数据。

4.2 区块链技术在智能交通系统中的应用

由于物联网、AI 和大数据的迅速发展有效地推动了智能交通系统(Intelligent Transportation System)的快速发展,然而Intelligent Transportation System 的趋于“中心化”的特性有制约了其本身的进一步发展。Yong Y,Wang F Y[6]在面向区块链的智能交通系统中提出了面向智能交通系统的区块链模型,将区块链应用到智能交通领域中,进一步提升了自动驾驶的安全性能。万子龙,匡芬[7]在基于区块链技术的车联网安全体系结构探究一文中提出了基于区块链技术的车联网安全体系,设计了一个去中心化的车联网数据交换系统,使得车联网节点间安全可靠的通信得以保障。

4.3 区块链技术在供应链可信数据管理方面的应用

供应链可信数据管理作为协调各大企业间合作互通关系的途径,在当今产业集成化背景下,如何确保链上各企业成员间的相互信任问题已经成为一件亟待解决的事项。黄宇翔,梁志宏等[8]在基于区块链的供应链可信数据管理中提出了一种将链上贸易规则编写成符合block 共识机制的智能合约这样一种解决方案,为供应链的贸易数据管理提出了新的思路。

4.4 区块练技术在电子取证信息中的应用

随着信息技术的快速发展,电子取证技术也应用而生,这种新型的取证技术在数字取证调查中得到广泛的应用。然而,电子取证技术的核心数据获取工作是由相关中心机构运维产生的,这样的数据运维机构一旦遭受恶意的攻击,通过电子取证技术获取的证据其数据的完整性无法确保,基于区块链技术的电子取证模型摆脱了中心机构的制约,使得电子取证技术具有更好的防篡改特性有效地确保了电子数据的安全性和完备性。黄晓芳,徐蕾等[9]在一种区块链的云计算电子取证模型中提出了基于Merkle 树的取证技术,通过改进后的共识算法有效降低了block 产生的时间。侯义斌,梁勋等[10]在基于区块链的电子取证系统架构模型一文中设计出了一套基于区块链的电子取证模拟系统有效地提高了存证效率。孙靖超[11]在基于区块链的可扩展电子取证模型研究中设计了一种基于委托权益证明机制和实用拜占庭容错机制相结合的block 电子取证模型,该模型有效地增强了系统的可扩展性和单位时间的吞吐量,使其在并发场景下展现出更好的取证效果。

5 结语

区块链技术作为近年来被研究者们追议的技术,其应用已经渗透到多个行业领域内,而且这个趋势在不断地持续升温,一度使得对区块链技术的研究成为当下最热门的研究热点之一[12-13],因此,需要对于区块链技术的研究加大力度,投入更多的精力,同时也需要政府在区块链技术研发、区块链技术成果转化等方面给予更多的政策引导和资金支持。本文通过对近几年国内外发表的与区块链技术相关的综述论文进行探究梳理,从区块链技术的概念、区块链技术基础保障、区块链技术分类、区块链技术的应用等四方面对区块链进行了简单的梳理阐述,目的在于帮助热衷于区块链技术的科研工作者了解区块链技术当下的研究状况、研究热点、研究导向以及区块链技术未来的发展演化趋势。

猜你喜欢

共识区块证明
获奖证明
共识 共进 共情 共学:让“沟通之花”绽放
判断或证明等差数列、等比数列
区块链:一个改变未来的幽灵
论思想共识凝聚的文化向度
区块链:主要角色和衍生应用
商量出共识
区块链+媒体业的N种可能
读懂区块链
别让“PX共识”在爆炸中瓦解