LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > ChainLink、预言机与两个世界的连接【下】

ChainLink、预言机与两个世界的连接【下】

2020-01-16 蓝狐笔记 来源:区块链网络


1.ChainLink预言机的工作流程

ChainLink预言机的工作流程大致有如下几步:

用户智能合约(USER-SC)从链上发出请求

ChainLink智能合约(CHAINLINK-SC)为预言机记录一个事件

ChainLink Core接到事件,并路由任务,给到适配器

ChainLink适配器向外部API发出请求

ChainLink适配器处理响应,并将其返回给Core

ChainLink Core将数据报告给ChainLink智能合约(CHAINLINK-SC)

ChainLink智能合约汇总响应,加权得出一个最终反馈,并将其发送给用户智能合约


(来源于ChainLink白皮书)

ChainLink目前以太坊为主构建,未来也会支持其他智能合约平台,例如跟物联网公链IoTeX和分片公链Harmony等都有合作。

为了实现上述工作流程,ChainLink从架构上可以分为两个部分:链上部分和链下部分。

*ChainLink的加密世界部分

ChainLink智能合约响应用户智能合约的数据请求或查询。它包括三个组成合约:声誉合约、订单匹配合约以及汇总合约。其中声誉合约记录的是预言机服务提供者的历史表现;订单匹配合约通过SLA(Service Level Agreement,服务水平协议)为预言机需求者提供选择,例如价格水平、预言机数量、声誉等,并根据需求确定预言机服务提供者;汇总合约汇总不同预言机的响应,并加权计算出最终结果。

总的来说,ChainLink链上的工作流有三步:一是,选择预言机;二是,报告数据;三是,汇总得出结果。

用户选择预言机主要是通过指定SLA提案,可以选择查询参数、预言机数量、声誉情况、价格水平等。根据这些,可以进行排序、过滤,最后作出选择。确定SLA提案之后,它会被提交到订单匹配智能合约,满足SLA要求的ChainLink节点选择是否对提案出价。如果预言机服务提供者出价,则会被提交至合约,同时附上质押金,如有不当行为,会被没收。一旦SLA接收到足够多的符合要求的出价,出价窗口关闭,并从这个出价池选择最终的预言机服务者。没被选上的则其押金会被退还。

一旦执行SLA任务的预言机被选定,接下来就是链下的预言机执行协议,并向链上报告数据。当预言机合约收到预言机提交的结果后,这些结果会被反馈到汇总合约。汇总合约计算加权结果,得出最终的反馈答案。加权答案会返回给用户智能合约,从而触发特定功能。同时,每个预言机响应的有效性都会反馈给声誉合约。

当然,这个汇总加权处理方式可以有多种。有的需要在进行汇总前将异常值去掉,比如可以抛弃离散值,比如在计算时,去掉最大和最小的值,并输出剩余值的中位数等。

*ChainLink的现实世界部分

ChainLink的现实世界部分,也就是其链下部分,主要由预言机节点网络组成,这些节点连接到公链(如以太坊网络)。这些节点独立收集来自现实世界数据源的数据,以响应链上请求的需求。

ChainLink Core 节点软件负责与区块链交互,CHainLink节点的工作是完成各种任务。每个任务有一组小的子任务。每个子任务执行特定任务,然后将其结果传递到下一个子任务,由此得到最终结果。ChainLink节点软件内置了一些子任务,包括HTTP请求、JSON解析、转换为各种区块链格式等。

除内置子任务类型,通过创建适配器也可以自定义子任务。适配器是具有最小REST API的外部服务。通过以面向服务的方式对适配器建模,只需在程序前添加小的中间API,可实现任何编程语言的程序。很多适配器都是开源的,服务可以审计,且由不同的社区成员运行。各种不同的适配器由不同的开发者开发,确保适配器之间的兼容也关键。ChainLink与基于JSON模式的模式系统一起使用,以指定每个适配器需要什么输入以及如何来格式化它们。

2.分散化是ChainLink实现安全连接的基础

实现预言机本身并不算很难,难的是提供持续安全的预言机服务。上面蓝狐笔记也提到过,中心化预言机面临的难题包括单点失败、数据保密、数据不被篡改等。为了实现安全的预言机,去中心化的方式,也就是分散化的方式是实现安全的基础探索。

针对预言机可能出现的安全漏洞,ChainLink提出了去中心化为主的安全方法,其本质也就是分散化,其中包括数据源的去中心化、预言机节点的去中心化。当然只有去中心化还不够,ChainLink还考虑了使用可信硬件、对数据源数据进行签名等方法来确保安全。

首先是数据源的去中心化。如果只有一个数据源,一旦该数据源被黑客篡改、或停机等,那么预言机就不安全。分散化是一种解决方案。可以通过多个来源的数据,获得多个反馈,以分散风险。

其次是预言机节点的去中心化。不同的预言机节点可以从一个或多个数据源获取数据,同时也可防止部分恶意节点输入错误数据。即便其中部分预言机存在错误,只要通过ChainLink汇总合约的加权计算,也有机会得出更可靠的响应。

不过,这里存在搭便车问题。有的节点可能会为了节省收集数据成本,抄袭其他节点的响应数据,不仅对其他节点不公平,同时也实质上降低了预言机节点数据源的分散化,从而不利于安全。ChainLink会采用加密提交方式,由预言机节点发送加密的响应到CHAINLINK-SC智能合约,在达到一定数量,并发起第二轮时才会揭示反馈值。

