在 DeFi 世界中,LST 已然超越 DEX,成为 TVL 最大的 DeFi 应用类目。LST 协议中托管着大量的资产,对于某些头部 LST 应用,其托管的资产量甚至对其所在的 PoS 链都有着举足轻重的影响。因此,LST 协议的安全是一个重要的命题。
Bifrost 的跨链架构增强了 DeFi 应用的互操作性和效率,但有效的跨链通信和丝滑的用户体验离不开安全框架的支持。Bifrost 设计了全面的安全模型,致力于保护质押资产安全和维护网络的完整性。
Bifrost 协议的安全性来源于以下几个方面:
Bifrost Polkadot 链和 Bifrost Kusama 链分别是 Polkadot 的平行链和 Kusama 的平行链,它们的安全性和抗重组性是由中继链保护的。
众多周知,波卡的本质是分片架构,中继链为平行链随机分配验证人,并验证他们的区块,中继链的区块会包含平行链的 Egress 中收集发向中继链的跨链消息,为平行链提供数据可用性。这就是共享安全性的来源。
平行链不需要运行验证器,也不需要考虑如何增加验证器的数量,促进其去中心化。只需要运营有限数量的收集者(Collator)节点即可。收集者节点的角色,类似于以太坊 L2 中的 Sequencer,它负责收集和排序平行链中的交易。收集者的数量不需要太多,只需要能够保证网络的可用性,且让交易不容易被审查即可。Bifrost Polkadot 链目前的收集者数量已经超过 32 个,绰绰有余。
Bifrost 所采用的全链架构中,涉及到大量的跨链通讯。众所周知,跨链桥的安全性是一个备受挑战的命题。那 Bifrost 如何保证跨链通讯的安全呢?
这就要提到波卡的跨链通讯机制。波卡要创建的不仅是一个共享安全性的平台,而且要在共享安全性的基础上,实现无缝的跨链互操作。波卡通过跨链消息传输协议 XCMP 和跨共识消息格式 XCM 来实现这一点。
在 XCMP 中,每一条跨链消息,都要首先进入发出链的 Egress(出口序列)中,目标链的收集者则会从其他平行链的 Egress 中收集发向自己的跨链消息,并放进自己的 Ingress(入口序列),当这些消息被包含到中继链的区块,并形成最终确定性,目标链才会更新 Ingress 中的消息状态为已验证,并执行它。总之 XCMP 可以保证波卡平行链之间进行快速、安全、有序、廉价的跨链消息传递。
如果说 XCMP 用于平行链之间的通讯,XCM 则用于保证平行链之间能够相互理解彼此的消息,并知道如何执行它。波卡对 XCM 的期待,不只是成为波卡内部的跨链通讯语言,也希望它能够被更广泛的异构区块链采用,因此它被命名为跨共识消息格式。
在这篇文章中,Bifrost 对 XCMP 和 XCM 的运行机制有着更加深入的解读: 《以 vMOVR/vGLMR 为例,读懂基于 XCM 的跨链通信》
但 Bifrost 也意识到,异构跨链基础设施,目前尚不成熟,所以并没有激进的选择全面实践全链架构,而是保留了 Etherrum 和 Kusama 上的 SLP 模块。但随着加密行业的发展,安全可靠的异构跨链解决方案一定会出现在我们眼前。
Bifrost 采用完全去中心化的方式来管理质押资产,所有过程均通过去中心化的合约或是 runtime 完成,没有人为干预的因素,也无需信任任何第三方,包括 Bifrost 开发团队。
此外,Bifrost 的所有链上代码都是开源的,任何人都可以发现和报告漏洞。事实上,Bifrost 的代码已经经过了 Beosin、Slowmist、TokenInsight 多家安全公司的多轮审计,且 Bifrost 从 2019年项目启动开始,从未出现任何代码安全方面的问题,在代码安全方面已经久经考验。
排除掉人为作恶风险和代码漏洞风险,用户的质押资产可能还会面临 Slash 风险。质押资产本质上是运行节点的保证金,当节点存在破坏网络的不当行为时,网络将会 Slash 掉恶意节点的部分或全部质押资金。
如果 LST 协议在选择验证器时“所托非人”,那么就可能会让 LST 资产持有者承受 Slash 损失,具体会体现为 LST 与原 Token 的汇率下降。
为了尽可能让用户免受 Slash 损失,Bifrost 采取了很多措施:
关于 Bifrost 如何分摊、降低和补偿 Slash 风险,可以查看我们之前的文章:《面对 Slash 风险, Bifrost 如何为 vToken 持有者提供保险机制》
Bifrost 的安全模型致力于保护用户资产和确保其网络可靠性。通过利用 Polkadot 的共享安全、实施非托管方法、进行严格的代码审计以及建立强大的 Slash 保护机制,Bifrost 为 DeFi 活动提供了一个安全的环境。