作者:Louis 编辑:MiX
相比智能合约,应用链是优点和缺点都非常显著的去中心化应用技术栈。最显著的优点是使用成本低和可定制性强。后者在基于 Substrate 原生开发的应用链上表现得尤为充分。
本文介绍一种 Substrate 应用链特有设计模式——专用预言机,合理地使用它可以打开去中心化协议新的设计空间。
专用预言机模式基于Substrate 链下工作机,简称OCW。
https://docs.substrate.io/v3/concepts/off-chain-features/
Off-chain features run in their own Wasm execution environment outside of the Substrate runtime. This separation of concerns makes sure that block production is not impacted by long-running off-chain tasks. However, as the off-chain features are declared in the same code as the runtime, they can easily access on-chain state for their computations.
首先我们介绍 Octopus Network 如何使用 OCW 实现与 NEAR 区块链的无信任跨链。通常而言,无信任跨链是指基于轻客户端验证的跨链,即链B在其链上维护链A的轻客户端,从而能够独立地验证来自链A的交易或事件,而无需信任第三方。在Octopus Bridge 的设计中,从应用链到 NEAR 的跨链正是采用这种方式。
跨链有多种实现方式,分别适用于不同架构的链和不同的使用场景。在异构跨链(两端的链架构不同)设计中可以在两个方向上采用不同的实现方式。NEAR 的 Rainbow Bridge 和 Octopus Bridge 都选择了这类不对称的设计。
由于 Octopus 应用链的安全性依赖于欺诈证明,即当部分验证联合作恶时,只要有一个诚实验证人能够提交恶意行为的密码学证据给运行在 NEAR 区块链上的 Octopus Relay,就能够让作恶者付出高于攻击收益的代价,从而确保应用链是安全的。这就要求每个验证人都具有向 NEAR 区块链提交交易(写)的能力。相比于要求验证人运行单独的挑战守护进程,使用 OCW 显然是维护成本更低,可管理性更强(可随 Runtime 做无分叉升级)的方式。
因此每个 Octopus 应用链的验证人节点会维持与他所信任的 NEAR 区块链全节点的 RPC 连接。这一连接使得每个验证人节点都具备独立观察 NEAR 区块链的能力。可见无需链下进程(中继器或者见证人)参与,Octopus 应用链就能够获取来自 NEAR 区块链的跨链事件。获取到跨链事件后,应用链验证人会在链上进行投票,对跨链事件达成共识,投票权重等于质押量。可见这是一种预言机跨链,只不过充当预言机的是全体应用链验证人。共识参与的范围还是投票权重都跟应用链本身一致,没有引入第三方,没有增加信任假设,因此是无信任预言机跨链。
无信任无中继预言机跨链堪称完美跨链。它架构简洁优雅,可靠性高,无需额外的链下进程辅助;速度快,跨链交易可以在数秒内确认;成本为零,原因是没有链下进程运行成本,也无需支付目标链交易 gas(验证人投票交易设置为零 gas )。可惜的是,只有 Substrate 链具备这样的能力,可以在目标链为自身的情况下实现无信任无中继预言机跨链。
Octopus 应用链利用 OCW 实现了用于跨链的专用预言机,但是专用预言机的用途远远不止于跨链。去中心化协议(或称加密网络)的核心要义就是无需公司等中心化组织,通过对协议参与者的贡献予以通证奖励,从而启动具有网络效应的互联网平台经济体。为了保持加密网络具有无许可和抗审查的特性,通常协议不会对协议参与的身份提出要求。由此,建立加密网络要解决的核心问题就变成了:如何在链上对匿名参与者的贡献进行验证并量化,并按照预先定义的规则(协议的一部分)给予通证奖励。
链上「验证参与者贡献的能力」决定了 Web3 的边界。换句话说,Web3 的每一次开疆拓土都是因为开发者创造出了新的贡献验证算法 PoX。例如,比特币网络需要就交易顺序达成共识,但不能依赖特定实体的信任。因此,有必要想办法随机选择一个协议参与者来生产下一个区块,每个人都可以验证随机性是公平的。中本聪通过工作量证明设计解决了这个问题。矿工为比特币网络提供的算力越高,他对网络安全的贡献越大,获得出块奖励的概率也越大。权益证明同样如此,总质押量越高,攻击网络的成本越高。因此网络按照验证人质押量分配通证奖励是合理的。流动性挖矿是启动「DeFi Summer」关键驱动力,可以解释为提供流动性证明。
在上述三个例子 PoW / PoS / PoLP 中,参与者的贡献都发生在链上,因此可以相当容易的在链上被验证。但是在其他更多网络中,参与者的贡献发生在链下,在链上验证这些贡献就没有那么直接了当了。幸运的是,总是有一些创造者能够想出办法,验证参与者的贡献,即便它们发生在链下,从而扩展 Web3 的边界。例如Helium 的覆盖证明、Filecoin 的时空证明、Pocket Network 的中继证明等等。在这些天才的发明之中,我特别欣赏 Arweave 的可访问性证明,通过巧妙的设计,存储数据验证被转化成易于生成、也易于验证的可访问性证明。
虽然在上述网络中,参与者的贡献无需发生在链上,但仍然必须发生在网络内部。因此网络节点可以对贡献的过程或者结果附加密码学证据,这些证据再经过链上验证,成为奖励参与者的依据。如果参与者的贡献发生在网络之外呢?例如是否可以通过去中心化协议鼓励参与者在社交网络上传播,并根据传播的效果给予通证奖励?
社交网络处于加密网络之外,其上发生的事件没有可以验证的密码学证据。但是社交网络与加密网络都处于互联网之中。通过专用预言机,加密网络可以主动观察社交网络上发生的事件,并就此达成共识,给予相应的通证奖励。
让我们设想一个比社交网络传播更加打开脑洞的例子:可以去中心化协议代替职业体育联盟。场馆拥有者组织赛事并通过协议销售门票,运动员在协议中注册并被允许参加初级赛事。比赛结果发布在互联网网站上,并通过专用预言机被加密网络获取。根据比赛结果,比赛参与者,包括运动员、裁判、赛事组织者获得通证奖励。转播权在加密网络上拍卖。门票收益(扣除场馆成本)和转播收益是协议利润,分配给通证持有者。
可见只要协议参与者的活动在互联网上留下印记,就能够被加密网络主动观察,成为通证奖励的依据。希望大家了解和使用专用预言机这一利器,成为下一个拓展Web3边界的创造者。
免责声明:本文仅供参考,不得被用作法律、税务、投资、理财或任何其他建议。