当前位置: 首页> 移动设备




一文看懂区块链性能解决方案:分片

发布时间:20-06-25

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

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

1、什么是分片?

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

分片并不是一个新的概念,●早在 90 年代后期就出现在了传℡统的中心化数据库管理中。这个概念的流行,要归功于一个多玩家同时在线玩的角色扮演↖游戏 Ultima Online。在这∏个游戏中,∑开发者将玩家分配到不同的服务器来缓解流量压力(这意味着有很多个平行的“游戏世界”)。

商业上,一·个普遍的分片案例就是将用户信息的数据库按照地理位置划分,同一个区域的用户信息放在一起,存到▲单独的服务器中。

2、什么是区块链领域里的分片?

区块链就█⊙相当├于一个数据库,▄每一个节点都相当于一个独立的服务器。正常情况下,这⿷些节点每次只有一个节点能◎获得记账出Д块的权利,剩下没获得出块权的节点相当于做了“无用⊙功”,白白浪费了☼算™力Б。

如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务(比如确认交‖|易、运行 DApp 等)进行←分解,全网的节点也∏进行分组,每一组同时处理一个分解后的任务⿲(比如 150 笔待确认交易),这样就从原先单一节点处理全网的所有任务变成了多组节点同时并行处理。

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

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

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

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

3、分片技术潜在的风险

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

一个是分区后,不同区的通信问题。上面的例子,将以太坊网络分成◢ 100 个分区,每个分区都是独立的,相当于有 1⿹00 条独立的、平行的以太$坊区块链,每条都由一组矿工(80 个节〒点)维护和确认交易。这 100 条独立的以太坊区块链并不能相互通信,如果要通信,势必要增加跨分区的通信机制(类似垮链),这会增加区块链的复杂性,开发难度也会提高。

第二个是区块链的安全性。还是上面的例ㄨ子,在未分片之前,以→太坊网络是 8,000 个节点组成的算力╤,分成 100 个分区后,每个分区相当于一条独立的以太坊区块链,算力下降到 80 个节点组成的算力。此时,对其中一个分区进行 51% 算力攻击就容易很多。控制了一个分区,攻击者就可以在这个分区内做恶,篡改交易。

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

来源:白话区块链

&#x◈f012f; 分享
上一篇: 智能门锁制造商 August 又发新产品了,API 授权开锁
下一篇: AI赋能商业升级,搜狗同传助阵2018NBI夏季创新峰会