【区块链基础】5——ETH协议

GHOST协议

以太坊系统将出块时间降到了15秒左右,相比于比特币系统大幅度提升了出块的速度,但由于P2P网络延迟,会导致出现大量的临时性分叉,间接造成算力的分散,若沿用比特币系统中最长合法链原则,将导致算力越大的节点发布的区块成为最长合法链的概率越大,造成中心化带来的不成比例的优势(centralization bias)。

以太坊系统中采用基于GHOST协议,核心如下:发布的合法区块即使没有成为最长合法链,同样也会得到7/8的区块奖励,这样的区块成为uncle block,包含uncle block的区块将获得1/32的区块奖励,一个区块最多可包括两个uncle block,但uncle block中的分叉交易不被执行。

uncle block奖励如图所示:
在这里插入图片描述
以太坊系统对叔块做了限制,叔块可以隔代,但必须跟当前区块有共同的祖先并在七代以内才可以,并且随着代数的增加,叔块由7/8个区块奖励奖励递减至0。另外,只有分叉后的第一个区块可以得到奖励,不鼓励分叉,降低分叉攻击的可能,原因如下:

  1. 减轻全节点的存储压力,只记录近几代未包含的叔块即可;
  2. 鼓劲出现分叉后尽早进行合并,以获取更多的奖励;

与比特币类似,以太坊也存在两种奖励机制:

  1. block reward
    出块奖励
  2. gas fee
    区块中包含智能合约,执行智能合约时得到的费用,奖励相较于区块奖励较低,并且叔块无法得到gas fee。

PoS proof of stake

目前比特币与以太坊的共识都是用的是PoW共识协议,即工作量证明,其最大的缺点是造成了大量资源的浪费,包括矿机的费用及挖矿的能耗。PoS的思路就是将挖矿投入的资金直接进行区块链的开发,通过投入资金的占比决定收益的分配,省去了挖矿的过程,也称为虚拟挖矿(virtual mining)。

另外,PoW可通过区块链外部的资源对区块链自身进行影响,例如购买足够矿机的转换为算力进行攻击,对小型的货币造成致命打击(altcoin infanticide),PoS协议中,只有获取足够多货币份额才能发动攻击,而这些份额是从自身内部获得的,避免外界的资源对系统本身造成直接的影响,完成维护自身安全的一个闭环。

PoS与PoW并不是互斥的,有的加密货币采用两者的混合模型,挖矿的难度与与自身的权益和持有币的数量是相关的,持有越多则难度越小。但由此会造成持有最多货币者每次挖矿难度都为最小的问题,所以还需要有一个货币锁定(proof of deposit)的机制进行支持:为了降低难度而投入的货币,在区块发布后会锁定一段时间。

Casper FFG

ETH准备采用的PoS协议为Casper the Friendly Finality Gadgest(Casper FFG),在过渡阶段也需要混合 PoW共同使用,为工作量证明提供Finality。单纯的基于PoW的交易会被回滚取消,而Finality是一种最终的状态,包含在Finality中的交易不会被取消。

Casper引入Validator验证者的概念,成为Validator需要锁定一定数量的保证金,其职责是推动系统达成共识,投票决定最长合法连,投票的权重取决于保证金的数量大小。

系统中每挖出50个区块作为一个epoch,需要投票决定其能够否成为Finality,每轮投票必须得到2/3以上Validator认可才能通过(按保证金比例计算),如图所示,只有前一个epoch和与当前epoch都投票通过,当前的epoch才算有效。
在这里插入图片描述
Validator通过验证工作可得到相应的奖励,若Validator有不良的行为,则回会到相应的处罚,例如扣除其保证金。

以太坊系统的设想是逐步从PoW过渡到PoS,随着时间推移,挖矿得到的奖励越来越少,权益证明得到的奖励越来越多,最终完全使用权益证明。

挖矿难度调整

区块难度公式如下:
D ( H ) ≡ { D 0 , H i = 0 m a x ( D 0 , P ( H ) H d + x × ς 2 ) + ϵ , Y = f ( X ) D(H)\equiv \begin{cases} D_{0}, \quad &H_{i}=0\\ max(D_{0},P(H)_{H_{d}}+x\times \varsigma_{2})+\epsilon,\quad &Y=f(X) \end{cases} D(H){ D0,max(D0,P(H)Hd+x×ς

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值