根据我的理解,神谕将外部世界的数据提供给智能契约。如果今天天气晴朗,一份明智的合同就会对此一无所知。它需要查询另一个提供这些数据的智能合同,该智能合同从第三方获取数据。这是正确的吗?
我假设一个“聪明的神谕”和一个甲骨文是一样的,但是甲骨文运行着聪明的契约。这不是和运行集中服务的人一样吗?
发布于 2018-09-14 20:37:06
"Smart与Oracles类似,但具有执行契约代码的附加功能。Codius提出的智能Oracles使用运行,这是一个用于运行不受信任的x86本机代码的沙箱环境。“
这是一份白皮书,其中提到了这个问题。https://github.com/codius/codius/wiki/Smart-Oracles:-A-Simple,-强大-接近智能-合同
发布于 2017-11-06 05:24:03
我也从未听过这个词。但是,下面是我认为是链接到页面的关键:
在此建议中,执行合同代码的主机与“先知”相同,而在其他系统中,只有在为在系统外运行的合同提供有关外部世界的信息时,才能设置“预言”。
举一个具体的例子,一份对赛马结果下注的聪明合同可能会询问一个普通的甲骨文,然后根据智能甲骨文的回报值将赌注的胜利者(S)贷给他。它甚至可以做一些复杂的计算,以确定信贷的金额(例如,不同的赔款,正确的投注第一,亚军,排名,等等)。在智能oracle中,所有的代码执行都可以在oracle机器上执行;唯一记录到块链中的是对oracle的调用和最终的余额修改。这个特殊的方案意味着您甚至可以让秘密的封闭源代码在区块链上执行操作--当然,假设您信任聪明的先知。本质上,除了oracle部分之外,智能oracles还集中代码执行。对我来说,这似乎是一种反模式(不同的关注点正交织在一个单一的实体中)。作者的一些补充论述:
不可信代码的执行应与跟踪和转移资产所有权的协商一致数据库和其他服务分离。单独的契约系统可以处理不受信任的代码执行,并通过密码签名与协商一致数据库进行交互。这些签名已经是协商一致协议的固有特性,因此不需要修改。将契约与协商一致的网络分离提供了额外的好处,即契约可以同时与多个网络以及几乎任何类型的在线服务交互。这意味着一份智能合同可以与比特币和Ripple等基于网络的服务(如PayPal、Google、Ebay等)甚至其他互联网协议(如SSH、LDAP、SMTP和XMPP )进行交互。
要强调的是,这只是我对你所包含的链接的解释。
https://ethereum.stackexchange.com/questions/29233
复制相似问题