随机数漏洞问题严重制约EOS、波场、ETH发展,比特元更安全( 五 )
下面 , 我们就来着重讲讲如何实现在随机数上的优化 。
首先 , 用户使用钱包账户中的BTY购买票(Ticket) , 10000BTY对应一票 。 钱包同时生成一个randNum , 哈希过后再结合钱包挖矿地址的私钥 , 票对应的index(一次可以买多张票)等元素再做两次哈希 , 得到一个公开哈希参数(pubHash):
pubHash =
hash(hash(privateKey:index:hash(randNum)))
然后 , 新购买的票中包含这个pubHash以及randNum并存入区块链 , 这张票有12小时的成熟期 , 过了12小时才可以参与挖矿 。
接着共识算法从区块链中找到已经成熟的票(Ticket)开始打包 , 由于共识打包区块操作只在节点本地执行 , 所以它可以读取本地存储的私钥 , 算出一个私密哈希(privHash)并将这个参数放入到挖矿交易中:
privHash =
hash(privateKey:index:hash(randNum))
最后 , 智能合约收到挖矿交易 , 对比hash(privHash)和pubHash的值 , 两者一致挖矿交易成功 , 对应的节点获得挖矿奖励 。 否则挖矿交易执行失败 。
推荐阅读
- 手机游戏|梦幻西游:副本等人时可以刷的任务,随时随地领取,失败也没问题
- 问道|三国杀:单项选择、变色龙、真正的姜维,这些问题你是否能回答?
- 炉石传说|炉石传说大乱斗,霜之哀伤能排前五?虾仁猪心剑放第一没问题吧?
- xyg|月光败给XYG不敢去采访,怕主持人问他一个问题!根本没办法解释
- 传奇世界|传奇世界:盘点当年出现过哪些漏洞,有一个至今都存在?
- 孙尚香|孙尚香异界灵契皮肤上线,而玩好他需要解决5大常见操作问题
- ag战队|KPL:恭喜AG超玩会喜提A组名额,整个AG都是问题,锅都不用分了
- 百里守约|一诺还是不会玩蓝领野,久诚百里守约被张大仙“捧杀”,月光BP出了大问题被猪哼老王狂踩!
- ig|UZI最新直播回复几个关键问题:加入IG,复出,训练赛?
- |LOLM阿克尚怎么玩?学会以下连招和基本技巧,上分就不成问题了