Chainlink 链接区块和“万物”

现有的区块链通常是一个独立闭环的系统,它的账目都是在链上自发产生和结算的。要想让区块链应用到更多领域,预言机是整个生态中必不可少的重要环节。只有当区块链与外界连通,才能赋能实体业务更多的可靠验证和计算能力。

预言机(oracle mechanism)是链外信息写入区块链的一种机制。

闭环运行的区块链

在区块链账本上,所有的账都必须有一个起始,其他的账都是“起始账”的延伸。最初的 50 个比特币就是在比特币的创世区块(Genesis Block)上产生的,之后它们在区块链账本上流通,从 A 账户转账到 B 账户,又从 B 账户转到 C 账户。

创世区块即比特币的第一个区块,是比特币区块链的开始。

又如在以太坊上,我们使用智能合约发行代币,代币一般使用铸造函数(mint)发行到区块链上,铸造函数(一段程序代码)的运行结果就是代币的起始账目,当铸造成功后,代币就具备了在以太坊上流通的特性。

不管是比特币还是以太坊,现有的区块链系统都具有这种闭环运行的特性,即账目的产生需要一个起始。如果我们更宽泛的看待这个问题,就会发现区块链上的事物(数据)都是在区块链之上依据一定的规则“凭空”产生的,基于这个“凭空”的开始,才有了后面整个过程。

闭环运行

可以看到状态的起始、变化和最后的终止都运行在闭合的区块链中。因为区块链的闭环运作模式,让现有的互联网、传统的经济要素都难以接入。那么,区块链的应用就只存在两种方式:

  • 在闭环中完全重塑一种新的机制

  • 将现有机制中的要素映射到闭环系统中

重塑

比特币 ,以太币是区块链应用的经典案例,它们的产生就是重塑“货币”的过程。通过使用区块链构建的代币系统,可以在不依赖外部数据的闭环中运行。代币通过挖矿等规则“凭空”产生(消耗电能),得益于区块链共识算法,代币的所有权不受第三方控制,只要保存好自己手中的私钥,其他任何人都不能挪动或者销毁这些代币资产。这些在区块链上重塑的代币由于得到社会的广泛认同,产生了价值,并得以流通。

这种重塑已经产生巨大的能量,对现有的金融乃至社会认识都产生了巨大的影响。而在代币重塑之上,智能合约和更多创新机制在不断的孕育和成熟。

链上重塑的事物都具备闭环中运行的特点,它们可以不与其他系统进行技术上的交互,它们由人们共同的认识产生了新的价值,成为一种普世的新机制。

映射

映射是一种更通用的区块链应用方式,也是一个必不可少的方式。

想象我们在区块链上设置了一个体育比赛颁奖程序,奖金可能是比特币或者以太币。奖金的颁发需要根据链外的比赛结果进行结算,因此我们需要将比赛数据映射到链上。在颁奖过程中,程序获得映射数据后才能计算并执行奖金的分发。

另一种场景是资产映射。如房屋一类的固定资产,其产权是在国家统一登记颁发。如果这类资产能映射上链,资产的权属证明和产权交割都会变得极其快捷和方便。

将链外数据或实体映射到链上,是将区块链应用和外部世界链接的重要方式。


重塑和映射,不是二元择一,不是非此即彼的单项选择,它们往往相互交织、彼此结合,创造出新的模式。

区块链提供了透明和可信的计算能力,由于其闭环运行的特性,当数据本身就在链上产生(如代币),整个计算的结果自然是准确可信的;但是如果业务涉及链下数据,如何确保数据的可信就是一个重大的议题。预言机的功能就是将链外数据链接到区块之上,如何建立一种准确和可靠的链接机制是预言机设计的根本目标。

注意,预言机并不是映射的唯一方式。很多场景,如房屋产权可能只需要一个中心化的权威机构直接将数据打包到区块链即可。

Chainlink 如何链接外部数据

Chainlink 的目标是建立一套去中心化的预言机,为智能合约提供链外数据访问的能力。

机制概览

Chainlink 的机制如下图所示:

Chainlink 分层模块
  • 链外数据

链外数据可以是互联网、支付机构、物联设备或者不同种类区块链(跨链)提供的 API 接口。可以是任何可以读取的数据源。

  • 外部数据适配器

外部数据适配器是链外数据的“翻译”,将外部数据转化为 Chainlink 节点中的统一数据结构。适配器可以用任何语言编写。

  • Chainlink 节点

