本文首发于微信公众帐号:
一界码农(The_hard_the_luckier)
无需授权即可转载;
甚至无需保留以上版权声明……

首先以太坊是参考比特币公链发展的另外一条基础公链,都是区块链重量级应用。
在区块链世界里离不开挖矿,既然要挖矿需要一套共识机制即一套算法规则,那么比特币是在遵守BIP(Bitcoin Improvement Protocol,比特币改进协议)协议下采用PoW工作量证明机制来挖矿,而以太坊采用幽灵协议是为了改进PoW算法,从而提出的PoS权益证明。
什么是幽灵协议?
根据《以太坊区块链白皮书》的解释是这样的:

“幽灵“协议(”Greedy Heaviest Observed Subtree” (GHOST) protocol)是由Yonatan Sompolinsky 和 Aviv Zohar在2013年12月引入的创新。幽灵协议提出的动机是在确认时间较为快速的区块链中由于生成区块的高作废率而受到安全性降低的困扰。

这是从英文白皮书翻译过来的解释,我们还是不太清楚什么是幽灵协议,再单独搜索“幽灵协议”,出来的是碟中谍系列电影,那么如何去理解幽灵协议呢?首先根据英文直译是“贪婪性重度观察子树协议”,然后多看一下以太坊白皮书,注意一个概念“叔区块”,白皮书里谈到 叔区块是当前区块祖区块(爷爷辈,往前两个区块)及其之前祖先区块的废弃后代区块,其实来说,叔区块和孤块分不开,孤块又是什么,孤块是指同时被旷工挖出的区块但不被确认的块,也就是你解出算法题的时间比别人晚了那么一点点,没有确认记在最长的一条链上;那么叔区块(叔块)则是以太坊独创的概念,由于以太坊是12-15秒出块,很容易出现分叉导致“孤块”概率大,不给旷工奖励,会影响他们积极性,会引发一定社区混乱,所以旷工挖到孤块同样获得奖励,于是孤块就成为叔块。另外以太坊还规定了每个区块对最近的2个叔块进行引用,每引用一个叔块会得到一定(1/32)区块奖励,最多引用2个。

知道了叔块的概念现在再去理解幽灵协议就容易了,根据直译就知道,协议是告诉旷工们即使你们挖到了很多孤块,以太坊也会给与奖励,不会让孤块变成幽灵,食之无味弃之可惜,那是旷工们辛辛苦苦挖到的东西。
接着再去看白皮书,以太坊在设计之初考虑到区块链的两个问题:

1.区块高作废率
区块需要花一定时间才能扩散至全网,如果矿工A挖出了一个区块然后矿工B碰巧在A的区块扩散至B之前挖出了另外一个区块,矿工B的区块就会作废且没有对网络安全作出任何贡献。
2.中心化趋势
如果A是一个拥有全网30%算力的矿池而B拥有10%的算力,A将面临70%的时间都在产生作废区块的风险而B在90%的时间里都在产生作废区块。如果作废率高,A将简单地因为更高的算力份额而更有效率。因此,区块产生速度快的区块链很可能导致一个矿池拥有实际上能够控制挖矿过程的算力份额。

以太坊采用幽灵协议解决了降低网络安全性的问题
在计算哪条链“最长”的时候把作废区块也包含进来,也就是说,不仅一个区块的父区块和更早的祖先块,连叔区块也被加进来以计算哪一个区块拥有支持其的最大工作量证明。

以太坊采用经济激励措施来解决中心化倾向问题
以太坊付给以“叔区块”身份为新区块确认作出贡献的作废区块87.5%的奖励,把它们纳入计算的“侄子区块”将获得奖励的12.5%。不过,交易费用不奖励给叔区块。

总结:以太坊为什么使用幽灵协议,目的是为了解决网路安全性问题并推出了“叔区块”的概念,并用叔区块奖励机制来解决中心化倾向问题。


为了输出倒逼输入,决心在知识星球建立码农的区块链星球,让自己在区块链世界的学习与践行成长记录有迹可循~把我对区块链的认知、收藏资源和经验、思考记录于此。

