在 2022 年苹果还推出了 Ask Apple 服务,开发者可以直接联系 Apple 布道师、工程师和设计师来解决疑惑、分享心得,并与世界各地的其他开发者交流沟通,并且完全免费,可见苹果对开发者关系的极其重视,正因为这种对开发者的关注和重视,苹果的生态系统得以繁荣发展,拥有世界上最大的应用商店之一。
如果说 Data Feed 解决了数据传输的可靠性和难以篡改性,VRF 解决了链上随机数的验证和防篡改问题,那么 Chainlink Function 则是解决了智能合约连接 Web2 API 的门槛和中心化问题、自定义运算的数据难以篡改性以及安全性问题。接下来让我们一一道来:
开发门槛和节点中心化问题
首先是智能合约连接 Web2 API 的门槛问题,在 Chainlink Function 推出之前,开发者也可以使用 Chainlink 的 Any API 服务去连接 Web2 的 API 获取数据,但 Any API 与 Function 有着截然不同的区别,首先 Any API 要想实现连接 Web2 API 的功能需要开发者自己搭建一个 Chainlink 的节点并且为这个 API 搭建一个外部适配器 [8],较为麻烦。
如果我们把开发者比作厨师,使用 Any API 服务需要开发者自己去搞定一些基础设施比如购买炉灶、安装油烟机等,搞定基础设施之后呢还要为特定的食材(API)准备特定的烹饪工具(外部适配器),较为麻烦,而且 Any API 不支持自定义运算。对于 Chainlink Function 来说,无服务器的 runtime 环境意味着开发者可以专注于编写代码和功能,而无需关注底层的服务器和基础设施的维护、扩展和管理等。同样把开发者比作一个厨师,那么 Chainlink Function 就是一个自动化的厨房,开发者只需关注准备食材和做菜,而不需要担心购买炉灶、安装抽油烟机等基础设施问题,并且自动化厨房的烹饪工具也很齐全。相比之下,Chainlink Function 把原本的开发难度几乎从 10 降到了 1,而开发门槛的降低将会涌现更多的开发者参与创新。其次是中心化问题,Any API 的预言机网络使用的是开发者自建的 Chainlink 预言机节点而不是 Chainlink 的去中心化预言机网络 DON,存在中心化的风险,在数据安全性和难以篡改性上都无法保障,就会降低项目的作恶门槛,并局限项目的资金规模。我们都知道在 Web3 中项目的安全性极其重要,稍有不慎将会打来大量资产损失,这里顺带一提 Data Feed 和 Function 的区别,一个是传输指定数据源的数据,一个是任意数据源的自定义运算。
自定义运算的数据难以篡改性和安全性问题 [9]
首先我们需要知道 Chainlink Function 是如何实现自定义运算以及为什么在去中心化预言机网络中实现自定义运算很重要。了解预言机网络运算之前,我们需要了解一下另外两种运算方式:中心化链下运算和链上运算,这两种运算方式分别代表了中心化和去中心化两个极端。
链上运算是指在区块链网络中进行的计算,比如智能合约的执行等等。链上运算的数据具有很高的可靠性、安全性和难以篡改性,因为所有的计算都在区块链网络中进行,所有的数据和结果都存储在链上。然而,链上运算的速度和效率受到网络限制,且成本较高,因为每次计算都需要消耗网络资源(如以太坊的 Gas 费)。
例如,我们在以太坊上进行转账时,假设 Gas 费用约为 4-5U 左右,在同等 Gas 价格条件下,Mint 稍复杂的智能合约逻辑的 NFT 可能就需要花费 20U 左右,因为这需要更多的以太坊网络资源,所以要想在以太坊上实现复杂逻辑运算的代价是极其昂贵的。链上运算成本高昂且具有局限性,不适合处理大量计算和数据处理任务。
那么回到预言机运算,Chainlink Function 则是在去中心化预言机网络 DON 层面上实现了自定义运算,其实可以被称作去中心化链下运算,实现了信任最小化,其将中心化链下运算链上运算的特性相结合,弥补了中心化链下和链上运算之间的差距,根据官方所述,预言机运算可以使得传输给智能合约的数据能够在保持安全性、可靠性和难以篡改性的同时,也具备中心化链下运算的优势,实现了高性能、低成本和可扩展性。因此,Chainlink Function 可以让智能合约实现以前难以实现或者效率不高的功能,提供了很大的想象空间。
图源:Chainlink PowerPoint
通过 Chainlink Function,开发者可以在去中心化预言机网络中自定义运算逻辑,从而在不将计算负担放在区块链网络上的情况下,满足复杂的智能合约需求。我们来看看 Chainlink Function 是如何运作的:
最终消费者(End Consumer)启动嵌入在 DApp 中的 Chainlink Function
该 DApp 向 Chainlink Function 智能合约发出请求。此请求包括 APl 端点、数据的任何转换以及加密凭据(如果有)
去中心化预言机网络 DON 不断监听 Chainlink Functions 智能合约。当它接收到请求时,每个节点都会独立地触发其运行环境以获取外部数据,在其上执行任何计算,井返回结果。
简而言之,当 Chainlink Function 收到请求后,Chainlink Function 就会在去中心化预言机网络(DON)内通过每个节点独立执行开发者自定义的运算逻辑来获取和处理外部数据,然后利用 OCR 2.0 协议(Chainlink Data Feeds 底层共识协议)对最终数据达成共识并上传到链上。但需要注意的是,尽管 Chainlink Function 确保了数据传输的可靠性、安全性和难以篡改性,但它不能保证数据源的数据真实性,参与方需要对数据来源进行审慎评估。图源:Chainlink PowerPoint
Chainlink Function 的潜在应用场景根据 Chainlink 的官方资料,我们可以得知 Chainlink Function 可以解锁以下 Web3 应用场景 [7][10]:
开发者可以与 Chainlink Functions 集成,将他们的智能合约连接到外部去中心化数据库,如 IPFS 和 Filecoin。这将允许开发者利用 DON 作为计算层和 IPFS 用于低成本去中心化存储的链下计算 dApp。例如,开发者可以通过使用 Chainlink 函数获取链下投票并将投票结果转发到链上以触发基于智能合约的操作,从而为 DAO 构建去中心化的链下投票系统
开发人员可以连接到 Web2 应用程序并构建复杂运算逻辑的混合智能合约
开发人员可以几乎从任何 Web2 系统(如 AWS S3、Firebase 或 Google Cloud Storage 甚至是特斯拉汽车)获取数据
开发人员可以接入 Al 进行回应(例如,在 OpenAl 的 ChatGPT APl 或为 DeFi 交易生成建议的云提供商)
图源:Chainlink PowerPoint
除了官方提到的潜在应用场景之外,我们还可以从社区提交的 Chainlink Function 案例中找到一些比较有趣的方案 [11],比如使用 Chainlink Function 获取谷歌地图距离矩阵的数据等等,更多案例可以进入 https://www.usechainlinkfunctions.com/ 查看。除了以上应用案例外,Chainlink Function 的潜在应用场景也值得关注,截止至本份研报撰写阶段,Chainlink Function 刚刚发布一个多月,仍处于测试网 Beta 阶段,因此我们还需要更多的时间来观察。
图源:useChainlinkFunctions() quick and easy to understand code examples for Chainlink Functions 简单来说,Chainlink Function 实现了在去中心化预言机网络上连接外部任意 API,进行自定义运算和数据处理的可靠、可信和难以篡改性,在此之前,这种功能仅限于中心化系统。而通过 Chainlink Function,开发者可以更加灵活、便捷、低门槛的访问和使用预言机服务,这使得 DApp 在应用场景和潜力上有了更大的想象空间。但是需要注意的是,Chainlink Function 仅仅是可以保障数据传输中的数据可靠、可信、难以篡改性,而不是数据的真实性。因此,参与方则需要对数据来源进行严格审查,避免利用数据源进行作恶行为,由于 Chainlink Function 目前仍处于 Beta 测试阶段,因此目前潜在的风险和漏洞未知,更多还需要交给时间和市场来验证。
Chainlink Whitepaper-v1 这样描述 LINK 的作用: “The ChainLink network utilizes the LINK token to pay ChainLink Node operators…”[12],这是非常古典的 Token 经济:让 Token 作为生态内的支付手段,即货币最常见的功能。使用 Chainlink 服务的 Client 需要使用 LINK 支付节点服务商,借此,LINK 有了初步的效用和供需关系。
1)业务上而言,增强生态的去中心化(形成 DON 的必要条件),从而增强预言机服务的安全性与准确性。按照官方的说法,就是 “Expands the role of Decentralized Oracle Networks (DONs) in the blockchain ecosystem, laying out the key advancements for the Chainlink Network to power a suite of decentralized services for smart contracts on any blockchain.”[12]2)财务上而言,增强 Token 的 Value Capture,让 Token 可以更全面地反映生态价值。这一点官方没有明确阐述,但随着 Chainlink 2.0 的落地,价值捕获的提升是可以预期的。预言机节点和社区参与者需要通过质押 LINK 参与 Chainlink 生态,让 LINK 的需求随着 Chainlink 生态的扩大而增加,质押机制还会降低 LINK 的抛压,从供需两端驱动了 LINK 的价值。接下来,我们详细了解一下 Chainlink 2.0 的机制,以及这些措施是如何赋能去中心化、提升生态的安全性和价值捕获的。
Chainlink 2.0 经济模型
质押机制
质押机制是 Chainlink 2.0 的核心。它将 DON 节点权利与 Token 结合,形成了治理的货币化,通过可量化的利害关系制约了节点的作恶可能。Token 经济与治理机制相结合,通过显性激励机制完成了超线性质押影响,通过隐性激励机制限制了节点的短视行为。
通过链上协议,SLAs 规定了 DON 节点向用户提供服务的基本义务(如持续时间、数据准确度、数据类型等)。如果 DON 节点没有提供相应的服务,用户可以 challenge 节点的行为。
每个 DON 的背后都有一个服务协议,它将定义每个预言机节点需要抵押的 LINK Token 数量和关键性能要求,例如单个节点的响应可以偏离聚合值多远以及预言机中的聚合值有多远报告可能会偏离它应该代表的正确值。服务协议还可以定义其他参数,例如使用的数据源、更新频率、每个节点支付的费用等。[14]
为了有效地发现并避免错误行为,Chainlink 2.0 设计了一个双层检举的显性激励机制。这一显性激励机制可以被拆分为以下的细分机制:1)双层预言机网络Chainlink 建立了双层预言机网络。第一层被称为初始层(default tier),即预言机网络本身,由网络各节点构成;第二层被称为后备层(backstop tier),由历史数据可信赖(strong historical reliability scores)或预言机数量级更大的网络(an order of magnitude more oracles than the first tier)组成,如 Aave、Synthetix、Compound 等。第一层是生态的参与者,第二层是生态的裁决者。裁决者并非因为单纯地位上的高低而具有裁决权,而是因为过往历史数据表现或预言机数量级而更具有可信度。初始层的节点相互监督,在发现大规模异常时可以向后备层报告,由后备层的节点做出判断。双层预言机网络增加了一个在关键时刻起效的仲裁委员会,以部分牺牲去中心化的方式减少了对节点多数贿赂攻击的风险。
图源:Chainlink 2.0 Super-Linear Staking: An Overview
2)保证金制度Staking 类似于保证金制度。节点需要缴纳两部分保证金(deposits):第一部分保证金会因报告与大众不同的数据而罚没(slash),第二部分保证金则会因错误上升到第二层网络裁决(faulty escalation)而罚没。除了节点之外,通过质押保证金,用户也可以对节点的行为提出挑战。通过用户挑战机制,Chainlink 将用户与社区也纳入到了生态安全体系之内,除了允许节点相互监督检举,也允许了节点之外的监督。3)监察者优先级(watchdog priorities)与超线性质押影响(super-linear staking impact)“超线性质押影响” 是 Chainlink 2.0 的主要特点。这个名字乍一听很唬人,很难字面理解它的意思。接下来,我们用尽可能平实的语言去解释超线性质押影响的含义。我们先看看什么是 “线性的” 质押影响。如果贿赂成本(C)与节点数(n)是线性关系,那么这一质押影响是线性的。每个节点的最小边际贿赂成本(minimum marginal cost)可以认为是每个节点的直接机会成本,因为如果一个理性的节点收到的贿赂不及其未来通过举报可以获得的收益,它就会选择背叛。假设每个节点都缴纳了一样的保证金 $d,如果攻击者贿赂了半数节点,且每个节点举报的收益是均分问题节点的保证金($d/2),那么贿赂成本 C = $d*n/2,C 和 n 之间存在系数为 $d/2 的线性关系。Chainlink 使用了一种有趣的博弈论方法,让贿赂成本 C 与贿赂节点数 n 之间存在平方关系。在此之前,我们先熟悉另一个概念:监察者优先级(watchdog priorities)。在上文对线性质押影响的讨论中,我们假设节点举报的收益是均分问题节点的保证金($d*n/2)。现在,我们假设节点的举报收益并不是均分问题节点的保证金,而是由举报节点中的某一个节点获得全部的问题节点保证金。那么,决定是哪一个节点获得全部保证金的顺序,就被称为 “监察者优先级”。这一优先级是随机的,因此攻击者无法知悉哪一个节点可能获得所有奖励。在这样的情况下,攻击者的贿赂成本就会远高于线性质押影响:因为无从知道哪个节点会获得全部奖励,稳妥的方式是给所有可能获得奖励的节点以全部保证金的贿赂,否则节点就会因为可能的机会成本而选择举报。因此,假设每个节点都缴纳了一样的保证金 $d,如果攻击者贿赂了半数节点,且节点举报的收益是可能获得问题节点的全部保证金($dn/2),那么贿赂成本 C=($dn/2) * n=$d*n^2/2,C 和 n 之间存在平方关系。也就是说,随着节点数量的增加,贿赂成本平方地增加,而非线性地增加,这就是 “非线性质押影响” 的含义。通过随机选择一个举报节点获得全部问题节点保证金奖励,让贿赂成本非线性地增加,这是 Chainlink 2.0 在质押设计上的巧妙之处。
图源:Chainlink 2.0 Super-Linear Staking: An Overview
这里为不了解机会成本的读者们简单介绍机会成本:机会成本是指因选择某选项而错过的最佳次优选(next best choice)的价值。机会成本是博弈论中的重要概念,因为机会成本会影响博弈中行动者的行为——考虑到所有博弈参与者的目的是最大化自身的利益,机会成本的概念会让参与者更好地理解自己所面临的权衡(trade-off),让他们不仅考虑到直接的收益与成本,也会同时考虑到其他选择可能带来的收益。
比如,Alice 选择了一份月薪为 5000 元的工作,但如果她面临的最佳选择是一份月薪为 1 万元的工作,她面临的机会成本为 1 万元。再复杂化一下 Alice 的例子:如果 Alice 选择了一份月薪 1 万元的工作,这份工作的工资不会增长,但另一份月薪 5000 元的工作在未来会变成月薪 2 万元,此时 Alice 还会面临长期的机会成本。为了达到最优解,如果 Alice 不是只工作一年就退休的话(i.e. Alice 是长期行动者,long-run player),她就有必要了解短期和长期的机会成本。
[1]New Blockchain Startup Brings Contracts into the Digital Age – Coindesk
[2]https://research.chain.link/whitepaper-v1.pdf[3]Chainlink launches Mainnet to get data in and out of Ethereum smart contracts -ZDNET[4]Chainlink Price Feeds 如何保障 DeFi 生态安全 | Chainlink Blog[5]35+ Blockchain RNG Use Cases Enabled by Chainlink VRF | Chainlink[6] 开发者关系是决定 Web3 成败的关键要素 | Chainlink Blog[7]Introducing Chainlink Functions: Connect the World’s APIs to Web3[8]Chainlink Any API Documentation | Chainlink Documentation
[9]一文读懂预言机运算——赋予预言机数据传输和链下计算的双重功能 | Chainlink Blog
[10] What is Chainlink Functions? | Chainlink Documentation[11]useChainlinkFunctions() – quick and easy to understand code examples for Chainlink Functions[12]https://research.chain.link/whitepaper-v1.pdf[13] Chainlink 2.0 and the future of Decentralized Oracle Networks | Chainlink[14]Chainlink 2.0 Super-Linear Staking: An Overview[15]Introducing Chainlink BUILD | Chainlink Blog
[16]Introducing the Chainlink SCALE Program | Chainlink Blog
感谢您完整阅读本份 Web3Caff Research 免费试读系列内容,解锁本平台全部 Web3 研究报告及栏目内容,与更多 Web3 精英共寻一线风向,可点此 订阅 PRO 会员(若无法点击可复制链接访问:https://research.web3caff.com/zh/vnotice)
免责声明: 本报告由 Web3Caff Research 编写,所含信息仅供参考,不构成任何预测或投资建议、提议或要约,投资者请勿依赖此类信息购买、出售任何证券、加密货币或采取任何投资策略。报告中使用的术语和表达的观点旨在帮助理解行业动向,促进 Web3 包括区块链行业负责任发展,不应被解释为明确的法律观点或 Web3Caff Research 的观点。报告中的看法仅反映作者截至所述日期的个人意见,与 Web3Caff Research 立场无关,且可能随后续情况而变化。本报告中所含的信息和看法来自 Web3Caff Research 认为可靠的专有和非专有来源,并不一定涵盖所有数据,亦不保证其准确性。因此,Web3Caff Research 不对其准确性和可靠性作任何形式的担保,也不承担以任何其他方式产生的错误和遗漏的责任(包括因疏忽而对任何人产生的责任)。本报告可能含有 “前瞻性” 信息,这类信息可能包括预测和预报,本文并不构成对任何预测的担保。是否依赖本报告所载信息完全由读者自行决定。本报告仅供参考,不构成购买或出售任何证券、加密货币或采取任何投资策略的投资建议、提议或要约,并请您严格遵守所在国家或地区的相关法律法规。
联系菠菜
本文转载自公众号《Web3Caff Research 中文》如有侵权、请联系删除。审校:SuanNai