ChainLink开始时采用的是合约内汇总的方式,长期来说会采用链外汇总的方式。合约内汇总的问题是成本问题,它会涉及链上预言机消息传输和处理的成本。如果节点多,这里可能会有很高的成本。更省钱的方法是在链外执行反馈的汇总,然后向CHAINLINK-SC发送一条消息。ChainLink还提出使用门限签名的方法(蓝狐笔记:threshold signature),例如使用Schnorr签名。链外汇总的系统利用了基于门限签名的分布式协议,可以防止f<n/3预言机的搭便车抄袭情况。

3.ChainLink实现预言机安全的其他措施

仅有去中心化(分散化)的方式,还无法实现全面的安全。ChainLink还考虑其他的措施,例如包括可信硬件、来源数据的数字签名、以及其安全服务。

可信硬件和数字签名方面是ChainLink实现预言机安全长期要做的事情。下面主要介绍在早期预言机服务中,ChainLink为提高安全的措施,也就是其主要安全服务,其中包括:验证系统、声誉系统、认证服务、合约升级服务。

首选看验证系统。ChainLink验证系统监控链上预言机的行为,并提供指标,帮助用户做选择。指标包括可用性和正确性。可用性主要记录预言机没有即时响应查询的失败次数。正确性就是指正确的响应。如果偏离值大,可以比较其他节点的响应得出。在链上处理汇总数据时,预言机的活动是可见的,不过在链下执行汇总时,就无法直接观察其可用性和正确性。对于链下反馈的正确性方面,ChainLink要求预言机对其响应进行数字签名,而其他节点可以报告有明显错误的行为(举报偏离值过大的节点),报告节点会获得奖励。可用性比较难监控,ChainLink要求预言机对从其他预言机收到的反馈结果进行数字签名的证明,也就是让别人来证明自己的成功率。验证合约会接受这些证明。

其次是声誉系统。声誉系统主要记录历史表现。主要包括:分配的请求总数(完成响应和未完成响应的);已完成的请求总数,可以计算出完成的成功率;被接受的请求总数,通过计算被合约接受的请求总数,然后跟其他节点做比较,并与总完成的请求总数对比,由此得出准确率;平均响应时间:它基于完成的请求来计算;质押金额:被锁定的罚金数额,可以计算节点的犯错成本。为了获得好声誉,节点会正确行事。

最后是认证服务。认证服务主要是为高质量的预言机提供者做信用背书。不过这会被人们误认为是许可节点参与的意思。这种服务在早期为了获得安全存在的一定的必要性。当然长期看,能否找到更合适的方法也值得考虑。认证服务会监控验证系统的数据统计,尤其对高价值交易的响应进行审计,还有链下审计,包括事后审计等。同时,这么做也是考虑了女巫和镜像攻击的可能性。女巫攻击会通过控制预言机池,提供错误数据,影响最终答案。为减少操作成本,女巫攻击者还会采用镜像,这些恶意预言机会在链下共享数据,假装有独立数据源,这样结果是减少了数据源的分散化,降低了安全。长期看,这可以通过使用可信硬件来解决。短期则需要一些认证措施。

ChainLink的价值从何而来

LINK代币是其预言机数据交易市场的支付媒介,同时也是工作权利代币。ChainLink网络使用LINK代币向节点运行者支付费用,以获得节点提供的链下数据流中检索数据的服务、将数据格式化为区块链可读格式、链外计算、以及保证正常运行。用户智能合约为了使用ChainLink预言机节点,它们也需要向其所选的ChainLink节点支付运营费用。

由此可见,LINK的价值来源于ChainLink预言机服务市场的规模。

去中心化预言机市场的潜力

去中心化预言机领域有多大?智能合约承载价值的规模越大,去中心化预言机的需求也就越大。假如Maker、Compound、dydx等DeFi项目的规模达到几十亿上百亿美元时,预言机安全的重要性可想而知,它需要更多的节点参与,更多的数据来源参与,更安全的技术基础(如数据加密和可信硬件等)设施参与,更多预言机安全方案的探索。

对于有数十亿上百亿规模的价值来说,其中几千万美元甚至几亿美元用来保证其安全也是值得的。支付给预言机的服务成本,其本质是安全成本。随着合成资产等衍生品市场的发展,这个市场有可能比现货市场的规模更大,所以,对安全的预言机服务的需求也会越来越大。

结语

预言机是连通加密世界和现实世界的“中间件”。它关系到加密领域的可持续发展,尤其是对DeFi领域来说,其重要性显而易见。

而对预言机来说,最核心的是安全问题。只有解决了安全问题,它才有立身之本。在解决安全问题的方法中,去中心化是达成安全的重要方式。ChainLink提出了一系列的解决方案,包括数据来源的去中心化、预言机的去中心化、可信硬件、对数据的签名,以及安全服务措施(验证、声誉、认证、合约升级)等。它为人们在去中心化预言机领域的探索开启了一条道路。

同时,也有人认为ChainLink的去中心化程度还不够,在安全上还有提升空间。那么,不妨更多的预言机网络进来探索,以提供更多选择。接下来蓝狐笔记如有机会将关注预言机领域的其他选手。也许未来不只有ChainLink,还会有其他预言机网络也会随着智能合约应用的兴起而发展壮大。这个领域不会只有一家选手,随着市场增长,只要能够实现更安全的预言机,机会还有,格局未定。

------

风险警示:蓝狐笔记所有文章都不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

加入蓝狐笔记的知识星球:https://t.zsxq.com/iaQNnIq

如对区块链感兴趣,欢迎加入蓝狐笔记群微信:pacinoli(加群请说明)

—-

编译者/作者:蓝狐笔记

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...