我阅读了here,了解了使用keccak256和时间戳、契约调用者和随机数作为熵源来生成可靠随机数的标准方法。
我还在上面链接的文章中看到,这种方法的主要问题是,当合约的调用者也有自己的节点时,他可以将无限事务发布到自己的节点,但不能共享它们,直到他生成了他想要的数字。
我的问题是,如果我的智能合约只是从受信任的来源调用,那么这种生成随机数的方法安全吗?
我还想知道,如果我每次调用合约时都生成一个新的以太地址,这是否会增加熵,并使数量无法预测?
在我看来,每次生成新地址都会增加足够的熵,并且在某种程度上,生成地址和调用契约的源起到了神谕的作用。是那么回事吗?
发布于 2021-01-15 17:34:30
在智能合约中生成的任何随机数都可以被某人事先猜到。因此,在智能合约中生成的任何随机数都是不安全的。
如果您从可信来源调用智能合约,那么您也可以在可信来源中生成随机数,而不是拖延时间。生成地址只是烟幕和镜子,因为当然,有人知道他们生成的是什么地址。
https://stackoverflow.com/questions/65728630
复制相似问题