作者:林冠宏 / 指尖下的幽灵

博客:http://www.cnblogs.com/linguanh/

GitHub : https://github.com/af913337456/

掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8


目录

  • 前序
  • 以太坊 2.0 参与者
  • 区块的生命周期
  • 优化共识算法
  • 2.0 共识的流程

前序

以太坊区块链领域中的一个应用,为公链应用,是后者的真子集

本文将从一个区块的生命周期的角度去介绍以太坊 2.0相比于1.X做了哪些不同,主要的点在于共识算法的改变。

BTW:本人技术书籍《区块链以太坊DApp开发实战》现已出版并可网购了,适合初中级区块链技术相关研发人员阅读。


以太坊 2.0 参与者

注意目前2.0版本还没正式上线,部分功能还在开发中,它的整体架构图如下图所示:

包含但不限于引入了以下的新技术点名词

  1. 信标链,它将管理着参与共识的验证者。含有但不限于:

    • 管理验证者。

      • 普通地址抵押 ETH 参与成为验证者
      • 因各种原因而自己退出验证者
      • 因惩罚而踢出验证者
    • 提供随机性。
      • 随机分配验证者去某条分片链
      • 随机选择轮到提议的验证者
      • ...
    • 跟踪和更新验证者的抵押款。
      • 投票了成功的区块而获奖励
      • 不去投票、旷工而被处罚,我们称之为"quadratic leak(二次泄漏)"
      • 作恶操作而被惩罚
    • 跨联,将整个分片链系统连接在一起。
      • 当,不同的交易被分配到不同的区块,区块在不同的分片链中时,由信标链负责它们数据/通讯的一致,比如合约的调用
    • 响应与之相连的验证者客户端软件。
      • 届时,人人可以使用终端设备下载信标链软件而成为验证者,参与管理2.0生态。
  2. 验证者,参与 2.0 出块生态的角色,普通以太坊地址通过向指定的智能合约抵押 32 个ETH,成为验证者。
  3. 分片链,拥有多条,它将管理将被打包的交易,验证者会被随机分配到这里,生成块,再排队等待,去投票块或拒绝块。
  4. EWASM,分片上的虚拟机系统,为 EVM 的升级版。下图是其 github 项目主页。
  5. ...

区块的生命周期

基于以太坊 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 原来越多,且要考虑支持要求交易速度更高的应用时,它必须要升级了。

现在升级,就需要考虑更多的问题,比如说:

  1. 依然要保持去中心化,因为这是区块链的核心特性之一。
  2. 有效对抗共识中心化的威胁,比如 PoW 要考虑的算力中心化。
  3. 区块共识的成本性考虑,比如算力对电力的资源的消耗。
  4. 对于旧共识机制的节点阵营,是否会导致硬分叉链的诞生。
  5. 与前区块链的区块数据嵌接性。
  6. 提高出块与交易打包的吞吐性。
  7. 区块被验证的速度。
  8. ...

对于第六点,因为出块成功的效率直接影响了交易被打包成功的效率,从而交易成功的速度也跟随着而改变。

2.0 共识的流程

组合前面小节 以太坊 2.0 参与者 谈到的各个角色,以太坊 2.0 的共识机制,目前看来是符合 PoS 模式的,为什么是目前看来?因为2.0还没发布,所以在这之前一切都有变数。

在区块的生命流程中的进行共识的一个步骤可以细分为下图。

图中有两个重要的随机:

  1. 随机分配验证者到分片链。从验证者集合中,挑选各个部分的验证者分配到某一条分片链中。
  2. 随机提议验证者。被提议的验证者提议自己所在分片链生产的区块,供其它分片链的验证者进行投票。投票可以投认可票,也可以投拒绝票。

注:叔块的概念目前不确认是否还会存在以太坊2.0 中,故 暂时不在图中作出。

最后,大家可以看下一些暂定到时可以运行与信标链进行通讯的客户端软件:

转载于:https://www.cnblogs.com/linguanh/p/11248328.html

