LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 技术测评:Chainlink(LINK),智能合约与现实世界连接数据的“桥梁”

技术测评:Chainlink(LINK),智能合约与现实世界连接数据的“桥梁”

2020-01-12 听风说币 来源:区块链网络

一提到 Chainlink项目(代币名为LINK),很多人马上会想到“价格暴涨”和“预言机”两个标签。在刚刚过去的2019年,LINK价格上涨了近十倍,在coinmarketcap中现已跻身第17的位置。或许你对这个十倍币的币价感兴趣,并没有机会从技术层面深入了解这个项目,甚至不知道预言机是什么。那么,今天这篇文章一定能帮你排忧解惑。

项目概述:
Chainlink(Link)于2017年6月由旧金山金融科技公司SmartContract推出,它是一个去中心化的预言机服务,旨在将智能合约与现实世界的数据连接起来。由于区块链无法访问其网络之外的数据,因此需要使用预言机作为智能合约中的数据传送介质。预言机提供外部数据(如温度,天气),这些数据在满足预定条件时触发智能合约的执行。Chainlink网络中的参与者,因其向智能合约提供对外部可访问的数据源,可获取LINK通证激励。


技术总评:
1、Chainlink 因其提供外部访问数据源和API功能接口,从而简化了智能合约访问链下关键资源的流程,加快了智能合约的开发速度,降低组织的运行、组织与组织之前的“互不信任”成本。
2、Chainlink生态系统围绕LINK令牌和LINK网络展开。通过技术手段,在商业世界增强智能合约的适用性和可用性。
3、通过验证系统、声誉系统、认证服务、合同升级与安全下放等机制构建了安全服务体系。

项目技术

1.1概念层面

什么是中间件?

通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格 各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。


中间件就是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。 不难看出,中间件应具有如下的一些特点:满足大量应用的需要,运行于多种硬件和操作系统,支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互,支持标准的协议,支持标准的接口。

什么是智能合约?
以太坊上的智能合约,可以理解为是一个“自动执行程序”。程序是由若干个“如果——就”的代码行组成。它需要“触发点”激活程序自动执行。如果达到什么条件,就会触发什么结果,这就是智能合约执行的过程。智能合约的出现为区块链技术落地提供了途径,使用户能在区块链上设定一系列条件并进行无信任(trustless)交易。


智能合约的发展大致经过了三个阶段:智能合约1.0,也就是智能合约协议阶段;智能合约2.0,演变成可编写脚本的智能合约;智能合约3.0是全面集成的智能合约。智能合约的连通性问题突出,它无法自主的获取区块链外部的数据和资源。同时,80%以上的智能合约应用需要与区块链外部进行连接。

区块链中间件技术模块
Chainlink就构建了一个“区块链中间件”技术模块方案,帮助智能合约连接外部链下数据和系统,实现区块链世界与现实世界的数据交互。


什么是预言机?
预言机不是预言功能,可以理解为可信数据供应机。它就是那个专门提供外部信息的平台。它是一个“中间商”, 帮助智能合约连接链下的数据,实现区块链世界与现实世界的数据交互。


比如,我们基于以太坊平台开发一个电商平台的Dapp,除了需要用户上传到电商平台上的商品图片、商品评论等链上数据外,还需要调用顺丰、韵达等快递行业的数据。那么,这些快递数据就需要Chainlink预言机系统来打通链上链下数据,把信息从链下传递到链上,传递现实世界的信息与区块链系统交互。


预言机又分为中心化预言机和去中心化预言机,中心化的预言机最大的弊端在于容易引发单点故障从而导致整个系统无法运作。去中心化预言机所提供的数据相对来说更安全可靠, Chainlink 是首个提出去中心化预言机的项目。

什么是ChainLink令牌?
开发人员将LINK令牌描述为“ERC20令牌,具有额外的ERC223”传输和调用“功能(传输和地址,uint256,字节),允许令牌在单个事务中被合同接收和处理。

什么是ChainLink网络?
ChainLink网络是ChainLink节点的分布式网络,它们都直接将特定数据、API和各种离线支付功能的使用输送给智能合约。Chainlink网络由两个独立的部分组成,链上链和外链,它们必须交互以提供服务。

1.2技术实现层面

