作者:林冠宏 / 指尖下的幽灵
GitHub : https://github.com/af913337456/
以太坊是区块链领域中的一个应用,为公链应用,是后者的真子集。
本文将从一个区块的生命周期的角度去介绍以太坊 2.0相比于1.X做了哪些不同,主要的点在于共识算法的改变。
BTW:本人技术书籍《区块链以太坊DApp开发实战》现已出版并可网购了,适合初中级区块链技术相关研发人员阅读。
注意目前2.0版本还没正式上线,部分功能还在开发中,它的整体架构图如下图所示:

包含但不限于引入了以下的新技术点 或 名词:
信标链,它将管理着参与共识的验证者。含有但不限于:
自己退出验证者随机分配验证者去某条分片链随机选择轮到提议的验证者奖励处罚,我们称之为"quadratic leak(二次泄漏)"惩罚交易被分配到不同的区块,区块在不同的分片链中时,由信标链负责它们数据/通讯的一致,比如合约的调用。终端设备下载信标链软件而成为验证者,参与管理2.0生态。验证者,参与 2.0 出块生态的角色,普通以太坊地址通过向指定的智能合约抵押 32 个ETH,成为验证者。分片链,拥有多条,它将管理将被打包的交易,验证者会被随机分配到这里,生成块,再排队等待,去投票块或拒绝块。EWASM,分片上的虚拟机系统,为 EVM 的升级版。下图是其 github 项目主页。
基于以太坊 1.8.11版本源码。请注意这个前提,所属版本称号为:大都会 之 上章 --- 拜占庭
首先我们来看下以太坊 1.8.11 的区块生命周期图解。一目了然地,如下图所示。一个很明显的点是:以太坊的挖矿算法还是PoW 算力挖矿。这也是导致了出块时间最严重的地方,要增加出块的速度,优化共识算法是一个主要的点。

将以太坊的PoW 算法进行修改在早前已经是以太坊团队声明过的一个举措。本来的进程计划是:
PoW --> (PoW + PoS) --> PoS
关于PoW共识算法的通俗讲解见我这篇文章:区块链的共识算法:整体介绍 及 分叉 的通俗讲解
关于PoS共识算法的通俗讲解见我这篇文章:区块链的共识算法:PoS 及其 例子 代码 实现
目前的,已经发布了的君士旦丁堡版本,本身是以为是转为PoS共识的了,无奈依然是PoW。
2.0 版本是以太坊现在规划中的最后一个版本: Serenity(宁静),正是在这个版本,以太坊团队将明确要引入新的共识机制,一起参与实现这项修改的角色正是本文的 以太坊 2.0 参与者 小节所提到的那些。
由于以太坊公链一开始采用的是PoW 共识机制 已经运行了很久。它不同于一些新生的公链,在一开始的时候可以挑选性能更好的共识算法,在前人吃螃蟹者 --- 比特币公链的基础上,它也采用了 PoW。因此发展到现在,随着部署在它上面的 DApp 原来越多,且要考虑支持要求交易速度更高的应用时,它必须要升级了。
现在升级,就需要考虑更多的问题,比如说:
对于第六点,因为出块成功的效率直接影响了交易被打包成功的效率,从而交易成功的速度也跟随着而改变。
组合前面小节 以太坊 2.0 参与者 谈到的各个角色,以太坊 2.0 的共识机制,目前看来是符合 PoS 模式的,为什么是目前看来?因为2.0还没发布,所以在这之前一切都有变数。
在区块的生命流程中的进行共识的一个步骤可以细分为下图。

图中有两个重要的随机:
分片链。从验证者集合中,挑选各个部分的验证者分配到某一条分片链中。注:
叔块的概念目前不确认是否还会存在以太坊2.0中,故 暂时不在图中作出。
最后,大家可以看下一些暂定到时可以运行与信标链进行通讯的客户端软件:

原文:https://www.cnblogs.com/linguanh/p/11248328.html