白话ETH2.0:你要了解的都在这里
背景
自以太坊诞生以来,随着关注度的越来越高,在以太坊主链上进行交易以及智能合约运行的数量越来越多。另外就是以太坊以外的公链开始慢慢蚕食以太坊的份额,没有对比就没有伤害,大家发现以太坊虽然是公链领域的王者,但是也存在这一些问题。
第一是处理速度慢。以太坊大概每秒只能处理10多笔交易,这个肯定是没法适应未来交易和Dapp的持续增长的。
第二是gas费用居高不下。费用高主要有两个原因,一个是以太坊的价格持续增长。一个是网络拥堵,以太坊的Gas手续费机制有点类似价高者得的意思,这也导致了gas费用居高不下。
其实不只是以太坊,比特币区块链的也很慢,我们来探讨下为啥这些早期的主流区块链的这么慢。
首先我个人觉得不是一个原因导致的慢,肯定是多个因素叠加导致的。这些因素可能包括:
第一是算法慢。区块链大部分都是基于POW工作量计算的机制,处理交易需要大量消耗CPU的计算,比如hash。还涉及各种对称或者非对称的加密算法,数据签名、验签等。其实很多互联网的交易场景也涉及一些加解密,但是一般是比较简单的,不像区块链这么繁琐。
第二个是流程慢。区块链的设计交易都是串行的,我们都知道要想提高程序的并发能力,一般会采用多线程并行的方式处理,充分利用cpu的多核能力。但是区块链可能是为了降低事务的复杂性,采用的是串行的方式。无论你的计算机是几个核都没用,反正我就是一个个处理。
第三个原因是交易需要全部节点确认。为了保障主链数据的一致性和可信力(这也是区块链存在的本质),在区块链中产生的交易会在网络上广播,由所有的节点运行进行复杂的校验,大多数节点认可后才会并入主链的区块。
我这里列出的肯定不是全部的原因,很多细节需要深入到区块链的底层原理才能梳理清楚。
什么是ETH2.0呢
最早的以太坊业内把它叫做ETH1.0。ETH2.0就是为了解决上面提到的问题而生的。ETH2.0有几个大的愿景。
第一,可扩展性
可扩展性对以太坊至关重要,目前1.0版本每秒只能处理10多笔交易,通过增加节点的容量方式提高交易速度不具备可持续性,因为只有更强大的计算机才能做到这一点,失去了公平性。
2.0希望用分片链的方式来解决这个问题,通过增加链来提高交易的吞吐量。分片链的技术细节这里先不展开。
第二,安全性
2.0还希望以太坊比之前的版本更安全。1.0的区块链是基于POW ( proof of work)工作量证明机制,这个机制有个明显的缺陷是控制了全网超过51%的算力就可以造假(尽管这种实现的可能性很小)。以太坊2.0希望引入另外一种机制叫做POS(proof of state)来解决安全的问题,同时也解决了POW耗费大量资源的问题。
简单来讲,POS提供了一种通过质押ETH获取投票权利的机制,不需要耗费电力进行运算。如果发现投票的人作弊会自动销毁质押的ETH。
第三,可持续性
无论是以太坊还是比特币区块链,都有个很大的问题就是他们的算法机制对能源有极大的消耗。相信你肯定听过有人在四川或者贵州的深山老林里部署大量的矿机挖比特币,就是因为那边的电费便宜。
要从根本上解决问题,就要改变算法,不要使用这种工作量证明的机制,而是使用POS这种质押的机制。ETH2.0引入了一种叫信标链(beacon-chain)的东西就是一种全新的权益证明( PoS )区块链。它可以让验证者可以参与质押系统、替代矿工的角色而成为链的构建者。
同时我们前面提到的分片链,是以太坊实现扩展的核心,信标链上管理着验证者的名单,以及分片验证者任务。从这个角度看,信标链在以太坊2.0中起到了至关重要的承上启下作用,上层是以太坊主链,下层是分片链。
2.0能兼容1.0吗?
大家都很关心,ETH2.0上线后,1.0怎么办?
根据官方的说法,以太坊 2.0 不会清除 1.0链上任何的数据历史、交易记录、或者资产所有权。至于如何兼容的技术细节我没有在官方文档找到详细的资料。
总结
虽然现在公链市场百花齐放,但是以太坊依然是稳坐第一把交椅。以太坊1.0目前存在的问题都会随着2.0的上线解决,可以让以太坊实现真正的腾飞。从一个区块链演变成一台世界级的超级计算机。
参考:
- https://ethereum.org/en/upgrades/ 白话ETH2.0:你要了解的都在这里