据白皮书所说,Chainlink 核心功能目标是通过使用 API 桥接两个环境,即链上和链外。它通过获取链上资源(如以太坊、比特币和 Hyperledger 等区块链),并通过 API 将其连接到链下资源(如市场数据、银行支付、零售支付、后端系统、事件数据等)来实现这一目标。


其中,它的链上模块由声誉系统、订单匹配合约、聚合合约三部分组成,负责链接 DApp 开发者的智能合约,接受对链外数据的请求。链下模块则负责监听请求,并向节点运营商获取数据。


区块链能留下的只有账本,而区块链所能输入的只有交易。那么要实现向区块链提供数据,应该怎么做呢?

下面我们通过一个例子,来介绍一下预言机的基本原理。我们在以太坊链上建立一个用户合约,它需要获取到某个城市的气温数据。当然,智能合约自己是无法获取到这个发生于链下真实世界中的数据信息的,需要借助预言机来实现。智能合约将需要获取天气温度的的城市写入到EventLog中,链下我们会启动一个进程,监听并订阅这个事件日志,获取到智能合约的请求之后,将指定城市的温度,通过提交transaction的方式,调用合约中的回填方法,提交到智能合约中。


Chainlink是一个去中心化的预言机项目,它的作用就是以最安全的方式向区块链提供现实世界中产生的数据。Chainlink在基本的预言机原理的实现方式之上,围绕LINK token通过经济激励建立了一个良性循环的生态系统。Chainlink预言机需要通过LINK token的转账来实现触发。


LINK是以太坊网络上的ERC677合约,在《精通以太坊(Matering Ethereum)》一书中,提出了三种预言机的设计模式,分别是立即读取(immediate-read)发布/订阅(publish–subscribe)请求/响应(request–response),而基于LINK ERC677 token完成的预言机功能,就属于其中的请求/响应模式。这种做法验证了产品的技术架构设计,设计请见下图。


从设计中,我们看到4个不同的实体:外部数据、外部适配器、Chainlink节点和区块链节点。

外部适配器允许核心Chainlink适配器所支持的功能之外的其他功能。外部适配器可以用任何语言编写,并且可以作为接受和响应JSON格式数据的单独服务运行。外部适配器实体上方的红色箭头表示适配器和外部数据之间的连接。当外部数据提供者需要身份验证以建立连接时,这可能是必需的。该提供程序的凭据可以存储在适配器中,而不是Chainlink节点本身中,从而使节点操作员可以完全控制如何安全地存储其凭据。 Chainlink节点将“ id”传递给外部适配器,即外部适配器应在其响应中包含的JobRunID。

Chainlink节点处理区块链的作业,任务,调度和签名交易。绿色箭头表示与外部数据的连接,不需要任何身份验证。 Chainlink节点无需任何外部适配器即可读取开放的API,处理其响应并写入区块链。蓝色箭头表示Chainlink节点与其外部适配器的连接。

区块链节点监视区块链,并允许Chainlink节点查找发生的特定事件以启动作业。它还允许节点广播其已签名的事务,该事务将数据返回到使用合同。在区块链节点脱机的情况下,Chainlink节点将不断尝试重新连接,并在恢复连接性时监视丢失的块。黑色箭头表示Chainlink和区块链节点之间的连通性。 Chainlink节点将订阅区块链节点,以读取发生在区块链上的事件,并向其发送已签名的交易,以发布响应。

事实上,对于预言机服务来说,如何保证传送过程足够去中心化及安全,且确保数据不受篡改,是其服务的核心。那么,ChainLink项目是如何实现的呢?


对此,ChainLink 使用了四种安全服务:

验证系统:将监控链上预言机的行为,为用户选择预言机提供了客观的性能指标,它将设法监控预言机的可用性和正确性。
声誉系统:根据预言机提供者和节点的反响情况,记录和发布用户对预言机提供者和节点的评级。
认证服务:相当于给预言机提供 KYC 服务,节点运营商需要经过全面技术审核或 sybil抗性/身份验证。
合约升级服务:2018 年,Chainlink 公司收购了使用 TEEs 作为先知的主要生产商 Town Crier。可信执行环境(TEEs)与去中心化计算的结合为单个节点操作符提供了更高程度的安全性。TEE 的一个主要优点是,节点运算符执行的计算可以保持私有 / 机密,甚至可以保护节点运算符本身。 这减少了任何一个节点篡改计算的可能性,从而提高了预言机网络的整体可靠性。

