区块链技术现存问题和未来发展趋势

2022-09-08 01:47徐晨
电子元器件与信息技术 2022年6期
关键词:分布式共识区块

徐晨

国家工业信息安全发展研究中心,北京,100040

0 引言

区块链技术是继云计算、大数据等新兴技术之后,在全球范围内具有影响力的新兴技术,当前形成了“千帆竞发、百舸争流”之势。区块链技术被认为是继大型计算机、个人计算机、互联网、移动社交之后的第五次颠覆式计算范式。麦肯锡研究报告明确指出,区块链技术是目前继蒸汽机、电力、信息和互联网科技之后最有潜力、可触发第五轮颠覆式革命浪潮的核心技术[1]。

随着人们对网络世界发展认知的不断扩大,从比特币到未来的元宇宙,区块链作为其底层技术也在不断优化和进阶,就目前应用来看,区块链技术还存在很大的发展空间。

1 区块链技术概念内涵与特点

区块链是多方参与的在分布式环境下进行交易和信息记录的分布式账本。参与方独立进行交易和访问账本,互不依赖,账本一经共识将无法篡改。账本的完备性、安全性和可信性依赖于密码学、分布式数据存储、点对点传输、共识机制等技术。

1.1 区块链的概念和特点

按照国际标准化组织的定义,区块链是采用密码学手段保障的、只可追加的、通过区块链式结构组织的分布式账本结构[2]。广义而言,区块链是以密码学技术和可信规则构建不可伪造、难以篡改和可追溯的块链式数据结构的技术,能够可靠地记录、追溯交易历史[3]。区块链核心价值在于:①通过技术手段实现了多个参与方在统一规则下自发地高效协作;②通过代码、协议、规则为分布式网络提供了信用基础。从技术角度而言,区块链利用链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和添加数据、利用密码学的方式保证数据传输和访问安全、利用由自动化脚本代码组成的智能合约来编程和操作数据,是一种全新的分布式架构与计算范式。

区块链具有去中心、可溯源、防篡改、隐私性、可信性、自治性和可靠性等特点。去中心化可保证网络分布式运行,不存在中心点,各节点高度自治,有相等权利和地位,因而具有高度的容错和抗攻击性;可溯源是由梅克尔树和哈希值两种机制保障的,其按时间顺序连接的链式结构做到了对每一笔交易的可溯源;分布式结构决定了单个节点或小部分数据修改是无效和不被认可的,因此具有很强的防篡改性;通过密码学区块链进行加密以及网络准入与节点授权等技术,实现了私密信息的传输安全,保障了隐私性;共识机制保证了数据的可信性和自治性;“块+链”的创新数据存储结构和非对称加密算法,保证了数据的可靠性[4]。

1.2 区块链关键技术及架构

区块链技术是一项综合性技术,可分为数据层、网络层、共识层、激励层、合约层和应用层,其核心技术包括分布式存储、数字加密、共识机制和智能合约等。区块链技术中的分布式存储保障了链式结构可存储完整数据;共识机制可保证存储的一致性,降低节点损毁对数据可靠性的影响;数字加密和非对称加密技术,实现了信息传输的安全性和相互信任,防范信息篡改;智能合约是一套能够通过编程来执行任务的协议,以保证节点之间操作的互信[5]。区块链基本技术架构如图1所示。

图1 区块链技术架构

2 区块链技术应用发展阶段

比特币在经多年自动运行后,系统依旧保持正常,其底层技术才引起人们的关注,因此被抽象提取出来,即区块链技术。从比特币的诞生到现在,区块链技术的应用发展分为三个阶段。

2.1 区块链1.0时代

区块链1.0时代也可被称为“数字货币时代”,其最显著的作用就是为数字货币的产生、流通与交易提供了技术保障。但是,由于比特币使用的脚本语言的局限性,无法利用比特币底层技术进行除数字货币之外的开发应用。

2.2 区块链2.0时代

区块链2.0时代也可被称为“智能合约时代”。区块链的技术架构得到了进一步调整和优化,开始支持智能合约和去中心化应用(DAPP)的开发,区块链系统变成一个去中心的计算平台。区块链的应用开始从可编程货币进阶至可编程金融。相较于区块链1.0而言,其最大的优点:一是可在其底层技术平台的基础上进行应用开发;二是更多高性能、可扩展的共识算法在不同应用场景得以应用,如权益证明(PoS)、授权权益证明(DPoS)、实用拜占庭容错算法(PBFT)等。

2.3 区块链3.0时代

区块链3.0时代也可被称为“应用落地时代”。伴随着区块链理论和技术研究的不断深入,区块链的应用也逐渐成熟,应用场景不断丰富,实现了多种区块链在同一个共识网络中的相互调用,区块链技术开始应用于如物流和医疗领域。未来,更大规模的可信交互将扩展到整个物联网,形成一个可编程社会,且以智能合约、分布式应用为代表的区块链技术将广泛而深刻地改变人类生产和生活方式。

3 区块链技术现存问题

随着区块链技术的不断应用,其存在的问题也逐步显现出来。

