预言机简介

这篇具有很好参考价值的文章主要介绍了预言机简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 为什么需要预言机

区块链是一个完全封闭的环境,在智能合约执行的过程中,不能引入不确定性,也就是说不能出现网络访问,因为网络访问是不确定的。

如果智能合约的执行结果不是确定的,那么就有可能造成节点之间数据的不同步。但是随着智能合约不断的发展,链需要从真实的实际去获取信息。

这些信息有可能是币价信息、股价信息、天气、真正的随机数等等。而智能合约获取这些数据的时候,需要通过确定性的方法,对于每一次数据的获取,所有节点获取到的数据是一致的。

为了达到这个目的,就需要预言机(oracle),这里的预言机不会预测任何事情,只是会将现实世界的数据传输到链上,供链上的智能合约使用。

预言机,大数据

2. 预言机的几种实现方法

预言机的实现原理其实都类似,一般来说会包含三个步骤:

  • 从链外的数据源搜集数据
  • 将数据签名传输到区块链网络中
  • 智能合约获取数据,在合约中使用

因为智能合约本身是无法访问网络的,只能让预言机通过本地读取的方式来获取数据。而预言机服务本身有一部分也是区块链网络中的智能合约,这些智能合约会与链外的预言机网络进行交互。

预言机提供的数据获取方法大体上可以分成三类:

2.1 直接读取

这种方式通常用来获取那些不会改变的数据,比如某个人的生日、学历证明、出生地等等信息,这些信息确定后应该就不会再改变了。这类的数据通常只需要写到链上一次,然后就可以供其他的合约使用了。这些数据通常不会直接写到链上,而是会通过加盐再进行 hash 运算,最后只存储一个 hash 值。

预言机,大数据

这样做的原因有两个,一方面,可以减少数据的存储量,另外,出于隐私的保护,毕竟一些数据上链之后,就会永久存在了。

这样的好处在于,不需要合约之间进行频繁的交互,既节约时间,也节省成本。但只有一些特定的数据能够采用这种方式。

2.2 发布与订阅

很多数据并不一成不变的,比如天气信息、股票信息、币价信息,都在不断的变化,因此预言机网络需要不断的到链上来更新数据,每一类数据都可以看做是一个主体。而对某些数据感兴趣的智能合约则会订阅这些主题,在需要这些数据的时候来取。

还有一些合约可能会去监控这些数据的变化,那就需要不断的来轮询订阅的数据主题,这样可能会有比较高的成本(数据的轮询也是在运行代码,智能合约只要运行,就会产生成本)。

预言机,大数据

2.3 请求与响应

这也是获取数据最复杂的一种方式,这种方式用于获取一个独一无二的数据,或者数据量太大,无法全部写到链上。

比如常见的获取随机数。在智能合约中获取不到真正的随机数,需要从链外去获取。

这种模式中,预言机会接收其他合约的数据查询请求,然后预言机网络监听区块链网络相关的交易,如果发现数据请求,就会检查请求,比如是否已经付款。确认无误之后,就会将数据回调给请求数据的智能合约。

预言机,大数据

3. 预言机的挑战

预言机的最大挑战在于,怎么确保预言机提供的数据是可靠的。

从这个角度上来说,预言机可以分为两类,一类是中心化的预言机。我们通常会假设这个预言机不会造假,比如某个政府部门、大学等等。中心化的预言机会从两个方面来保证数据的可靠性。一方面通过签名来保证数据没有被篡改。另外一方面会提供一个可信的执行环境。

但是这样并不足以解决全部的问题,因为这些数据都需要信赖一些机构,没有办法保证这些机构不会造假,而且中心化的预言机容易出现故障,一旦出现故障,对链上的交易会产生很大的影响。

4. 总结

区块链外信息写入区块链内的机制,一般被称为预言机(oracle mechanism)。

目前讨论得比较多的预言机有两类。一是依赖某一中心化信息源(比如彭博、路透),但这与区块链的去中心化宗旨背道而驰。二是将区块链外信息离散化后用经济激励和投票写入区块链。这类机制依靠群体智慧,根据投票结果对奖惩投票人,投票越接近全体投票的平均值、中位数或其他样本统计量的投票人越有可能得到奖励,反之就越有可能被惩罚,以此来激励投票人认真投票。隐含假设是,参与投票的群体在投票时不存在系统性偏差。但这一假设在现实中不一定成立,因此至今没有普遍适用的去中心化预言机方案。文章来源地址https://www.toymoban.com/news/detail-516637.html

