分片技术:如何解决区块链的性能问题?_区块链:怎么挖以太坊币

作者|JackyLHH出品|白话区块链

你或许也知道,限制目前区块链技术大规模落地应用的一个很重要因素就是性能,这也是为什么很多传统互联网从业者不太看好区块链技术的一个原因。

那么,如何解决区块链的性能问题呢?其中的一个解决方案就是分片技术。

01?什么是分片?

分片是数据库分区的一种形式,也称为水平分区,即将一个大的数据库切分成很多小的、可处理的部分,从而提高性能,缩短响应时间。

Alex Chien:在解决网络可扩展性方面,波卡平行链很像以太坊2.0的分片技术:金色财经报道,在8月28日举办的《金色百家谈 | Polkadot如何构建资产互联网?》的直播节目中,达尔文网络(Darwinia Network)联合创始人Alex Chien表示,波卡平行链是特定于应用程序的数据结构,它在上下上是一致的,并且可以由 Polkadot 中继链的验证人进行验证。通常平行链会是一条区块链, 但并没有特别要求它们必须是一条链,之所以叫他们平行链是因为它们于中继链并行运行。由于它们的并行性质,它们能够并行地处理交易并实现 Polkadot 系统的可伸缩性。它们与 Polkadot 网络共享安全,并且可以通过 XCMP 与其它平行链进行通信。

在解决网络可扩展性的方面,平行链确实很像以太坊2.0将要实现的分片技术,例如共识算法和Staking相关的设计。

每个平行链有自己的业务规则和治理主权,波卡使用共享安全和共享运行时(Shared Protected Runtime Execution Enclaves),链上治理的方式来组织和保护这些分片,各个平行链还可以自主的选择申请加入和退出波卡网络,从这一点上看有点像欧盟。

而以太坊2.0的每个分片都更加一致和统一,并且使用同一种业务规则和语言,整个系统统一治理,相较于波卡的欧盟模式,则更像美国。[2020/8/28]

分片并不是一个新的概念,早在90年代后期就出现在了传统的中心化数据库管理中。这个概念的流行,要归功于一个多玩家同时在线玩的角色扮演游戏UltimaOnline。

掌柜调查署 | Marco:未来必然有越来越多的项目会基于分片技术打造或改造:在今日举行的《掌柜调查署 | Near分片技术如何引领web3.0时代》直播中,针对“分片技术在行业内的落地情况如何?”的问题,Buildlinksfjop合伙人、Near中国线上黑客松冠军Marco表示,不管是老项目的扩容改造,还是新项目的能力建设,分片方案都是目前最佳的选择。所以,未来必然有越来越多的项目会基于分片技术打造或改造。当前大部分分片方案,都是基于信标链模式,比如,以太坊上的信标链,波卡上的中继链,Cosmos的Cosmos Hub。而这个模式的由来,也是为了解决分片本身所面临的几大挑战之一:安全性挑战。因为每分片上验证人数目随着分片而减少,如何保证分片的安全性是分片系统面临的最基础挑战。信标链作为分片的基准链,提供统一的随机性,让分片上的验证人随机产生,使得从概率上攻击单个分片的难度与攻击全链一致。除了安全性挑战外,分片协议还普遍面临:跨分片通信;数据一致性问题;数据有效性和可用性等挑战。特别的,信标链模式的分片系统还面临一个分片规模受限的问题。因为信标链要处理所有分片的验证人分配,以及对分片快照这些工作,其本身是一个能力受限的瓶颈。除此以外,信标链系统设计复杂,仅分叉选择逻辑一项,就需要处理信标链分叉和分片链分叉两种情况及其相互之间的关联关系。NEAR为什么这么受追捧,跟它的分片协议关系很大了。NEAR在分片技术上独树一帜,采用了无信标链的构建方式。[2020/8/14]

在这个游戏中,开发者将玩家分配到不同的服务器来缓解流量压力。商业上,一个普遍的分片案例就是将用户信息的数据库按照地理位置划分,同一个区域的用户信息放在一起,存到单独的服务器中。

Penta发布全新PSG分片技术:Penta(梵塔网络/PNT)发布了全新的PSG(Penta Sharding Graph)分片技术,它可以通过对不同地址或DAPP的交易采用动态分组的方式实现区块链的并行处理,并自动协调交易的并行和串行处理,同时采用自动压力平衡技术,有效提升交易的并行处理能力。另外,PSG分片采用的DSC共识算法机制,确保了包括智能合约等交易的一致性,以及共识生成区块时与主链一致的公平性。在整体系统的安全性、跨分片交易事务的一致性方面也有显著提高。分片技术被认为是可扩展性问题最可能的解决方案,近日Vitalik Buterin多次谈到以太坊分片技术,包括QuarkChain等项目也都有用到该技术,PSG分片技术的出世或许将对交易环节的可扩展性带来重要意义。[2018/5/16]

这些节点每次只有一个节点能获得记账出块的权利,剩下没获得出块权的节点相当于做了“无用功”,白白浪费了算力。

如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务进行分解,全网的节点也进行分组,每一组同时处理一个分解后的任务,这样就从原先单一节点处理全网的所有任务变成了多组节点同时并行处理。

举个例子,假设目前以太坊上有8,000个节点,全网待确认的交易是15,000笔。以太坊每秒能处理7-15笔交易,正常情况下至少需要1000秒才能处理完这些待确认的交易,当然处理的过程中又会有新的待确认交易产生。

如果采用分片技术,将8,000个节点分成100组,每组80个节点,这15,000笔待确认交易分成100个分区,每个分区150笔,那么,每组节点可以并行处理各自分区里的待确认交易,这样最快10秒钟就可以全部处理完那15,000笔待确认交易。

从这个例子中,我们可以看到,分片技术可以大幅提高区块链的性能。

03?分片技术潜在的风险

那么,分片技术有没有缺陷呢?答案是肯定的。

分片技术虽然能在一定程度上解决区块链的性能问题,让区块链更具有可扩展性,但也存在两个缺陷。

一个是分区后,不同区的通信问题。上面的例子,将以太坊网络分成100个分区,每个分区都是独立的,相当于有100条独立的、平行的以太坊区块链,每条都由一组矿工维护和确认交易。

这100条独立的以太坊区块链并不能相互通信,如果要通信,势必要增加跨分区的通信机制,这会增加区块链的复杂性,开发难度也会提高。

第二个是区块链的安全性。还是上面的例子,在未分片之前,以太坊网络是8,000个节点组成的算力,分成100个分区后,每个分区相当于一条独立的以太坊区块链,算力下降到80个节点组成的算力。

此时,对其中一个分区进行51%算力攻击就容易很多。控制了一个分区,攻击者就可以在这个分区内做恶,篡改交易。

以太坊基金会计划将分片技术作为以太坊2.0的升级内容之一。以太坊如何解决分片技术的上述2个缺陷,我们拭目以待。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:516ms