1.3应用场景

我们理解预言机是一个提供外部数据的中间件平台,那么凡是与数据应用与交互相关的行业,理论上讲都可以成为 Chainlink 项目的应用场景。目前预言机最主要的场景就是 DeFi。还有可能的应用,诸如去中心化保险行业中的航班延误险,预言机可以为智能合约提供航班状态、天气情况等数据。

1.4创新点与痛点

创新点:
1)协议和履行结果都记录在区块链上,可以充分得到验证。
2)基于安全评估、历史任务和任务完成记录选择预言机。


痛点:

1)如何保证提供数据的准确性?智能合约的逻辑完全依赖所收到的数据。必须承认有一种可能性:代码是完美无缺的,触发合约的数据不可靠,智能合约执行结果就是失效。也就是说,如何衡量数据来源的真实和合理性,并保证数据在区块链系统中的安全性,是考量这类区块链预言机项目的关键。


2)如果决定智能合约结果正确的决定因素来自于多个数据方的多个数据,甚至数据间有时间上的次序约束,如何保证数据的完整性应用?


3)如何保证提供数据的隐私性?如果提供的数据是应用于非正规组织或个人,势必会存在这样的情形:同一数据源提供给不同区块链应用端。也就是说,数据可被多端应用并在区块链上留下应用痕迹,如何保证多端之间对数据的不可篡改和隐私性呢?


4)在提供数据准确的前提下,又如何准确的定义数据的价值?ChainLink项目说,如果你提供正确的数据,我给你代币,如果别人用了你的数据需要给你支付代币。可问题是,数据的价值在行业内有什么标准吗?还是不同需要方按应用等级竞价排名?


5)如何保障数据获取的时效性问题?

项目进度

2.1预计开发周期

官网并未公布明确的项目路线图。目前,只观察到公布了V1.1 项目开发指南。


图片来自于https://docs.chain.link/docs
截图时间:2020年1月10日

2.2当前进度与履约能力

因没有项目路线图对照,因此我们只从产品release版本更新这一个维度来判断项目的履约能力。从https://github.com/smartcontractkit/chainlink/releases处了解到,目前项目共发布有大大小小共计16个release,大级别的版本更新分别是V0.6.0发布于2019年6月26日,V0.6.4发布于2019年7月25日,V0.6.6发布于2019年9月12日,V0.6.7发布于2019年9月12日,V0.6.8发布于2019年9月20日,V0.6.9发布于2019年10月5日,V0.6.10发布于2019年11月19日,V0.7.0发布于2019年11月15日。如此看来,产品版本更新频率较频繁,只是好奇V0.7.0发布日期早于V0.6.10。

2.3代码提交次数

代码提交在https://github.com/smartcontractkit/chainlink,最后一次代码提交发生在14个小时之前,初始提交代码发生在2017年11月19日,到2020年1月10日,代码提交频繁。


截图时间:2020年1月10日

2.4代码提交人数

从2017年11月19日到2020年1月10日,代码主要贡献者有39位,代码提交量达到了8158次,共有188次分支。


截图时间:2020年1月10日

参考文档:
官网:https://chain.link/
官方文档:https://docs.chain.link/docs


1、白皮书: https://link.smartcontract.com/whitepaper
2、https://www.smartcontract.com/link
3、橙皮书《DeFi 世界缺失的拼图,一个链上价格信息的预言机》
4、币橙研究院《如何把握Polkadot生态投资机会》,;
5、 以太坊爱好者《全面概述去中心化预言机》
6、币乎 《Chainlink预言机基本原理(一、二、三)》

免责声明:本文只作项目技术类分析,解读,仅供读者了解、学习,不作为投资参考的依据。

文:听风团队——洁然不同


听风说币公众号:听风区块链。有意加入听风团队,加微信seeknsee私聊。

另外我也有个群,如果你想加入一起聊区块链,一起赚钱,让我拉你。本文为个人观点,仅供参考,不构成投资建议。

版权所有,转载请先联系本人。

最后,日常邀请注册MYKEY,市面上唯一免费的EOS账户,现在注册还可以通过签到免费获得4000KEY(价值约40元人民币)。

—-

编译者/作者:听风说币

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

LOADING...
LOADING...