不知不觉中,链读联合 Polkabase 开展的波卡生态项目 AMA 活动,已经进入了第 8 期。链读 AMA 有幸邀请来「Chainlink」中国技术社区负责人「团长」做客链读直播间,和我们详细介绍『 Chainlink:一个去中心化的预言机网络』
波卡项目系列 AMA | Chainlink : Substrate 框架首个预言机解决方案
Chainlink 是 Substrate 框架首个预言机解决方案,其目标是成为所有 Substrate 区块链首个也是最主要的预言机提供商,并最终覆盖整个 Polkadot 网络。

团长告诉我们:Polkadot 开发者可以使用 Chainlink 去中心化的预言机网络快速将其智能合约连接到任何数据源,实现端到端的安全性和可靠性,而无须承担自己部署预言机的重大风险,如严重延时、成本高昂或甚至重大安全风险。

目前,Chainlink 正快速成为预言机即服务(Oracle-as-a-Service)领域的标杆,并受到整个区块链行业的追捧。接入 Chainlink 网络的用户包括一些DeFi 项目和大型企业(如 Synthetix 和谷歌等)。
波卡项目系列 AMA | Chainlink : Substrate 框架首个预言机解决方案
Chainlink 去中心化网络中的节点操作者相互独立,具有抗女巫攻击能力,并经过安全评估。随着 Chainlink 网络不断发展壮大,平行链上的智能合约将安全快速地连接到各类预格式化的数据,并复制到现有合约中。这样一来,Polkadot 将可以连接到所有链下数据和系统,触发智能合约执行,并连接到各类支付网关和企业后端系统进行合约交割。

以下是本次 AMA 的全部内容:

玉琪 @ 链读团长您好,能介绍一下 Chainlink 中文社区吗?为什么选择开发这个项目?

团长 @ Chainlink Chainlink 中文社区是 Chainlink 全球社区在中国的爱好者和开发者的聚集地,在 Chainlink 的官方社区风气很正,一律禁止讨论币价,大家都是在学习和探讨技术,比如讨论预言机的应用场景,Chainlink 可以帮助我们解决什么问题,Chainlink 又和哪个项目或公司合作,帮助区块链应用进一步落地。

另外 Chainlink 官方不会进行任何形式的代币空投,不会吸引那些羊毛党进来,所以我们的社区质量非常高。
Chainlink 非常重视中国社区,去年我们在国内每个月都会有线下的 meetup,今年受疫情的影响,我们 meetup 的传统换成了线上直播的形式,但是频率更高了,现在几乎每周我们都会和一个优质的项目方举办线上直播。直播里不仅有很多干货内容,还有很多互动礼品。非常欢迎大家加入 Chainlink 社区,如果您是开发者的话,我们还有专门的技术社区,开发者们可以私聊我了解更多。
Chainlink 直播间:https://live.bilibili.com/21887553_Chainlink 微博:https://weibo.com/chainlinkofficial_

玉琪 @ 链读Chainlink 是首个分散的 Oracle 网络,那为什么需要预言机,它有什么必要性?

团长 @ Chainlink预言机这个名字并不是区块链领域首创的,它其实是计算机行业的祖师爷图灵第一次提出来的。他在图灵机的基础上,加入了一个黑盒,称之为 Oracle,意思是预言者,它可以向图灵机系统内部输入信息,帮助图灵机完成运算。

以太坊的智能合约是“图灵完备(Turing Complete)”的,某种意义上可以看做一个图灵机,所以以太坊的设计者借鉴这个概念,把向“图灵完备的智能合约”这个图灵机输入信息的也被称为预言机 oracle。

预言机提供了一种无信任(或至少近乎无信任)的方式来获取外在的(即“真实世界”或“链外”)信息,例如足球比赛的结果、黄金的价格或真正的随机数字,用于以太坊平台上的智能合约。它们还可用于直接将数据安全地中继到 DApp 前端。因此,可以将预言机视为弥合链外世界与智能合约之间差距的机制。允许智能合约基于真实世界的事件和数据来强制执行合约关系,从而大大扩展了它们的应用范围。

我们假想一个猜硬币决胜负的游戏场景,这个游戏依赖于扔硬币正反面的随意性。矿工可以轻易破解这个游戏:他们只需要打包那些对其有利的随机结果即可。比如某以菠菜竞猜项目而知名的公链(EOS)由于在竞猜时需要随机数,所以经常被黑客进行随机数的攻击,根本原因就是区块链内部的确定性太高而随机性太差。那么我们如何解决这个问题呢?既然所有节点都可以就签名交易的内容达成一致,那么我们就可以引入外部信息,包括随机性、价格信息、天气预报等,作为发送到网络的交易的数据部分。

