以太坊(2)——共识机制与挖矿算法

共识机制

ETH采用的是基于GHOST协议的共识机制

"GHOST"(Greedy Heaviest-Observed Sub-Tree)共识机制,它是以太坊使用的一种改进的区块链共识算法。GHOST共识机制旨在提高链的安全性和效率,通过考虑非主链区块的贡献,减少网络中的分支和拜占庭错误,从而增加整体网络的可靠性。

新的共识机制

原因

ETH的区块产生时间短,更容易出现分支

  1. 新的共识机制着力于解决挖出分支链该怎么办的问题

  2. 新的共识机制解决了 挖矿奖励与算力不成线性正比使分支回到最长合法链 的两个问题

解决方法

对于挖出区块属于的非最长合法链的矿工予以补偿

为什么?

在ETH体系中,依旧有矿池的存在。假设按照BTC的处理方法

一个矿池挖出了一个区块,那么他肯定会沿着这个区块继续挖下去,而其他矿工的算力是分散的,而且更倾向于沿着矿池挖掘的最长合法链挖矿。这就导致了散户矿工拿到的收益与矿池拿到的收益和他们付出的算力不成正比,出现mining centralization的现象,矿池占到更大的便宜。

共识机制的演化

第一版

协议

  1. 每个区块可以包含uncle block,

  2. 被包含的uncle block获得出块奖励的7/8

  3. 包含uncle block的新区块额外获得出块奖励的1/32

  4. 对于uncle block,只判断它的哈希值是否合法,不管它的内容

优点

  1. 补偿了挖出分支区块的矿工

  2. 使得区块链分叉后的更快合并

存在问题

  1. 有的矿工去到很早的节点(几千几万个之前)挖分支区块,由于那时候挖矿难度低,他能获得大量区块,这时候他在主链上把这些区块当成uncle block包含进去,获得大量的以太币。

  2. 某些矿池为了压倒对手,故意不承认uncle block。损己一分,伤敌28倍

第二版

协议改进

  1. 规定uncle block获得的奖励为1-n/8。七代以内有共同祖先的区块才能算是uncle block

  2. 每个区块最多可以包含两个uncle block

改进意义

  1. 鼓励矿工尽早解决分支问题

  2. 小矿工可以尽早转入最长合法链,将自己的区块认作uncle block

区块实例

e0719ec2acb148189034cc3e8e2c9756.png

共识机制补充

局限

共识机制无法改变之前讲到的state fork(软/硬分叉)

BTC和ETH的收入

BTC

静态收入:挖矿奖励

动态收入:交易手续费

静态收入逐渐降低,是为了营造比特币“数字黄金”的稀缺性

ETH

静态收入:挖出最长合法链区块奖励 挖出分支区块的补偿 认叔奖励

动态收入:gas

静态收入基本不会降低,保证了gas费不会成为主要收入,进而保证了对于矿工的补偿机制,可以理解为,以太币是汽油(不会消失的消耗品)

另类uncle block

对于一个长分支链,每个区块都不会获得分支奖励

因为如果奖励的话会降低分叉攻击的成本。

挖矿算法

BTC挖矿的问题

挖矿设备的专业化,降低了去中心化的程度

one CPU,one Vote

因此,此后的加密货币要实现的是ASIC resistance

ASIC resistance可以先看一下BTC部分的挖矿

解决方案

  1. 内存,使得挖矿设备更接近通用计算机

  2. 权益证明,盘外招?

  3. 预挖矿,使得开发者拥有大量资产

方案一

设计需要大量内存的mining puzzle

这种mining puzzle的设计参考了莱特币

LiteCoin(莱特币)

  1. LiteCoin使用的是 scrypt mining puzzle

  2. scrypt mining puzzle是一种需要大量内存的哈希算法

  3. 设计原理:

    1. 创建一个数组,使用一个seed,计算出的值填在第一个位置

    2. 之后,第一个位置的数取哈希,放在第二个的位置,以此类推往后放,直到将整个数组填充满

    3. 在求解mining_puzzle的时候,先取出一个指定位置的存储结果,将这个

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值