详解以太坊2.0分片技术 1 - 引子

in hive-155234 •  4 years ago 

本文译自vitalik(v神)4月7日发布的文章,并稍微做了些许改动。

原文链接:https://vitalik.ca/general/2021/04/07/sharding.html

以太坊2.0将采用分片技术来提升其扩展性,而且分片技术也是帮助以太坊生态未来能支持更高TPS和降低gas费的关键。然而,在以太坊生态或者其他蓬勃发展的区块链社区中,这项技术很容易被误解。只有当你了解以太坊本身存在的各种细节和问题,才能将这项技术了解得足够彻底,而不是和其他区块链技术(一般安全性要弱的多)使用到场景混为一谈。

这篇文章将详细地解释以太坊即将用到的分片技术,使用这项技术将会带来什么样的收益?以及为了达成分片技术我们需要作出哪些让步?

网络上有太多以太坊分片技术的版本,下图就是其中之一:
https://p26-tt.byteimg.com/origin/pgc-image/c44f9d53db6740bd96b8ec165a3b8213
可伸缩性三角悖论

在开始详细介绍分片技术之前,我们先引入“可伸缩性三角悖论”问题来帮助理解。

如下图所示,传统Pow(工作量证明共识机制)如BTC/ETH拥有去中心化和安全性,但可扩展性极弱,TPS在20以内。对于典型的高TPS公链如EOS,拥有高TPS以及安全性,但却是中心化的。而多链生态如波卡,去中心化而且可扩展,高TPS,但是容易遭受攻击,安全性相对弱。

“可伸缩性三角悖论”描述的是在有限条件下使用的技术只能使一条区块链实现三种特性当中的两种,无法三者兼得。这三种特性分别是:

可扩展性:相比单链进行验证的处理能力有数量级的提升

去中心化:组织内部的节点可无需依靠任意可信赖的第三方运行,在中心化的区块链生态当中,一般这些第三方需要拥有高算力或者高投票权才有准入资格

安全性:指的是区块链自身能抵御部分节点联合起来的“反叛”攻击(理想情况下至少要抵御50%的节点攻击;如果能抵御25%以上也还可以,但如果只有5%绝对不安全)

现在让我们来看看当下的区块链生态,目前只能满足“三角悖论”中的两个特性,一般有如下三类:

传统区块链项目 - 包括比特币,ETH 1.0(截止到2021年4月11日),莱特币,还有大部分基于Pow共识算法的项目。这些区块链项目依赖每一个参与者节点需要在本地运行全节点(容量线性递增)来验证交易,因此可以说这些项目都是去中心化的也是安全的,但毫无可扩展性。

高TPS区块链 - 包括Dpos家族(BM的Steem、Eos生态等)还有部分其他的项目,它们的特点是需要依赖一小部分中心化的节点(通常是10到100个)来达成共识,这些节点拥有绝对的决定权。由于投票的节点数量少,因此可以处理更高的TPS,扩展性以及安全性也更好。但是由于权利掌握在少数节点的手里,所以此种区块链去中心化程度低。

多链区块链生态 - 多链区块链生态是指提供不同种类的区块链向上搭建多样化的去中心化应用,以此来达到高可扩展的目的,并制定跨链消息协议来完成不同链之间的通信。这种生态是去中心化的也是可扩展的,但是并不安全,原因是攻击者只需要获得共识节点的投票权后集中攻击其中的一条链,连锁反应会导致整个多链生态受到影响。

那么重点来了,分片技术可以让以太坊生态获得“可伸缩性三角悖论”中的三者。分片的以太坊区块链将有如下特性:

可扩展:TPS远远高于单链生态

去中心化:不需要依赖所谓的“超级节点”来组成中心化的少数节点联盟运行

安全性:攻击者无法通过少部分的资源来攻击系统,除非控制了整个生态的大部分(如51%攻击)

在后续的系列当中,将围绕以上三个特性来讲解分片技术如何能实现这一切。

敬请期待~

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!