那么我们有没有办法做到呢,可不可以建立这样一座数据之桥呢。我们可以使用预言机尝试解决这些问题。需要注意的是,并不是有一个叫预言机的东西,可以帮助区块链来实现数据的连通性,而是我们把可以实现数据联通的这种组件,起个名字叫“预言机”。

玉琪 @ 链读Chainlink 作为去中心化的预言机,和中心化的预言机(如:MakerDAO)相比有什么优点,怎么做到去中心化?

团长 @ Chainlink我想我们区块链行业的从业者都明白去中心化对于区块链的意义,几乎所有的公链领域的基础设施都是围绕着去中心化这一核心思想来设计实现的。对于预言机来讲,去中心化意味着更高的安全性,更普遍的适用性,更少的信任需求,更高的可用性。

我们平时经常提到的 Dapp、Decentralized Application,就是去中心化应用的意思,而预言机主要就是给这些 dapp 提供数据的,让这些 dapp 可以有更多的应用场景。如果我们在去中心化的应用里加入了中心化的预言机,那么多这个 dapp 的去中心化的意义就大打折扣了,从底层到应用为去中心化所做出的效率等方面的牺牲就失去了大部分的意义。
我们以 DeFi 项目为例。几乎所有 DeFi 应用都由数据驱动,智能合约规定了代码逻辑,定义了在满足一定输入条件下协议将执行什么操作。智能合约用布尔逻辑编写(即如果发生 X,则执行 Y),具有高度确定性,因此最终执行的有效性取决于数据输入的质量。数据输入质量决定了合约执行结果,正应了那句话:“垃圾进,垃圾出。”
Chainlink 是预言机项目中去中心化的典范,在激励机制、运行机制和嵌套合约上实现了有效的闭环,贯彻落实了预言机网络激励相容的价值主张,不论是内部机制设计还是外部引流和发展都具有较大的优势。
Chainlink 设计了一个由多个独立节点和多个数据源组成的多层次的去中心化机制,Chainlink 网络有非常多的独立节点,这些节点都可以独立的完成向区块链传输数据的功能,利用去中心化形成的高度冗余来保障来自各个预言机节点的数据安全。我们可以在 Chainlink 节点市场上查看所有的节点:https://market.link/search/nodes

波卡项目系列 AMA | Chainlink : Substrate 框架首个预言机解决方案

预言机节点也是可以从多个数据源来获取数据,也就避免了单个数据源可能出现的数据错误或者数据源不可访问等单点失效的问题。用户可以直接使用预言机节点选择的数据源,也可以自己来指定自己信任的数据源。
在未来,我们白皮书中设计的 staking 和 reputation (声誉系统)也会陆续上线,让这个去中心化的预言机网络更加完善。

玉琪 @ 链读能和我们说说 Chainlink 在开发过程中遇到哪些困难?喂价延迟故障为何会发生?如何提升与避免?

团长 @ Chainlink由于 Chainlink 是去中心化的预言机,所以我们必须要面对去中心化所带来的一些技术上的挑战。比如在前段时间行情剧烈波动,造成了以太坊网络的极度拥堵,导致了 Chainlink 的价格数据出现了延迟,但是我们的节点运营方,提高了提交事务时的 gas 费用,将延迟降到最低,确保了数据安全。在此次网络拥塞期间,没有造成任何经济上的损失,这要非常感谢我们的优秀的节点运营商。

此外,我们还对网络进行了优化,监控以太坊网络的拥堵状况和我们节点的报价频率,提前做好预案,技术保证提供高质量的安全的价格数据,请大家放心使用。

以太由于受限于几年前的设计和架构,以及目前的 pow 共识机制,偶尔会出现网络拥塞的情况,相信未来以太更新到下一个大版本之后情况会有很大改善。另外 Polkadot 是一个非常优秀的新一代的区块链架构,未来等波卡主网上线之后,Chainlink 也会基于波卡的优秀的底层架构,提供更出色更稳定的预言机网络。

玉琪 @ 链读门限签名技术能够起到怎样的作用?

团长 @ Chainlink门限签名是 Chainlink 的一种链外工作机制。在链上工作机制中,负责查询数据的节点将数据返回给聚合合约,由聚合合约对数据进行聚合,将查询结果进行统计和聚合再返回给用户合约。在 Chainlink 节点向聚合合约提交数据时,需要多次消耗手续费,这导致用户成本过高。

