当前位置: 首页 » 企业资讯 » 企业胜经 » 正文

规模化区块链应用实践的必然选择之一:扩容

字体: 放大字体  缩小字体 发布日期:2020-06-28  浏览次数:924

区块链凭借安全可信、分布式、难篡改等特点被广泛关注,随着区块链技术的快速发展和实践应用,其数据存储代价大、性能低、网络延迟高等问题逐步凸显。因此区块链作为一种可信数据管理机制,亟需解决可扩展和性能问题,包括比特币、以太坊等主要区块链社区、开发团队等纷纷开始区块链扩容方案的研究。

 

一、为什么扩容——区块链扩容的需求分析

区块链容量问题天然存在,随着节点和交易量增多日益加剧。自中本聪发明比特币以来,比特币节点数量暴涨,链上的交易量剧增。比特币网络中的交易需经矿工打包成区块后广播给其他节点,由于比特币区块大小1M的限制,单个区块只能容纳有限的交易事务,据统计,单个区块实际容纳的交易数约为1700多,区块每隔10分钟打包确认,因此比特币交易速度约为每秒3笔。而市场上常用的支付手段如VISA平均每秒处理5000到8000次交易,支付宝处理交易的峰值可达每秒近10万笔交易。比特币缓慢的交易导致网络中待确认的交易越来越多,造成网络堵塞。

区块链扩容需求广泛存在,各界都在研究区块链扩容方案。比特币区块链网络中用户为加快交易速度,必须增加交易的手续费使矿工优先处理交易。大量的交易手续费和严重的交易延迟限制比特币的发展,这也是整个区块链技术发展面临的问题。以太坊创始人维塔利克·布特林在以太坊说明文件中提到区块链系统在“去中心化”、“可扩展性”和“安全”三方面中只能完美解决两点,即“去中心化”和“安全”。但随着网络规模的扩展,区块链系统必须考虑“可扩展性”问题的解决方案。比特币核心开发团队提出如BIP101、隔离见证等多种扩容方案;比特币新矿池ViaBTC部署Bitcoin Unlimited扩容方案,并得到澳大利亚计算机科学家莱特支持;中科院袁勇团队研究并提出平行扩容方案;康奈尔大学提出比特币扩容方案Bitcoin-NG;金融密码与数据安全国际学术会议上讨论比特币扩容方案;以太坊也提出分片、状态通道、Plasma等扩容方案。

区块链扩容方案实现复杂,是一个复杂的关联性问题。在互联网时代,应用软件都是通过更新迭代的方式升级,来满足用户量日益增多和服务升级的需求。对应用软件来说,软件升级相对容易,系统升级通过更新升级服务器就能达到目的,性能低下通过增加服务器来支撑庞大的交易,但在区块链场景中扩展升级十分复杂。区块链基于分布式的架构,具有众多节点,每个节点都部署服务和存储数据,区块链升级需要每个节点都升级本地系统才能完成整个区块链的升级。区块链升级需修改底层源代码,新旧版本的存在会使得区块链中打包出来的区块存在两个不同版本,各节点和矿池也会选择所支持的版本,进而导致硬分叉为两条链甚至多条链,违背原本去中心化共识的思想。

 

 二、如何扩容——区块链扩容的技术方案

目前区块链扩容方案主要有包括链内扩展技术和链外扩展技术,也称作第一层扩容技术和第二层扩容技术。

图1  区块链扩容技术方案
图1  区块链扩容技术方案

 

1. 链内扩展技术

链内扩展技术主要是基于对区块链自身进行改进,主要包括区块扩容和隔离见证。

(1)区块扩容:是一种最直接的扩容方式,即增加区块大小,如将比特币当前区块大小从1MB扩展到2MB,区块大小的扩展可以使每秒交易处理增加。理论上,区块容量越大,交易处理速度就越快,但在实践中,若块容量太大,矿工打包块的速度会变慢,区块在网络传输过程中因网络无法对大文件进行快速传输,又会出现新的问题,因此直接对区块大小进行扩容的方案是有限度的。2017年8月,比特币硬分叉为比特币(BTC)和比特币现金(BCC),BCC实现区块大小从1MB到8MB的扩容。

(2)隔离见证:字面意思就是将见证的内容隔离开来。区块中存储的是交易数据,隔离见证通过缩小交易数据的尺寸,使每个区块可容纳更多的交易来达到扩容的目的。比特币交易是发起者通过签署UTXO(未花费交易输出,类似于支票)并填写接受者地址而建立的,这个过程就是“见证”。为保证交易事务唯一性,比特币对每条交易事务数据进行哈希计算得到交易事务ID。交易事务中的关键数据包括签名、接收方和交易金额,其中签名占据了大量存储空间,而该签名信息的作用是由矿工见证交易数据来源的合法性,普通节点并不验证签名信息,因此签名数据部分就可被隔离存储到其他区域,节省了区块的存储空间,也就实现了隔离见证。2017年5月莱特币通过用户激活软分叉方案,绕过矿工和矿池的支持,完成了隔离见证。

(3)分片技术:是将网络中的节点分成不同碎片,各分片处理不同交易数据,每个片区内部共同处理同一交易事件,网络中可并行处理交易大大提高网络并发量。为了实现节点随机分配和片区验证者分配,需再建立一条单独的区块链(以太坊2.0中称为信标链),负责执行维护整个网络所需的操作。这种方式即为二次方分片,是通过网络双层设计增加交易量。具体地,将以太坊网络上的节点分成100片,分片系统由主链上发布的校验器管理合约(VMC)进行维护,每个片区都是独立存在的,当以太坊中有交易时,只选择其中一个分片处理,如果网络内有M件事务待处理,现在每个节点只需要处理M/100件即可,之后这些打包的子区块的数据组成一个主链上的区块,相当于主链区块容量扩大了100倍。目前以太坊2.0信标链还未正式上线发布。另外EOS采用的DPOS共识机制中只有部分节点参与造块,而且没有挖矿竞争,更注重扩展性,和以太坊的分片技术异曲同工。

 

