跳转到内容

ChainLink

来自BitcoinWiki

Chainlink (最初写作 ChainLink)是一个由去中心化预言机网络组成的区块链预言机平台。这些网络在区块链和外部系统之间传递数据和计算结果,从而使 智能合约 能够使用在自己的区块链状态中不可用的信息。[1] 该项目由 SmartContract.com(该公司现称为 Chainlink Labs)推出。[2]

预言机本身并不使外部事实成为区块链共识的一部分。相反,它提供了合约已编程接受的输入。 Chainlink 的设计试图通过组合多个节点运营商以及(在适当情况下)多个数据源来减少对单个预言机的依赖。[1]

历史

Sergey Nazarov 和 Steve Ellis 于 2014 年创立了 SmartContract.com,旨在连接外部数据和公共区块链。 Ellis、Nazarov 和康奈尔大学计算机科学家 Ari Juels 于 2017 年 9 月发布了第一份 Chainlink 白皮书。它描述了用于选择预言机节点、报告数据和聚合结果的链上合约,以及由预言机运营商运行的链下软件。[1][2]

该项目创造了 10 亿个 LINK 的固定供应量。在 2017 年 9 月的代币销售中,该公司以约 3200 万美元的价格出售了 3.5 亿枚 LINK;另外3.5亿预留给节点运营商和生态激励,3亿分配给公司。[3] 这些分配描述的是初始分配,而不是以后任何日期流通的代币数量。

Chainlink 网络于 2019 年 5 月在以太坊上推出,提供 ETH/USD 价格反馈。其范围后来从市场数据馈送扩展到其他预言机服务和跨链通信。[2] 2021 年发布的第二份白皮书采用了更广义的“去中心化预言机网络”一词,指能够为所谓混合智能合约提供数据传递和链下计算的节点组。[4]

Chainlink 也已适应非以太坊环境。 2020 年,Polkadot 项目展示了 Chainlink 与基于 Substrate 的区块链的初步集成。[5] 该实验不应与 Chainlink 是原生实验相混淆 Polkadot 平行链。

建筑学

区块链通常要求每个验证节点从交易中获得相同的结果。因此,合约不能直接发出任意网络请求并保持确定性。预言机系统通过获取链下信息并发布链上合约可以读取的结果来弥合该边界。[6]

在最初的 Chainlink 设计中,请求合约指定了预言机作业的要求。链上合约帮助选择节点运营商、接收他们的报告并汇总响应。链下节点获取请求的数据,对其进行格式化并提交签名结果。 不同的部署可以使用不同的节点集、数据源、聚合规则和更新条件,因此“Chainlink”并不表示每个源或服务都有一个统一的信任模型。[1]

后来的 Chainlink 设计使用链下报告,其中一组节点在链下进行通信并在链上提交汇总报告。这减少了链上交易的数量,同时保留了可以根据协议检查的签名贡献。[4]

服务

该平台已用于多种相关的预言机服务:

  • 数据馈送 发布资产价格参考数据等值以供合约读取。
  • 请求和响应服务 返回应用程序请求的数据或计算。
  • 自动化 允许在满足配置条件时调用已注册的合约函数。
  • 可验证的随机性 为需要不可预测结果的应用程序提供带有加密证明的结果。
  • 跨链消息传递 在支持的区块链网络之间承载消息和代币传输指令。

这些服务共享品牌和基础设施,但具有不同的协议、节点配置和安全假设。在一条链上或一个数据源上的可用性并不意味着每一项 Chainlink 服务在每个网络上都可用。

LINK代币

LINK 是一种与 ERC-20 兼容的以太坊代币,在 Chainlink 系统的某些部分使用。最初的白皮书描述了请求合同向节点运营商支付的费用以及旨在阻止不当行为的抵押存款。[1] 后来的设计也在质押机制中使用了 LINK。令牌的作用取决于服务和协议版本;持有 LINK 并不赋予用户对外部数据的所有权,也不保证预言机响应的正确性。

信任和安全考虑

去中心化预言机可以降低操作者失败或提交错误值的风险,但它无法确定外部来源是否准确。合约仍然可能失败,因为其数据源错误或被操纵、使用的独立节点太少、聚合规则不合适、更新延迟或消费合约错误地处理有效报告。[6]

因此,Oracle 用户需要评估数据来源、节点和来源多样性、更新策略、聚合方法、合约地址以及他们使用的确切服务的故障行为。智能合约代码和预言机配置是独立的安全边界。

参考

外部链接