而门限签名机制,由一个 Chainlink 节点代替聚合合约,在链下接受其他节点的查询数据,并且进行聚合,然后将聚合后的数据结果一次性返回到链上,仅消耗一次手续费。

门限签名最大的好处是能大幅降低成本。在现有的链上聚合模式下,每台预言机(即节点)都要支付 gas 费,才能将链下数据传输至链上。如果有 10 个节点采集链下数据,就得支付 10 笔 gas 费;且不论在最终结算之前,gas 费还有可能要多次调整。

门限签名则不同。它会将预言机的全部反馈数据在链下聚合成单一数据点,然后会有一台指定的预言机将数据发回至链上,全程仅收取一笔 gas 费。

Chainlink 研究团队的亚历克斯·考文垂(Alex Coventry)表示:
“目前,我们最好的门限签名方案只需约 1.5 万个 gas 就能进行验证。这是什么意思呢?打个比方,收集同样数量的数据点,原来要花费 3000 美元,但用门限签名工具只需约 2 美元就能搞定,成本差幅高达 1500 倍,费用节省空间巨大。前文我提到过,假设网络中有 2500 名参与方,则需要 2000 名参与方提供正确结果才可生成一个有效签名,那么按目前 gas 兑换以太币的汇率计算,我们的门限签名方案成本约为 1 美分出头;而现有方案则需花费 17 美元。”
除了降低成本,门限签名还有很多优势比如安全性高、可信度高、可扩展性强、具有积极的网络效应等等。时间关系这边就不一一细说,对这个技术感兴趣的可以加我,咱们私下继续探讨。

玉琪 @ 链读为什么选择和波卡合作,接入 Substrate 框架?

团长 @ ChainlinkPolkadot 是一个优秀的区块链底层框架,通过平行交易,解决了目前阻碍区块链技术发展的主要问题——可扩展性。Polkadot 还推出了高效开放的治理体系,让网络突破原有限制加速创新和发展。包括去 DeFi、能源、游戏和通讯在内的各类应用都将在 Polkadot 生态圈中快速成长,挑战 Web2.0 中心化平台的权威地位。Polkadot 在 2016 年由 Gavin Wood 创办,他是以太坊的联合创始人兼 CTO,同时也是 Solidity 编程语言的发明者,在广大区块链开发者中有着很高的声誉。

Substrate 是 Parity Technologies 推出的具有里程碑意义的区块链开发框架。该框架为开发者提供了灵活简便的开发环境,其模块和架构尽量删减了区块链开发环节,让开发团队能够聚焦自身项目的商业逻辑。

开发者使用 Substrate 框架可以享受 Parity 最新且独特的区块链技术,包括可插拔共识和无分叉升级(forkless upgrades)。另外,Substrate 框架的区块链还能轻松连接 Polkadot 网络,保障安全性和互操作性。开发者现在就可以在 Substrate 框架下进行开发,并大幅降低开发时间和成本。

Chainlink 已在 Substrate 区块链上完成了初步接入,这标志着 Chainlink 去中心化预言机网络的一个重大里程碑,实现了与 Substrate 区块链生态系统和 Polkadot 的对接。Chainlink 是 Substrate 框架首个预言机解决方案,其目标是成为所有 Substrate 区块链首个也是最主要的预言机提供商,并最终覆盖整个 Polkadot 网络。
Polkadot 开发者可以使用 Chainlink 去中心化的预言机网络快速将其智能合约连接到任何数据源,实现端到端的安全性和可靠性,而无须承担自己部署预言机的重大风险,如严重延时、成本高昂或甚至重大安全风险。

玉琪 @ 链读作为 Substrate 框架首个预言机解决方案,对于整个波卡生态圈有何影响?

团长 @ ChainlinkChainlink 首次接入 Substrate 框架将为日后打下基础,在 Polkadot 发布后,Chainlink 将接入其专属平行链,甚至可以部署自己的平行链。Chainlink 在 Polkadot 上部署自己的平行链之前,会先在 Kusama 上部署一条平行链。Chainlink 将为 Polkadot 的平行链和 dApp 连接到任何链下数据。Parity Technologies 是 Polkadot 和 Substrate 框架领先的开发团队,他们已为 Chainlink 在 Github 上的开源代码库贡献了大量代码,加速了二者集成,并最终造福开发者。

