新手问答 EOS 代币交易 HASH 可以被预测和篡改吗?

zyy9616 · October 31, 2018 · Last by zyy9616 replied at November 03, 2018 · 2509 hits

目前 EOS 博彩游戏都没有用交易 HASH 来判断胜负,这不是个纯天然的随机数吗?为什么? 理论上来讲 21 个节点有 11 个一起作恶,或者用户打包发送交易时。HASH 有可能被预测或者更改呢?

关键合约里拿不到

本身是随机数,但是不能在博彩游戏里判断胜负,因为 hash 是可以被超级节点干扰的。比如猜大小,小于等于 8 为小,大于 8 为大,以你给出的 hash 为例,是 “c” 开头,换算为十进制就是 12,假设这个区块是 liuheng66666 这个超级节点打包生产,那么此节点可以,先押小,然后通过改变区块内容,产生多个对应 hash,只对外广播 hash 是小于等于 8 的,那么该节点会 100% 赢得资金。

所以,hash 值的特征是可以被超级节点干扰的,不能用来判断胜负。

对于 21 个出块的超级节点而言,hash 特征是可以 “预测” 的,至于篡改,引用白皮书里的两段话: 1、一个交易从广播开始后平均 1.5 秒就可以 99.9% 被认为是确认了 2、 为了确保一个交易绝对是不可逆的,一个节点可以选择等待 21 个区块生产者中的 15 个给出确认。 基于通常的 EOS.IO 软件配置,在一般情况下这需要平均 45 秒的时间。

BigXia 回复

谢谢用心回答。再请问,如果我只截取尾部的 10 位哈希值呢?超级节点也可以篡改或者预测吗。还有什么随机数是可以利用的?

zyy9616 关闭了讨论 08 Nov 09:15
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up