27

Chainlink预言机在跨链互操作性中的应用

 4 years ago
source link: https://learnblockchain.cn/article/740
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

功能迥异的分布式账簿技术(DLT)协议既没办法交互,也没办法与DLT以外的系统连接。以Chainlink为主导的互操作性协议正在成为行业中标准化的互操作性解决方案,在各个系统之间实现安全的去中介化交互。

在区块链的早期发展阶段,人们普遍信仰的是“单链至上”,即一条区块链上包含Dapps端到端运行所需的所有功能。而如今盛行的理念则是一个模式中包含多个区块链协议,每个协议都拥有具体的功能。理念之所以发生转变是因为人们意识到数据量实在过于庞大,而且开发者的需求多种多样,仅依靠一个平台满足所有需求的风险实在太高。

因此又产生了一个新的问题:这些功能迥异的分布式账簿技术(DLT)协议既没办法交互,也没办法与DLT以外的系统连接。以Chainlink为主导的互操作性协议正在成为行业中标准化的互操作性解决方案,在各个系统之间实现安全的去中介化交互。

相互孤立的DLT堆栈

DLT目前的基础架构中存在许多不同类型的分布式账簿,每一种账簿都拥有具体的功能和优劣势。比如,比特币被广泛认为是储存价值的黄金标准,因此它的优势是可靠性高、交易完全去中心化,但随之而来的劣势是功能单一、速度较慢。以太坊允许开发者添加条件表达式实现状态改变,以增强区块链的功能。然而,为了做到这一点,它付出的代价是将简单的编程语言换成了一种更加复杂的语言,这使得学习过程更困难,而且代码也更容易出现错误。比特币和以太坊都专注于完成某项特殊任务,因此都获得了成功。

如今的趋势不是开发出一条可以涵盖所有功能的区块链,而是专注于某一具体功能,这个逻辑与如今的互联网协议堆栈不谋而合。互联网并非一个包罗万象、庞大单一的协议,而是由各种协议组成的, 每个协议都负责一个具体功能。协议堆栈通过分工合作的方式实现优化,并减少每一层协议受到的攻击强度,以此降低风险。

ieEfmij.jpg!web

目前Web3.0的分布式协议堆栈中存在许多功能独特且实用的DLT协议,web3.0是去中心化的互联网,用户在其中可以控制自己的数据、身份和体验。这些协议不断优化其核心功能,但彼此无法在web3.0中或在网络之外实现交互。

互联网堆栈的基础是传输控制协议和互联网协议(TCP/IP),这两种协议将数据打包,并在各个计算机/服务器之间来回传输。这有点像递送邮件的邮政服务。虽然区块链也在其系统内可靠地传输数据,但整个DLT生态系统中仍未建立标准化协议,因此Dapps无法实现跨网络交互和链下数据交互。

互联网赖以生存的另一个主要协议就是HTTP协议以及超文本传输安全协议HTTPS。HTTP协议允许web浏览器客户端向web服务器发送数据请求,如果请求被接受,用户就能访问网页。这个协议定义了数据格式和传输方式,还定义了浏览器在收到某个命令时应采取什么相应的行动。区块链需要TCP/IP协议在底层实现数据传输,同样地,它们也需要一个协议来规范数据传输的方式。HTTP协议在现有的TCP/IP堆栈上建立,并扩展功能,让用户能够浏览网页。这个协议的出现使得用户界面变得更简单,而且可以实现大规模的数据传输。

如果要开发可以应用在真实世界的去中心化应用,开发者既需要在不同系统之间实现数据传输,也需要建立一个标准协议规范数据传输方式。为了让DLT得到广泛应用,这些协议必须得让Dapps开发流程变得跟拖放式App开发一样简单。开发者可以选中某条区块链(可以选择公链或私链、速度优先或去中心化优先、以及具体针对的应用场景),连接至各种数据输入(数据、物联网、web API),然后使用多种数据输出(支付系统、云平台、其他区块链)安全可靠地进行结算。举个例子,一个Dapp可以使用链下物联网设备触发以太坊智能合约向双方进行支付,一方支付比特币,另一方使用PayPal支付法币。

建立新的TCP/IP和HTTP协议

要实现并规范数据传输,需要解决两个主要功能问题:

• 去中心化的资产交易所 - 互操作性更受人关注的功能是在协议之间互相交易本地资产。比如说,某人可以使用比特币支付以太坊Dapp,或用比特币兑换莱特币进行支付。代币是区块链上的数据,因此资产交易在本质上最接近TCP/IP协议。

