从跨境金融交易到供应链管理,区块链在越来越多的试点项目中得到推广,但一个长期存在的问题是: 缺乏可伸缩性。
随着越来越多的计算机加入对等网络,整个系统的效率通常会下降。可伸缩性已经被认为是比特币和以太币等加密货币的一个重大问题。如果分布式分类账技术要被金融技术公司采用,并以数百倍的速度与支付网络竞争,那么它必须找到一种方法来提高可伸缩性和吞吐量,并解决延迟问题。
进入“分片”。
分片是开发人员正在研究的几种提高事务吞吐量的流行方法之一。简单地说,分片是一种将计算和存储工作负载分散到对等网络的分区方式,这样每个节点就不必负责处理整个网络的事务负载。相反,每个节点只维护与其分区或分片相关的信息。
分片中包含的信息仍然可以在其他节点之间共享,这使得分类帐分散和安全,因为每个人仍然可以看到所有分类帐条目;它们只是不处理和存储所有的信息。
共识的难题
公共区块链最持久的问题之一是围绕着共识协议——如何从用户那里获得协议,以确定拟议的交易是否真实,是否应该被添加到分布式分类账中;共识协议中如最流行的工作量证明(PoW)机制,可以说是高度计算密集型的。
在基于POW的区块链中,每个身份验证计算机或节点都记录链上的所有数据,这是协商共识过程的一部分。在比特币等大型区块链中,大多数参与交易的节点必须对新交易进行身份验证,并记录这些信息,才能将其添加到分类账中;这使得完成每个事务变得缓慢而艰巨。正因为如此,基于POW的比特币每秒只能处理3.3到7笔交易,而一笔交易完成需要10分钟。以太坊是另一种流行的区块链分类账和加密货币,每秒只能处理12到30笔交易。
而Visa的VisaNet平均每秒处理1700笔交易。
将每个节点记录的新信息添加到区块链的优点是无可争议的,不可更改的。基于POW的区块链是写一次,附加许多应用;因此,它们是不可变的。
以太坊和Hyperledger是全球领先的区块链平台,也是无数应用程序的基础,从以太坊的以太币等加密货币,到“智能”或自动执行的在线合约。以太坊正在探索分片,而Hyperledger则没有。
分片是一个起源于水平数据库分区的概念,以太坊正在采用它。因此,不是每个节点都必须处理所有事务,从而提高了可伸缩性,”Gartner副总裁、著名分析师阿维娃·利坦(Avivah Litan)说。
去年,在区块链分类账和加密货币达到每天100多万笔交易之后,以太坊开始探索提高性能的方法。
以太坊解决了两个提议的解决方案。一种是“第二层”机制——在标准数据库中处理链外事务,只在分类账上记录永久性条目;另一个解决方案是分片,允许同时并行处理更多事务。
第二层协议将大多数事务发送到链外,仅与底层区块链交互,以便进入和退出第2层系统。第2层协议在LAN或相邻WAN中的节点之间传输数据,减轻了P2P区块链网络的负担。
在分片被激活之后,区块链的“状态”被分割成分片或分区。Litan解释说,每个独特的用户帐户相当于一个分片,帐户只能与同一分片中的其他帐户进行交易。她说:“这使得许多并行事务可以同时发生。”“由以太坊选择的单独协议允许跨分片通信。”
分片安全吗?
以太坊的创建者维塔利克·布特林(Vitalik Buterin)当时在一篇博客文章中写道,除了解决可伸缩性问题,一些人认为分片还能维护区块链的本机安全性,因为它保留了“区块链所需的大部分分散式和安全特性”。
从理论上讲,事务吞吐量的增加与分片的数量成线性关系。Linux基金会的Hyperledger区块链项目的安全专家David Huseby说:
为了维护区块链的安全性,必须防止分片收购。根据康奈尔大学(Cornell University)发表的一篇研究论文,破坏给定分片中的节点将导致相应数据部分的永久丢失。
例如,在以太坊网络模型中,节点必须随机分配给一个分片,并在随机时间里重新分配给另一个分片。
这个想法是为了让攻击者很难预测或强制他们的(恶意)节点被分配到哪个分片。这使得拜占庭式地接管任何一个分片都变得更加困难。
Huseby解释说,用Hyperledger区块链进行分片并非如此简单。“我们的区块链通常不像加密货币那样处理‘地址’。
Hyperledger区块链专注于维护一个全局状态(想想数据库),共识机制调节状态的更新,而区块链安全地存储状态更新,”Huseby说。
Hyperledger网络可以像以太坊那样垂直切分,但由于它不分割地址空间,因此可以尝试不同的分片技术。
Huseby表示:”如果我必须对Hyperledger网络进行切分,我会首先利用交易验证和区块构造之间的区别。”“事务验证比块构造要慢得多,所以我的第一个步骤是大幅增加事务验证器节点的数量。”
第二个挑战是处理“瘦”客户端(也称为SPV(简化支付验证)钱包),以确保这些节点在分片时拥有区块链状态的全貌。为了解决与分片相关的可见性问题,瘦客户机通过单独的网络进行通信,并为每个分片维护本地状态副本。
最后,分片间通信提出了一个挑战,因为每个分片都作为一个单独的区块链网络出现。
解决通信问题
本月早些时候,初创公司Devvio宣布,它已经创建了一种基于分片、第2层协议和有效协商机制的高效分布式账本协议,可以解决区块链网络面临的所有主要问题。Devvio表示,它的协议每秒可执行多达800万笔交易,这将扩大全球金融业务的规模。
在Devvio的“Devv”协议中,每个分片代表一个单独的区块链分类账;该公司声称,随着时间的推移,可以将数千个分片添加到全球公共区块链中,最终每秒处理数千万次交易。例如,每个分片都是Devv分散式分类账上的独立区块链节点,可以处理多达3000个事务。Devvio首席执行官汤姆·安德森表示,添加另一个节点将使能够处理的事务数量增加一倍。
每个分片(也是一个加密货币钱包)成为一个更大网络上的输入,Devvio将其称为T1网络;单个分片可以通过称为T2的独立事务网络与其他分片通信。
Forrester Research的首席分析师玛莎•班尼特(Martha Bennett)指出,目前使用或计划使用分片的区块链框架,其功能几乎都不一样。
在安全性、存储效率和计算效率方面实现最佳保证。关键的直觉是节点不应该存储复制的数据;相反,它们应该存储编码的数据线性组合。
例如,在瑞士非盈利组织分布式技术研究基金会(DTR)的支持下,7所大学刚刚宣布他们正在开发一个数字货币网络,通过分片来解决区块链的可伸缩性和性能问题。
DTR基金会理事会成员乔伊•克鲁格(Joey Krug)表示:“缺乏可伸缩性阻碍了加密货币的采用,(我们的)开创性研究正在解决这个问题。”“开发人员正在将这项研究转化为真正的可伸缩性能,这将使大量分散的金融应用程序受益。”
Unit-e正在使用“全新的分片方式”,称为“PolyShard”,这是一种存储和计算解决方案,在不牺牲安全性的前提下,随着用户的增加而变得更高效。关键是,PolyShard协议将来自不同用户和事务的数据混合在一起,仍然允许精确的数据恢复,类似于服务器和存储系统上的虚拟化。
然而,到目前为止,分片机制仍然处于开发和测试阶段(从某种意义上讲是理论阶段),并且创建的标准化方法不仅解决了可伸缩性问题,而且解决了安全性问题。在考虑分片解决方案之前,必须解决这个挑战。
Husebuy说:“对于可伸缩性来说,分片并不是一个简单的解决方案。”“有很多细节需要考虑,我们需要一些实证实验来支持这个理论,然后我们才能称之为安全。”实现必须小心假设,这样攻击者就不会有漏洞可钻。