主页 > 华为手机怎么安装不了imtoken > 区块链的可扩展性问题及成因分析

区块链的可扩展性问题及成因分析

区块链性能问题

VISA是目前全球使用最广泛的信用卡品牌。 区块链要达到实用水平,至少要在性能上能够与VISA等支付系统相媲美。 根据VISA 2015年的记录,全年共产生920.64亿笔支付交易,平均为2920tps。 以平均每笔交易约512字节计算,年交易数据量约为47TB。

目前主流的区块链性能是比特币每秒只能执行7笔左右的交易; 以太坊每秒 10-20 笔交易。 目前这些区块链的交易性能无法与VISA相提并论。 更严重的是,目前比特币和以太坊的矿机需要存储全量数据,单机存储能力有限。 如果这个问题不解决,即使交易性能提升,如果每年新增数据量是47TB的话,那么这些数据很快就会超过单机的容量,整个区块链网络将无法继续下去操作。

那么,为什么像比特币、以太坊这样拥有大量节点的区块链系统性能如此低下呢? 为什么区块链的可扩展性这么差?

原因分析

区块链是一种去中心化的账本技术,需要保证公开性、自治性和不可篡改性。 去中心化是指使用分布式记账和存储。 没有集中的硬件或管理机构。 任何节点的权利和义务都是平等的。 系统中的数据块由全系统具有维护功能的节点共同维护。 也就是说,系统中的任何一个节点都需要对交易数据进行全量计算和存储。 因此,区块链是不可扩展的,即系统的整体性能受限于单个节点的性能上限。 即使加入大量的节点,也无法提升系统的整体性能。

可扩展性是传统分布式系统的一个基本特征,但由于去中心化的要求,区块链的可扩展性很难满足。 业界总结了一个三难困境来描述去中心化和可扩展性之间的矛盾。 没有经过严格证明,只能称为猜想,但在实际系统设计过程中总能受到挑战:

区块链系统不能同时满足去中心化(Decentralization)、安全性(Security)和可扩展性(Scalability)这三个属性,三个中最多只能选择两个。

为什么比特币系统要扩容_比特币一年一个币要几张显卡_比特币扩容 利益

区块链的可扩展性问题及原因分析

上图演示了区块链如何在这三个因素中进行选择以及相应的策略。 例如,如果要满足安全性和去中心化,就需要所有节点参与共识、计算、全量存储,但这带来的问题是可扩展性的损失,即系统的整体性能无法提升随着节点的增加; 如果要满足可扩展性和安全性为什么比特币系统要扩容,就需要集中管理,需要保证参与共识的节点是可信的; 为满足可扩展性和去中心化,采用去中心化存储和计算的策略,在没有完全共识的情况下,攻击网络的难度降低,安全性难以保证。

提高区块链系统性能的解决方案

我们知道,影响区块链交易性能的主要因素包括共识机制、交易验证、广播通信、信息加解密等几个环节。 从这些环节出发,我们可以得到一些提高性能的方法。

共识机制

从PoW到PoS再到DPoS以及各种BFT算法,共识机制不断创新,区块链平台的性能也得到了极大的提升。

交易验证

从交易验证机制来看,目前有以下几种优化方式:

比特币扩容 利益_比特币一年一个币要几张显卡_为什么比特币系统要扩容

1)闪电网络(Lightning Network)和状态通道(State Channels),这两种策略都是保持底层区块链协议不变,在链下执行交易,通过改变协议的用法来解决可扩展性问题。 链下部分可以用传统的中心化分布式系统实现,性能可扩展。 在这种策略下,分布式账本上只记录粗粒度的账本,真正细粒度的双边或有限多边交易的细节不作为交易记录在分布式账本上。 缺点是有一个集中的系统。

2)Sharding,以太坊项目正在开发的分片方案的总体思路是每个节点只处理一部分交易,比如一些账户发起的交易,以减轻节点的计算和存储负担。

3)多链架构(Multi-chain)的思想是将原链分成多条链,每条链负责部分计算和存储业务,并且具有可扩展性,即数量链的数量可以随着业务量的增加而增加。 系统的整体性能随着链条数的增加而增加,系统的存储空间也可以随着链条数的增加而扩展。

广播通讯

P2P网络是区块链的核心技术之一,因此P2P网络通信的效率对性能有着非常重要的影响。 为了提高广播通信性能,需要改进节点机器的物理配置,提供高速网络连接,采用减少广播的共识算法,如DPoS。

信息的加密和解密

信息的加解密是区块链中的关键环节,主要有两类算法:哈希函数和非对称加密。 区块链系统可以采用更高性能的加密算法来提高交易验证的性能。

方案比较

比特币一年一个币要几张显卡_为什么比特币系统要扩容_比特币扩容 利益

上述优化方式中,共识机制、广播通信、信息加解密都是算法层面的优化。 这些方案虽然也是重要的优化,但并没有解决根本问题,其性能提升仍然受限于单机性能,不具备可扩展性。 因此,性能提升有限,本文不再赘述; 几种交易验证的优化方案是可扩展的方案,其中闪电网络和状态通道是链下实现的,采用中心化系统来提高区块链性能,违背区块链去中心化的理念,使用复杂,用户体验差(例如,闪电网络要求交易双方和中间人同时在线,而离线系统开发复杂,因为需要找到可用的支付渠道,不适用于大额交易等),它不能广泛使用。 因此,EOS、以太坊、Cosmos、迅雷链等高性能区块链项目均采用分片或多链方案。

分片或多链解决方案的思路是一样的,即每个分片或分片链处理和存储一些交易数据,每个分片和分片链可以并行处理不同的交易数据。 子链数量越多,系统的整体性能就越高,两者都是高度可扩展的解决方案。

