solidity 合约可以与特定的世界事件联系起来吗?

can solidity contracts be linked to specific world events?

solidity 合约是否可以与特定的世界事件相关联?

例如,是否可以创建一个 dapp,让人们可以押注特朗普或克林顿赢得上次美国大选?如果是的话,dapp 怎么知道谁是赢家?

如果您需要保证一切都会好起来 - 我的回答是不需要,这在 Ethereum 是不可能的。因为当你创建一个智能合约时,它只信任 Ethereum 个区块链事件,比如新的 blocks/transactions。您的 smart-contract 不知道我们的现实世界中会发生什么。

美国大选是现实生活中的事件,而不是 Ethereum 区块链。所以这意味着有人应该向 Ethereum 区块链发送一个包含选举结果的交易。所有下注的玩家都值得信赖的人。您可以使用其中一个提供商,例如 oraclize.it。它运作良好并且看起来值得信赖,但这意味着提供商的地址可以访问您的 smart-contract 并且可以向其发送包含任何数据的交易。

这是从汇率中获取 ETH/USD 汇率的常见解决方案。 有一个简单的例子可以用 oraclize.it `https://docs.oraclize.it/#ethereum-best-practices-precalculating-the-query-price

得到兑换价格