Chainlink预言机: 区块链世界与现实世界的桥梁

robot
摘要生成中

预言机技术深度解析

预言机是区块链生态系统中的关键基础设施,其核心功能是为智能合约提供外部数据。作为连接链上智能合约和链下真实世界的中间件,预言机扮演着至关重要的角色。

以太坊网络上的一个智能合约如果需要获取某天的原油交易量数据,就无法直接访问这种链下的现实世界信息。这时就需要通过预言机来实现数据传输。具体流程是:智能合约先将所需日期的原油交易量写入事件日志,然后链下会启动一个进程来监控该事件日志。当检测到请求时,该进程会通过提交链上交易,调用合约相关方法,将指定日期的原油交易量数据上传到智能合约中。

预言机详解系列之 Chainlink(上)

在众多预言机项目中,Chainlink占据了最大的市场份额。作为一个去中心化的预言机网络,Chainlink致力于以最安全的方式向区块链提供现实世界的数据。它在基本预言机原理之上,围绕LINK代币构建了一个经济激励驱动的良性生态系统。

预言机详解系列之 Chainlink(上)

Chainlink预言机的触发需要通过转账LINK代币来实现。LINK是以太坊网络上的ERC677合约代币,这种基于LINK完成的预言机功能属于请求/响应模式。

ERC677标准在ERC20基础上增加了transferAndCall方法,将支付和服务请求合二为一,更好地满足了预言机业务场景的需求。当用户调用transferAndCall进行转账时,除了标准ERC20转账外,还会判断接收地址是否为合约地址,如果是则调用该地址的onTokenTransfer方法。

预言机详解系列之 Chainlink(上)

在请求预言机服务之前,用户需要先确认该预言机的可信度,因为预言机提供服务前需要先付款。预言机的可信度可以根据多个维度来划分。

预言机详解系列之 Chainlink(上)

当预言机消费者使用transferAndCall方法支付费用并请求服务时,预言机合约中的onTokenTransfer方法会进行一系列安全检查,包括验证转账代币是否为LINK、data长度是否超限、function selector是否正确等。检查通过后,会通过delegatecall来调用当前oracle合约的oracleRequest方法。

预言机详解系列之 Chainlink(上)

oracleRequest方法会生成唯一的requestId,设置过期时间,并将相关信息添加到commitments映射中。最重要的是,它会发出一个OracleRequest事件,其中包含了请求数据。这个数据采用CBOR编码格式,可以包含各种形式的信息。

预言机详解系列之 Chainlink(上)

链下节点会监听OracleRequest事件。当检测到新的请求时,节点会解析出具体信息,通过API调用获取所需数据,然后提交交易调用Oracle合约的fulfillOracleRequest方法,将数据上传到链上。

预言机详解系列之 Chainlink(上)

fulfillOracleRequest方法会进行一系列检查,包括调用者授权、requestId有效性等。检查通过后,会将请求费用累加到可提现金额中,从commitments映射中删除该requestId,并调用请求者合约的回调函数。

预言机详解系列之 Chainlink(上)

回调函数会进行进一步的验证,然后对返回的数据进行处理。对于价格预言机,通常是更新当前价格。

除了这种通用预言机流程,Chainlink还提供了更简单的价格预言机接口。每个交易对都有一个单独的Price Feed(Aggregator),开发者可以直接调用其latestRoundData()方法获取最新价格,无需自行指定API地址等信息。

预言机详解系列之 Chainlink(上)

总的来说,预言机作为区块链世界与现实世界的桥梁,在去中心化应用中发挥着不可或缺的作用。Chainlink通过精心设计的激励机制和安全机制,成为了目前最广泛使用的预言机解决方案。

预言机详解系列之 Chainlink(上)

LINK10.36%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 8
  • 转发
  • 分享
评论
0/400
数据酒保vip
· 07-08 06:34
link铁粉来补仓啦
回复0
Token风暴vip
· 07-07 23:25
LINK大爷早买早赚就对了
回复0
社区混子王vip
· 07-06 05:58
link卷一辈子
回复0
Satoshi挑战者vip
· 07-06 05:45
数据显示95%预言机都死在半路了
回复0
airdrop_whisperervip
· 07-06 05:41
Link链接万物!
回复0
烧烤铭文师vip
· 07-06 05:35
外部数据喂价也是割韭菜新套路!
回复0
大饼霸霸vip
· 07-06 05:29
注入数据稳稳der
回复0
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)