甲骨文是否使以太坊智能合约具有不确定性?如果是这样,如何确定性地重播内部交易?
Does oracle make ethereum smart contract nondeterministic? If so how can one replay internal transactions deterministically?
我有一个新手问题。据我了解,以太坊内部交易不存储在链上。重放块时可以重放它们。这似乎假设智能合约的行为是确定性的。如果有神谕怎么办?这是否会使智能合约的行为不确定,因此不能总是重播相同的内部交易?
区块链预言机是将确定性区块链与链下数据连接起来的任何设备或实体。他们的工作方式是这些预言机实际上通过外部交易将数据输入区块链。这样我们就可以保证区块链拥有验证自身所需的所有信息。因此,链下预言机不会调用 API,而是实际获取 API,然后在交易中将其报告到链上。这样就没有 API 在以太坊中调用。预言机被称为区块链中间件,因为它们是区块链世界与现实世界的桥梁。
Oracle 是受信任的实体,因为它们能够对数据进行数字签名或数字证明以证明数据是真实的。这种证明称为有效性证明或真实性证明。
Oracle 不应该能够操纵它们提供的数据,并且必须能够提供事实数据。尽管神谕
被信任,它仍然有可能,
在某些情况下,由于操纵或系统故障导致数据不正确。因此,oracles一定不能修改数据。可以通过使用各种密码证明方案来提供这种验证。产生数据安全证明的一些机制:
TLSNotary
Android证明
账本证明
可信的硬件辅助证明
去中心化预言机:
由于这样的区块链平台是完全去中心化的,预计预言机服务也应该是去中心化的。这种类型的预言机可以基于分布式机制构建。想了解更多你可以在这里阅读:
https://medium.com/stakin/the-top-decentralized-oracles-169b94dfbb83
我有一个新手问题。据我了解,以太坊内部交易不存储在链上。重放块时可以重放它们。这似乎假设智能合约的行为是确定性的。如果有神谕怎么办?这是否会使智能合约的行为不确定,因此不能总是重播相同的内部交易?
区块链预言机是将确定性区块链与链下数据连接起来的任何设备或实体。他们的工作方式是这些预言机实际上通过外部交易将数据输入区块链。这样我们就可以保证区块链拥有验证自身所需的所有信息。因此,链下预言机不会调用 API,而是实际获取 API,然后在交易中将其报告到链上。这样就没有 API 在以太坊中调用。预言机被称为区块链中间件,因为它们是区块链世界与现实世界的桥梁。
Oracle 是受信任的实体,因为它们能够对数据进行数字签名或数字证明以证明数据是真实的。这种证明称为有效性证明或真实性证明。
Oracle 不应该能够操纵它们提供的数据,并且必须能够提供事实数据。尽管神谕 被信任,它仍然有可能, 在某些情况下,由于操纵或系统故障导致数据不正确。因此,oracles一定不能修改数据。可以通过使用各种密码证明方案来提供这种验证。产生数据安全证明的一些机制:
TLSNotary
Android证明
账本证明
可信的硬件辅助证明
去中心化预言机:
由于这样的区块链平台是完全去中心化的,预计预言机服务也应该是去中心化的。这种类型的预言机可以基于分布式机制构建。想了解更多你可以在这里阅读:
https://medium.com/stakin/the-top-decentralized-oracles-169b94dfbb83