说起加密预言机其实它的主要作用就是为智能合约提供外部信息的第三方服务,它们充当区块链与外界之间的桥梁。众所周知,可扩展性和互操作性通常被认为是加密空间的两大圣杯,互操作性被定义为不同软件之间有效通信和交换信息的能力。预言机是一个强大的工具,可以提供不同区块链之间的互操作性并与外部数据源进行通信。区块链要取得成功,就必须能够与金融机构等遗留系统进行交互。那么究竟加密预言机是什么原理?下面就让币圈子小编为大家介绍加密预言机原理介绍。
预言机就是一种单向的数字代理,可以查找和验证真实世界的数据,并以加密的方式将信息提交给智能合约。预言机就好比区块链世界中的一个第三方数据代理商。举例来说,假设现实世界中的“数据源”和区块链中的“数据接口”,是两个使用不同语言的国家,预言机就是中间的翻译官。通过预言机智能合约就可以和链外数据进行无障碍交流。
在实际使用智能合约中,需要预言机对数据进行验证。因为区块链也是基于共识的系统,所运行的智能合约也要求一定要是确定性的程序。预言机对数据验证这一步骤是为了契合共识机制,使最后反馈给智能合约的数据也是“确定性”的。
预言机的运行原理:当区块链上的某个智能合约有数据交互需求时,预言机在接收到需求后,帮助智能合约在链外收集外界数据,验证后再将获取的数据反馈回链上的智能合约。
因为区块链上的智能合约和去中心化应用(Dapp)对外界数据拥有交互需求。区块链是一个封闭的环境,链上是无法主动获取链外真实世界的数据。主要是因为区块链无法主动发起Networkcall(网络调用)而链上智能合约是被动接收数据的。其次,智能合约其实并不“智能”,它只是在满足相应条件下,才达到触发状态的程序。同时,智能合约最终的执行需要合约参与方的私钥签署,智能合约本身没有办法自动执行。
当智能合约的触发条件取决于区块链外信息时,这些信息需先写入区块链内记录。此时需要通过预言机来提供这些区块链外的信息。先举一个通俗易懂的例子,假设现在我被关进了一个小黑屋里,我对外面的世界发生了什么几乎一无所知,不知道外面是否有人,即使呼叫也没有人回应,只有外面的人在门口告诉我,我才可以得知外面的改变。
智能合约就像这个例子中的“我”一样,它无论何时何地,都无法主动向外寻求信息,只能外部把消息或数据给到里面。而预言机就是这个在门口收到我的请求后,从外面输送消息和数据的人。或许你又会提出疑问为什么链上无法直接导入和接收数据?主要是因为区块链的共识机制。
区块链是基于共识的网络,所运行的智能合约也要求一定要是确定性的程序,每笔交易和区块处理过后,每个节点必须要达到相同的状态。但是数据本身具有复杂性和多样性,这也是为什么预言机为了契合区块链的共识机制,除了搜集数据还有一步数据验证的步骤才将最后的“确定性”信息反馈给智能合约。
上述内容就是币圈子小编对于加密预言机是什么原理这一问题的详细阐述。智能合约旨在执行不可逆转的操作。这就是为什么输入合约的信息必须来自相对可信的来源。这就是为什么当数据来自外部来源时,它可能会有点进退两难。然而,另一方面,它确实以指数方式增加了用例的数量。区块链似乎生活在孤立的现实中,与世界其他地方完全隔绝。预言机可以通过提供相关信息将区块链连接到现实世界,信息可以由一个或多个预言机从一个或多个可信来源检索或聚合。
预言机之所以可以提供一个可证明的诚实从外部世界安全获取信息的能力,是依赖于TLS证明技术(TLSnotary)。 除此以外,预言机(oracle)还提供了其他两种证明机制:Android SafetyNet证明、IPFS大文件传送和存储证明。 在整个传输中,TLS的master key可以分成三个部分:服务器方、受审核方和审核方。 在整个流程中,互联网数据源作为服务器方,预言机(oracle)作为受审核方,一个专门设计的,部署在云上的开源实例作为审核方,每个人都可以通过这个审计方服务对预言机(oracle)过去提供的数据进行审查和检验,以保证数据的完整性和安全性。 目前,预言机有三种类型,分别是软件预言机、硬件预言机及共识预言机。 它们的数据从哪来? 由于预言机的存在,其实对区块链的更精准的定义应该是:“维持信任的机器”。 区块链本身并不产生信任,信任的输入来自于“预言机”。 预言机作为区块链的基础设施,仍在发展中,面对物理世界多样化情景的处理仍是一个主要的挑战,从某种程度上,这缩小了区块链的适用范围,成了区块链落地的瓶颈。
机预言是密码学中的一个预言(简单说像是理论的黑箱),对任何输入都回传一个真正均匀随机的输出(请参考离散型均匀分布),不过对相同的输入,该预言每次都会回传一模一样的输出。 换句话说,随机预言是一个将所有可能输入与输出作随机映射的函数。 目前并不存在真正能实做随机预言的函数。 事实上,一些签名和加密方式被证明如果使用随机预言的话是安全的,但是使用其他的函式替代随机预言的话则明显不安全。 [1] 另外,对许多通讯作法,在随机预言假设之下证明为安全是对于其可靠性强力的证据。 大体上说,一个作法被证明是安全的的话,要攻击此作法就必需要突破该证明的假设;例如,一个加密法的安全证明是基于质因子分解的困难度(像是RSA算法),那么打破此证明的方法就是找到快速质因子分解的算法(像是秀尔算法就被视为是一个可能的攻击)。 在这里,要打破随机预言假设,我们就必须找到实际杂凑函式与随机预言未知且不好的不同之处。 对于一般被认为不存在这种弱点,够好的杂凑函式来说(这种杂凑函式现在蛮可靠的,像是SHA-3),相关的通讯作法因此可证明是安全的。
预言机:区块链中的数据桥梁与作用解析在区块链的世界中,预言机(Oracle)一词源于古希腊神话中的预卜先知,象征着连接链内与链外,为智能合约提供关键信息的桥梁。 想象一下,你在区块链上进行交易时,需要实时汇率、天气数据等外部信息,传统上,这需要直接与外部系统交互,但以太坊等封闭系统为确保安全性,引入了预言机作为中介,保护了EVM(执行环境)的完整性。 链link的官方文档为我们揭示了这一巧妙的设计。 预言机在以太坊上扮演着至关重要的角色,它是一个集成在区块链上的智能合约,通过与链外数据源如API交互,为合约更新所需的数据。 然而,单纯依赖单一数据源是不保险的,通常采用多个可信的数据源,形成瑞士奶酪模型,确保数据的可靠性。 即使某个数据源出现问题,只要其他层正常,预言机依然能提供有效服务。 以SOLidity代码为例,开发者通过导入AggregatorV3Interface,创建一个与外部价格feed合约的连接,获取实时的ETH/USD汇率。 这种交互过程使得Oracle成为解决链上随机数难题的关键工具,众多提供商的文档和教程详细展示了这一操作流程。 为了保证预言机的安全,开发者会采用多层验证机制,确保数据来源的可信。 通过密码学手段,将多个数据源汇总并加密,再发送给合约。 在此过程中,共识机制的设计至关重要,确保每个Oracle独立且互不影响,同时避免恶意操控。 然而,预言机并非完美无缺,潜在的漏洞和风险不容忽视。 中心化Oracle可能带来数据伪造的风险,因此,引入激励机制,如挖矿式验证,可以促使数据提供者遵守规则。 此外,检查点的引入,作为数据状态的可信标记,确保了区块链的不可篡改性。 尽管预言机的去中心化设计初衷是为了增强系统的安全性,但大节点可能在数据收集后私下分享,形成错误信息的主导。 恶意Oracle也可能复制或篡改数据。 在单一Oracle情况下,数据损坏的检测变得困难,且区块链的公开性使得敏感信息可能在传输过程中被窃取。 总的来说,预言机作为区块链与现实世界交互的关键组件,其设计与应用需要综合考虑安全、效率和可扩展性。 深入理解预言机的工作原理,有助于我们更好地利用区块链技术,构建一个安全而透明的信息生态系统。 要了解更多关于预言机的详细信息,可以参考Decentralised Oracles: a comprehensive overview。
Copyright @ 2024 啦啦收录网 此内容系本站根据来路自动抓取的结果,不代表本站赞成被显示网站的内容或立场。
你是本站第位访客 | 网站地图 | 粤ICP备2022150304号