孤块(orphan block)
在比特币协议中,最长的链被认为是绝对的正确。如果一个块不是最长链的一部分,那么它被称为是“孤块”。一个孤立的块是一个块,它也是合法的,但是发现的稍晚,或者是网络传输稍慢,而没有能成为最长的链的一部分。在比特币中,孤块没有意义,随后将被抛弃,发现这个孤块的矿工也拿不到采矿相关的奖励。
最重的链(heaviest)
Ethereum的GHOST协议,不认为孤块没有价值,而是会给与发现孤块的矿工以回报。在以太坊中,孤块被称为“叔块”(uncle block),它们可以为主链的安全作出贡献。
相对来说,比特币有很长的块间隔时间。在比特币区块中,平均约10分钟可以得到一个确认(也就是发现一个新的后续区块)。但是自从比特币成立以来,大量关于块链技术的研究已经发展起来。这些研究表明,更短的块间隔确实是可能的,而且在很多应用场景下是需要的。然而,随着拥有更快的出块速度,孤块的增加而带来的昂贵的成本和浪费也随之增加。
GHOST协议支付报酬给叔块,这激励了矿工在新发现的块中去引用叔块。引用叔块使主链更重。在比特币,最长的链是主链。在以太坊中,主链是指最重的链。
叔块的好处
解决了两个问题:
1. 以太坊十几秒的出块间隔,大大增加了孤块的产生,并且降低了安全性。通过鼓励引用叔块,使引用主链获得更多的安全保证(因为孤块本身也是合法的)
2. 比特币中,采矿中心化(大量的集中矿池)成为一个问题。给与叔块报酬,可以一定程度上缓解这个问题。
叔块的引用
- 区块可以不引用,或者最多引用两个叔块
- 叔块必须是区块的前2层~前7层的祖先的直接的子块
- 被引用过的叔块不能重复引用
- 引用叔块的区块,可以获得挖矿报酬的1/32,也就是51/32=0.15625 Ether。最多获得20.15625=0.3125 Ether
- 被引用的叔块,其矿工的报酬和叔块与区块之间的间隔层数有关系。
间隔层数 | 报酬比例 | 报酬(ether) |
---|---|---|
1 | 7/8 | 4.375 |
2 | 6/8 | 3.75 |
3 | 5/8 | 3.125 |
4 | 4/8 | 2.5 |
5 | 3/8 | 1.875 |
6 | 2/8 | 1.25 |
网友评论