LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > Chainlink Keepers 主网上线,如何为 DApp 提供安全且低成本的链下计算?

Chainlink Keepers 主网上线,如何为 DApp 提供安全且低成本的链下计算?

2021-08-06 区块链网络 来源:链闻

中心化预言机网络除了可以在链上和链下之间传输数据以外,还可以在链下进行计算。

撰文:Chainlink

在各个项目纷纷将预言机功能外包给 Chainlink Price Feeds 等去中心化解决方案后,DeFi 才真正迎来了创新潮。开发者再也不需要花时间开发核心后端基础架构,而是全心全意创新 DeFi 产品。同样地,Chainlink Keepers 也将加速混合型智能合约的创新,为开发者接入安全可靠的链下计算资源。有了 Chainlink Keepers,开发者无需手动操作,也不用依靠中心化的服务或修改底层协议,就可以在预定义的条件满足时自动触发链上功能。

我们之前成功发布了 beta 版,在一群初始用户中进行了 live testing。而现在我们很高兴地宣布 Chainlink Keepers 正式在以太坊主网上线,并全面向公众开放。所有开发者、去中心化应用以及 DAO 都可以将 Chainlink Keepers 作为去中心化的链下计算层,可靠地自动触发关键的智能合约功能,并通过自定义合约触发方式来实现高级的 dApp 功能。

Chainlink Keepers 可以代表混合型智能合约实现一系列丰富的 DevOps 服务以及链下计算,其中包括:

在去中心化交易平台执行限价单交易。当储备金增加时铸造通证。从资金库(vault)中获取收益。Rebase 弹性供应通证。重新平衡链上交易和流动性挖矿策略。清算抵押率不足的贷款。闲置期结束后解锁资产。通证余额低于最低值时充值。还有许多其他有待开发的应用场景。

如果你想要在应用中立即集成 Chainlink Keepers,请点击 链接 注册。如果你希望与专家交流集成相关事宜,请联系我们。

开发团队还可以在 OpenZeppelin Defender 平台上注册并直接管理 Chainlink Keepers 任务。OpenZeppelin Defender 是针对以太坊以及 EVM 项目的安全套件。

Chainlink Keepers 是实现智能合约自动化的成熟基础架构

Chainlink2.0 白皮书中提到了 Chainlink 网络的宏大愿景,那就是去中心化预言机网络(DON)除了可以在链上和链下之间传输数据以外,还可以在链下进行计算。Chainlink Keepers 与 Chainlink 之前发布的 Chainlink VRF 和 OCR 结合,共同推动链下计算服务迈上一个新的台阶。混合型智能合约开发者可以通过 Chainlink DON 获得链下计算服务,其中特别要提到的是可以基于预定义的条件自动触发智能合约执行。

智能合约是在区块链上运行的确定性程序,以链上交易的形式输入数据,触发合约代码逻辑并最后输出结果。开发者可以用 Keeper 任务来创建基于事件的可验证数据输入,只有当特定条件满足时数据才会在链上广播。某些 Keeper 任务比较简单,比如每周固定时间获取一次收益;而其他 keeper 任务则相对比较复杂,比如当用户贷款抵押率不足时调用清算函数。每个 Keeper 任务都需要展开链下计算,先验证条件满足再触发链上函数。

Chainlink Keepers 让开发者可以发挥极大创意,基于可验证的条件性数据自动触发智能合约执行,打造出各种创新的应用。Chainlink Keepers 为开发者提供了可编程性非常高的框架,利用链下计算资源创建高级的 keeper 任务。除此之外,开发者还可以利用可靠且可验证的去中心化节点网络,将 keeper 任务外包出去。

Chainlink Keepers 为开发者提供了优质的去中心化链下计算资源,并具有以下关键优势:

在最大程度上保障可靠性——Chainlink Keepers 由专业的 DevOps 团队运行,这些团队目前已经为 Chainlink 喂价保障了数百亿美元的价值。此外,Chainlink Keepers 在去中心化的架构中运行,可以自动进行故障转移,完全消除单点故障风险。?链上验证——Chainlink Keepers 拥有一套稳健的链上监控工具,可以针对链下计算生成 EVM calldata,让用户可以评估 Keeper 节点的数据输入,并在执行关键的链上操作之前验证条件。成本低——Chainlink Keepers 可以展开复杂的链下计算,并建立了节点轮转筛选框架,以避免 gas 价格战,因此将成本维持在较低且较稳定的水平。

