05 ETH-GHOST
《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click
05 ETH-GHOST
- 05 ETH-GHOST
以太坊出块速度:15s,临时性的分叉成为常态;所以对于叔块,也有奖励(7/8的奖励);【对大矿池友好,对个体节点不友好】
问题:网络传输都需要花费十几秒的时间。
挖矿趋势:
设备专业化:比特币ASIC、以太坊GPU(因为为了抵抗ASIC,要求内存)
矿池出现
最初的GHOST协议:
- 3:以太坊奖励【变化】
- 7/8:叔块奖励
- uncle block只能有两个
- 后一个区块有叔父区块的哈希值
- 挖矿是无记忆的
问题:
1 uncle block只能有两个,如果有多个该怎么办?
2 如果已经发布了下一个区块,才知道还有一个叔父区块的存在,这个时候就来不及了,那么这个叔父区块就什么奖励都没有了
3 如果大型矿池挖矿的时候,处于竞争关系,故意不包含叔父区块,后果:叔块没有7/8奖励,自己没有1/32的奖励。好像损人不利己,但是商业竞争,对自己损失小,对别人损失大。
修改协议:
不能论资排辈:【后面的区块还认前面的叔父区块,你不要奖励,别人要】
以太坊的GHOST协议:
为什么这么设计?
1 如果不限制辈分,对于全节点,需要维护的状态太多了;
2 出现分叉,越早进行合并,奖励越多,鼓励尽早进行合并;【招安】
3 解决分叉的情况;
以太坊没有奖励减少的硬性规定,不会人为制造稀缺性。
比特币——>数字黄金;
问题:
1 叔父区块中的交易要不要执行?【比特币中的分叉块中的交易作废】
不应该执行,因为兄弟块之间的交易有可能是相同的。如果执行的话,有些交易就会变成非法交易,和主链上的交易冲突。而且,不会检查叔父区块中交易的合法性。只会检查叔父区块是否符合挖矿难度要求。
2 如果分叉之后,后面还跟着一串,那么那些块怎么办?
只有分叉后的第一个区块,才可以得到叔块奖励,后面的都不行。【因为如果不是这样,分叉攻击就会变得很廉价】鼓励分叉之后及时进行合并。