以太坊: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。

V神提出两种可能的解决方案来处理以太坊的历史数据:11月24日消息,V神Vitalik Buterin在Reddit的AMA中提出了两种可能的解决方案来处理以太坊的历史数据。其中包括将在合并后发生的一次性历史到期,以及具有移动截止日期的定期历史到期,正式名称为EIP-4444。这两种解决方案都可以实施。据了解,以太坊历史数据已经超过400GB,处理以太坊客户端的历史数据,历史到期将使运行节点变得更便宜,或者可以用来证明适度增加gas限制是合理的,这将降低交易费用。

一位用户询问了区块提议者/区块创建者分离 (PBS)。Buterin最近发布了关于这种方法的帖子,该方法旨在阻止区块提议者(或矿工)以有利于他们的方式向区块添加交易。PBS尚未完全开发和测试。(AMBCrypto)[2021/11/24 7:08:00]

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

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神提出跨Rollup扩展方案以实现L2项目相互通信:3月3日消息,近日V神于社区论坛提出了一种针对特定类型的跨Rollup扩展的解决方案,以连接第二层扩展项目。根据该方案,虽然目前有许多项目已经部署了第二层Rollup方案,但问题在于各种二层项目不能直接在L2上实现相互通信。V神提议使用Rollup在两个支持智能合约的协议之间进行传输。假设一个rollup可以处理简单的事务,而另一个则具有完全的智能合约支持特性。为确保未来交易的安全,智能合约将被编程为接受“备忘录”,其中包括任何人向它发送的额外数据。事务将创建一个连接层,在所有这些隔离的合约中保存存款,允许rollup A通过该层发送到rollup B。针对该方案,Alon Muroch表示该方案就像银行之间的交易清算一样。将资产批量分配到单独的“账户”中可能会有限制,但两端都设置一个大池,并按比例分摊费用可以是一种解决方案。(Cointelegraph)[2021/3/3 18:10:05]

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

如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务(比如确认交易、运行 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:26ms