Chainlink 协议为用户提供了可信的市场环境,用户在其中可以获得优质的预言机服务以及可定制的去中心化框架。Chainlink 正快速成为预言机即服务(Oracle-as-a-Service)领域的标杆,并受到整个区块链行业的追捧。接入 Chainlink 网络的用户包括一些 DeFi 项目和大型企业(如 Synthetix 和谷歌等)。

区块链智能合约中可以实现各种新颖的去中心化应用,但却无法连接链下数据(如特斯拉的股价或用户在 Venmo 上的支付数据)触发链上交易。预言机可以连接外部数据源或 API,为智能合约获取链下数据,并确认链下状态,将数据发送至链下系统,以此让智能合约与链下世界充分连通。

玉琪 @ 链读波卡主网上线后,Chainlink 后续的项目计划?

团长 @ Chainlink专门的平行链上接入 Chainlink 的去中心化预言机网络能够为 Polkadot 生态圈带来许多新的应用场景。比如,自我主权身份(self-sovereign identity)的平行链可以通过 Chainlink 预言机连接可靠的链下数据(如验证身份的数字化签名或可验证声明)。同样地,用 Substrate 在 Polkadot 平行链上开发地去中心化支付网络也可以通过 Chainlink 预言机安全连接到链下支付系统的结算和发票数据。再比如,DeFi 平行链上,智能合约和 dApp 可以利用去中心化的价格数据用虚拟货币交易衍生品,连接链下数据推出去中心化的预测市场,或连接股市价格数据用虚拟货币交易证券。

Chainlink 去中心化网络中的节点操作者相互独立,具有抗女巫攻击能力,并经过安全评估。随着 Chainlink 网络不断发展壮大,平行链上的智能合约将安全快速地连接到各类预格式化的数据,并复制到现有合约中。这样一来,Polkadot 将可以连接到所有链下数据和系统,触发智能合约执行,并连接到各类支付网关和企业后端系统进行合约交割。最终,智能合约将具有安全性和链下数据连通性,可以与链下系统和架构进行交互。

玉琪 @ 链读接入 Chainlink 网络的用户除了波卡,也包括一些 DeFi 项目和大型企业(如 Synthetix 和谷歌等),Chainlink 能提供给他们什么?怎样保证可信的价格数据?

团长 @ ChainlinkDeFi 是一个新的区块链细分领域,用智能合约再造传统金融工具,其中包括贷款、衍生品、交易所和储备资产等。在 DeFi 模式下,金融系统不再被中心化的私营机构垄断,而是用自动运行的协议在整个流程中建立无须信任的机制,协调用户互动并将后端架构去中心化。DeFi 应用需要持续访问实时的市场数据,特别是价格数据,这样才能可靠地执行底层代码逻辑。举个例子,货币项目(Ampleforth)、衍生品项目(Synthetix)、贷款项目(Aave)以及去中心化的交易所(Loopring) 等协议都需要快速访问某类资产的价格数据,才能触发核心链上功能。

大家往往没意识到开发智能合约本身已经够难了,特别是早期的时候。由于区块链还是新兴产业,开发者找不到简单易用的开发模板或指南。因此,开发者必须花费大量时间精力编写、维护和升级协议的底层代码,因为这些代码决不仅决定着价值几百万美元资产的安危,还决定了智能合约日后能否被大规模应用。即使合约的代码逻辑非常严谨,但是智能合约的最终效果完全取决于数据输入的质量。这意味着,保障市场数据的准确性与保障智能合约的安全性一样,都是去中心化金融至关重要的环节。

虽然一些 Dapp 只需调用链上数据即可,但保守估计,有 90% 以上的 DeFi 应用都需要稳定地接入链下数据,才能保持可靠、稳健的运行,并实现可持续的经济回报。多数价格数据都保存在区块链以外的世界(即链下),比如主流交易所,而且不同平台的价格数据有出入。因此,只有聚合多个来源的链下数据才能得到最可靠的价格数据。

区块链要访问链下数据,必须要通过预言机。然而,在链上聚合数据成本高昂,而且大多数项目为了要与市场价格波动保持同步,都需要持续不断地更新链上价格数据。Chainlink 的去中心化预言机网络正好能填补这个空白。

Chainlink 去中心化预言机网络中的节点都经过安全评估,具有抗女巫攻击能力,并完全独立。这些节点的运营者都是业内领先的区块链 DevOps 和安全团队,其中许多团队在 POS 节点运营方面经验丰富,在多个区块链网络中管理着价值百万美元的资产。