1. EOS的多链实现

EOS技术白皮书并未描述多链实现方案,仅描述了支持跨链通信的IBC(Inter Blockchain Communication)协议。 通过简化消息存在证明和消息序列的生成,实现跨链交互。 EOSIO声称主链可以支持3000多TPS,通过IBC可以达到100万TPS。

EOS的多链架构其实就是一种侧链方案。 开发者可以独立部署一条 EOS 侧链(公链和私链)来运行自己的 Dapp。 这些侧链可以拥有自己的委员会、见证人和计算资源,以及自己的代币。 这些代币有自己额外的发行方式,代币可以通过接口与EOS锚定,实现包括锁定在内的某些操作。 侧链最大的特点是双向挂钩技术,使得在侧链流通的Token价格始终与EOS价格保持一定比例或直接采用EOS。

因此,EOS的多链架构并不是主链本身的可扩展改造,只是希望通过子链来分担主链的压力。

2. 以太坊的分片技术(Sharding)

分片(Sharding)是以太坊正在开发的一项技术。 它的总体设计思路是:将区块链网络中的每一个区块都变成一个子区块链,子区块链可以容纳若干个(目前有100个)打包交易数据的Collat​​ions(大概叫“check blocks”,为了区分它们从分片场景中区块的概念来看),这些Collat​​ions最终在主链上形成一个区块; 因为这些排序规则作为一个区块作为一个整体存在,它们的数据必须由特定的矿工打包生成,这与现有协议中的区块本质上是一样的,所以不需要添加额外的网络确认。 这样,每个区块的交易容量扩大了约100倍; 而这样的设计也有利于未来的持续扩张。

为什么比特币系统要扩容_比特币一年一个币要几张显卡_比特币扩容 利益

跨分片通信:使用UTXO模型,用户可以通过在主链上进行交易并创建收据(带有收据ID)将以太币存入指定的分片。 分片链上的用户可以为给定的收据 ID 创建一个收据消费交易来花费收据。 但是 UTXO 适用于交易,不适合合约状态数据存储。

3. Cosmos的多链技术

Cosmos 项目的目的是解决区块链的互操作性和可扩展性问题。 其跨链通信协议可以实现区块链的互联互通,支持不同区块链之间的资产转移。

该网络主要由 Cosmos Hub 和几个 Zone 两部分组成。

区块链的可扩展性问题及原因分析

Cosmos 网络中的第一条链是 Hub。 从名称和功能上,可以理解为Cosmos的中央链或管理员链。 所有其他区块链交易都将记录在 Hub 中。 区块链上的令牌可以通过 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、迅雷链同构多链架构

比特币扩容 利益_为什么比特币系统要扩容_比特币一年一个币要几张显卡

ThunderChain是一个同构的多链架构,即每条链具有相同的结构和平等的地位。 也就是说,系统是由相对独立的(独立共识)链组成的。 每条链有多个节点,每个节点都分配给其中一条链。 不同的账户数据锚定在不同的同构链上。 然后接入层将交易路由到发送方的链上进行区块打包和共识。 系统中的链数可以根据业务需要动态增加。 因此,同构多链架构首先保证了系统的可扩展性。

与EOS等区块链系统需要昂贵的高性能服务器作为记账节点不同,迅雷链使用廉价、省电的万科云设备作为记账节点,搭建自己的大型共享计算平台。 目前,万科云节点数量已突破150万节点。 如此庞大的节点数量对区块链系统的可扩展性提出了严峻挑战。 挑战主要来自两个方面:

1)万科云设备便宜、省电为什么比特币系统要扩容,性能也较低,这就要求共识算法必须采用绿色环保、适应家庭用户网络环境的算法。 为了应对这一挑战,ThunderChain 在改进的 PBFT 的基础上融入了 DPoS 的思想。 在每条链上,定期(例如,每 5,000 个区块)选举验证者节点以参与共识。 与传统DPoS不同的是,迅雷链不以矿工持有的代币数量或币龄作为选举标准的投票权重,而是以存储容量、网络稳定性、带宽、延迟等标准作为衡量指标为了更好的公平性和网络效率。

2)万科云节点数量众多,家庭网络环境复杂,要求区块链系统设计具有高度可扩展和自治的架构。 得益于同构多链架构极强的可扩展性,迅雷链可以充分利用海量万科云节点,可以“无限”扩展链数,从而具备百万级并发处理能力。

综上所述,ThunderChain使用多链架构实现可扩展性+使用PBFT实现强一致性+使用更绿色公平的DPoS进一步提升共识效率,实现更高的可用性。 从去中心化(Decentralization)、安全性(Security)和可扩展性(Scalability)三要素的角度来看,去中心化和安全性是由大量广泛分布的万科云设备支持的,采用多链架构实现可扩展性.

总结

共识机制、广播通信、信息加解密等算法层面的优化无法解决大规模去中心化系统的可扩展性问题; 虽然闪电网络和状态通道是在链下实现的,但它们与区块链去中心化不兼容。 与概念相反,使用复杂,用户体验差,不能广泛使用。 因此,前沿的区块链项目采用高度可扩展的分片或多链解决方案。

其中,EOS目前是多线程架构,其整体性能仍受限于单机性能。 运行区块链节点需要昂贵的服务器,可扩展性不强; 以太坊正在开发分片技术。 主链需要负责验证子链的区块。 由于主链会存在性能瓶颈,因此子链数量有限(100个子链); Cosmos也是同样的问题,必须严格保护Hub; 多链架构避免了上述缺点,适用于大规模廉价节点的部署。 它可以“无限”扩展链的数量,从而拥有百万级并发处理能力。