3.1 区块链通量不足,限制了应用场景

区块链技术虽已在诸多领域得到应用,但由于技术的局限性,主要应用场景还是在存证、清算等低频交易场景中,对于实时支付、物联网等高频交易,区块链的通量严重不足,这也限制了其应用范围的扩展。

3.2 共识算法存在局限性

共识算法存在局限性,导致区块链的去中心化、安全性等特点受到威胁并产生了大量资源的浪费。①比特币系统采用的工作量证明共识算法在区块链共识过程中,区块生成速度不能太快,否则容易导致记录的暂时不一致,即“分叉”,从而引发一些列安全问题。此外,工作量共识还造成电力等资源的浪费。近年来,国外一些学者提出了一些解决方案,康纳尔大学研究人员提出了Bitcoin-NG共识机制,通过选取“主要节点”的方式,加快生成记账区块。②以太坊采用的权益证明(Proof of Stake, PoS)共识算法,会导致记账权偏向于股权持有量高的参与方,牺牲了区块链系统的去中心化特性。③联盟链采用的拜占庭将军(PBFT)共识算法,容错强度从原有的50%降低至33%,削弱了区块链系统的安全性。此外,还因为PBFT共识算法引入了投票机制,在节点数量众多的时候共识效率受限。

事实上,在区块链系统优化方面存在所谓的“不可能三角”,即任何一种区块链共识机制,均无法同时满足性能(可扩展性)、安全性和去中心化三项相互制约的需求。从共识层面进行通量优化,不可避免地会遭遇这个“三难困境”,在提升通量的同时会以牺牲安全性、去中心化程度为代价。

3.3 区块链分片技术的产生,依然存在跨片交易的安全性和成本无法并行的矛盾

以分片为代表的区块链并行化技术是近年来新兴的通量提升方案,分为以下几类:一类方案是将原有的区块链系统拆分为多条子链(即“分片”),每个节点仅维护特定分片,并验证该分片内部的交易。通过这种方式,每笔交易仅由一部分节点处理,各分片间实现了交易处理的并行化,进而实现了区块链系统效能的提升。另一类是以太坊2.0采用的沙丁(Sharding),其基本内容是在保证安全性的前提下将区块链在网络层面和数据存储层面拆分成多个子区块链,各子区块链并行处理交易并生成区块,同时,Sharding的分片链都锚定在主链之上,分片链借助主链进行更高层次的共识,主链约束并管理分片链,同时协助分片链完成跨分片通信。

目前,区块链分片处于早期发展阶段,仍面临诸多亟待解决的问题。例如,如何验证跨片交易的有效性、如何保证分片方法的安全性,以及如何权衡跨片交易的成本与并行化收益等。

4 区块链技术发展趋势

尽管区块链技术具备去信任、算法共识、开放性、可溯源、信息难以篡改等特点和一些技术优势,但随着计算机算力的不断发展,尤其是量子计算技术的不断进步,区块链系统在分布式共识算法、密码的安全性、网络安全方面面临诸多风险和挑战,世界主要国家和地区都在加紧开展区块链技术迭代研究。

4.1 加速推进密码技术的更新换代,积极开展区块链加密技术应用研究

密码学技术是区块链系统安全的基本保证。主要包括哈希函数和非对称加密技术,哈希函数可用于系统内验证信息是否被篡改,非对称加密技术(公钥和私钥技术)用于身份验证。随着计算机算力的不断发展,加密算法也在不断改进。

2015年,美国国家标准与技术研究所(NIST)制定新算法标准SHA3,采用较之前完全不同的算法,建立了新型机制,克服了原有算法的局限性,大大提高了数据安全性和不可篡改性。

同年,欧洲量子密码和工业界研究者联合组织在这一年也发布了对“对称加密和授权、公钥加密和签名系统进行标准化”的建议。

2016年,美国国家安全局和美国国家标准与技术局公开征集密码系统建议,包括公钥、数字签名和密钥交换算法,并计划在2021-2023年间推出,以抗击即将面临的量子计算的威胁。

同年,微软公司发布了“基于格”密码库,提高密码系统的安全性和效率。

2020年,DARPA开展了“零知识证明”研究,能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。这种高级加密技术应用于验证,将能解决很多安全问题。

4.2 不断优化共识算法,提高区块链系统一致性和安全性

区块链系统是一种分布式账本系统,各节点间需要采用共识机制保证系统的一致性,即使存在部分节点故障、网络延时、网络分区甚至恶意节点的故意破坏,系统也能最终保持一致性和安全性。随着区块链技术的不断发展,需要具有更高性能且可扩展的共识算法,算法由单一共识机制向混合共识机制演进。原有单一共识算法主要包括工作量证明、权益证明和实用拜占庭容错等算法。

(1)POW(工作量证明)是比特币采用的共识机制,解决了单个区块链内信息存储的共识问题,但它的缺点是效率低下和能源的大量浪费。

(2)POS(权益证明)机制是对POW的改进,有效降低了成本,但却牺牲了系统的抗风险性,于是产生了DPOS(委托权益共识法),该机制提高了系统的安全性但是却带来了(中心化)倾向。

