预言机——解锁智能合约的钥匙

上一篇文章里我们探讨了智能合约,提到智能合约是自动执行的数字化协议,会颠覆包括保险、金融衍生品和贸易融资在内的各大行业。然而,如果智能合约具有如此大的价值,为什么目前还未被广泛应用呢?

智能合约为何迟迟没有得到应用?

智能合约之所以还未出现除代币之外的行业应用场景,主要是因为其无法与链下数据连接(链下数据即未储存在区块链上的数据)。区块链无法在不干预共识协议(共识协议指分布式系统建立真实单一数据状态的过程)的情况下与链下数据交互。与链下数据交互可能会形成多种区块链账簿形态。

如今,智能合约的主要应用领域是代币化,即以代币的形式发布对真实世界资产或设施的所有权。代币发行曾在2017到2018年间非常火爆,募集了约200亿美元资金。代币化实现增长的一个主要原因是其不需要链下数据。一项ICO的所有代币信息都是已知的,并且储存在区块链的智能合约中。相反,金融衍生品、保险和贸易融资这些行业的智能合约需要外部链下数据(比如物联网数据、市场数据和事件数据)才能触发合约执行。

这类触发数据并非储存在智能合约所在的区块链上,因为这样做既不现实也不实际。世界上大多数的数据都储存在链下,目前链上链下系统的割裂也导致两个世界无法互相联通。

智能合约目前面临的第二大挑战是其无法将数据输出到外部系统中。比如,智能合约无法执行在传统支付系统中以法币结算的交易。加密货币目前对传统企业来说风险太高,无法在资产负债表中持有。虽然这种情况在未来可能会出现转机,但大多数企业目前还是不愿意使用只能交易加密货币的智能合约。

事实是,如果智能合约无法获取链下数据或无法与传统系统交互,那么它在智能性和功能性上都不足以在现实世界中被广泛应用。这两个因素限制了整个智能合约生态系统发展到更高的水平。

预言机的现状

预言机是区块链中间件,它将智能合约连接到各种所需的链下资源。预言机是区块链和API之间的中间层,将数据翻译成区块链可以看懂的语言。API是与某个系统进行交互的特定方式,每个系统的API都有所不同。企业会开发自己的API,让其他系统在其应用中可使用它们的服务和数据。 举个例子,Uber会使用GPS API,短信API和支付API,而不是自己花时间开发这些应用。

预言机有三种模式:专门为某个组织从零开始开发的预言机、中心化的预言机和去中心化的预言机。

第一个模式是针对每个应用场景从零开始开发预言机。这个方法会带来诸多问题而且效率低下。由于API种类繁多,每个预言机都从头开始编程会耗费大量时间。如果企业需要在短时间内获得不同种类的数据,这样做就显得不太实际。

在中心化的预言机服务中,第三方私人企业会将数据传输至智能合约或从智能合约中提取数据。这个服务虽然具有一定实用价值,但智能合约需要信任这个公司不会出现安全问题(比如泄露敏感信息、被黑客攻击或服务器宕机等)。预言机能触发智能合约,因此必须对提供数据的这一家公司非常信任才能按时保质地判定合约结果。另外,当预言机采用中心化的基础架构时,智能合约就会损失其关键特质,既高度确定性、防篡改和可靠的端到端执行。

预言机还面临着第三个挑战。Chainlink正在打造一个去中心化的预言机网络。我们搭建了一个综合性平台,提供开发者开发智能合约时所需的任何工具和数据。Chainlink既是一个预言机,又是一个灵活的平台,为智能合约开发者提供安全可靠的预言机解决方案。

每个预言机都是网络中的一个节点。所有节点都在不同类型的硬件上运行Chainlink Core处理数据。节点提供的所有服务都会用LINK代币结算,以保护网络中的经济生态不受外部力量的影响。

Chainlink使用名为“chainlinks”的外部适配器连接区块链和API。每个API都有自己预创建的Chainlink。我们会提供一套稳健的预创建Chainlinks,让所有开发者都能轻松将智能合约连接到API,访问外部数据或连接至链下系统。

最后,Chainlink还能够将预言机和数据源都去中心化。

去中心化的预言机将让开发者有能力使用任意数量的预言机(节点)为智能合约提供服务。拥有多个预言机不仅能在某一个预言机下线时提供缓冲,还能避免单一预言机遭到黑客单点攻击或被买通的情况。

数据源去中心化使预言机能够从多个来源收集数据,并将数据聚集到一个单一确定的数据点,触发智能合约。如果存在多个数据源,智能合约就能避免单一数据源出现错误的情况。Chainlink提供多种数据聚集模式,其中包括平均值和/或去除异常数据。

Chainlink Data Aggregation

Chainlink的另外一个主要特色是它的信誉系统。与亚马逊和Uber为卖家和司机建立的信誉系统一样,Chainlink也为预言机打造了一个信誉系统。信誉值基于多个参数,比如运行时间、反应时间和成功完成的任务数量。智能合约请求者可以基于评级或某种信誉指标选择具体的预言机。这个信誉系统不仅为开发者选择预言机提供了可靠的参考,还督促节点为自己的服务水平负责任。

另外,Chainlink还会根据智能合约的需求提供不同级别的安全性。除了标准化预言机之外,Chainlink还会提供在可信执行环境(TEE)中运行的预言机,这类预言机使用的是英特尔SGX等可信硬件。在TEE中运行的预言机有一个最大的优势,那就是节点运行者看不到请求的具体细节,包括数据输入、输出和请求方。TEE是一个非常诱人的解决方案,因为私密数据(比如闭源API)可以在TEE中得到处理,无须向节点运行者或公众透露任何信息。最终,如果TEE中的预言机接收到具体登录数据,甚至可以访问私人账户读取数据或触发行为。这也为智能合约实现了链下计算能力,这可以降低gas费用并提高可扩展性。

最后,Chainlink建立了保证金惩罚制度,激励节点诚实守信。在中心化的预言机模式中,用户可以对私人企业进行问责,而对节点问责也在同样程度上保障了安全。节点要处理一个请求,必须将事先约定数量的LINK作为保证金存入,才能有机会提供服务。如果节点输入异常数据或下线,就会损失所有保证金,损失的保证金会返给请求方。从某种意义上来说,节点问责制保障了节点运行时间和合约服务质量。节点问责制与信誉系统结合,再加上博弈论的理论,可激励节点合规操作,因为否则就会受到经济处罚。

大步迈向广泛应用

为了让智能合约得到广泛应用,合约必须能够安全可靠地连接外部链下数据和系统。因此Chainlink正在开发一个开源的去中心化协议,让智能合约开发者能够访问并控制其所需的去中心化水平和保密水平。Chainlink的去中心化预言机网络让智能合约能够连接链下系统,并以此保障智能合约整个生命周期的确定性、防篡改性和可靠性。

Need Integration Support?
Talk to an expert
Faucets
Get testnet tokens
Read the Docs
Technical documentation