Chainlink Price Feeds如何保障DeFi生态安全
Chainlink Price Feeds在2019年发布,服务智能合约开发者不断增长的DeFi应用开发需求,为区块链网络接入安全、精准和实时的金融市场数据。自那以后,Chainlink Price Feeds发展成了行业标准的价格预言机解决方案,总共有900多个去中心化的预言机网络,为各个区块链和L2网络上的几百个DeFi应用保障了数百亿美元的价值。Aave、Benqi、Compound、dYdX、Frax、Liquity、Sushi以及Synthetix等DeFi应用都先后接入了Chainlink。
本文将深入探讨Chainlink Price Feeds如何保障DeFi生态的安全。文章一开始会阐述预言机对DeFi的意义,然后会细数推动Chainlink Price Feeds应用规模不断扩张的七大关键优势。
什么是DeFi预言机?
仅仅在几年内,去中心化金融(DeFi)就从一个小众的区块链用例发展成了全世界增长最快的行业之一。(注:DeFi指基于区块链的金融应用生态)目前,DeFi的总锁仓量(TVL)已突破2000亿美元。TVL追踪了DeFi应用中存入的加密资产总额。
对于大多数DeFi应用来说,要保障其加密资产的安全,就必须要接入金融市场数据。比如,货币市场需要接入实时资产喂价,以精准地发布和清算抵押贷款;算法stablecoin需要接入当前资产喂价,以可靠地自动调节货币政策。然而,由于区块链本身无法连接外部世界,因此DeFi应用很难获得金融市场数据,而且大多数高质量的金融市场数据都是在区块链以外的环境(即:链下)生成的。区块链无法连接链下系统的问题通常也被称为“预言机问题”。
要解决预言机问题,就需要采用一种叫作“预言机”的安全中间件。预言机可以将区块链接入链下数据和服务,它对DeFi来说至关重要,尤其是可以为链上提供price feeds。DeFi应用可以实时接入各类加密资产或实物资产的当前或历史价格,并用于执行关键功能。由于price feeds决定了DeFi应用是否执行某一功能,因此自然容易成为被攻击的目标。价格预言机也曾因为安全问题造成了数千万美元的损失。因此,为了保障DeFi生态中的资产安全,必须使用安全的价格预言机。
为DeFi提供Chainlink Price Feeds
Chainlink Price Feeds是链上参考合约,由去中心化的预言机网络(DON)自动更新,DON由Chainlink节点组成。每个参考智能合约都储存了某一资产的历史和最新兑换汇率(比如:BTC/USD),智能合约可以按需查询汇率。每个Chainlink Price Feed都在某一个区块链网络中运行,并基于预定义的参数定期更新。
为了帮助大家更好地理解Chainlink Price Feeds的运行机制和安全机制,下文将探讨Chainlink Price Feeds保障DeFi生态安全的七大关键优势。
1、在多个层级实现去中心化,并提供优质数据
为了保障可靠性和数据质量,Chainlink Price Feeds通常采用的一种方式就是建立多层级的去中心化聚合机制。这样做可以规避单点故障风险,并保障预言机报告能够反映真实的市场价格。Price Feeds会分几步进行聚合。
Chainlink Price Feeds采用了多层级的去中心化聚合机制
在数据源层面聚合
首先,数据会在数据源先聚合一次。一系列中心化的交易平台(如:Coinbase、币安和FTX)以及去中心化的交易平台(如:Uniswap、Curve和PancakeSwap)都会基于交易活动生成原始市场数据。
专业的数据聚合公司(如:CoinMarketCap、CoinGecko和Tiingo)会从各个交易平台搜集这些原始数据,并计算出喂价数据集。具体而言,这些数据聚合商会通过计算生成一个交易量加权平均价(VWAP),将每个交易平台的数据加总在一起,基于交易量加权计算出一个平均值。数据聚合商通常还会考虑到各个交易平台之间的差异,比如市场深度、延时和利差,并剔除闪崩、洗售交易(wash trading)以及其他异常值,以防这些异常值影响最终聚合出的数据点。
每个数据聚合商都充分覆盖了所有市场,最终聚合出一个数据点,这个数据点涵盖了所有交易环境,而非一小部分市场,因此准确度更高。数据聚合商针对法币、大宗商品和证券等其他资产类型也会采用同样的计算方式。然后,这个喂价会作为一种付费订阅服务,通过API接口传输。也就是说,数据聚合商有很强的经济激励来维持数据的准确性和API的稳健性,以满足服务水平协议(SLA)的要求。
在节点层面聚合
接下来,数据会在节点层面再一次聚合。每个Chainlink节点都会接入多个优质付费数据聚合商的API接口,比如嵌入证书管理功能,以访问受密码保护的API接口。当需要更新喂价时,每个Chainlink节点都会从多个数据聚合商获取数据,并返回中位数值。每个Chainlink节点都会自动剔除异常值并防止数据聚合商的API意外下线,以此来提升服务可靠性。
在预言机网络层面聚合
最后一次聚合发生在预言机网络层面。多个独立的Chainlink节点共同组成一个去中心化的预言机网络(DON),定期生成预言机报告,报告中包含每个节点上传的数据点(中位数喂价)以及签名(加密验证)。然后,DON生成的预言机报告会保存在链上某一具体数据集的参考智能合约中(如:以太坊上BTC/USD的参考合约)。预言机报告每次在链上发布,都会先验证每个节点的签名,然后再对所有数据提取中位数,并将其储存在参考合约中,数据一旦储存就无法再被篡改。
为了维持较高的防篡改性,一个DON中至少需要有2/3的节点上传结果和签名,预言机报告才会被链上接受。这样做可以避免某个节点或一小撮节点操纵最终喂价或在链上发布不完整的预言机报告。另外,由于预言机报告发布后会取中位数,因此如果要操纵最终储存在链上并输入智能合约的结果,就必须至少贿赂一半以上的预言机节点。
Chainlink Price Feeds的数据聚合流程
Chainlink在数据源、节点和预言机网络的多层聚合策略可以确保Chainlink Price Feed每次更新时都能准确反映资产价格,并充分覆盖所有市场。
若要了解更多关于Chainlink Price Feeds如何保障数据质量的细节,请阅读《DeFi智能合约的数据质量问题》一文。
2、优质且可靠的预言机节点运营商
每个DON都由分布在世界各地的节点运营商组成,这些节点具有抗女巫攻击能力,而且经过安全评估,在运行关键基础架构方面拥有丰富经验。节点运营商会在云服务器以及自己架设的本地服务器上运行Chainlink节点软件。Chainlink节点软件是开源的,使用MIT协议,经过安全评估,并拥有多年主网运行的实战经验。
Chainlink节点运营商会聚集在一起组成预言机网络
Chainlink Price Feeds的节点运营商来自各个背景和行业,汇集了各自丰富的经验和深厚的技术专长,共同为区块链聚合安全可靠的喂价数据,并传输到链上。Chainlink的节点运营商主要包含以下几类:
DevOps节点:这些节点是专门运行区块链基础架构的组织,比如PoS验证节点、PoW矿池以及全节点RPC提供商。这些节点运营商在运行关键Web3基础设施、管理加密私钥以及提供服务换取cryptocurrency等方面经验丰富。DevOps节点包括Stake.Fish、P2P Validator以及Staked等顶尖的质押池提供商。
企业节点:这些节点遍布世界各地,目前正为传统的Web2经济运行后端基础架构。其中包括德国电信子公司T-Systems和瑞士电信等国际电信公司,以及LexisNexis等全球化机构。
社区节点:这些节点来自Chainlink社区,专注于支持生态成长,并且可靠性经过了实战检验。其中包括Chainlink Oracle Olympics的优胜者、CryptoManufaktur、LinkRiver以及NorthWest Nodes。
Chainlink节点运营商还包括火币等cryptocurrency交易平台、Tiingo等数据提供商、Kyber等DeFi应用以及其他各个社区成员。Chainlink Price Feeds集结了这些基础架构提供商的丰富经验,并协调了各方的经济激励,为智能合约开发者保障了数据更新频率以及可靠性。
3、数据传输的成本效益和去中心化水平高
为了既满足用户对精准喂价数据的需求,又优化数据上链的成本,Chainlink Price Feeds可以非常灵活地配置预言机报告传输到链上的时间和方式。具体而言,有两个参数可以决定何时在链上发布新的预言机报告:
偏差阈值:资产价格相比上次更新的变动百分比。比如,假设偏差阈值设置为0.05%,那么当资产的全局价格相比上一次链上更新的价格涨或跌了0.05%,就会触发一次预言机更新。
心跳:距离上次更新的时间间隔。比如,假设心跳阈值设置为1分钟,那么距离上次链上更新至少1分钟时就会触发一次预言机更新。
这些触发参数通常会叠加在一起,因此为了提升喂价准确性,Price Feed在市场波动较大时更新会更频繁;而为了降低成本,在市场波动较小时,更新频率会降低。每个触发参数都会基于一系列因素设定,其中包括市场需求、保障的价值大小、区块链上的gas费用、具体的用例要求以及资产的预期价格波动等。
吞吐量较高的区块链一般可以实现频繁的更新,因为Chainlink可以与每条区块链的运行速度和成本保持同步。对成本较高的区块链来说,要保证长期的经济效益以及确保预言机报告在网络极端拥堵的情况下也能正常发布到链上,降低成本就显得至关重要。正因如此,Chainlink Price Feeds在2021年初进行了一次更新,添加了链下报告(OCR)协议。Chainlink ORC利用链下计算和点对点网络,直接将运营成本降低了90%,并使传输到链上的数据量增长了十倍。
有了Chainlink OCR,每个Chainlink节点不用再分别将数据传输到链上,且每次上链都支付一次gas费。节点可以先在链下将数据聚合成一份预言机报告。然后,这份预言机报告会通过一笔交易发送到链上,其中每个节点的签名都分别经过验证,会基于所有节点上传的数据计算出一个中位数并储存在报告中。这不仅能降低运营成本,而且还能在更大程度上实现节点的去中心化,提高更新频率,降低延迟,并提升预言机算法的定制化水平。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场