Keepers 助力 Chainlink 生态扩张

目前已有几百个用户正在使用或积极集成 Price Feeds、Chainlink VRF 和储备金证明等 Chainlink 去中心化服务。而 Chainlink Keepers 将为 Chainlink 生态带来全新的功能,帮助所有项目开发出更高级的混合型智能合约应用,并为用户创造额外的价值。

以下是部分已经上线或正在集成 Chainlink Keepers 的 Chainlink 生态项目,这些用例展示了 Keepers 为 Chainlink 生态带来的许多独特价值。

Aave

Aave 是一个 DeFi 流动性协议,用户可以在平台上借贷加密资产,向平台提供流动性还可获得收益。Aave 将用 Chainlink Keepers 持续在链下监控用户贷款的健康状况,并计算贷款抵押率,检查抵押率是否低于资金池预先设定的清算门槛(如 150%)。如果发现贷款抵押率不足,Chainlink Keepers 会调用 Aave 协议的清算函数,即使在市场严重波动或网络严重拥堵的情况下也能保障抵押足以偿还贷款。有时清算一笔贷款对清算者来说没有获利空间,不清算又会导致抵押率不足,因此 Keepers 就显得尤为重要。每个 Keeper 都会受到经济激励,执行所有注册的维护任务,保证即使没有获利空间也能及时清算所有头寸。

PoolTogether

PoolTogether 是一个开源的去中心化协议,为用户提供无损储蓄游戏。用户将一笔通证放入资金池中产生利息。一段时间后,池中所有利息都奖励给一位随机抽取的中奖用户。Chainlink Keepers 可以用来持续监控资金池,当游戏开始和结束时调用 PoolTogether 的智能合约通知资金池,以此完全将游戏和支付流程自动化。

Synthetix

Synthetix 是去中心化的衍生品协议,用户可以在链上获得超额抵押的合成资产,并以零滑点与流动性池合约交易。Synthetix 将在交易费周期关闭服务(Fee Period Closing service)中采用 Chainlink Keepers。Chainlink Keepers 在交易费周期结束时将调用这个函数,自动分配 synthetix.exchange 的交易手续费和 staking 奖励。

Chainlink 不断扩张的 Keepers 生态

Bancor:是采用自动做市商模式的去中心化交易平台,支持单边流动性池并避免无常损失。Bancor 计划在即将发布的 V3 中集成 Keepers,进一步简化终端用户的 DeFi 用户体验,并为 AMM 协议增添更多高级的功能。Alchemix:是自动还款的借贷协议,将用户抵押资金存入 Yearn 的收益聚合金库中,其中产生的利息用于偿还用户贷款。Alchemix 计划用 Keepers 触发从金库自动获取收益并向金库自动存入资金,以自动偿还用户贷款并自动将抵押资产存入 Yearn。BarnBridge:是一个 DeFi 风险通证化协议,创建金融衍生品对冲收益波动和市场价格波动。BarnBridge 在其产品 SMART Exposure 中集成 Chainlink Keepers,在链下监控通证头寸的风险敞口,当需要重新平衡金库时调用 BarnBridge 的链上合约。其他:除此之外,还有许多其他 DeFi 应用计划集成或已经成功集成了 Chainlink Keepers,自动触发智能合约功能。这些 DeFi 应用包括 Visor Finance、ParaSwap、yAxis、Base Protocol、EthSign、Nifty Royal、B Protocol、Impermax、Flurry Finance、DeFi Network 以及 Finance.vote 等。

如何在 dApp 中使用 Chainlink Keepers

开发者可以利用 Chainlink Keepers 轻松添加新的维护任务,自动执行各种智能合约功能。

Chainlink Keepers 支持各种不同的配置模式,在链下开展计算并在链上验证。以下设计思路可供开发者参考:

验证触发合约的条件

Keepers 可以在满足条件时调用链上函数,但开发者也可以自定义智能合约在执行代码逻辑前如何验证 keeper 事务。

条件满足时无需验证,直接触发链上合约——当预定义的条件满足时必须执行状态变更,但有些情况下,条件未满足就执行状态变更也不会产生任何问题,比如在周期结束前提前从金库中获取收益,或在余额低于阈值之前提前为状态通道充值。在这种情况下,智能合约不需要先验证条件,这样可以尽可能避免对用户没有什么价值的 keeper 调用,以降低成本。必须先验证条件是否满足再触发合约——条件满足时必须执行状态变更,而某些情况下,当条件不满足时是不能执行状态变更的,比如清算抵押率不足的贷款或从锁定的合约中取出通证。在这种情况下,当调用 performUpkeep 函数时,智能合约必须验证条件是否满足,比如查看链上价格参考合约或区块号,在执行合约前确保状态变更的有效性。

将高成本的计算放到链下展开,以尽量降低链上成本

开发者还可以选择尽可能用 Chainlink Keepers 在链下进行计算,这样做的目的是在最大程度上降低链上成本,特别是减少调用链上函数时发送的数据。

一个方式是在链下查看大量地址和状态的条件是否满足,比如先查看哪些地址是空投的有效地址,然后针对满足合约条件的一个子集执行链上状态变更。开发者基于 checkUpkeep 函数返回的结果调用链上函数,并传入适当的数据。最理想的情况是智能合约在链上验证条件,而由于 keeper 只传入了一部分具有相关性的数据进行验证,因此可以在最大程度上降低 gas 费。

在同一个智能合约中设置多个维护任务

还可以用智能合约处理多个维护任务,帮助开发者管理链上成本并为更加高级的 dApp 自定义触发方式,比如在执行前验证多个不同的条件。以下是具体例子:

管理无边界的维护任务——为 Chainlink Keepers 创建区间边界(range bound),在最大程度上减少不必要的链上计算,以降低合约在链上执行的计算复杂度。这样,开发者就可以在预设的活动范围内维护链上执行,交易执行的成本上限也比较容易预测。配置 checkUpkeep 函数——编写智能合约代码,基于 Keeper 的 calldata 来执行不同的逻辑,在同一个智能合约函数中执行不同的逻辑。开发者可以根据自身独特的应用需求来灵活使用这一功能,比如当条件满足时触发获取某一流动性挖矿的收益,或当条件不满足时重新投资头寸。

开发者如果有兴趣进一步了解如何使用 Chainlink Keepers 进行开发,请点击下方链接查看 文档。

安全的链下计算将推动高级混合型智能合约的未来发展

Chainlink Keepers 将为开发者带来更加高级的去中心化服务,帮助他们打造下一代混合型智能合约,为用户解锁更大的价值。开发者不仅可以使用 Chainlink 预言机基础架构安全地接入链下数据源,还能使用 Chainlink Keepers 基于预定义的事件自动触发链上函数,并同时保障安全性和可靠性,降低成本并可以在链上验证。

Chainlink Keepers 的出现让 Web3.0 在开发的成熟度和敏捷性方面与 Web2.0 进一步缩小了差距,让开发者可以轻松访问可验证的数据和链下计算服务,并同时保障安全性和可靠性。Chainlink 为开发者提供成熟且易于操作的去中心化预言机网络(DON),因此开发者可以专注于核心协议和产品开发,这将有助于推动智能合约经济的创新发展,并对整个社会带来深远影响。Chainlink Keepers 只是我们朝着 Chainlink2.0 总体目标迈出的第一步。最终,我们希望为开发者提供全套链下计算服务,帮助开发者在区块链上开发出更多丰富的产品。

Chainlink Keepers 只是全面实现去中心化预言机网络(DON)的第一步。最终,Chainlink 将为智能合约提供一系列丰富的链下计算和链下服务。

想要了解关于 Chainlink Keepers 的更多内容,请访问 网站,或阅读 Chainlink 文档。我们欢迎各位开发者发邮件至 [email protected] 分享任何反馈意见,帮助我们完善 Chainlink Keepers 的功能,提升其可靠性和可用性,并丰富其功能。

—-

编译者/作者:区块链网络

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...