• 去中心化的消息数据交易所 - 互操作性的另一个不太受到关注的功能就是在协议之间传输消息数据。举个例子,IOTA上的设备可以传输物联网数据,触发以太坊上的智能合约,最终触发在比特币区块链上进行支付结算。数据可以在两个分布式账簿之间进行传输,也可以在链上智能合约和链下系统之间进行传输。比如,来自路透社的链下市场数据触发链上衍生品智能合约,然后触发链下通过SWIFT码进行的法币结算。这个功能规范了系统中的消息数据如何触发底层区块链或后端系统的数据传输,在本质上最接近HTTP协议。

去中心化的资产和数据交易所有许多关注焦点和设计方法。在谈到Chainlink在各个模式中所做的尝试之前,我们先来探讨一下 不同的解决方案

链上互操性实现方式

解决互操作性问题的其中一个方法就是使用另外一条区块链作为沟通的桥梁。简单来说,就是将第三条区块链搭在两条区块链之间,以安全加密的方式记录两条链之间的交易和消息数据。

• 轴辐模式(hub and spoke): 轴辐模式是最常见的模式,母链(parent blackchain)是其他区块链(通常也称侧链)的中继站(hub)。这个模式也有人称之为元链模式(Metachains),目前Polkadot、Cosmos以及以太坊在几个侧链提议(Plasma、Matic、Loom)中都采用了该模式。虽然现已能够建立作为侧链存在的去中心化资产交易所(比如Plasma),但是大部分元链的主要问题还是如何在网络中所有侧链之间实现跨链消息传递。另外还可以建立专门的桥梁连接在生态系统之外的状态机,比如将Polkadot与以太坊连接。

• 去中心化金融: 实现互操作性的另外一个方法就是建立去中心化的资产交易所。万维链(Wanchain)和Icon等项目打造的区块链允许其他区块链与之连接,以建立去中心化的资产交易所。这个模式跟实现跨网络交易的去中心化银行很类似。在区块链上还建立了各种协议,其中包括0X和Kyber Network, 实现去中心化的代币交易并为区块链带来流动性。

• 通用型桥梁: 另一种方式就是用区块链建立通用型桥梁。AION项目正在打造单向桥梁,在账簿中验证、记录和储存跨链交互数据,并提供拥有时间戳的区块链共识。对于那些不使用轴辐模式或有具体需求的区块链来说,这个方法尤为实用。

链下互操作性实现方式

实现系统间互操作性的另一个方法是在链下开展或使用中间件。这个模式下的各方需要经过谨慎分析,因为链下数据无法在确定性的环境中得到验证。然而,如果找到正确的方法,就可以为用户带来高效、实用且同样安全的解决方案。

• 原子互换(Atomic Swap): 原子互换是以去中心化的方式交换资产,比如用比特币交换莱特币,过程中无须经由中心化的交易所。原子互换类似现实世界中的以物易物,双方就资产交换达成协议,然后完成交易。虽然这项技术仍处于发展初期阶段,而且多数情况下只能用于同类资产交换协议(like-kind protocols),但Komodo等项目已经开始尝试针对异类资产交换协议推出原子互换,比如用比特币交换以太币。

• 预言机: 预言机一个较少被关注的功能是作为通用型桥梁连接两个区块链。这个功能不仅可以实现区块链之间的信息互通,还可以与任何企业系统交互。比如,将一条区块链上的交易活动数据作为输入,触发另一条区块链上的智能合约。再比如,用云端数据触发区块链上的智能合约,然后再到链下的支付系统中进行结算。预言机可以实现别的模式无法实现的各种跨链交互方式。

• 状态通道 - 在同一条区块链上互换资产的另一个方式就是建立一条链下状态通道来交易资产。状态通道让各方无须任何链上交易就可以交易并记录资产所有权,直到最终交割为止。这个方法对于扩容和降低链上交易成本非常有效。即将到来的Plasma以太坊扩容主要针对的是侧链之间的UTXO资产交易,而状态通道可以在链上状态变更之前先交换状态变更信息。

Chainlink: 通用型信息传输标准

