当前位置: 首页 > 科技观察

区块链可扩展性问题及解决方案对比

时间:2023-03-15 19:05:05 科技观察

区块链性能问题VISA是目前全球广泛使用的信用卡品牌。区块链要达到实用水平,性能至少要和VISA之类的支付系统进行对比。根据VISA2015年的记录,全年共产生920.64亿笔支付交易,平均为2920tps。以平均每笔交易约512字节计算,年交易数据量约为47TB。目前主流的区块链性能是比特币每秒只能执行7笔左右的交易;以太坊每秒10-20笔交易。目前这些区块链的交易性能无法与VISA相提并论。更严重的是,目前比特币和以太坊的矿机需要存储全量数据,单机存储能力有限。如果这个问题不解决,即使交易性能提升,如果每年新增数据量是47TB的话,那么这些数据很快就会超过单机的容量,整个区块链网络将无法继续下去操作。那么,为什么像比特币、以太坊这样拥有海量节点的区块链系统性能如此低下呢?为什么区块链的可扩展性这么差?原因分析,区块链是一种去中心化的账本技术。要保证公开、自治、不可篡改的特性。去中心化是指使用分布式记账和存储。没有集中的硬件或管理机构。任何节点的权利和义务都是平等的。系统中的数据块由全系统具有维护功能的节点共同维护。也就是说,系统中的任何一个节点都需要对交易数据进行全量计算和存储。因此,区块链是不可扩展的,即系统的整体性能受限于单个节点的性能上限。即使加入大量的节点,也无法提升系统的整体性能。可扩展性是传统分布式系统的一个基本特征,但由于去中心化的要求,区块链的可扩展性很难满足。业界总结了一个描述去中心化和可扩展性之间矛盾的三难困境。尚未经过严格证明,只能称为猜想,但在实际系统设计过程中不时会受到挑战:去中心化、安全性和可扩展性这三个属性是区块链系统无法同时满足的时间,最多只能选择三个中的两个。  上图演示了区块链如何在这三个因素中进行选择以及相应的策略。例如,为了满足安全性和去中心化,需要所有节点参与共识、计算和全量存储,但由此带来的问题是可扩展性的损失,即系统的整体性能无法随着节点的增加;如果要满足可扩展性和安全性,就需要集中管理,需要保证参与共识的节点是可扩展的。相信它;如果要满足可扩展性和去中心化,就应该采用去中心化存储和计算的策略,如果没有完全的共识,攻击网络的难度就会降低,安全性就难以保证。提升区块链系统性能的解决方案我们知道,影响区块链交易性能的主要因素包括共识机制、交易验证、广播通信、信息加解密等。从这些环节出发,我们可以得到一些提高性能的方法。共识机制从PoW到PoS再到DPoS以及各种BFT算法,共识机制在不断创新,区块链平台的性能也得到了极大的提升。交易验证从交易验证机制来看,目前有几种优化的处理方式:1.闪电网络和状态通道。这两种策略保持底层区块链协议不变,将交易转移到链下执行,通过改变协议的使用来解决可扩展性问题。链下部分可以用传统的中心化分布式系统实现,性能可扩展。在这种策略下,分布式账本上只记录粗粒度的账本,真正细粒度的双边或有限多边交易的细节不作为交易记录在分布式账本上。缺点是有一个集中的系统。2.Sharding,以太坊项目正在开发的分片方案的总体思路是每个节点只处理一部分交易,比如一些账户发起的交易,以减轻节点的计算和存储负担。3、多链架构(Multi-chain)的思想是将原链分成多条链,每条链负责部分计算和存储业务,并具有可扩展性,即链条数可以随着业务量的增加,系统的整体性能随着链条数的增加而增加,系统的存储空间也可以随着链条数的增加而扩展。广播通信P2P网络是区块链的核心技术之一,因此P2P网络通信的效率对性能有重要影响。为了提高广播通信性能,需要改进节点机器的物理配置,提供高速网络连接,采用减少广播的共识算法,如DPoS。信息的加解密信息的加解密是区块链中的一个关键环节,主要有两类算法:哈希函数和非对称加密。区块链系统可以采用更高性能的加密算法来提高交易验证的性能。方案对比上述优化方式中,共识机制、广播通信、信息加解密都是算法层面的优化。这些方案虽然也是重要的优化,但并没有解决根本性的问题,其性能提升仍然受到单机性能的限制。可扩展性,因此性能提升有限,本文不再赘述;交易验证的几种优化方案都是可扩展的方案,其中闪电网络和状态通道在链下执行,采用中心化系统来提高区块链性能,这与区块链去中心化的理念相悖,复杂使用体验差(如闪电网络要求交易双方和中间人同时在线,线下系统开发复杂,需要寻找可用的支付渠道,不适合大交易等),不能广泛使用。因此,EOS、以太坊、Cosmos、迅雷链等高性能区块链项目均采用分片或多链方案。分片或多链解决方案的思路是一样的,即每个分片或分片链处理和存储一些交易数据,每个分片和分片链可以并行处理不同的交易数据。子链数量越多,系统的整体性能就越高,两者都是高度可扩展的解决方案。一、EOS的多链实现方案EOS的技术白皮书并没有描述多链的实现方案,只是描述了支持跨链通信的IBC(InterBlockchainCommunication)协议。跨链交互通过简化生成生成存在证明和消息序列的证明来实现。EOSIO声称主链可以支持3000多TPS,通过IBC可以达到100万TPS。EOS的多链架构其实就是一种侧链方案。开发者可以独立部署一条EOS侧链(公链和私链)来运行自己的Dapp。这些侧链可以拥有自己的委员会、见证人和计算资源,以及自己的代币。这些代币有自己额外的发行方式,代币可以通过接口与EOS锚定,实现包括锁定在内的某些操作。侧链最大的特点是双向挂钩技术,使得在侧链流通的Token价格始终与EOS价格保持一定比例或直接采用EOS。因此,EOS的多链架构并不是主链本身的可扩展改造,只是希望通过子链来分担主链的压力。2.以太坊的分片技术(Sharding)分片(Sharding)是以太坊正在开发的一项技术。它的总体设计思路是:将区块链网络中的每一个区块都变成一个子区块链,子区块链可以持有若干个(目前有100个)打包交易数据的Collat??ions(大概叫“校验块”,为了区别于分片场景下区块的概念),这些Collat??ions最终在主链上形成一个区块;因为这些Collat??ions是作为一个区块作为一个整体存在的,它们的数据必须全部由特定的矿工打包生成,这与现有协议中的区块本质上是一样的,所以不需要增加额外的网络确认。这样,每个区块的交易容量扩大了约100倍;而且这样的设计也有利于以后的扩展。跨分片通信:利用UTXO模型,通过在主链上进行交易并创建收据(带有收据ID),用户可以将以太币存入指定的分片。分片链上的用户可以使用给定的收据ID创建收据(收据消费)交易以花费收据。但是UTXO适用于交易,不适合合约状态数据存储。  3。Cosmos的多链技术Cosmos项目的目的是解决区块链的互操作性和可扩展性问题。其跨链通信协议可以实现区块链的互联互通,支持不同区块链之间的通信。资产转移。该网络主要由CosmosHub和几个Zone两部分组成。  Cosmos网络中的第一条链是Hub,从名称和功能上可以理解为Cosmos的中央链或管理员链。所有其他区块链交易都将记录在Hub中。令牌可以通过集线器转移到另一个区块链。Hub是Cosmos网络的核心,与其他Zone不同。严格来说,Cosmos网络并不是真正的分布式系统。如果Hub出现单点故障(当然Hub本身是分布式的,出问题的概率会小),Cosmos网络的很多功能都会不可用。关于这一点,白皮书强调必须严格保护Hub。每个Zone都可以看作是一个独立的区块链空间。每个Zone都会与Hub保持状态同步。Hub通过分散的验证器组来保证安全性。当Zone1向Zone2发送跨链消息时,Zone1首先生成消息包并在Hub上发布其证明,Hub会在Hub上生成Zone1的跨链消息包存在证明并发布在Zone2上,然后Zone2已经收到消息包,并出具证明并发布在Hub上。最后,Hub将接收证明交给Zone2,并发布在Zone2上。完成整个跨链消息传递。4.XunleiChain同构多链架构XunleiChain是同构多链架构,即每条链具有相同的结构和平等的地位。也就是说,系统是由相对独立的(独立共识)链组成的。每条链有多个节点。每个节点都分配给其中一条链。不同的账户数据锚定在不同的同构链上。然后接入层将交易路由到发送方的链上进行区块打包和共识。系统中的链数可以根据业务需要动态增加。因此,同构多链架构首先保证了系统的可扩展性。  与EOS等区块链系统需要昂贵的高性能服务器作为记账节点不同,迅雷链采用廉价、省电的万科云设备作为记账节点,搭建自己的大型共享计算平台。目前,万科云节点数量已突破150万节点。如此庞大的节点数量对区块链系统的可扩展性提出了严峻挑战。挑战主要来自两个方面:1.OnekeCloud设备便宜、省电、性能低,这就要求共识算法必须使用环保、适应家庭用户网络环境的算法。为了应对这一挑战,ThunderChain在改进的PBFT的基础上融入了DPoS的思想。在每条链上,定期(例如,每5,000个区块)选举验证者节点以参与共识。与传统DPoS不同的是,迅雷链不以矿工持有的代币数量或币龄作为选举标准的投票权重,而是以存储容量、网络稳定性、带宽、延迟等标准作为衡量指标为了更好的公平性和网络效率。2、万科云节点数量众多,家庭网络环境复杂,要求区块链系统设计具有高度可扩展和自治的架构。得益于同构多链架构极强的可扩展性,迅雷链可以充分利用海量万科云节点,可以“无限”扩展链数,从而具备百万级并发处理能力。综上所述,ThunderChain使用多链架构实现可扩展性+使用PBFT实现强一致性+使用更绿色公平的DPoS进一步提升共识效率,实现更高的可用性。从去中心化、安全性和可扩展性三要素来看,去中心化和安全性是由大量广泛分布的万科云设备支撑,采用多链架构实现可扩展性。总结共识机制、广播通信、信息加解密算法层面的优化,无法解决大规模去中心化系统的可扩展性问题;而闪电网络和状态通道是在链下实现的,它们是从区块链上去中心化的。有悖于全球化理念,使用复杂,用户体验差,不能广泛使用。因此,前沿的区块链项目采用高度可扩展的分片或多链解决方案。其中,EOS目前是多线程架构,其整体性能仍受限于单机性能。运行区块链节点需要昂贵的服务器,可扩展性不强;以太坊正在开发的分片技术主链需要负责验证子链的区块。由于主链会存在性能瓶颈,因此子链数量有限(100个子链);Cosmos也是同样的问题,必须严格保护Hub;多链架构避免了上述缺点,适用于大规模廉价节点的部署。可以“无限”扩展链数,拥有百万级并发处理能力。