2. 链外扩展技术

改进区块链本身的链上扩展技术有很多局限性,因此在链外使用技术手段进行扩容的方案逐步出台,链外扩展技术主要包括侧链技术、闪电网络和多链扩展。

(1)侧链技术:是在区块链的主链之外引入侧链,在侧链上完成数据(价值)分流。侧链协议可以实现多个区块链之间的交易和价值转移,侧链是相对于主链而言的,多个可以实现价值转移的区块链之间可以互为侧链。侧链技术实现区块链扩展是采用双向锚定的思想,在主链上冻结一定价值的资产,由矿工确认冻结的资产在侧链上的对等价值,兑换后用户在侧链上使用对等价值的资产。侧链有两种实现方式,一种是单一托管,即将主链上的资产发送到一个单一托管的机构控制并冻结资产,然后在侧链上激活,这种实现方式是中心化的,存在安全风险;另一种是多重签名,主链上冻结的资产通过多重签名的地址控制,资产交易消息需要经过多方的签名才有效合法,大大提高了安全性。侧链技术可以实现完全不同架构、技术和共识的区块链间交易,是一种解决区块链扩容的较理想方案。

(2)闪电网络:是一个点对点的对等网络,完全去中心化的数字货币微支付系统。闪电网络在区块链外开辟一个基于买卖双方的独立双向支付通道,通道创建初期记录一个原始资金分配方案保存双方的初始资金,交易记录经双方签名更新在资产分配方案中。在链下的支付通道中可以发生一次或多次交易,这些交易在支付通道关闭之前都只在闪电网络的资产分配方案中更新,不会在链上共识,直到交易结束后将最终余额分配结果更新到链上共识。频繁交易记录在链下进行大大减少了主链上交易次数,可以显著提高容量、可扩张性、交易吞吐量,且通过闪电网络通道进行的所有微支付几乎都无法被追踪,保障交易更加匿名安全。但闪电网络是基于智能合约建立的双向支付通道,需要智能合约的支持,对于比特币区块链的实现较为复杂,且在实现闪电网络过程中需要打开和关闭支付通道,频繁操作通道可能会加剧网络拥堵。以太坊使用类似思想并升级惩罚机制的雷电网络作为一种链外扩展技术。

(3)多链互联:是利用跨链连接器连接多条区块链,实现不同业务链价值交互的多链架构理念。跨链连接器类似于“中间件”,负责定义各链之间进行交互的数据交换标准规范,多链结构中每条链都是一个单独的体系,链内可以自主共识、记账、查询、校验,链间通过跨链连接器进行跨链交易、价值转换。整个多链架构根据业务功能需求搭建并实现,整个体系可以实现多链业务协同,链间数据隔离,极大提高价值网络并行计算能力,保证良好的可扩展性和可利用性。

 

三、总结

习近平总书记在2019年10月24日主持中共中央政治局第十八次集体学习时指出“要把区块链作为核心技术自主创新重要突破口”。为贯彻落实习总书记工作要求,发挥区块链在技术创新和产业发展方面的作用,扩容问题就成为区块链新型基础设施、助力产业实践必须重视的关键问题。在此背景下,产业各方推动区块链技术发展,商业规模化应用落地,区块链扩容问题解决方案呈现遍地开花的局面。

各方案优劣势分析。对比分析各扩容方案,区块扩容和隔离见证方案局限性较大,会造成硬分叉和中心化问题,影响到整个区块链网络的平衡。侧链技术可以很好地帮主链做分流,但侧链作为一条独立运行的链,没有足够算力保证交易和区块链的安全,攻击者可以使用较小的代价对侧链展开51%攻击。闪电网络主要采用通道技术,因建立支付通道需要先投入一部分资金,适合于可支配的资金较富余且交易频繁的节点,因此支付通道交易也一般是矿池,矿池持续性链下交易会导致“中心化”问题,且支付通道交易的匿名性违背区块链“交易可追踪”的理念。

扩容方案发展趋势。目前分片技术和多链互联是研究的热点方向,但在实际应用中,单纯地使用某一种技术方案是不够的。目前,国内各大区块链平台系统主要采用链下扩容技术,并将多种方案融合在系统中使用,如采用侧链等跨链技术、升级优化国内共识算法、提高硬件性能等多种手段共同提升区块链底层平台性能。分片技术也是多数区块链平台未来的重点发展方向,该技术在逻辑上简单但技术实现难度大,如何合理的计算分片规模、分片数量得到区块链网络分片最优解还需各方研究。

根据应用平衡选择扩容。区块链作为分布式系统,占有硬件和服务资源量较大,盲目扩展会付出巨大的资源代价。从应用场景的角度来看,实际应用场景中应根据业务需求对区块链性能进行必要的扩展,做好服务器资源和链上的效益平衡。且从区块链系统 “去中心化、安全性、可扩展”三大特性来看,也需根据实际应用平衡三者关系。如在规模化数字支付场景对性能要求较高,但在一些企业联盟链低频次大额交易中,性能并非首要问题,应更加注重安全性。

 
 
[ 企业资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
 
 
一周资讯排行
图文推荐