区块链:V神提到的作为以太坊可扩展性未来的分片是什么?

4月7日,V神的网站更新了一篇名为《分片为何如此出色:揭开技术属性的神秘面纱》的文章,其中提到:分片是以太坊可扩展性的未来,它将是帮助生态系统每秒支持数千笔交易,并允许世界上大部分地区以可承受的成本定期使用该平台的关键。

你或许也知道,限制目前区块链技术大规模落地应用的一个很重要因素就是性能,这也是为什么很多传统互联网从业者不太看好区块链技术的一个原因。那么,如何解决区块链的性能问题呢?其中的一个解决方案就是分片技术(Sharding)。

什么是分片?

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

以太坊V神提出新的分片建议:EIP-4844:金色财经报道,以太坊创始人VitalikButerin在Twitter上分享了Proto-danksharding的想法,即专注于EVM无法执行的blob携带交易的数据验证场景。Proto-danksharding将取代danksharding,这是一种分片技术,其中只有一个提议者选择进入这个或那个槽的所有交易和所有数据,而不是为每个分片选择一个单独的提议者。提议的解决方案可以是一个临时变体,因为它包括了一些分片技术的实施。同时,它导致了数据使用的增加,因为它需要一个更大的区块大小。以太坊的创始人提议每30天自动删除blob数据,以防止网络对数据和内存存储的要求过大。[2022/3/21 14:08:04]

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

ETH 2.0开发人员:Altair升级规格将于5月21日左右冻结,V神提案允许将质押委托为矿池:ETH 2.0开发人员Ben Edgington更新Eth2双周进展表示,Altair是计划在年中进行的相对较小的信标链更新。根据开发人员最近的电话,客户端团队在实施Altair规格方面进展相当顺利。目前暂定时间规划(未承诺):Altair规格冻结在5月21日左右;6月初短期上线测试网(仅是Altair规格,不是分叉转换);尝试在6月底之前将当前的测试网分叉;七月底八月初部署到信标链。此外,Altair升级会导致不能支付验证节点一个epoch的奖励,除非采取一次性修复。该修复增加了实现和测试的复杂性,但回报相对较少。

另外,V神Vitalik提案允许验证节点更改其签名密钥:提供了一种将质押委托给矿池的方法,同时保留一定程度的控制权,并对slashable行为负责。[2021/5/9 21:41:22]

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

V神提出新型的跨二层DEX交易方案,仅需接收方支持智能合约:以太坊创始人VitalikButerin在Ethresear.ch提出一种新型的跨二层DEX交易的解决方案,该方案仅需接收一方支持智能合约即可,这意味着发送一方仅需支持简单的代币发送Rollup或Plasma即可。[2021/3/5 18:17:05]

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

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

V神提出了链交叉链接来实现他早前提出的最小分片规范:据trustnodes消息,V神提出了链交叉链接来实现他早前提出的最小分片规范。简单地说,这是在试图将主链与分片链连接起来。V神说他们的想法是,有两种类型的交叉连接,一种是从主链到分片,另一种是从分片到主链。一个从分片到主链的链接必须由一个委员会签署,而该委员会的责任是证明自上一次为该分片建立的交叉链接以来所有分片块的可用性。一旦建立了S2MC链接,主链的有效性就取决于该分片链的有效性,如果一个主链包含一个无效的分片链块的链接,那么整个主链就会被认为是无效的。它似乎表明简单的规格实际上可能有点整体性。[2018/4/30]

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

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

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

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

分片技术潜在的风险

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

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

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

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

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

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

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

除了性能问题,你觉得目前的区块链技术还存在哪些问题?欢迎在留言区分享。

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

金星链

[0:15ms0-1:338ms