以太坊为什要使用幽灵协议?相关推荐

  1. 白皮书 | 以太坊 (Ethereum ):下一代智能合约和去中心化应用平台

    当中本聪在2009年1月启动比特币区块链时,他同时向世界引入了两种未经测试的革命性的新概念.第一种就是比特币(bitcoin),一种去中心化的点对点的网上货币,在没有任何资产担保.内在价值或者中心发行 ...

  2. 区块链2.0以太坊漫谈(3)

    进一步的应用: (1)储蓄钱包. 假设Alice想确保她的资金安全,但她担心丢失或者被黑客盗走私钥.她把以太币放到和Bob签订的一个合约里,如下所示,这合同是一个银行: (1)Alice单独每天最多可 ...

  3. 以太坊白皮书(中英对照版)

    Ethereum:A Next-Generation Smart Contract and Decentralized Application Platform 以太坊:下一代智能合约和去中心化应用平 ...

  4. 以太坊白皮书[中文]

    当中本聪在2009年1月启动比特币区块链时,他同时向世界引入了两种未经测试的革命性的新概念.第一种就是比特币(bitcoin),一种去中心化的点对点的网上货币,在没有任何资产担保.内在价值或者中心发行 ...

  5. 以太坊基本概念理解(组成,设计理念,应用)

    目的 直观理解以太坊运作规律理念. 便于下一步对技术更深入的理解. 以太坊特点 以太坊是"世界计算机",这代表它是一个开源,全球分布的计算机设施. 每个节点都需要参与计算,其中一个 ...

  6. 一个基础的以太坊介绍

    https://bitsonblocks.net/2016/10/02/a-gentle-introduction-to-ethereum/ Posted on October 2, 2016 by ...

  7. 以太坊的发展阶段、特点、组成部分、重要概念

    以太坊的发展阶段 "前沿"(Frontier)-Block#0 以太坊的初始阶段,持续时间为2015年7月30日至2016年3月 "家园"(Homestead) ...

  8. 以太坊目前所使用的共识算法介绍

    如果别人问你"以太坊目前所使用的共识算法"是什么?如果你此时去浏览器搜索发现有些文章说是PoS,又有些说是PoW. 完整且正确的说法应该是这样的,这其实也是PoW共识机制与以太坊的 ...

  9. 通俗讲解:PoW共识机制与以太坊的关系、Ghost协议 及 Casper PoS共识机制的变种...

    作者:林冠宏 / 指尖下的幽灵 掘金:juejin.im/user/587f0d- 博客:www.cnblogs.com/linguanh/ GitHub : github.com/af9133374 ...

最新文章

  1. Spring Boot + IntelliJ IDEA——自动部署[Spring Boot热部署]+LiveReload[前端自动刷新、热加载]解决方案
  2. Redis数据库(四)——Redis集群模式(主从复制、哨兵、Cluster)
  3. Mysql计算出年纪
  4. oracle 迁库 教程,Oracle整库文件迁移步骤详解教程
  5. View绘制详解(四),谝一谝layout过程
  6. 网络攻防|Web后门知识详解
  7. 【技术美术图形部分】纹理基础2.0-凹凸映射
  8. CAJ(caj)阅读器下载
  9. 解决新版浏览器autoplay不能自动播放的问题
  10. Command python setup.py egg_info failed with error code 1 in /private/var/folders/14/4hz051qx0wqd3
  11. 计算机网络----数据交换方式虚电路
  12. 自平衡小车TB6612FNG驱动直流电机控制接线介绍
  13. LM09丨费雪逆变换反转网格策略
  14. vscode 取消拉去变基_开发工具之 Git 篇
  15. platform驱动的probe过程
  16. Background背景
  17. win10下从源码运行Cura——环境配置(二次开发准备工作)
  18. String.Format 方法
  19. Coin flipping and bit commitment
  20. EPUB文件转PDF文件在线工具

热门文章

  1. springboot+vue前后端分离java地铁站自动售票系统-火车票售票系统
  2. 用Ventoy制作U盘引导工具
  3. webrtc-dtls、sctp、srtp
  4. 又一款因为安全问题垮掉的游戏
  5. css实现阴影效果box-shadow与滤镜(filter)
  6. 50个最受网友欢迎的HTML5资源下载列表
  7. 作为程序员的他凭什么成就年薪100W架构师?
  8. 无接触式磁旋转编码器AS5040介绍
  9. 社招三年后端21连问
  10. SpriteKit学习笔记(六)关于Sprit…