作者|JackyLHH出品|白话区块链
你或许也知道,限制目前区块链技术大规模落地应用的一个很重要因素就是性能,这也是为什么很多传统互联网从业者不太看好区块链技术的一个原因。
那么,如何解决区块链的性能问题呢?其中的一个解决方案就是分片技术。
01?什么是分片?
分片是数据库分区的一种形式,也称为水平分区,即将一个大的数据库切分成很多小的、可处理的部分,从而提高性能,缩短响应时间。
声音 | Solana CEO:分片技术可能会为区块链项目引入安全风险:分片被广泛认为是区块链可扩展性的解决方案。但Solana首席执行官Anatoly Yakovenko称,实施分片技术的项目可能会在其区块链中引入新的安全风险,可能使它们容易受到共识攻击。 他认为,与分片相关的风险远远超过任何可能的可扩展性好处。“一旦你拆分网络,就会引入一个额外的攻击媒介。分片技术会破坏安全性。”如果一个分片被黑客接管,可能会引发多米诺效应,影响代币价格,导致用户和节点的大规模外流。他补充道,分片允许黑客利用分而治之的策略摧毁原本欣欣向荣的生态系统。 Radix(XRD)CTO兼联合创始人Dan Hughes表示,分片的区块链容易受到安全风险的影响,但他们已经创建了一个安全的分片实现。他补充,虽然第一次的分片迭代可能会让区块链容易受到攻击,但这项技术正在快速发展。区块链项目在安全性和可扩展性之间可走的道路狭窄,但它并非不可逾越。[2019/8/29]
分片并不是一个新的概念,早在90年代后期就出现在了传统的中心化数据库管理中。这个概念的流行,要归功于一个多玩家同时在线玩的角色扮演游戏UltimaOnline。
动态 | MultiVAC:已在分片技术获得了“突破”:据cointelegraph报道,根据11月5日的新闻稿,区块链平台MultiVAC声称已经在区块链扩容技术分片(sharding)中获得了“突破”。MultiVAC报告称使用64个分片实现了每秒30784次交易(TPS)。虽然所使用的所有分片的交易总量在其峰值时超过30K,但单个分片达到533 TPS。MultiVAC还在新闻稿中声称,他们的“全维分片扩展解决方案”或可用于大规模商业应用,以及低性能计算机上的加密挖掘。[2018/11/10]
在这个游戏中,开发者将玩家分配到不同的服务器来缓解流量压力。商业上,一个普遍的分片案例就是将用户信息的数据库按照地理位置划分,同一个区域的用户信息放在一起,存到单独的服务器中。
纽约Consensus大会Penta发布全新分片技术PSG:Penta CMO Mr. Stephane Laurent在美国纽约举行的Coin Desk Consensus 2018峰会上接受媒体采访,全球首次向媒体介绍了Penta的全新分片技术Penta Sharding Graph(PSG)。这是继提出了独特的DSC共识算法之后,Penta技术团队再次首创的技术突破。PSG用账本结构来扩展Penta主链,对不同地址或DAPP的交易采用动态分组的方式实现区块的并行处理,并自动协调交易的并行和串行处理,同时保证了系统的一致性、公平性、安全性和可用性。本次Consensus 2018大会规模空前,很多区块链行业重量级人物也都在会上发布了新的成果。以太坊联合创始人Joseph Lubin宣布了ConsenSys在Enterprise Blockchain的全新成果,Dr Yaniv Altshuler宣布了MIT Blochchain System Alliance的成立。[2018/5/17]
这些节点每次只有一个节点能获得记账出块的权利,剩下没获得出块权的节点相当于做了“无用功”,白白浪费了算力。
如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务进行分解,全网的节点也进行分组,每一组同时处理一个分解后的任务,这样就从原先单一节点处理全网的所有任务变成了多组节点同时并行处理。
举个例子,假设目前以太坊上有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个缺陷,我们拭目以待。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。