简介 以太坊 2.0 核心 之 共识机制的改变相关推荐

  1. The Merge 过后,没有以太坊 2.0,只有共识层

    以太坊基金会今在 2022 年 1 月就官方宣布将淘汰"以太坊 2.0"的说法,在核心开发人员的共识下改称为"共识层 ( Consensus Layer)".此 ...

  2. 以太坊 2.0:信标链

    本文是 "以太坊 2.0" 系列的一部分.在本文中,我们将解释信标链. 阅读本文需要一些背景知识,不过不多,都在这篇 Explaining Validators 里面了.话说回来, ...

  3. 分析波卡与以太坊2.0有什么不一样的地方?

    转载原文链接:http://www.btcwbo.com/5372.html 自2016年波卡白皮书正式发布以来,经过几年的低调测试和开发,波卡的核心功能开发和生态开发取得了显著进展,平行链插槽Auc ...

  4. 以太坊 2.0:如何实现最终性

    首先,我们试着来理解什么是finality (最终性).[备注:也有译文将 finality 译为「确定性」] 你一定已经注意到,加密货币平台和 Dapps (去中心化应用) 通常都会等待几个区块被敲 ...

  5. 以太坊核心研究员Hsiao-Wei Wang:关于以太坊2.0的答疑解惑!

    2019年6月29日,由CSDN.灵钛科技主办,区块链大本营.Unitimes.ETHPLANET.以太坊爱好者社区.火星财经协办的"2019第二届以太坊技术及应用大会"在北京·长 ...

  6. eos和以太坊有什么关系_以太坊 2.0是什么?

    ETH2.0 是以太坊的计划升级方案.在接下来的几年里,ETH2.0 的设计者们计划完全革新以太坊的共识系统,并引入以太坊现有的世界状态.由于涉及面极广,我们也无法准确地说明 ETH2.0 将包括或者 ...

  7. 以太坊怎么注册_以太坊2.0将至,牛市即将到来??

    以太坊2.0是一个宏大的项目,我们说它"宏大"不仅表现在性能的提升上,而且体现在整体架构的改变上.而以太坊性能的提升根本也是因为它整体架构的改变,当以太坊进化到20时,它现在架构中 ...

  8. phpstduy8 redisClient 2.0 点不了_关于以太坊 2.0,你想知道的都在这里

    前天晚上 12 点左右,以太坊测试网的开发者宣布,ETH 2.0 的发布日期定在了 12 月 1 日(区块高度大于 1,606,824,000),主网的存款合约地址也正式生效.对于这则消息,V 神(V ...

  9. V神演讲干货全送上!关于以太坊2.0,你想知道的都在这里!

    编辑 | 晋兆雨.Carol 8月8日 ,「2020以太坊技术及应用大会·中国」顺利举行.CSDN 创始人&董事长.极客邦创投创始人蒋涛.以太坊创始人Vitalik Buterin .Unit ...

最新文章

  1. 如何逐步打下(研究生/博士生阶段)深度学习的数学基础?
  2. python数据结构视频百度云盘_数据结构与算法Python视频领课
  3. html css js 实战案例_使用html+css+js实现弹球游戏
  4. CTF-MISC杂项题2
  5. Ngnix的TCP和UDP负载平衡配置
  6. Python常用数据结构之heapq模块
  7. 监控进程网络使用情况--NetHogs
  8. CPU溫度高的9種可能
  9. 用OneDrive生成音乐外链和图片外链
  10. 【SQLSERVER 2000】由于数据移动,未能继续以 NOLOCK 方式扫描
  11. java定义一个生日类_java定义一个学生类,学生类的数据成员有姓名,学号,出生日期,专业,提供两个以上的...
  12. 卸载WPS后安装office,office文档图标显示异常的解决方法
  13. Matlab使用中遇到的一些脑残问题。
  14. 葫芦视频动漫排行榜前十名,没看过的可以补上
  15. 云计算有哪些?云计算排排坐,拿去不谢
  16. 基于cnn的图像二分类算法(一)
  17. 学写毛笔字前要了解的
  18. STM32基础学习笔记(2)---独立看门狗
  19. 全方位揭秘!大数据从0到1的完美落地之Linux二进制软件安装
  20. 斐波纳契回调线_斐波那契回调线(黄金分割线)全面解析

热门文章

  1. XP 系统开机自动登录
  2. 如何用 Python 找出某月的第一天
  3. SAP甲方历程回顾-01 2017年转到甲方的故事~从乙方离职
  4. 如何从 FastReport VCL 中将报表导出为PNG格式?
  5. c语言项目过期什么意思,vs2010为什么总显示此项目已过期 XP系统
  6. c语言s10 是什么意思啊,【S10】A.FortunatelyB.ComparativelyC.ConsequentlyD.Conversely - 试题答案网问答...
  7. CUDA out of memory(CUDA显存不足)
  8. tomcat启动一闪而过的解决方案
  9. 小旋风蜘蛛池V9.02源码
  10. Linux系统编程 复习笔记