朱建明,张沁楠,高 胜
(中央财经大学 信息学院,北京 100081)
2019年10月24日,中共中央政治局集体学习区块链技术发展现状和趋势,习近平总书记强调,要把区块链作为核心技术自主创新的重要突破口,区块链技术要在“促进数据共享、优化业务流程、降低运营成本、提升协同效率、建设可信体系”等方面发挥作用。区块链技术上升为国家重要战略,并将成为推进社会治理现代化的重要技术。
区块链技术起源于2008年中本聪(Satoshi Nakamoto)发表的关于比特币的论文[1]。其中比特币系统底层的区块链技术解决了加密数字货币中的双重支付问题,在去中心化的P2P网络中,保证了交易记录的真实有效。经过几年的发展,区块链技术被认为是价值互联网的基石,通过分布式计算、密码学、共识算法、智能合约等多种技术的组合,保障在不通过第三方中介机构信用背书的条件下,实现数据的不可篡改、不易伪造、可追溯、可审计等特性,共同创造了一种低成本高可靠的基础设施。
近年来,在区块链技术的支持下,比特币等加密数字货币发展迅速,截至目前已有超过5 361种加密数字货币,其中比特币仍占主导地位[1]。在比特币区块链的基础上,2013年12月,BUTERIN发布了《以太坊白皮书》[2],致力于提出一种通用加密货币。瑞波币(Ripple)[3]通过有限数量的可信节点构建Ripple网络,减小交易确认时间。EOS[4]采用并行链和委托权益证明实现高性能区块链。IOTA[5]和Byteball[6]采用有向无环图(DAG)实现并行链式结构,不同类型的事务可以在区块链网络中并行运行,比链式模型效率更高。2015年,Linux基金会发起了跨行业区块链开源项目——超级账本(Hyperledger)。袁勇和王飞跃[7]将区块链定义为去中心化的共享账本和分布式计算范式。区块链也被认为是在互不信任节点构成的网络中能够正确执行的计算机程序[8]。总体而言,区块链是一种具有普适性的底层分布式存储技术,被认为是新一代互联网技术,有望重塑社会生产的形态。
区块链因去中心化、难篡改、可追溯和分布式等特点,使其在金融科技、信息存证、能源共享、教育信息化等各领域具有广阔的应用前景。2019年9月,中国人民银行印发《金融科技(FinTech)发展规划(2019-2021年)》和《金融分布式账本技术安全规范》,未来三年的区块链技术将在金融科技领域率先落地应用。面对各行业日益增长的区块链应用需求,需要构建更加高效、安全、合规、灵活的区块链解决方案。本文将从区块链关键技术与应用场景来介绍区块链技术与其应用的研究进展和面临的问题。
区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术。区块链技术通过将区块数据形成链式存储结构,形成去中心化的信任基础,成为众多加密数字货币的核心底层技术。区块数据结构代表一定时期内发生的交易和状态,是经过共识后形成的交易数据;按时间序列将区块数据结构串联形成链式存储结构。比特币区块链中,矿工负责将一段时间接收到的交易数据打包,并计算满足条件的随机数值,形成共识后的区块结构后追加在当前区块链的结尾,可以避免交易数据的篡改。
现有区块链可以分为三种类型,即公有链、联盟链和私有链[9],联盟链和私有链也被称为许可链,需要提前设定节点的准入规则。目前随着区块链技术的商业化,区块链技术已经从公链形式向联盟链方向发展,私有链也有广泛的应用场景。公有链中节点的加入没有限制,而联盟链中的节点需要经过多组织协商授权才能加入。 Hyperledger Fabric是典型的联盟链项目,具有很强的实用性和可扩展性。私有链参与节点的权限被严格限制,权限由单个组织或企业控制,类似于现有的分布式存储系统,例如摩根大通的Quorum项目[10]。目前,联盟链被普遍认为是最具应用前景的区块链类型。
如图1所示,区块链已经经历了几个阶段的技术演进历程[7],区块链技术起源于电子货币、密码学领域,经历了以数字货币为代表的1.0时代,和以智能合约为代表的2.0时代,目前正在进入超越货币、并与各行业深度融合的3.0时代。区块链技术正在与大数据、人工智能等新兴技术深度融合,未来会出现更加复杂的异构森林结构、神经网络共识、链内链外算力共享等新型区块链技术,形成有效支持大规模产业级复杂应用的区块链4.0时代。当前,区块链发展处在大发展、大融合的阶段,除区块链基础技术的研究外,工业界出现了区块链服务提供商的竞争,众多企业级的PaaS区块链云平台出现,单一区块链服务正在向区块链服务集成化快速演进。另外,区块链技术的不断演进和发展,进一步提升了性能和可扩展性,拓宽了应用领域和场景,为各行业带来深刻技术变革。
图1 区块链技术演进历程Fig.1 Evolution of blockchain technology
区块链由密码学极客创建,密码学构成了区块链的基石。分布式账本技术是区块链区别于其他分布式数据存储的本质,各节点形成的分布式账本记录构建了区块链的骨架。传统有中心的分布式数据库系统设计了严格的用户权限管理和存取控制,而区块链的分布式账本数据则完全公开透明,链上节点可以随意读取查询数据,因此密码学极客采用HASH算法、数字签名、数字证书等密码学技术保障区块链交易数据的安全性和匿名性。
在比特币中,椭圆曲线加密算法(elliptic curve cryptography,ECC)用于生成私钥对应的公钥,公钥作为用户的钱包地址,可以区分不同的用户ID,每个用户拥有多个公钥地址以实现交易的匿名性。为了保障交易的安全授权,比特币系统将每笔交易数据进行数字签名,比特币和以太坊都采用椭圆曲线签名算法(ECDSA),通过secp256k1的参数确定椭圆形状,实现非对称的高效签名算法。在比特币中,当一笔交易开始时,用户的公钥地址通过SHA256进行双HASH运算之后作为账户地址。验证交易数据时,使用用户公钥验签,实现交易的不可抵赖。公钥还可以用于验证HASH值是否与前一笔交易输出脚本的比特币地址一致,以实现每笔比特币的来源追踪。所有交易的完成都基于比特币系统中的输入脚本和输出脚本自动完成。
参与区块链的所有节点共同维护同一份区块链式数据,即分布式账本。不同于传统的账本技术,分布式账本具有去中心化、不可篡改、可编程等特点,在数字货币、电子存证、供应链中应用广泛。在比特币中,所有矿工在开始挖矿之前先同步账本数据,每一笔交易生成之后进行交易数据的转发,节点将接收到的交易数据存入特定存储区,大约每收集10笔交易打包成一个区块数据包,开始挖矿计算,挖矿过程中需要监控已经打包的交易是否已经被其他矿工挖矿成功,如有,则替换该笔交易继续挖矿。如果完成指定条件的HASH运算,则挖矿成功,转发结果进行节点共识,共识成功后将打包好的区块数据追加在当前区块链的结尾,所有节点开始更新账本数据。
由分布式账本引起的性能和可扩展性问题是当前区块链技术的主要瓶颈。比特币中,每笔交易需要6个区块确认,系统最大的交易处理能力仅为7笔/s[11],当前世界主流支付工具VISA,交易处理能力为2 000笔/s,峰值的交易处理能力达56 000笔/s,且每笔交易秒级确认[12]。与现有商业系统巨大的性能差异极大地限制了区块链广泛的商业应用。高政风等(2019)提出采用有向无环图(DAG)的分布式账本可以提升区块链的并发性,有望解决区块链分布式账本的性能问题[13]。
共识机制是区块链的核心,能保证在无中心控制下,各节点遵循相同的记账规则,实现分布式数据的一致性。区块链共识机制保证在不同的应用场景下,在决策权高度分散的去中心或多中心化系统中,使各个节点高效地达成一致。最早的共识问题是EISENBERG E和GALE D[14]提出的共识概率分布问题,其核心问题是容错节点的比例和收敛速度。区块链网络共识机制的研究目标是如何在节点可用性和一致性之间达成平衡,实现高效率认证。
共识机制主要解决两个基本问题:第一个是谁写入数据,另一个是如何同步数据。区块链中,每个节点都独立维护同一份数据,为了避免数据混乱,必须设计公平的选举机制和合理的激励机制。当被选举的节点写入数据后,其他节点必须准确及时同步数据,并验证写入数据的合法性,避免数据的伪造及非法写入。不同的共识算法的选举机制不同,在区块链的一次共识过程中,被选举的节点先打包交易构造区块链中最小的数据存储结构“区块”,并广播区块数据。其次,全网所有节点根据共识机制对接收到的区块数据进行合法性验证,如果是合法的区块数据,则将其追加在当前区块链的尾端,完成一次数据更新。
共识机制是区块链的关键技术,直接影响区块链系统的性能效率、可扩展性、资源消耗。目前,研究者已经在共识领域完成大量工作,从如何选举记账节点角度来看,现有的共识算法可以分为证明类、选举类、随机类、联盟链和混合类5种类型。下面分别介绍最常见共识算法类型和相关的研究进展情况。
2.2.1证明类共识
证明类共识需要在每轮共识中有节点证明自己满足特定条件,通常表示为“Proof of X”,最常见的证明类共识有PoW、PoS和DPoS。PoW依赖算力消耗达成共识,PoS通过币龄分配记账权的概率,DPoS[15](delegated proof of stake)通过股份权益选举记账节点达成共识。PoA[16](proof of activity)是PoW和PoS相结合的算法。
1993年,DWORK C和NAOR M[17]首次提出了工作量证明思想,用于提高垃圾邮件发送者的成本,其核心是通过消耗节点算力,保证共识过程的公平性。1999年,JAKOBSSON M和JUELS A[18]正式提出了工作量证明(proof of work,PoW),成为比特币中工作量证明算法的基础。PoW可以应对拒绝服务攻击和服务滥用,通常需要掌握全网算力的51%以上才能对比特币系统进行安全攻击。但PoW存在因算力消耗引起的资源浪费,并且10 min左右的交易确认时间无法满足高效的业务需求。比特币采用的是依赖节点算力的PoW共识机制来保证分布式记账的一致性和共识的安全性。
随着区块链技术的不断进展,研究者陆续提出了一些不过度依赖算力而能达到全网一致的算法,比如权益证明共识(proof of stake,PoS)。SUNNY et al[19]在点点币中首次实现权益证明PoS的共识机制,通过节点权益对比确定记账权。PoS共识不需要算力消耗,可以提升共识效率,缩短共识时间。以太坊正逐步使用PoS替代PoW,但是PoS权益证明容易产生马太效应,存在不完全公平性问题。
为了改进PoW存在算力浪费的问题,现有一些证明类共识算法基于特定的可信执行环境,例如共识节点采用安装Intel SGX安全硬件的CPU执行共识算法。在超级账本的Sawtooth项目中采用的消逝时间证明算法[20](proof of elapsed time,PoET)通过每个节点的SGX计算生成区块和等待的时间证明,并被其他节点的SGX计算验证,保证了预言机的安全性,从而形成基于硬件安全的共识过程。
2.2.2选举类共识
选举类共识中,参与共识节点在每一轮共识过程中通过投票选举方式选出当前记账节点,典型的选举类共识包括PBFT、Paxos和Raft等。PBFT共识机制效率高,支持秒级出块,而且支持强监管节点参与,具备权限分级能力,在安全性、一致性、可用性等方面有较强优势。然而,在PBFT系统,无法容忍超过三分之一以上的节点作恶。
1982年,LAMPORT L et al[21]基于分布式计算领域的共识问题首次提出了拜占庭将军问题,通过签名消息解决由于硬件、网络等问题引起的分布式节点故障。1999年,图灵奖获得者CASTRO M et al[22]提出了实用拜占庭容错算法(practical byzantine fault tolerance,PBFT),降低了拜占庭算法复杂度,提高了算法的实用性。PBFT通常分为三阶段共识:预备、准备和提交阶段。第一阶段选定主节点后,由主节点接受请求,并进行签名验证,验证通过后,对请求分配序号,并向全网广播;第二阶段共识节点收到请求后验证报文,并向全网广播验证结果;第三阶段,当收到超过三分之二节点的验证成功消息后,执行请求。PBFT是首先得到广泛应用的BFT算法, 随后,业界还提出了若干改进版的BFT共识算法。
文献[23]提出了一种可伸缩的故障容忍方法,系统可根据需要配置可容忍的故障数量,而不会显著降低性能。COWLING et al[24]提出了一种混合拜占庭式容错状态机副本协议,在没有争用的情况下,采用轻量级的基于仲裁的协议,节省了副本间二次通信的成本。KING S和NADAL S[25]提出了一种高吞吐量的拜占庭式容错架构,它使用特定应用程序的信息来识别和同时执行独立的请求。该体系结构提供一种通用的方法来利用应用程序间的并行性,在提高吞吐量的同时,还不损害系统工作的正确性。随后又提出了一种使用推测来降低成本并简化拜占庭容错状态机副本的协议[26]。ONGARO D et al[27]在2013年基于PBFT进行简化,提出了Raft共识算法,目前已在多个开源语言实现。Raft算法虽然不支持拜占庭容错,只支持节点宕机等故障性容错,但可以提高共识过程的性能与可扩展性。
1994年美国科学家尼克·萨博[28](Nick Szabo)首次提出智能合约的概念,将智能合约定义为合同条款的计算机程序实现,在不需要可信第三方情况下,能够确保合同的正确履行。智能合约提出之后沉寂了很久,因为无法找到一个不存在可信第三方保证合约执行的环境,随着区块链技术的发展,其去中心化的可信平台为智能合约提供了天然的分布式可信执行环境,实现了区块链技术应用场景的拓展。
2.3.1比特币脚本语言
比特币中没有智能合约的概念,只是采用一种类似Forth的脚本语言实现简单的交易控制。该脚本语言有大小限制,不支持图灵完备,只能支持有限的逻辑,通常只作为账户拥有者的身份识别。
比特币基于未花费交易输出(UTXO)模式,每笔交易都可以追溯,直到最初的矿工挖矿。比特币交易的执行主要依赖于两种脚本:一种是锁定脚本,一种是解锁脚本。锁定脚本控制交易输出条件,解锁脚本验证输出条件是否满足,并控制未花费交易输出。
比特币的内置脚本是以太坊智能合约的雏形,因脚本不支持图灵完备,存在诸多限制,无法完成复杂的计算逻辑,但简单的脚本语言也保证了系统的轻量级并提升了系统的灵活性。目前,很多研究者也已经致力于基于比特币脚本进行叠加,以满足在比特币区块链上构建更为复杂的智能合约需求。
2.3.2以太坊智能合约
以太坊(Ethereum)提供了图灵完备性的智能合约,使以太坊区块链拥有更广泛的应用场景。以太坊为智能合约的执行专门构建了以太坊虚拟机(EVM),方便了智能合约的编译运行。以太坊智能合约开发语言主要是Solidity,可以支持编写逻辑代码。以太坊智能合约还提供了专门的浏览器开发平台Remix,无需环境配置即可运行智能合约代码。
智能合约的安全性一直是人们关心的问题,而由智能合约的漏洞暴露出来的安全性事件也不断出现。例如2017年6月的以太坊平台的众筹智能合约The DAO遭受安全攻击的事件。The DAO是搭建在以太坊网络上的智能合约,黑客利用递归函数的漏洞将面向公众筹集的350万个以太坊代币转向自己的地址,造成了巨大的经济损失。目前有多个公司从事与智能合约的安全性验证工作,如链安、慢雾等。
2.3.3Fabric链码
Hyperledger Fabric采用高级编程语言Go或Java编写智能合约,被认为是执行在区块链上的代码,也被称为链码(Chaincode)。Fabric基于docker容器运行链码可以提升宿主机隔离性和安全性。链码采用Go或Java语言编写,可以实现各种复杂的商业逻辑,功能强大。在比特币或以太坊上运行的智能合约可以看作是某个合约模板的多个实例,但是在Fabric中没有合约的实例,所有对区块链上数据的读写都必须经过链码来执行。
Fabric链码基于高级语言开发,支持图灵完备,降低了开发者的学习门槛,并提升了智能合约的实用性。但是目前对智能合约的定义和实现仍不统一,各区块链平台的智能合约开发语言也有很大差别,使得公众对智能合约认识有一些误差,没有统一的标准,不利于智能合约技术的长期发展[29]。
表1 现有区块链平台智能合约对比Table 1 Comparison of smart contracts in existing blockchain platform
可扩展性[30]是指区块链系统处理交易以及适应交易增长而扩展的能力。区块链中,每个节点都要处理系统中的所有交易,随着交易数量快速增长,区块链的可扩展性问题日益凸显。以比特币和以太坊为例,比特币区块链平均每10 min产生一个区块,每个区块大小上限为1 MB,每笔交易大小为0.25 kB,因此交易频率为6.67笔/s;为抵抗双花攻击,完成一笔交易至少需要6个区块确认,全网确认一笔交易至少需要1 h.与比特币区块链不同,以太坊的区块gas限制值决定区块容量,进而影响以太坊区块链交易性能。以太坊区块链产生一个区块需要10~20 s,为抵抗“双花”攻击,达到与比特币区块链相似的安全性,完成一笔交易至少需要12个区块的确定,全网确认一笔交易至少需要3 min.然而,以Visa,Mastercard等为代表的中心化支付平台可实现2 000笔/s~56 000笔/s[12]。可见,现有区块链可扩展性已成为阻碍区块链规模化应用的重要障碍。
为解决区块链的扩展性问题,提出了高效共识算法、分片技术、链上扩容、链下扩容等可扩展性方法。
2.4.1分片技术
2015年,LUU L et al[31]将分片技术引入区块链领域,将节点划分成若干相对独立的分片,每个分片独立并行处理规模较小的片内交易,最后将分片摘要汇总给主链并由其生成新区块。根据处理层次不同,区块链分片技术可分为:网络分片、交易分片、状态分片。网络分片是指根据一定规则选取网络节点形成分片,是分片技术的基础;交易分片是指根据区块链数据模型按照一定规则将交易分配到不同分片,如基于账户模型可根据账户地址分片交易,典型技术如以太坊分片技术[35],ZILLIQA[32]等;状态分片是指特定的分片只存储部分状态,而不是完整的区块链状态,典型技术如OMNILEDGER[33],RAPID[34]等。
2018年,VITALIK[35]提出了一种基于双层设计的以太坊分片方案。以太坊区块链分为主链和分片链,主链通过验证管理合约(validator manager contract,VMC)来管理分片链,分片链采用PoS共识机制打包交易数据生成验证块,通过这些验证块最终生成主链上的区块。每笔交易都独立运行在其中一个分片,验证节点只校验所在分片的交易。为保证验证选择过程是强抗预测性,VMC采用随机抽样方式将验证节点分配到分片链上,同时校验所有分片提交的验证块头,并将校验通过的验证块头哈希记录到链上。此外,VMC采用UTXO模型和收据树实现跨片通信。
2.4.2链上扩容
链上扩容是通过改变区块链底层结构,使得单位时间内每个区块能容纳更多数量的交易,从而提高区块链吞吐量,例如增加区块容量、缩短出块时间等。
比特币改进提案(BIP)中有关扩容方案大致分为:根据比特币社区共识调整,如BIP-105;根据先前区块大小调整,如BIP-104、BIP-106、BIP-107中第二阶段;根据时间调整,如BIP-102、BIP-103、BIP-107中第一阶段。然而,区块大小的增加将延长网络传输效率,造成网络拥塞,同时加重存储设备负载,导致普通节点或小矿池退出,降低全节点运行比例,加剧区块链算力中心化风险;缩短出块时间将增加区块链分叉概率,造成有效算力分散,加剧双重支付[36]、自私挖矿[37]等风险。
2017年8月,BCH在比特币区块高度478558执行硬分叉,删除了隔离见证,将区块扩容到8M,期望通过该链上扩容解决比特币系统中区块拥堵和手续费高等问题。在此之后,BCH 通过硬分叉的方式进行了4次升级。
2.4.3链下扩容
链下扩容是将交易过程放在链下完成,链上只记录最终交易结果或仲裁分歧交易。现有主要的链下交易方法有:隔离见证、状态通道、侧链等[38]。隔离见证通过将签名数据放到见证数据结构中,使得区块可以容纳更多数量的交易,提高了交易的延展性[39]。状态通道是通过在链下形成支付通道实现将大量交易带离链上,而区块链仅作为记录交易或处理支付过程中冲突或争议问题,从而极大提高区块链系统吞吐量。
侧链/中继(sidechains/relays)以轻客户端验证技术为基础,在侧链上执行轻客户端功能的智能合约,通过验证链加密哈希树和区块头验证交易。Blockstream公司提出了楔入式侧链[40]概念,实现不同区块链系统间的资产转移,并进行多种跨链技术创新研究,提出了强联邦侧链[41]概念,引入多重签名,提升资产交换的安全性。ONELEDGER[42]是侧链应用的代表,通过侧链接入企业区块链,实现与企业级区块链系统的通讯。
区块链技术创建了去中心化的信任实体,具有分布式、去中心、难篡改、可编程、时序性和集体维护等特性,使区块链不仅能够应用于加密数字货币领域,同时在数字金融、电子存证、能源共享、电子医疗、农产品追溯方面也有广泛应用场景。
区块链技术最早应用起源于加密数字货币,其目的是解决数字货币的支付问题。区块链去中心化的特性对依赖第三方机构的电子支付和资金托管等领域有颠覆性变革。传统的金融交易需要经过中央结算机构,银行证券及交易所等多家中心机构的协调工作,利用区块链技术可以降低交易成本,简化金融业务流程。
区块链技术在数字货币中已有广泛应用,现有的大多私人数字货币都基于区块链底层技术。Facebook基于联盟链打造了服务数十亿用户的数字货币Libra,并实现了Move智能合约语言,共识机制采用了康奈尔大学提出的BFT改进算法,并将其命名为LibraBFT,实现了高性能的共识机制。为应对世界数字货币的挑战,人民银行从2014年开始研究法定数字货币,目前处于研究测试过程中。
在跨境支付场景中,Ripple Lab基于区块链创建了Ripple数字竞争币以降低跨境支付的成本。初创企业Circle公司推出跨界支付应用,并发布白皮书[43],利用比特币充当跨币种交易的中介货币,提升跨境支付的效率,降低交易成本。现有的SWIFT系统交易成本高,速度慢,基于区块链的加密货币可以实现方便的跨境支付,比SWIFT系统更加安全便利[44]。
在供应链金融场景中,区块链技术从效率、成本、信任三个维度解决了企业融资过程中的痛点。区块链为供应链各参与方提供了平等协作的平台,大大降低机构间信用写作风险和成本。实现数据的实时同步和对账,防止数据的篡改和伪造。
区块链数据的不可篡改,时间戳记录可以永久保存各类证明文件,并对证明文件的记录进行时间序列存证,实现去中心化的验证。目前区块链技术已经应用于知识产权保护、校园信息存证、互联网法院存证等领域。
区块链电子存证在教育领域应用前景突出。例如伦敦大学建立了基于区块链的学历认证平台Gradbase用于存储毕业学生的学历信息,企业单位可以通过扫描平台形成的二维码,验证求职者的学历信息。
在电子资源产权保护方面,区块链+数字证书是存储、验证、共享资源权限的理想方案。电子资源的发布者、接受者、所有者、发布时间可以存储在区块链系统中,每次资源使用记录的增加都经过区块链节点的共识,从而保护电子资源所有者的产权。
未来的区块链的发展趋势是有效支持大规模产业级复杂应用。当前,以“区块链即服务”理念为基础的区块链服务平台已具有提供规模化区块链应用的雏形。
区块链服务平台旨在为使用者提供集成化、可定制的区块链服务。在此之前,区块链服务是单一化、割裂化的,用户难以自定义区块链配置。区块链服务平台是基于主流区块链技术构建企业级PaaS(platform as a service)平台服务,可以帮助使用者快速构建安全稳定的生产级区块链环境,减少在区块链部署、运维、管理、应用开发的工作量,提供业务创新的便利。当前常见的区块链服务平台有腾讯TrustSQL、百度Xuper链、阿里云区块链BaaS平台等。
2016年,工信部发表《中国区块链技术和应用发展白皮书》,其中提到区块链技术在教育过程中涉及的档案管理、学生征信、学历证明、成绩证明、产学合作中可发挥作用。
2018年,伦敦大学学院(University College London)宣布其区块链技术中心将开展一项试点项目,该项目的目的是让金融风险管理专业的学生能够通过区块链技术验证简历中学历信息的真伪。2018年,基于区块链的去中心化全球教育服务平台EduCoin面世。该平台通过区块链的分布式特征为多个教育节点建立连接,以执行与教育相关的服务或共享内容。EduCoin平台拥有自身的加密货币EDU,区块链节点之间可以通过EDU交换教育资源。在EduCoin平台上,资源提供者可以确定共享的教学内容的价格,而消费者可根据资源所提供的价格信息支付EDU以获得资源,其过程中无第三方机构参与而是通过智能合约保证交易的真实和可信。
因此,区块链技术不仅可以为教育数据共享与隐私保护问题、教学资源的知识产权保护与交易提供帮助,还可以为构建新的教学模式提供支持。区块链技术与人工智能、大数据、云计算结合将为教育信息化发展发挥更大的作用。
区块链采用去中心化的分布式记账技术,为解决数据共享管理提供了新的思路。现有的数据共享存在权限不清晰、不方便管理等问题,数据的所有者并不能完全掌握数据的所有权。目前区块链可以用于解决不可信环境下的数据管理问题。
作为分布式账本技术的代表,区块链可用于智能供应链管理,实现货物流转、产品登记等信息的可追溯化管理,增强信息的透明度,提升整个供应链处理效率。区块链上数据保存在分布式的节点中,任何节点都不能随意操控数据,IBM已推出了一项使用区块链技术改善供应链的案例,将其命名为“信任你的供应商”。
区块链交易的匿名性可以保障交易用户的隐私。在电子健康领域,SWAN[45]认为区块链可以保护个人健康数据的隐私性。LAZAROVICH[46]以医疗数据隐私保护为例阐述区块链在个人隐私保护方面的应用。ROEHRS et al[47]提出的OmniPHR系统利用区块链实现个人电子医疗健康数据保存和访问,确保数据的安全和防篡改。MEDSHARE[48]系统解决无信任环境下医疗数据安全共享问题,为电子医疗数据溯源审计提供了解决方案。
在能源共享领域,区块链的去中心化与分布式能源供给有较强的耦合性,使用区块链实现能源共享有助于实现智能充电桩之间的信息共享,降低能源交易成本。KANG et al[49]提出了一种点对点电力交易系统,构建了安全交易的联盟链系统,实现双重拍卖机制,实现了去中心化的电力交易。国内外已有基于区块链的微电网项目落地,增强了用电稳定性,降低了区域间用电的依赖性。
区块链在物联网领域也有广泛应用,包括在车联网领域中利用区块链保护用户隐私,利用区块链实现车联网中的联邦学习的安全数据共享[50]。
区块链技术正处于快速发展过程中,还面临许多挑战。概况起来,主要表现在以下三个方面:
第一,区块链技术自身面临的挑战。
区块链融合了密码学、计算机科学、经济学、社会学等学科知识,是一种在不可信环境中构建信任的新型协作模式和计算范式。然而,其发展还处于非常早期的阶段,技术本身所存在的问题仍待进一步突破。
1) 可扩展性问题:区块容量、节点规模、共识效率、通信时延等因素使得单位时间确认交易数量受限,成为区块链可扩展性提升的主要瓶颈。高性能、高可扩展等技术瓶颈阻碍了区块链大规模商业落地应用。
2) 互操作性问题:当前,区块链技术平台呈现“百链竞发”态势,相较于信息互联网实现的泛在信息交互需求,不同技术底层的区块链之间缺乏统一的互联互通的机制,难以满足价值自由流转需求,极大阻碍了区块链应用生态形成。
3) 安全性问题:区块链安全研究分散在密码安全、网络安全、共识安全、智能合约安全、应用安全等不同维度,木桶原理表明区块链系统的安全性取决于最薄弱维度的安全性,单一维度的安全难以保障整个区块链系统安全,构建纵深防御的一体化的安全架构已成为区块链安全亟待突破的关键问题。
4) 隐私保护问题:区块链隐私大都采用密码学保护不同交易主体的身份隐私和不同交易的内容隐私等,距离大规模实用化有一定距离。此外,难以在保障区块链隐私条件下,实现准确高效监管。实用化、条件化隐私保护方法仍待进一步突破。
5) 可监管性问题:当前,大多采用被动监管方式,即由金融机构定期向监管机构报备,存在时效性差、数据易被篡改等问题。因此,如何利用区块链技术构建透明、动态、高效、精准、可视化的监管体系有待完善。
第二,区块链技术与人工智能、大数据等技术相结合面临的挑战。
目前,从技术成熟度来讲,大数据、云计算等技术趋于成熟,人工智能、物联网技术应用范围和领域不断扩大,而区块链受限于技术发展及投入产出比等缘由,仍处于发展的初级阶段。随着区块链技术的完善,人工智能、大数据等技术也会随之融合,出现新的技术局面,对于区块链产业来讲,将来想象空间会很大。 区块链与人工智能、大数据相结合具备颠覆传统行业的可能,使得相关业务公开化、透明化、公正化。但是,区块链技术如何与人工智能、大数据相结合还面临许多挑战。
第三,区块链技术应用面临的挑战。
目前,区块链的价值已经得到全社会的肯定和重视。截至目前,全国已有22个省(自治区、直辖市)将区块链写入2020年政府工作报告。大多数地方政府将区块链视作当地产业优化升级的技术助力、数字经济产业的新增长点,并对当地区块链发展提出了更为具体细化的目标。
区块链技术的应用始于数字货币和金融领域,区块链作为数字经济的重要组成部分,正在向其他应用领域迅速扩展,成为加快传统实体产业和现代服务业高质量发展的重要技术。区块链技术应用面临的挑战主要有:
1) 区块链与已有应用相结合面临的挑战。区块链技术作为底层技术,如何与应用领域的现有系统相结合是一个需要研究的问题。以电子政务为例,是以区块链为基础设计新的电子政务应用,还是在原来系统的基础上进行改造,目前还没有形成好的应用模式。
2) 区块链应用带来管理模式与制度的变化。区块链技术的主要特点之一是去中心化,通过共识机制自动达成共识。这与目前中心化的管理体系存在一定的矛盾。
3) 区块链应用创新的难度大。截至目前,最成功的区块链应用就是数字货币。除此之外,其他应用还没有形成与数字货币类似的影响,区块链应用创新任重道远。
区块链作为新一代互联网技术已经引起产学界的广泛关注,区块链技术在数据共享、协同工作、业务流程优化、可信体系建设等方面具备特有的优势。随着区块链技术的普及,区块链技术将广泛应用于当前数字经济时代的各类应用中,成为一种分布式可信数据存储的基础设施,通过其去中心化的信任基础重塑新的社会形态。
本文通过对区块链相关核心技术和应用领域研究进展的详细阐述,梳理了当前区块链核心技术的现有研究成果及挑战,并分析了区块链应用项目的落地瓶颈。现有制约区块链系统发展的技术挑战主要包括分布式账本的可扩展性、共识算法性能、尚未标准化的智能合约、链上数据扩容、数据源安全性及链上数据隐私等。区块链应用落地的瓶颈主要在于交易延时与大规模请求的执行效率。虽然当前的区块链技术还存在很多性能和应用的挑战,但不可否认区块链技术正在促进各领域的技术创新。大多区块链关键技术仍需要进一步的研究和探索才能产生变革影响,国内外学者已经开展了多项区块链技术的探索和应用实践,需要更多的科研人员加入到区块链技术及应用的研究工作中,实现区块链核心技术瓶颈的突破。
当前,区块链技术的去中心化可信体系已经引起了各行业的广泛关注。整个区块链行业正处于快速变化和演进过程中,未来的区块链行业将构建一个完善的生态系统,为人类生活创造新的可能。未来区块链生态系统的发展趋势包括:混合跨链交易和异构区块链实现高性能交易、非链式区块数据模型实现区块数据并行存储、混合网络协议提升共识通信效率、成立世界范围的可信区块链联盟组织等。区块链作为一种平等互信的互联网技术,需要有更优的互联网底层协议,进一步提升系统性能、优化共识算法、改进体系架构,探索更广阔的应用场景。