引介

Eth2 研究团队 AMA:分片、可扩展性、可组合性

Ajian   |     |   619 次阅读

编者注:以太坊 2.0 研究团队于 2019 年 7 月 15 日在 Reddit 上做了一个持续时间长达 12 小时的 AMA (有问必答)活动,本文即是对该场问答活动的节选。


问:Phase 0 会带来可扩展性提升吗?有了 Sharding 之后,以太坊每秒能处理多少交易?

Vitalik:Phase 0 让一个轻客户端可以用非常轻量的方式给你传递 eth1 链的哈希值(当然也还有瑕疵,因为你每 6 分钟就要付出约 200kb 来跟踪委员会,到了 Phase 1 的时候可以下降为每几天 200kb)。这一功能可以用来,比如,让内置在浏览器中的轻客户端更高效地工作。这也是一种类型的可扩展性提升,而且在我看来是没有被充分讨论过的。

Carl:Phase 0 的目标是跟踪验证者的状态并产生随机性,追问其可扩展性是没什么很大意义的。至于 TPS,答案还未明了。粗略计算一下的话,如果每个分片都拥有与 Eth1.x 同等的吞吐量,那么 TPS 可以推到 16*1024 = 16,384(假设没有跨分片交易)。

此外,上面这个数字仍有些不可靠,因为 Eth2 被设计为可以与 Layer-2 方案比如 Rollup 和 OVM 相互配合,后者可以提供更高的吞吐量。


问:实现 Sharding 之后,是突然出现 1024 个分片,还是说一开始只有几个分片,但分片数量会随着使用量增长而增加?因为一开始就放出这么多分片显然会造成空间上得浪费

答:所有 1024 个分片会一次性放出。逐步增长的分片模式(可能会)带来不必要的复杂性。有大量未使用空间的分片上 Gas Price 会更低,如此便可吸引来更多用户。


问:1024 个分片,13 万个以上的验证者……那么如果在分片链启动前攒不出足够多的验证者,该怎么办呢?

Carl:分片是 1024 个,每个委员会 128 个验证者,那么每个时隙(slot)都需要至少 131,072 个验证者提供 crosslink。如果验证者数量少于这个数字,那某些分片就会被跳过,保证每个委员会都有 128 个验证者。

Danny:系统可以自然处理低至 64 个验证者这样的情况;此时安全性显然会大幅降低,不过协议在技术上还是能正常运作。

Vitalik:从技术上来说哪怕只有一个验证者,系统也还是 “能运作”。只不过,当低于 131,072 个验证者的时候,系统的属性就会随着验证者数量的降低而逐渐退化。


问:我最大的担忧是 ETH2.0 会打破可组合性(composability)。难道不会出现大多数 dApp 都在同一个分片(比如 MakerDAO 合约所在的分片)上开发的情形吗(这样他们就可以使用 Dai 了呀)?

Justin:分片间的可组合性无疑尚属未定领域,不过我们有理由保持乐观:

分片被设计为同构的(homogeneity)(不像比如说 Polkadot 或 Cosmos)以促进跨分片通信。

有一些设计模式可以把分片间的边界抽象掉。比如说,我们可以将 分片 0 与 分片 1 看作是结合在一起的数据可用性底层,给一个执行引擎提供数据,只不过这个引擎要求更大的带宽。这些设计模式在可编程执行引擎中会更容易得到利用。

分片在设计上是对 “快速理想确定性” 友好的,因为分片 attestation 某种程度上可以类比为 Eth1 中的区块确认。也就是说,实际上,由于单片的快速概率确定性,分片系统可以表现为一个逻辑意义上的区块链。

在 UI 层上也可以找到机会抽象掉分片边界。


原文链接: https://docs.ethhub.io/other/ethereum-2.0-ama/?from=singlemessage&isappinstalled=0#part-2
作者: Eth2 Research Team
翻译&校对: 阿剑

 
0 人喜欢