共识对于区块链的重要性不必赘述,当今的web3世界,各大公链基本都以 POW POS及其变种作为主要的共识协议。但这些协议都有一些特征,那就是它们本身除了一些客观的形式逻辑之外(比如数学、博弈论),不信任任何主体。
但是对于子链则不一样,当一个区块链的角色是子链时,这里不仅是指Layer2,所有母子链架构的,或者多层母子链(Layer3,Layer4 等等)都在讨论范围内。
此时,我们是可以选择信任我们的上一层链的安全性的(哪怕它实际上可能不安全,但是这不在我们本文讨论范围内,如何选择一个安全可靠的母链是另一个话题)
因为一般而言母子链架构的本质是 母链比子链更去中心化更安全,子链是帮助母链扩展的角色。比如以太坊的 Layer1-Layer2 结构。 这样不仅可以复用母链的安全,同时也简化了子链的架构体系。

笔者根据自己对共识的研究和公链开发经验,思考并提出如下一个适用于子链的共识。

Proof Of Buying

准入共识

在这里,我们借用母链上的原生代币来作为媒介,想成为该子链的矿工,必须持有该链的母链的原生代币才可以参与共识。 同样像POW和POS那样,可以有委托机制,散户可以将自己手中的货币先委托给某些delegator。

出块共识

矿工需要在母链上 支付一定金额的母链原生代币 到 指定地址(可以是子链的基金会地址)并将该交易在子链上广播,并且矿工本地按照VDF算法计算给出一个随机值输出 并将该随机值在子链上进行广播, 子链的所有节点计算 (支付金额数量 * VDF随机值) 最大者 获得出块权。
为什么需要支付母链代币:出块必须要有成本!这是让最终共识可以客观验证的重要前提。当你想攻击子链共识你必须付出同样多的代价,而不是像POS那样nothing at stake。另外,出块有成本意味着哪怕攻击者有最厚实的攻击筹码,他每次攻击的筹码都会降低,他不会在每个区块的出块上都拥有同等比重的出块权。
为什么需要VDF: 为了防止富者可以短期内进行垄断出块权,所以这里引入VDF。 VDF输出的值是随机的,计算VDF * 支付金额 来决定出块权,削弱了富者短期绝对性地垄断出块权的现象,且VDF的输出结果是不可预测的,所以出块也是无法预测的。VDF本身可以抗并行,所以使用VDF无法形成矿场,最多只能升级单个芯片性能。
为什么不只用VDF:公链是需要成规模规模中心的,矿池矿场也好,质押代理也好,都是有必要的,(只不过前者的规模中心相当不固定) 这是因为如果出块节点数以千万计的话,那么网络中的叔块和孤块会非常多,会让51%攻击的成本降低,同时也会让网络堵塞混乱不堪。在Proof of Buying中,我们让【支付母链代币】这一行为来构筑这样的规模中心的角色。
注意:很多时候子链的出块间隙可能是比母链要短的,所以直接在发到母链上的支付交易并不会立刻在母链上链,所以此时子链要验证的是该笔支付的交易是否符合一些基本条件:矿工在母链上的账户余额是否足以支付这次子链的出块,签名合法性。 这笔支付是否有效需要上了母链之后才能知道,
而这一步是在 我们下一步的最终共识里决定的。

最终共识

最长子链共识:以一个母链的slot或者epoch为一个finalize周期,将验证并选择满足如下两个条件的分叉作为主链:

  1. 确认出块共识阶段中每一笔在母链上支付的交易都成功执行。
  2. (VDF 随机值 * 支付金额)总和最大的那条子链作为finalize的主链, 并将该主链对应的区块数据压缩上传至母链上存档。
    为什么上传至母链:因为该协议长时间运行之后,子链指定的地址里的币会越来越多,如果该地址背后的是控制者会在未来的某一刻积累相当大的颠覆该链的攻击筹码,所以将finalized的主链区块上传至母链也是防止将来这种链回滚的操作发生,上传到母链的区块不可被回滚。

why NOT POS + BFT

  1. 经济层面

    之所以大多数公链热爱POS,一个最大的原因是POS起步成本比较低,它不像POW那样要找矿场矿池、还要找厂商研究挖矿芯片。POS最大的好处是印钞+云服务器就可以启动了。

    而其中最大的优势在于,在牛市的币价上升期, POS可以很容易做到低成本拉盘让币价不停的翻倍,尤其是项目早期,大部分token还未发出的阶段。但同时,弊病也在其中,一旦价格开始降低,那么币价崩盘后信用和价格也很难挽回,在熊市中更为明显;并且拉盘本身很依赖交易所和做市商,容易被它们牵着鼻子走

  2. 技术层面

    POS都需要配合类BFT的协议做 fork choice最终共识。不管是什么样的BFT(pBFT, hotstuff 等等),其工程复杂度都较高,调试难度也较大,现市面上开源的类BFT的代码都不容易直接使用。 并且BFT有其自身的局限性,例如 其网络传播的复杂度高,且是主观性极强的共识协议(因为BFT投票本身就不是客观可验证的共识)

    POS在币价下跌的时候,安全性也会成倍下降,此外还有类似 restaking这类defi协议会透支POS的安全性。