babylon可以通过跨链质押的方式,用BTC为其他POS链提供经济安全性,类比以太坊上的EigenLayer,但是实现差异较大,主要是因为bitcoin没有像以太坊那样的可编程合约。
babylon可以通过跨链质押的方式,用BTC为其他POS链提供经济安全性,类比以太坊上的EigenLayer,但是实现差异较大,主要是因为bitcoin没有像以太坊那样的可编程合约。我们看一下babylon架构图,需要很多模块支撑。

babylon的关键功能是将比特币的经济安全性引入POS链,可以将babylon视为比特币链和POS链的交互中间层。
FP注册 FP是独立的外部模块,需要在Babylon上注册才可以激活进行投票。不同于以太坊的Casper是对每个epoch的检查点进行投票,FP是对每个区块都进行投票,因为大部分基于CosmosSDK的链并没有实现epoch机制。 注册需要经过契约委员会的验证,并且需要等到质押交易在bitcoin链上确认之后才能生效(通过提供交易在链上的Merkle包含证明来确认)。 注册分为两种形式,质押后注册和质押前注册,质押后表示质押交易已经在比特币链上确认了再进行注册,这种方式用户可以直接提供质押交易的Merkle包含证明进行验证,如果是质押前,质押交易需要等到babylon的义警模块监控到btc链上确认后提交的merkle包含证明。
质押者质押BTC 质押者将质押的BTC委托给FP,babylon质押原理这篇已经讲的很清楚了: https://learnblockchain.cn/article/9205 简而言之,就是利用taproot和PSBT,预制了一些约束,使锁定的BTC只能通过3个条件花费, 1)锁定时间到期 2)锁定时间未到期,契约委员会大部分同意提现 3)因为双重签名导致EOTS密钥泄露,被slashing 用户在质押时,需要指定对应的最终性提供者(FP),将投票权力委托给FP进行区块投票,这个过程会调用消费链合约,在链上更新FP的以satosi为单位的投票权力power。
消费链产生区块 寻求Babylon提供BTC经济安全性的POS链产生区块,区块头被Babylon节点的Zone Concierge模块通过IBC链间协议拦截并验证。
Babylon进行checkpoint 参考以太坊,Babylon按照epoch划分出块周期,每个epoch出固定数量的块(类似slot),并且保持验证者集合不变,这样Babylon只需要以epoch为周期提交检查点和验证者集合更新,减轻了babylon协议开销和比特币链负担。babylon通过IBC拦截的消费链区块头会被索引在Babylon账本中,最终会打检查点到比特币链上。
FP投票 FP实时监控消费链,从链上拉取待投票的区块进行EOTS签名,EOTS的工作机制可以参考这段代码:
这里很直观就可以看出,一旦对同一个秘密进行两次签名,就会泄露私钥,这种签名方案可以用来惩罚双重投票的质押者,EOTS签名正是babylon的核心技术。
签名会发送给babylon和消费链合约,babylon会统计接收到的投票power,如果超过所有FP总power的2/3,即认为区块达到最终性。
从上述流程可以看到babylon以两种方式为pos消费链提供了比特币安全性: 1)打检查点到比特币链获取时间戳 2)在原有共识基础上叠加一层最终性共识 既然通过比特币时间戳就可以防止长程攻击,为什么还需要再叠加一层FP共识呢,因为比特币交易确认时间很长,打检查点的方式无法提供实时的最终性,而FP共识可以做到快速确认(只需要2/3以上的FP投票即可敲定),同时比特币时间戳可以保证POS链的同步,防止比特币链和POS链对质押者解绑事件不同步造成的分叉攻击,所以两者是互补的关系。 由于比特币有限的可编程性,可以看到类似EigenLayer的AVS功能在babylon的中的实现非常复杂,引入了相当多的模块,当前对于质押BTC保证POS链经济安全性,似乎并不刚需,但真正有意义的可能是远程质押,会为比特币生态带来更丰富的场景,释放BTC流动性。**
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码