# Chainlink 2.0 详细解读及一些思考 **Published by:** [damian-dyor.eth](https://paragraph.com/@damian-dyor/) **Published on:** 2023-04-05 **URL:** https://paragraph.com/@damian-dyor/chainlink-2-0 ## Content 0. 前言所谓预言机(Oracle),就是帮助连接链下世界与链上世界的中间件,比如当我们超额抵押加密货币借出 DAI 时,MakerDAO 为了防止出现资不抵债的情况发生,会实时检测所抵押资产的价格,一旦价格低于阈值,就会触发强平,在这个过程中,预言机就充当着不断喂价的角色。一般来说,链下的数据是很难直接上链的,因为上链意味着所有节点对该数据达成共识,而获取链下的数据时环境相较于区块链更加复杂,导致很难达成共识,所以就需要预言机来架起这座链上与链下的桥梁,让信息流动的更加顺畅 预言机总体来说又分为两种:中心化预言机和去中心化预言机,中心化预言机一般是具有一定的权威性,有信誉背书的,来降低其作恶的可能性,但是它终究是一个中心化的东西,且不论它是否有作恶的动机,但它完全具备作恶的能力,试想一个去中心化的系统,给它输入数据的却是一个中心化的系统,那么其实从整体来看,这不过是一个披着去中心化外衣的中心化系统(木桶效应),所以去中心化的区块链配有去中心化的预言机,才更加符合去信任的去中心化思想,而 Chainlink 就是为了解决这个问题而诞生的 Chainlink 的基本工作流程:用户通过请求合约向 Chainlink 发起数据请求,同时需要附上对服务水平的要求预言机服务商会根据自己的服务水平以及服务范围决定是否对该请求投标,竞标会在投标的寓言集达到一定数量且达到规定时间时结束,从所有候选者中按要求选出规定数量的预言机节点,未被选中的预言机节点会被退回保证金被选中的预言机会分别去获取数据,在链下进行数据聚合(Off-chain Report)后返回链上,任务结束在公开会议中 Sergry Nazarov 曾表达过 Chainlink 2.0 的发展愿景:短期愿景:发展混合智能合约(Hybrid Smart Contract)中期愿景:超线性质押(Super-Linear Staking)长期愿景:Chainlink 元开发层(Metalayer)下面就根据时间线,来为大家介绍 Chainlink 2.01. 混合智能合约(Hybrid Smart Contract)首先,混合智能合约并非特指某一种智能合约,而是一种通用的设计模式,包括链上的智能合约以及为链上智能合约提供支持的去中心化预言机网络(Decentralized Oracle Networks,DONs),链上智能合约的局限性在于它不能直接接入传统 Web2 的网络中,且无法很好执行复杂的任务,而这两点则可以通过 DONs 来弥补,一方面 DONs 可以接入传统 Web2 的 API,获取链下数据,为链上智能合约的计算提供数据,另一方面,由于是链下,所以 DONs 可以实现对数据的复杂计算(也可以看作是对数据的压缩),如此一来,链上链下两部分无缝且安全的交互,共同构成了一个单一的混合智能合约 本质上来说,混合智能合约其实就是将更多的计算任务任务转移至链下,以此来实现之前纯粹的链上智能合约无法做到的功能,基于混合智能合约的思想,Chainlink 目前初步实现了一些高级去中心化服务:可验证随机数(Varifiable Random FUnction,VRF):目前的链上随机数其实都是伪随机数,且高度依赖区块的哈希值作为 Seed 来产生随机数,很容易被攻破,Chainlink VRF解决了这些问题。首先智能合约向 Chainlink 或 Chainlink 预言机网络提供一个 seed 来请求随机数。这个 seed 是预言机无法预测的,会被用来生成一个随机数。每个预言机都会使用自己专属的密钥生成随机数。当结果和证明在链上发布后,可以使用预言机的公钥和智能合约的seed进行验证,这样即使某一节点被攻陷,该节点也无法操控或影响最终结果,因为它无法通过链上的加密验证公允排序服务(Fair Sequenceing Services,FSS):目前区块中的交易大多由矿工来进行排序,在某种程度上来看,这其实是一种比较中心化的行为,也正是得益于这种中心化,给了矿工获取 MEV(Miner-Exactable Value)的机会,有一些 MEV 可以帮助 Defi 中的价格回归标记价格,这些是有益的 MEV,而一些 MEV,诸如三明治攻击和抢跑交易,会让一些用户蒙受损失,FSS 这项服务就是为了解决这个问题而生。首先交易会被加密传递到一个排序委员会,解密的私钥以秘密共享的形式分发给委员会成员,在确定排序后,委员会合成私钥并解锁交易,目前众多的 L2 网络将排序交易的权利保留在了 L2,L2 Tx Sequencer 可以启用 FSS 服务来实现更佳的交易服务Fig 1. Ari Juels: Keynote on Chainlink Fair Sequencing Services (FSS) | Youtube区块链保险(On-Chain Insurance):在赋予链上智能合约强大的计算能力后,区块链保险服务将有更多可能,因为保险赔付主要解决两个问题:是否要赔付?赔付多少?而这两个问题前者为布尔型,后者为整型,要得到结果,很可能需要大量的计算才可以,所以混合智能合约为区块链保险提供了更大的想象空间智能合约管理员(Keeper):目前的链上智能合约并不能完成自动交易,还需要外部调用,而 Keeper 可以在需要的时候调用智能合约,这样开发者就无需再构建链下基础设施来启动链上合约……2. 超线性质押(Super-linear Staking)正如前文所提到的,一个去中心化系统的安全性是有木桶效应的,所以去中心化预言机网络的安全至关重要,Chainlink 2.0 将会引入超线性质押来增强其安全表现 Chainlink 采用双层预言机网络来确保预言机充分履行服务协议,第一层 DONs 效率高且成本低,其中节点会通过显性质押的方式质押 LINK 代币,并负责定期更新预言机报告,第二层 DONs 由 Aave,Synhetix 和 Compound 等利益相关方构成,来裁决一层 DONs 上报的任何有关预言机报告的问题,为了防止在最极端的情况下二层 DONs 出现分歧,因此 Chainlink 2.0 内置了一个仲裁层,进一步提高安全保障。一层 DONs 与二层 DONs 之间机制的安排,使得贿赂网络的成本远高于网络中目前的保证金总额,所以被称为超线性质押 在讲解超线性质押之前,需要先介绍一下 **OCR(Off-Chain Report)**的流程:每个节点将自己找来的数据签名后发送给由 Pacemaker 算法选出的 Leader 节点Leader 节点将数据进行链下聚合后形成报告,并返还至各个预言机节点,让每个预言机节点进行检查若没有问题,则各个节点对报告签名并发送至 Leader 节点,在达到阈值签名数量后,Leader 节点合成最终的报告,并将最终报告发送至各个预言机节点节点会依据随机算法选择一个负责将最终数据送上链的节点,最后智能合约验证了这个由阈值数量的节点签名过的报告,并将结果发送给消费者合约在每一轮报告中,每个一层预言机节点都会被随机分配一个号码,当某个预言机节点发现报告有问题时,就可以发出警报,发出警报的预言机节点被称为监督节点,但需要注意的是,二层 DONs 不一定会第一时间受理该预言机节点的警报,因为有可能还有别的预言机节点也同时发出了警报,且这个预言机节点被分配的数字的优先级更高,这便是随机分配的号码的作用所在 二层 DONs 会通过使用 DECO 生成的加密 TLS 证明,投票决定受争议预言机报告的真实性,一旦二层 DONs 判定一层 DONs 报告错误,那么一层网络中生成报告的多数恶意节点就会被没收所质押的保证金,没收的保证金会奖励给被分配数字的优先级最高的监督节点Fig 2. Chainlink Staking Model | Chainlink现在我们已经了解了每个预言机节点可能会收到的奖励与惩罚,引入一个例子,帮助大家更好的理解什么是超线性质押: 假设一层 DONs 中有 n 个节点,每个节点都质押金额为 d 的保证金,因此网络中质押的保证金总额为 d * n。要生成错误的预言机报告需要买通多数节点,因此恶意节点质押的保证金总额至少为 (d * n) / 2。如果一层节点上报,并且被二层节点判定为有效,则优先级最高的监督节点将至少获得 (d * n) / 2 的保证金作为奖励。然而,由于任何节点都有可能成为监督节点,因此攻击者要给每个节点至少 (d * n) / 2 的贿赂才能确保它们不上报。因此,贿赂一层DON的总成本至少是 (d * n²) / 2 可以看到贿赂的成本与预言机节点数量是呈二次关系,而非线性关系,所以这种质押机制被称为超线性质押机制 一层 DONs 生成预言机报告后可能出现三种结果:所有节点达成共识:所有一层节点都正常运行,并一致同意报告中的聚合数值为正确值。每个预言机节点都获得每轮固定的报酬部分达成共识:一些节点下线,或少数节点报告错误数据,但是大部分节点生成了正确的数值,并且聚合出预言机报告,没有节点发出报警。所有诚实/正常节点都获得服务费,而所有问题/下线节点都扣除部分保证金(如:金额为服务费的10倍)监督节点报警:如果一层网络中一个或以上的节点认为报告有问题,他们可以公开报警,升级至二层网络进行验证,并产生两种可能的结果:(1)有效上报:二层网络判定预言机报告有问题,所有一层中的问题节点被扣除全部保证金,并且全数奖励给优先级最高的监督节点;(2)无效上报:二层网络判定预言机报告没问题,并判定上报无效,所有发出报警的节点都被部分扣除保证金3. Chainlink 元开发层(Metalayer)MetaLayer 是区块链技术中的一个概念,它通常用来描述在区块链协议之上的一层抽象。在这一层之上,可以构建更高层次的应用程序和协议,从而实现更丰富的功能。通常来说,MetaLayer 的设计目的是为了提供更高层次的抽象,使得区块链技术更加易用和灵活(例如,以太坊的智能合约就可以看作是在以太坊区块链协议之上的 MetaLayer) 在 Chainlink 的 V2 白皮书中,MetaLayer 是指一个基于 Chainlink 协议的抽象层,为开发人员提供了一种简单的方式来将任何外部数据源(如 Web API、传感器等)与智能合约集成。MetaLayer 允许开发人员在区块链上编写智能合约,以访问和使用来自外部数据源的数据,从而提高了智能合约的灵活性和应用场景 MetaLayer 具有以下特点:**抽象性:**MetaLayer 可以对外部数据源进行抽象,使得开发人员可以更轻松地访问和使用这些数据。开发人员只需要了解 MetaLayer 的接口,就可以使用任何外部数据源,无需考虑底层的实现和技术细节**灵活性:**由于 MetaLayer 可以与任何外部数据源集成,因此开发人员可以根据需要使用不同的数据源来满足不同的应用场景。此外,MetaLayer 还可以通过链外逻辑来自定义数据处理和过滤规则,使得智能合约可以更加灵活地使用外部数据**安全性:**MetaLayer 的设计考虑了安全性问题,确保外部数据源的数据可以被可靠地验证和证明。MetaLayer 还可以通过使用多个数据源、多个链外节点等方式来增强安全性和可靠性MetaLayer 是 Chainlink 中一个重要的组成部分,通过抽象外部数据源,为智能合约提供了更多的灵活性和应用场景4. 一些思考Chainlink 联合创始人 Sergey Nazarov 曾表示过:DONs 和 区块链是互补的技术,而非替代关系,确实是这样,纵观 Chainlink V2 Whitepaper,Chainlink 的目标其实就是为区块链提供更加强大的链下支持,进一步来丰富链上功能,给区块链以更多想象空间,但需要注意的是,Chainlink 的去中心化预言机网络并不是一张大网去实现不同的功能,而是不同的功能对应着不同的去中心化预言机网络,虽然不同的网络中节点会有重叠,但是 Chainlink 的去中心化程度不够确是事实,但这既是它的缺点,同时也是它的优点,否则如何实现高效率、低成本的链下计算,如果预言机网络的去中心化程度与以太坊处在同一水平,姑且不讨论网络达成共识困难这个问题,计算成本就已经与以太坊处在同一水平了,预言机存在的必要性就消失了Fig 3. Chainlink 活跃节点数量 | 2023.04.05Chainlink 团队也非常清楚自身的优劣势,所以 Chainlink 目前选取节点运营商的方式主要是通过与可信节点合作(需要 KYC ),然后用 token 激励节点,并准备引入超线性质押机制来进一步加强安全性,在重奖励重惩罚的机制下,Chainlink 团队试图在去中心化和安全性之间找到一个完美的平衡点SubscribeReference: Chainlink V2 Whitepaper Chainlink 2.0 Lays Foundation for Adoption of Hybrid Smart Contracts Chainlink VRF 可验证随机函数详解 一文读懂Chainlink 2.0的显性质押机制 OCR:基于链下共识的数据聚合机制 Chainlink的理想与现实 Chat-GPT ## Publication Information - [damian-dyor.eth](https://paragraph.com/@damian-dyor/): Publication homepage - [All Posts](https://paragraph.com/@damian-dyor/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@damian-dyor): Subscribe to updates