首先,感谢关注 Conflux 的社区朋友注意到了 CIP-43 这个提案。我看到相关的讨论中都希望官方出一个说明,作为 CIP-43 的作者,我来解释一下这个提案吧。这里,我只概括一下 CIP-43 在做什么,至于为什么要引入 PoS finality,可以参考这里。
1. CIP-43 在做什么?
引入一条 PoS 的链作为见证链,防止 51% 算力攻击。
2. CIP-43 后,Conflux 会变成 PoS 链吗?
在 CIP-43 中,PoS 需要 84% Stake 的一致同意才可以做出决定,干预 PoW 链的行为。而根据协议,PoS 节点只应该对PoW共识已经确认的区块进行签名。
这意味着除非拥有 84% 的 Staking 投票权人联手作恶,否则在没有 PoW 攻击的情况下,Conflux 的行为与只有 PoW 没有区别。交易打包,交易执行,区块排序还是由矿工完成的。
如果用户相信至少 17% 的 Stake 来自诚实节点,只需要考虑 PoW 规则下的交易确认即可。
3. Conflux 不认可 PoS, 为什么选择引入了 PoS?
PoS 链中,34% 的 Stake 可以阻止任何一笔交易上链,可以暂停整个链的运行,67% 的 Stake 可以完全控制这条链,任意地发起双花攻击。在 Long Range Attack 里,攻击者还可以通过买投资人抛盘后的私钥,改写整个历史。
那么 CIP-43 是什么样的?如果没有 51% 算力攻击,34% Stake 什么都做不了,67% Stake 还是什么都做不了。(17% 的 Stake 可以让 PoS 链停掉,但 PoW 还能链照常运行,就像没有 CIP-43 一样)。需要到 84% Stake (>5/6), 才能够对 PoW 的运行产生实质性的影响。而且 PoS 的 Long Range Attack 在这里也不会产生什么影响。
整体来说,CIP-43 对 Staking 节点的依赖程度和纯 PoS 链是完全不同的。这一点,我在 CIP-43 里其实都强调地列出来了。
4. PoS 会增加交易确认的复杂程度吗?
首先,由于 Conflux 共识的特殊性,交易确认不能够简单地数确认区块。如果你对 Ghost 有所了解的话,Ghost 规则需要看每一级子树和兄弟子树的大小比较,而 Conflux 的 GHAST 协议更为复杂。下面我列出了 Conflux 的交易确认规则。你在 ConfluxScan 上看到那个安全程度闪了几下从低变成高的过程,背后是这要一套数学公式在支撑。
和这些公式相比,多看一眼 PoS 链上的状态,也不会产生特别大的开销吧?
上面这些回答是完全基于 CIP-43 提案与 Spec 文档的概括。感兴趣的朋友可以把 CIP-43 和 Spec 仔细读一遍,看是不是和我说的一样。