Chainlink 节点会订阅区块链产生的事件。Chainlink 收到指定的事件后,会进行任务调度,使用数据适配器获取链外数据(一般情况下 Chainlink 可直接读取开放的 API,在特殊情况下才会使用外部数据适配器)。Chainlink 节点需要包含一个热钱包用于交易发送,将外部数据写回产生事件的区块链上。

  • 区块链节点

为 Chainlink 节点提供可监听的事件,同时负责广播 Chainlink 节点的数据写入交易。

数据的请求和写入

Chainlink 使用了请求响应模式,即当客户端发起一个请求后,Chainlink 接收请求,执行外部数据功功能,并将数据写回链上。

当前的 Chainlink 主要构建在以太坊网络上。请求响应机制需要在以太坊网络上部署「客户端合约」和「Oracle 合约」。客户端合约用于数据请求的发起和数据结果的消费;Oracle 合约会产生请求事件,供 Chainlink 进行监听,同时也作为 Chainlink 写回数据的中转站。

交易过程

交易过程如上图所示:

  1. 发起数据请求到客户端合约

  2. 客户端合约向 Oracle 合约发起调用,Oracle 合约接受交易后产生事件

  3. Chainlink 监听到 Oracle 合约产生的事件,进行外部数据获取,并将数据写回链上

  4. 数据通过 Oracle 合约写入客户端合约

最终,客户端合约中的数据更新为本次请求获得的最新数据结果。

多数据聚合

上节介绍的请求响应过程只有一个 Oracle 合约和一个外部数据源,这时并不能完全保证数据的准确性和可靠性。为了获得更高的准确性和可靠性,可以使用更强大的多数据源客户端。

连接多个 Oracle

多数据源客户端也是以太坊上的一个智能合约,相比普通客户端,它的一次交易会向多个 Oracle 合约发起请求,每个 Oracle 合约都会产生各自的事件。通常,一个 Oracle 合约代表着一个数据提供者,每个 Oracle 合约之后的数据提供者监听到事件后,各自去获取不同的外部数据,数据提供者将数据回写到自己的 Oracle 中。最终,会有多条数据结果汇聚到客户端合约。

在多数据源客户端合约,我们可以编写一系列的聚合规则。比如:收到多个数据后去掉异常值,计算剩余数据的均值作为结果。合约的聚合规则可以灵活定制,想要向哪些数据提供者发起请求也可以进行配置。

Chainlink 对数据提供者有一套的罚没机制,并希望构建强大的声誉系统对数据提供者进行评估。这些功能将在 Chainlink 节点上实现,新的功能还在不断的开发和改进中,本文不再详述。


该机制目前较大的缺点可能是成本问题,客户端对每一个 Oracle 的请求都会收取 0.1 的 LINK 币作为费用,多个 Oracle 聚合时成本较高;同时请求响应模式也有一定的延迟,从请求发出到数据写回通常需要经过几个区块的间隔;最后一点缺憾是不同的客户端请求同一个数据会造成同一数据重复写入区块,造成一定的资源浪费。

不论如何,Chainlink 创建了一种智能合约主动获取链外数据的机制,这些链外数据几乎可以来自任何数据源。同时,Chainlink 提供了一种去中心化的解决方案(多个 Oracle 的聚合),提高数据准确性和可靠性。

打破边界

任何的数据源,不管是来自互联网,API 产生的行情、新闻、舆论数据;还是各种物联设备,使用传感器获取的定位、速度、温度、照片,人类的心跳、血压;不管是任何数据实体、物理对象乃至智能设备采集的人类体征,都可以借助预言机发送到智能合约,创建出由数据驱动的智能合约。

支付、交易、保险、治理、游戏所有的一切都在使用传统账本理念,它们都通过中心化的价值协商进行价值交换。为了保证账本准确性,保证整个价值交换系统的可靠性,我们耗费了大量的资源去构建复杂的规则,以求解决多方的冲突和纠纷。这套传统机制的效率或许已经接近极限,其效用几乎达到了最大化,最终所产生的摩擦仍旧消耗着巨大资源。打破边界,使用区块链的共识机制,借助预言机和智能合约,我们或许可以创建一个互联、安全、数据驱动的全新价值交换体系,在一个新起点之后,或许会少一些冲突和纠纷,释放更多的创造力。

预言机打破了区块链和外部世界的边界,将区块链可靠的验证和计算能力赋能更多应用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342