我理解conflux是不丢弃任何区块,如果一个区块的父区块在N个epoch之前,而且这个区块里的交易都已经被其他上链的区块包括,那么这个区块依然会上链到最新的epoch。矿工依然会被奖励。
这样虽然对账户安全没啥影响,但是对打包效率可能有副作用。
比如矿工A, 开了10个线程打空包,直到成功,然后成功一个广播一个,然后被其他矿工承认,得到奖励。但是这种行为本身对区块链安全没有任何好处。 或者矿工B在已经收到N个区块的情况下,明知道自己打包中的区块内交易全部重复了,也不愿意停下来,因为这样会损失他之前的hash碰撞,硬是继续碰撞出结果完成打包,广播从而得到奖励。
不知道我的这个理解是否正确?
如果正确,conflux的共识算法对这种情况一点措施都没有吗? 我能想到的是如果一个区块里60%的交易是已经被打包的,那么这个区块得不到奖励。这样可以鼓励矿工尽量打包新交易,提高确认速度,而不是为了奖励,只要开始打包就绝不停下。
谢谢!