Input: Block tree T 1. set B ← Genesis Block 2. if ChildrenT (B) = ∅ then return(B) and exit 3. else update B ← argmax |subtreeT (C)| C∈ChildrenT (B) 4. goto line 2GHOST全称为Greedy Heaviest-Observed Sub-Tree,即贪婪最重可观察子树协议。与Bitcoin中的最长链原则不同,以太坊使用GHOST协议,通过判断最重子树来决定主链。
算法描述
ChildrenT (B) 返回B的子块集合;subtreeT(C)返回以C为根树的重量
判断B的子树是否为空集,为空表明无子块当前即为主链,则返回B块并退出;
否则更新B为具有最重子树的子块;
跳转到步骤2继续寻找主链的下一区块;
以太坊与比特币的主链选择
区块weight为该区块为树根下有效区块的数量(difficulty累加)
比特币以太坊
叔块奖励
基本内容:
1.主链区块获得基础奖励(3Eth)
2.一个区块最多引用两个叔块
3.包含一个叔块可以获得挖矿奖励的1/32
计算公式:
((叔块高度+8-当前块的高度)/8 )*base rewardGHOST优点
1.安全性独立于出块速度,为GHOST的扩容提供了保证(不会因间隔时间的减少而导致安全性降低,最高可达200tps)
2.解决孤块奖励问题,鼓励矿工参与出块
3.论证了盲目通过增加出块速率和区块大小,来提高TPS不可行
小结
增加了对叔块对奖励,激励矿工参与;
但目前的tps仍然不高(10~20),需要其他扩容方案的参与;