一旦出现链上价格更新的请求,网络中的所有节点都会接收并传输最新价格数据。这些数据会在链下聚合成单一数据点,然后再推送到链上。在节点层面就实现去中心化,这样可以保障 Chainlink 的所有价格参考预言机网络具有高度可用性。

网络中所有节点都从一个 API (如:CoinMarketCap 和 CoinGecko)获取价格数据,而这个 API 从多个来源聚合数据,这样就可以保证数据质量。目前网络中最常使用的是来自 7 个数据聚合者的数据。因此,网络中每个节点从同一个可信数据聚合者获取数据,节点获取到数据后再在链下聚合成单一数据,并发送至链上。这样保证了 DeFi 应用能够持续访问高质量的市场数据。

项目可以调用这些参考数据合约,访问最新价格数据,触发核心功能的执行。链上数据可以按时间频率更新(如每小时或每天等),按价格偏差更新(如价格每变动 1%),或按用户具体需求更新。

_h_ttps://feeds.chain.link_是 Chainlink 发布的 DeFi 价格参考数据,可以让用户在一个界面中轻松访问 Chainlink 预言机网络所有的价格参考数据。用户可以在平台上找到最近发布的参考数据,并且可以轻松访问去中心化预言机网络详细的基础架构、功能以及实时 / 历史数据。

在大企业方面,我们以 Google 为例。Google 首次尝试将其云端资源在区块链上变现,将八个不同区块链(其中包括以太坊)上的数据加载至 Google 的大数据分析平台 BigQuery 中,并开发一套成熟的软件,在各个区块链上搜索和分析数据。有许多新项目都在分析区块链索引数据,并在此基础上开发各种应用程序,比如比特币价格预测。

然而,Chainlink 并非只将区块链数据向云服务开放,而是将云服务向链上智能合约开放。开发者使用 Chainlink 预言机可以在开发智能合约应用的同时读取云端数据,并利用这些数据触发链上合约。许多大型企业都在云端储存数据并执行业务流程,因此 Chainlink 预言机可以将这些数据连接至智能合约,以此将数据变现。

通过 Chainlink 预言机将云端数据连接至智能合约,为企业解锁了新的市场和商业模式,企业可以将原始数据或加工过的数据打包出售。其中一个颇具潜力的应用是衍生品合约,特别是通过 BitQuery 访问区块链数据而开发出的衍生品合约。Google Cloud 开发者目前可以基于某个时段的以太坊平均 Gas 价格开发期货和期权合约等衍生品。以太坊智能合约也可以利用 Chainlink 预言机从 BitQuery 请求 Gas 价格数据执行合约。
波卡项目系列 AMA | Chainlink : Substrate 框架首个预言机解决方案价格参考数据页面

玉琪 @ 链读目前如何参与项目开发?需要具备怎样的能力?对于中国开发者开展怎样的奖励计划?

团长 @ ChainlinkChainlink 的开发其实就是智能合约的开发,所以如果你掌握了智能合约的开发,就可以很方面的使用 Chainlink。Chainlink 为开发者提供了开箱即用的开发库,可以非常简单的开发 Dapp。大家对此感兴趣的,可以去 B 站搜 Chainlink 资讯,https://space.bilibili.com/482973600

里面有我前几天录的一个 Workshop,教大家如何开发一个竞猜应用。
我们也会定期有 workshop, 加入到我们社群可以获得各类活动和消息的一手资讯。
目前 Chainlink 是部署在以太坊之上的,所以我们提供的是 solidity 开发工具包。我们现在也可以在波卡上使用 Chainlink,这里有一篇博客对此有些说明,我们后面也会专门办一个 workshop 帮助大家在 substrate 上应用 Chainlink 开发应用。https://polkadot.network/chainlink-reaches-milestone-with-polkadot/

另外大家也可以通过编写一个适配器,将 Chainlink 与你们现在的工作的系统或区块链项目进行连接,我们文档中都有介绍。
大家如果对 Chainlink 的开发有兴趣的话,欢迎来加我索要跟多的开发资料。

另外需要重点说的是,Chainlink 特别重视开发者,希望能有更多的开发者使用 Chainlink,传播 Chainlink,让 Chainlink 赋能区块链应用真正走向落地,为智能合约产生革命性的推送作用。所以我们最近也推出了一个 开发者的奖励计划(点击查看详情),鼓励开发者能在各个场合各类黑客松比赛中使用 Chainlink 来开发他们的应用。我们不光有丰厚的物质上的激励,还会给开发者提供独一无二的资源,帮助开发者提升自己的能力以及扩展自己的影响力。

来源链接:mp.weixin.qq.com