(3)PBET(实用拜占庭容错算法)解决某些节点宕机或者在不发消息或发假消息的情况下如何达成共识的问题,但也存在对网络带宽要求高及对节点数量有限制的问题。当区块链网络规模不断扩大后,现有的共识算法的性能会不断下降。

分片共识机制可支持更大区块链网络规模。其基本思想是将区块链网络逻辑分片,将整个系统分为若干个独立的子系统,每个分片都像一个完整区块链网络一样运转,形成逻辑自治。对于客户请求,可以由多个分片采用并行的方式处理。

由于区块链共识算法存在安全性和效能不可兼得的问题。目前,研究尝试将不同的策略混合来构造共识算法,从而实现更安全和低成本的共识过程,例如PoW+PoS的混合策略共识算法和PoS+BFT混合共识算法,目前区块链跨链项目一般采用这种混合共识算法作为核心技术。

各种算法需要从安全性、容错性、可扩展性以及性能和效率、资源消耗、去中心化程度进行评估,根据应用情况进行调整。

4.3 优化区块链技术架构,提高区块链效能

区块链是块链结构,通过加密完成权属的明晰,通过大量冗余的存储低成本地建立起信任,因此存储效率非常低下。于是很多系统都把现有区块链数据导出到外部进行存储。这就涉及区块链核心技术组件迭代的一个方向——由单一键值数据库向IPFS数据库(The InterPlanetary File System,一种点对点的分布式文件系统)、关系式数据库和分布式数据库等方向发展。

4.4 优化完善智能合约机制设计和性能,加速实现软件定义去中心化社会系统

当前,区块链技术正在被业界认可和推广使用,多样性的竞争发展势头猛进,各个行业都在积极推广使用区块链技术。智能合约技术,作为区块链关键技术之一,其发展极大地拓展了区块链的应用场景和现实意义。智能合约不再仅仅作为区块链系统的一个技术组件来存在,而是成了一个日益独立的新技术进行研究和应用。随着智能合约模式逐渐改善并被业内接受,公平治理成为新趋势。由于智能合约本身受到区块链系统的限制,在处理复杂逻辑和大规模数据以及智能化方面存在一定的局限性,使隐私保护和实现跨链成为难题。改进方式可采取:①通过设计一套激励机制,避免和减少效率损失,实现智能合约与整体系统相融合,提高区块链系统效能;②通过将公有链的共识机制与智能合约的执行机制进行分离,实现部分链上操作的链外管理,可实现高性能、高隐私、可跨链的智能合约;③加速与人工智能技术的不断融合,使智能合约具备感知、学习、推理能力,这将有利于今后利用智能合约将各项管理规则、奖惩标准等以程序化代码的形式部署到区块链上,且随着多种预言机和虚拟机被引入智能合约,将激发区块链和智能合约应用的无限潜力,从而逐步实现区块链软件定义去中心化社会系统。

4.5 加速区块链技术与信息安全技术的融合,推进区块链新技术的发展

随着区块链共识算法和网络架构的不断优化,出现了以太坊分片、墨客MOAC子链等并行技术,以及闪电网络、雷电网络等链下扩容方法;针对区块链隐私保护,出现了同态加密、零知识证明、多方安全计算等技术;针对区块链技术互联互通的特点,出现了公证人机制和哈希锁定等跨链和侧链技术。这些新兴技术都是基于区块链技术本身的技术特点,再加上当今广泛出现的信息安全技术融合而成的。同时,通过对区块链技术架构的模块化处理,运维理念被引入区块链技术,多种成熟的运维工具开始应用于区块链技术中。区块链技术和云管理理念融合而生的区块链服务应用模式大幅提高了区块链的可用性和安全性。

4.6 通过简化区块链开发和优化区块链网络平台,实现区块链系统可扩展及链上数据安全

将区块链系统模块化,通过物联网设备或预言机将链下数据带到链上模块,并与主链进行通信,便于区块链系统的开发。通过部署区块链上安全预言机公共入口,可接收去中心化应用程序的安全检查,保证了链上数据安全和用户的访问安全。通过改进通道开放和路由机制,缓解了以太网的拥堵,实现用户间资产在网络上的实时转移。

5 结语

区块链技术继比特币之后有了快速的发展,应用领域也从单纯的货币和金融领域向非金融领域拓展。随着区块链技术的不断进步,区块链生态范围也在不断扩大,特别是区块链技术特有的安全性、可溯源、防篡改的特性,可引起社会领域重大变格。不可否认的是,目前区块链技术应用依然存在很多技术问题,还需要技术上不断突破。

猜你喜欢
分布式共识区块
共识 共进 共情 共学:让“沟通之花”绽放
居民分布式储能系统对电网削峰填谷效果分析
《红楼梦》的数字化述评——兼及区块链的启示
商量出共识
基于Paxos的分布式一致性算法的实现与优化
一场区块链引发的全民狂欢
区块链助力企业创新
区块链投机者
“慢养孩子”应成社会普遍共识