20 如何实现一个类似于猜数字的游戏

A、B玩家选择两个选项的值(例如,选项可能是{0,1},{'a',b'},{True,False},等等)。如果两个玩家选择相同的值,则第一个玩家获胜;如果玩家选择不同的值,则第二个玩家获胜。 因为链上的数据都是透明的,A玩家猜了之后,B通过看合约源码之类,总能解析出A的输入。如何解决呢

请先 登录 后评论

最佳答案 2021-10-14 10:33

你这个场景通常使用 区块链随机数 - 承诺模式 , 在玩家提交选项的时候, 不是直接提交结果,而是提交结果的加密信息(提交一个承诺),通过这种加密信息的方式,来保证无法猜测提交结果。

待所有玩家都参与之后(或者开奖后),玩家再次提交结果与加密信息,在链上验证提交结果与加密信息的一致性,再根据结果发奖励。

请先 登录 后评论

其它 1 个回答

lilianwen - 软件开发工程师
请先 登录 后评论
  • 2 关注
  • 0 收藏,3006 浏览
  • i am duck 提出于 2021-10-13 14:09