Chainlink是首个去中心化的预言机网络,在功能上相当于HTTP协议(在可信执行环境中相当于HTTPS),在链上和链下的协议层和应用层实现信息传输。Chainlink节点能够将来自经过验证API的信息和数据打包成智能合约可以读取的格式。Chainlink节点可以连接至任何API,无论是区块链、企业系统、Web API还是物联网设备均可连接。如果某一任务不在Chainlink核心节点的支持范围内,还可轻松建立外部适配器,扩展节点功能。Chainlink能够完美地实现不同系统之间的数据传输,并可根据实际应用需求任意调节去中心化程度和安全水平。

•链下资源: Chainlink是市场上将链下数据连接至链上智能合约的领先解决方案。这项功能非常重要,因为许多区块链虽然无须与其他区块链协议交互,但需要连接至外部API。需要链下数据触发智能合约执行,并触发链下支付系统和云平台进行结算。预计超过80%的智能合约都在某种程度上需要链下资源支持。

•轴辐模式: 轴辐式的互操作性协议能实现侧链之间信息互通,但它们仍需要链下数据触发链上行为。Chainlink已宣布与Polkadot和以太坊合作,为其网络提供链下数据。

•去中心化金融: 许多去中心化的金融平台也能通过搭桥建立协议,实现跨链交互,但如果是资产交易,区块链就需要市场数据来触发交易。Chainlink已跟万维链开展合作,为万维链上的智能合约提供链下数据。

•通用型桥梁: Chainlink可以通过外部适配器实现协议之间的信息互通。外部适配器可以基于其他区块链和系统中发生的事件触发各种链上行为。AION、IOTA和Zilliqa上已经推出了外部适配器,供开发者在开发跨链应用时使用。Chainlink还可以通过单向桥梁基于外部数据触发区块链上的资产交易,比如在AION网络中进行交易。

•企业区块链: Chainlink在可信执行环境(TEE)中,可以安全地将公链连接至企业区块链、将企业区块链连接在一起、并在各个系统之间传输机密信息。其实公链上的互操作性并非在所有情况下都适合传输敏感信息,而Chainlink由于收购了Town Crier,因此具备独一无二的条件,可以在保障系统数据完整性的前提下传输机密数据。

•私钥和凭证(credentials): Chainlink在可信执行环境中可以处理凭证,这对去中心化的交易所来说至关重要。在可信执行环境中运行的Chainlink预言机可以登录个人账户,验证个人是否拥有某项资产或是否拥有足够资金进行交易。信息可以安全地传输至智能合约,以触发或拒绝交易。Chainlink预言机还能处理私钥信息,在公链上触发交易。由于交易所中的大多数账户都来自于账上已经有资金的账户,因此可信执行环境对于处理私钥等敏感信息来说至关重要,在可信执行环境中无须担心资金被盗或账户信息泄露等问题。

•状态通道: 状态通道是降低成本和链下扩容的好方法,但是需要公正的触发条件来确保各方遵守状态通道规则并且在链上链下保持一致的结算形式。Chainlink预言机允许数据触发状态通道交易,并在某些条件满足的情况下使用数据触发链上交易达成。

•原子互换: 由于原子互换是点对点的,因此普通用户很难确定原子互换脚本的有效性。去中心化的预言机可以验证原子互换的payload,确认交易是否按照约定进行。另外,还可以通过抵押品的方式进一步激励节点提供准确的信息。

互联共识的元年

区块链和其他独立系统之间一旦实现互操作性,将为智能合约开启全新的时代。之前在Web2.0无法实现的应用场景将变为现实,而这将改变消费者和企业之间的交互方式。

实现跨网络交互的TCP/IP协议使得网络之间能够传递信息,而HTTP让web浏览器可以快速访问数据。这些协议组成了我们今天熟知的互联网。互操作性协议为DLT领域也带来了同样的变革,催生出跨链应用,并从链下提取数据触发状态改变。这些协议不仅将本来互相孤立的区块链连接在了一起,而且还将新兴的DLT生态系统连接至了目前世界上通用的基础架构中。

Chainlink的内核是一个通用型信息传输标准,可以在各个系统之间安全地传输数据。当DLT堆栈中的所有协议都可做到无缝交互时,智能合约3.0的时代就真正到来了。在这个时代中,智能合约将成为互联互通的端到端解决方案,并将颠覆许多现有的商业模式。

欢迎加入Chainlink开发者社区

a6ja6rr.jpg!web

本文参与 深入浅出区块链写作激励计划 ,欢迎正在阅读的你也加入。

  • 发表于 16小时前
  • 阅读 ( 33 )
  • 学分 ( 5 )
  • 分类:跨链

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK