在各个项目纷纷将预言机功能委托给Chainlink Price Feeds等去中心化解决方案后,DeFi才真正迎来了创新潮。开发者再也不需要花时间开发核心后端基础架构,而是全心全意创新DeFi产品。同样地,Chainlink Keepers也将加速混合型智能合约的创新,为开发者接入安全可靠的链下计算资源。有了Chainlink Keepers,开发者无需手动操作,也不用依靠中心化的服务或修改底层协议,就可以在预定义的条件满足时自动触发链上功能。
我们之前成功发布了beta版,在一群初始用户中进行了live testing。而现在我们很高兴地宣布Chainlink Keepers正式在以太坊主网上线,并全面向公众开放。所有开发者、去中心化应用以及DAO都可以将Chainlink Keepers作为去中心化的链下计算层,可靠地自动触发关键的智能合约功能,并通过自定义合约触发方式来实现高级的dApp功能。
Chainlink Keepers可以代表混合型智能合约实现一系列丰富的DevOps服务以及链下计算,其中包括:
在去中心化交易平台执行限价单交易。
当储备金增加时铸造通证。
从资金库(vault)中获取收益。
Rebase弹性供应通证。
重新平衡链上交易和流动性挖矿策略。
清算抵押率不足的贷款。
闲置期结束后解锁资产。
通证余额低于最低值时充值。
还有许多其他有待开发的应用场景。
开发团队还可以在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预言机基础架构安全地接入链下数据源,还能使用Chainlink Keepers基于预定义的事件自动触发链上函数,并同时保障安全性和可靠性,降低成本并可以在链上验证。
Chainlink Keepers的出现让Web3.0在开发的成熟度和敏捷性方面与Web2.0进一步缩小了差距,让开发者可以轻松访问可验证的数据和链下计算服务,并同时保障安全性和可靠性。Chainlink为开发者提供成熟且易于操作的去中心化预言机网络(DON),因此开发者可以专注于核心协议和产品开发,这将有助于推动智能合约经济的创新发展,并对整个社会带来深远影响。Chainlink Keepers只是我们朝着Chainlink2.0总体目标迈出的第一步。最终,我们希望为开发者提供全套链下计算服务,帮助开发者在区块链上开发出更多丰富的产品。
Chainlink Keepers只是全面实现去中心化预言机网络(DON)的第一步。最终,Chainlink将为智能合约提供一系列丰富的链下计算和链下服务。
我们欢迎各位开发者发邮件至keeper@chain.link分享任何反馈意见,帮助我们完善Chainlink Keepers的功能,提升其可靠性和可用性,并丰富其功能。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。