首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矿工如何验证智能契约的输出?

矿工如何验证智能契约的输出?
EN

Ethereum用户
提问于 2018-06-11 19:41:47
回答 2查看 284关注 0票数 1

我是新来的以太和聪明的合同。据我所知,ethereum被建模为一个状态机,智能契约作为“代理”通过事务来改变状态。然而,矿工似乎不可能验证智能合同输出,除非他理解智能契约中编码的逻辑。

请考虑以下示例

  1. 将车辆所有权从A转到B的smart合同,当地帐户使用足够的汽油和输入作为汽车登记号,从和输入数据(参数)到smart合同。矿工在这里验证了什么?他/她无法访问政府车辆登记数据库。
  2. smart契约调用2或3个其他契约,并根据这些契约的输出确定下一步的步骤,比如预订。矿工将如何验证这个输出?

请让我知道。

谢谢。

EN

回答 2

Ethereum用户

回答已采纳

发布于 2018-06-11 22:32:23

对于一个矿工来说,要验证智能合同输出似乎是不可能的,除非他理解智能契约中编码的逻辑。

矿工们确实理解智能合同中的逻辑。编译后的表单最初是由外部拥有的帐户签署的部署事务的一部分,然后字节码成为每个人都可以看到的链的一部分。

非正式地,"Alice说‘用这个字节码部署一个合同,0x123.’“,为此,0x123.是“代码”,协议给了它一个地址--爱丽丝的智能契约的地址。

矿工在这里验证了什么?他/她无法访问政府车辆登记数据库。

这是一个业务逻辑问题。也许合同一步一步地处理问题。它可以首先记录卖方想要出售某一辆汽车。然后,它可以按照Oracle模式等待来自注册表的签名。这将代表业务流程中的一些重要内容,即“授权”参与者已经签署了一些重要的内容。所有节点都可以并将通过检查契约对该输入的反应来验证这一点。

smart契约调用2或3个其他契约,并根据这些契约的输出确定下一步的步骤,比如预订。矿工将如何验证这个输出?

只要有足够的气体供应,那么在一个相互作用链中涉及多少个合同就没有什么区别。无论复杂程度如何,都可以立即执行它们。整个过程是确定性的,并在一次“吞咽”中被处理。要么全部要么什么都没有。只有原始事务等待挖掘。

希望能帮上忙。

票数 1
EN

Ethereum用户

发布于 2018-06-11 19:48:06

这里的验证不是检查合同的预期输出,而是验证合同是否正确部署,与网络按预期进行交互,并遵循ethereum协议的规则。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/50985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档