到了这里,关于预言机简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 区块链知识系列 - Oracle预言机

    区块链外信息写入区块链内的机制,一般被称为预言机(oracle mechanism)。 借助预言机外界的数据得以灌入链内, 使得DApp的玩法更多样. 比如DApp倚重的随机数, 可以考虑让一个硬件产生真随机数 , 通过Oracle,定时灌入, 这将更公正和安全 所有节点同一个事务中智能合约运行的结

    2024年02月02日
    浏览(31)
  • Chainlink 预言机的原理解析

    本文来自于 8 月19 日 Chainlink 开发者社区中国负责人 Frank ,在 DApp Learning 分享会上对于 Chainlink 预言机的原理的讲解,以下是这节分享会的总结内容。有兴趣的小伙伴可以结合视频一起学习: 区块链的特点 区块链是一个封闭的确定性系统,每一笔交易都需要不同节点共识,只

    2023年04月08日
    浏览(65)
  • 什么是预言机 Chainlink与Augur解析

    如果我们现在要实现一个赌球合约,用户用ETH参与这个合约中来,由于区块链是一个确定性的、封闭的系统环境,当球赛结束时,合约怎么知道哪个球队赢了呢?这时候就需要预言机来获取链外数据。 解决2个问题:1.如何获取链外数据。                         2.如何保证

    2024年02月12日
    浏览(45)
  • ADAMoracle去中心化预言机价值核心在哪

    ADAMoracle去中心化预言机价值核心在哪? 预言机是区块链行业的基础设施之一,是将区块链外信息写入区块链内的机制。发生在区块链外部的事件、数据、支付消息等都可以通过预言机写入到区块链上的智能合约中,扩大了智能合约的应用场景,帮助区块链与其他产业相融合

    2024年02月16日
    浏览(41)
  • Bitbyte.Finance 通过预言机为 Web3 赋能

    如果我们将区块链定义为信任机器,那么预言机器本质上可以被描述为维护和建立信任的机器。事实上,区块链本身并不产生信任,信任的输入来自于预言机。智能合约的模块化增长将带来大量的交互需求和相应的差异数据请求。为此,Bitbyte.Finance 与预言机上线,提供链上协

    2024年02月13日
    浏览(33)
  • 怎么让英文大预言模型支持中文?(一)构建自己的tokenization

    代码地址:https://github.com/taishan1994/sentencepiece_chinese_bpe 目前,大语言模型呈爆发式的增长,其中,基于llama家族的模型占据了半壁江山。而原始的llama模型对中文的支持不太友好,接下来本文将讲解如何去扩充vocab里面的词以对中文进行token化。 对斗破苍穹语料进行预处理,每

    2024年02月10日
    浏览(43)
  • ADAMoracle预言机提供安全且极致便利的整体解决方案

    ADAMoracle预言机提供安全且极致便利的整体解决方案。 预言机是链外数据的提供平台,也是智能合约的参数输入源,它能真实、准确地将链外数据输入链内,从而保证链内数据的真实性,实现智能合约可信的与外部世界进行交互。ADAMoracle生态及其去中心化预言机网络能够大幅

    2024年02月12日
    浏览(47)
  • AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境应用

    原文链接:AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的强大功能与应用场景 3)国内外经典大模型(ChatGPT、LLaMA、Gemini、DALL·E、Midjourney、Stable Diffusion、星火大模型、文心一言、千问等

    2024年03月17日
    浏览(53)
  • ChatGPT背后的大预言模型 以及《ChatGPT全能应用一本通》介绍

    大型语言模型已经彻底改变了我们通过自然语言处理进行交互的方式,使得更多的基于语言的应用程序成为可能,例如语言翻译,问答,文本摘要和聊天机器人。 由于这些模型是在大量文本数据集(如书籍,文章和社交媒体帖子)上进行训练的,因此它们能够学习人类语言的

    2024年02月06日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包