一文了解Chainlink网络熔断机制以及多版本客户端的价值
原文链接:https://blog.chain.link/circuit-breakers-and-client-diversity-within-the-chainlink-network-zh/
Chainlink喂价经过预编译,可以为DeFi应用提供最安全可靠的价格预言机服务,并在最大程度上保障数据质量。而这一切都得益于以下几个设计理念:
在预言机节点和数据源层面都实现去中心化,以避免单点故障。
选择安全的节点运营商和付费数据源,保障每个组件的安全性和可靠性。
通过预言机链上性能数据验证安全性,用户可以对数据进行独立监控。
建立加密经济激励机制,确保喂价即使在区块链网络极端拥堵或突然出现硬分叉的情况下都能正常更新。
以上这些强大的安全机制使Chainlink喂价得到了广泛应用,目前保障着数十亿美元的DeFi用户资金。随着Chainlink的锁仓量不断增长,我们也在不断探索新的方式为开发者进一步保障智能合约安全。Chainlink喂价本质上具有极高的安全可靠性,即使在近期频繁发生的闪电贷攻击下也可以稳健运行。除此之外,Chainlink喂价还设立了熔断机制以及多版本客户端,在最大程度上保障可靠性,即使突发黑天鹅事件,也能很好地保护用户资金安全。
Chainlink喂价的多层数据聚合机制
为了在最大程度上保障可靠性和防篡改性,Chainlink喂价建立了三层数据聚合机制,以过滤异常数据并防范黑天鹅事件。
首先,Chainlink喂价会从BraveNewCoin等多个专业的数据聚合商收集数据,这些数据聚合商覆盖包括链上和链下交易平台在内的所有交易环境,并获取交易数据,最终聚合成一个平均价格。价格充分覆盖各个市场,并按交易量进行调整。其次,每个Chainlink预言机节点会从多个数据聚合商获取数据,并取中位数,保障节点不会因API下线而无法响应,并且可以覆盖多个数据源。最后,传输至智能合约的价格会基于多个预言机喂价取中位数,这些预言机运营商都是独立团队,且经过安全评估。这样可以避免任何节点出现单点故障。
这个多层数据聚合机制为Chainlink喂价带来了极高的安全保障。不仅如此,Chainlink网络还建立了两层额外的安全屏障,进一步保障智能合约持续获得高质量的数据。具体如下:
历史喂价熔断机制——该机制设置了一个价格点作为最新喂价的参照物,若两者之间的偏差值超过预先设定的百分比,则发出报警。这个机制为Chainlink网络建立了额外的安全屏障,避免异常数据流入智能合约,可以基于上一次更新的Chainlink喂价(即历史喂价),也可以基于用户自行设定的喂价。
多版本客户端——Chainlink预言机网络一直都提供多版本的预言机客户端软件,一旦当前版本的客户端出现任何意外状况,可自动切换至前一个版本。虽然这种情况目前还未发生过,但多版本客户端可以有效解决节点软件突然出现bug的问题。
Chainlink网络建立了多层数据聚合机制以及额外的安全屏障,为用户智能合约带来了极大的安全保障,可靠地为智能合约传输安全的优质数据。接下来,本文将深入探讨不同熔断机制的优劣势,以及多版本客户端的好处。
Chainlink熔断机制与传统熔断机制的对比分析
“熔断机制”这个概念源自于楼房里的自动断电装置,当电流激增时装置会被触发,以避免出现短路。熔断装置的基本功能是监测电网输出的电流,一旦电流出现大幅波动将立即启动,以防止接入电路的电器设备出现短路故障。熔断装置可以保护住宅日常安全,也可以为数据库服务器、医院通风系统、生命维持系统以及其他必须保障运行稳定的关键基础设施提供安全保护。简而言之,熔断装置是阻止过载电流流入电器设备的最后一道防线。
家庭住宅中的熔断装置
除此之外,传统金融市场中也存在熔断机制的概念。当金融市场中价格出现“大幅跳水”时交易会被暂停。当价格在一段时间内跌幅超出一定百分比时,则会触发熔断机制。比如,当标普500指数的价格相较前一日收盘价下跌7%时会触发熔断机制,交易将被延迟15分钟。这个机制的目的是防止恐慌性抛售和清算,导致价格不正常地偏离真实市场价格。从这个意义上来说,金融市场的熔断机制与我们家里中的熔断装置作用相似,都是抵御灾害的最后一道防线。
Chainlink历史喂价熔断机制
Chainlink历史喂价熔断机制为Chainlink喂价提供了额外的安全层,当最新喂价与上一轮喂价或过去多轮喂价聚合结果(如:过去5轮喂价的平均值)出现偏差,且偏差超过一定阈值,则启动熔断机制。如果监测到异常偏差,则会发出报警,并触发应用具体的代码逻辑,比如暂停交易或暂停发放新的抵押贷款。
Chainlink历史喂价熔断机制不仅概念简单易懂,而且还易于集成,gas费用也较低。每个喂价可以单独设置熔断机制的阈值(比如10%),因此具有非常高的灵活性。比方说,稳定币/汇率喂价在设置熔断机制时可以将偏差范围定得小一点,而价格波动较大的资产则可以将偏差范围设得宽松一些。也就是说,每个项目可以视具体应用场景而定设置其熔断机制。
用户可自行设置Chainlink熔断机制
Chainlink还支持用户定制化熔断机制。用户可以发布一个Chainlink预言机节点,定制化自己的熔断机制网络,并可以兼容Chainlink现有的价格参考数据。这个选项可以让项目独立运行熔断机制,保护协议免受黑天鹅事件的影响,因此项目可以对传输到智能合约的数据拥有一定控制权。
这里值得一提的是,Chainlink熔断机制并没有采用多预言机解决方案将数据混合在一起,这种方案会造成许多意想不到的安全漏洞,特别是会降低Chainlink喂价的安全性和数据质量。这就像是把醋和酒混合在一起,肯定酿不出好酒。Chainlink喂价采用的是主预言机解决方案,为应用提供优质的聚合价格数据,充分覆盖所有市场。同时建立熔断机制,当监测到严重偏差时发出报警并触发机制。
注意!!一定不要使用基于去中心化交易平台的熔断机制
安全可靠的熔断机制可以在极端情景下将危害降至最低,而不靠谱的熔断机制不仅不能防范危险而且还会产生新的安全漏洞。其中最值得一提的是使用去中心化交易平台喂价作为熔断机制。当市场出现大幅波动时,很有可能错误触发熔断机制,而市场出现大幅波动时正是熔断机制最应该发挥作用的时候。
这背后的原因是去中心化交易所的喂价可能受到人为操纵或价格无法及时更新。如果基于去中心化交易平台的现货价格建立熔断机制,则极有可能受到“三明治攻击”,即某一笔交易暂时扭曲了交易平台上的价格。这个安全漏洞最近频繁被闪电贷攻击利用,因此我们绝对不推荐用去中心化交易平台的现货价格作为熔断机制。
如果熔断机制是基于去中心化交易平台的时间加权平均价格(TWAP),用户将不会受到三明治攻击,但代价是无法获得准确的价格数据。这是因为时间加权平均价格代表了一段时间内的平均价格,因此价格预言机的安全性与价格准确性就会呈负相关性。这样一来,当市场出现大幅波动时,TWAP熔断机制经常会滞后于市场价格,因此会对用户资金造成严重风险。
比如,某一去中心化货币市场采用TWAP熔断机制,当市场价格在短时间内狂跌50%,TWAP熔断机制很有可能在较长时间内无法与市场价格保持同步。这将错误触发熔断机制,导致用户无法清算或存入资金。当TWAP熔断机制最终重新与市场价格同步并启动清算时,抵押物价值将远远低于需要偿还的债务,因此会出现亏损。激励不足可能导致协议出现抵押率严重不足的情况,这会造成资不抵债以及用户资金直接受损。
由于TWAP熔断机制可能导致价格数据无法及时更新,因此我们建议开发者避免采用这种机制,而是采用Chainlink历史喂价熔断机制或用户自行定制的熔断机制。这样一来就可以根据应用规模灵活添加预言机节点或数据源,在不牺牲数据准确性的前提下保障安全。
多个版本的Chainlink客户端软件
Chainlink预言机节点运营商一直都运行着不同版本的Chainlink核心软件,以进一步提升Chainlink网络的可靠性。一旦某一个版本失效,节点可以立刻切换到另一个客户端及其代码库,持续为智能合约获取并传输链下数据。Chainlink节点主要使用的预言机客户端为Flux Monitor,并同时将RunLog作为备份预言机客户端。
节点可以独立在不同预言机客户端之间来回切换,因此即使客户端出现bug也不会连累到Chainlink网络。同时运行多个版本的客户端提升了网络的活跃度,以太坊等许多主流的区块链网络也采用了这种策略保障网络稳健性。比如以太坊就同时采用了Geth和Open Ethereum(注:前身是Parity)等多个客户端。
等Chainlink发布链下报告功能后,节点运营商将拥有第三个预言机软件,这将进一步提升预言机客户端的多样性。虽然目前为止Chainlink节点还没有遇到需要切换至备用客户端的情况,但它们一旦遇到这种情况可以随时切换至其他版本,避免任何类型的黑天鹅事件。
总结
Chainlink网络建立了多层数据聚合机制以及熔断机制和多版本客户端等额外安全屏障,为用户提供了稳健的深度防御策略以及市场上最安全可靠的预言机解决方案。用户在享受Chainlink喂价的安全性、可靠性和优质数据的同时,还能够抵御意外风险。随着Chainlink的网络效应不断增长,将为DeFi行业带来更多的价值。
立刻开始用Chainlink开发智能合约
如果您希望将安全可靠的Chainlink预言机网络集成至你的去中心化应用,请联系我们,我们会为您提供集成帮助。
如果您的DeFi项目希望发布新的Chainlink喂价或集成已经发布的Chainlink喂价,请查看我们的开发者文档,或透过电话与我们交流。您可以轻松快速在主网或测试网集成一个或多个Chainlink预言机网络,提升智能合约的安全性和并丰富其功能。
QQ群: 6135525
微博: https://weibo.com/chainlinkofficial
币乎: https://bihu.com/people/1869894547
合作联系: china@smartcontract.com
GitHub: https://github.com/smartcontractkit/chainlink
Discord: https://discord.gg/aSK4zew
Twitter: https://twitter.com/chainlinkofficial
Telegram: https://t.me/chainlinkofficial