美文网首页区块链研习社区块链入门
棋牌类游戏在区块链中的设计探讨

棋牌类游戏在区块链中的设计探讨

作者: 王巨 | 来源:发表于2019-02-23 15:18 被阅读14次

简介

随着区块链的发展,特别是以EOS、GXC为代表的高性能区块链的崛起,为区块链游戏带来了非常大的活力。这里想探索一下棋牌类游戏如何以比较完美的姿势上链,并且结合区块链的特性打造超越传统中心化游戏体验并且公开透明、公平可信的游戏。

  • 棋类游戏
    棋类游戏有一个特点,就是所有的信息都公开,双方在一个公平公开的初始环境下进行对抗,如围棋、象棋、五子棋等都是棋类游戏。区块链这种信息公开透明的环境是对棋类游戏非常友好的,在eos的官方demo里面也实现了一个非常简单的tic-tac-toe的小游戏,在国内叫井字棋,有兴趣的可以使用google搜索tic-tac-toe,在首页就可以玩这个小游戏了。
  • 牌类游戏
    牌类游戏跟棋类游戏不同的地方在于,它的游戏性依赖于随机性以及保密性,在这基础上进行猜测与对抗,如21点、斗地主、麻将都是牌类游戏。事实上区块链的智能合约并不特别适合开发牌类游戏。

待解决的问题

  • 用户体验问题
    这是棋牌类游戏在区块链上实现需要共同面对的问题。事实上也是一个性能的问题即使以EOS的性能,在棋牌类游戏上也仅仅是勉强能满足要求,比如延时小于1s,在实际的应用确认中延时往往是要超过1s的。如果所有的操作都在链上实现,是不能满足人们被日益养刁的胃口的,有延时或卡顿会让用户失去兴趣。
  • 随机性与保密性问题
    牌类游戏还会遇到随机性与保密性的问题,如何产生随机数保证游戏的公平,以及如何保证在游戏结束前的保密性保证不被其他人从其他渠道获取到数据。这个两个问题若无法解决,那么牌类游戏就没办法在区块链上运行。

链下系统解决用户体验

单纯使用区块链技术,在目前是没有办法解决游戏的延时问题的,因此采用链上系统与链下系统相结合,将两种系统的优势发挥到最大才是当前能提供完美用户体验的优选方式。那么如何结合呢?我理解大致的流程应该如下:

  • 链上启动—>链下执行—>结果复盘
    先在区块链上注册一局游戏,这个注册过程可以完成游戏数据的初始化;然后链下服务端(对这里需要一个中心化的服务端)根据游戏初始化的结果与客户端进行通信,完成整局游戏;将游戏的每一步结果上链,最终由合约判定结果,分发奖励。链上启动保证了初始条件的公平,链下执行保证了游戏开始后的用户体验,结果复盘这个很重要,它不是仅仅将游戏结果而是将整个游戏过程上链,保证游戏结果不会被篡改,保证公开公正。

预上送Hash解决随机性问题

关于区块链的随机性问题,已经有着比较成熟的解决方案了。那就是游戏参与方首先将自己的随机数Hash上链,这样可以保证各自的随机数产生之后不会再改动,然后再将随机数上链并将各方的随机数合成到一起成为一个真正的随机数,这过程由于各方均无法预知对方的随机数因此也就不存在作恶的可能。比如斗地主游戏,可以这样设计:玩家A、B、C与服务器S各自产生一个随机数以及随机数对应的Hash,在开局时A、B、C、S将随机数Hash先上链,然后A、B、C将各自的随机数发送给S(此处可以是链上操作也可以链下操作),然后S将四个随机数合成为随机数种子通过一定的随机算法产生随机的牌序列,在链下开始游戏;进入复盘阶段后S需要将自己的随机数以及整个的游戏的过程上链进行复盘,合约要校验A、B、C、S的随机数的Hash是否与开始时的Hash一致。

随机算法可信性

上面提到了一个问题,就是如何使用一个随机数产生一个牌序列,这个算法要保证链上与链下算法的一致性,在复盘时需要校验,这样才能保证可信。

可信计算解决保密性问题

牌类的保密性问题如何解决,如何能保证服务端不作恶?上述复盘的方式可以保证服务端不会通过改变牌序列来作恶的问题,但是无法保证服务端的信息泄露的问题,若有人能窥探到服务端,那他就相当于有了上帝视角。如何避免这种情况发生呢?首先这种情况是无法完全避免的,传统的游戏厂商事实上也没法完全避免,大厂们肯定是会加强自己的服务端的管理制度从行为上杜绝这种情况的发生,因为保证游戏公平性是他们的长久立足的根本。但是小的游戏厂商,若中间再有点菠菜性质,那么用户事实上就是待宰的羔羊。那么作为一个区块链的小游戏如何从技术的角度去缓解这种问题的发生呢?可信计算可能是一个相对较好的解决方案。将服务端搭建在可信执行环境所有的内部数据均不出可信执行环境,让外界也很难在实际执行过程中获取到游戏数据。这里的可信执行环境可以是intel的sgx也可以是其他tee实现。

解决数据分发时的链路保密问题

游戏数据分发时,比如服务器要给A发一张牌,那在链路上如何保证这张牌不被别人看到呢?这个可以用A的公钥来保护加密下发,那密文就只有A才能解开其他人均无法识别。并且由于是区块链系统A的公钥就是现成的因此这个功能很容易就能实现。

总结

这里简略的探讨了一下棋牌类游戏在区块链上的实现,给出了用户体验、随机性以及保密性这三个核心的问题的相对可靠的解决方案。当然实际的游戏设计上还会有很多的细节问题,这里就不展开了。


我们是区块链研习社公信节点,致力于做GXChain共识与生态推动者。欢迎大家投票支持,节点名称:chainclub-bp

相关文章

  • 棋牌类游戏在区块链中的设计探讨

    简介 随着区块链的发展,特别是以EOS、GXC为代表的高性能区块链的崛起,为区块链游戏带来了非常大的活力。这里想探...

  • 区块链思想的诞生

    区块链最初的思想诞生于无数先哲对于用数字货币替代实体货币的探讨和设计中 在讲区块链之前,我们先聊聊货币。 一,在最...

  • [深度干货] 区块链游戏的赚钱门道

    本文为《区块链游戏探讨系列》第三季。 虽然我本人对区块链游戏持很谨慎的态度,但并不表示现阶段区块链游戏挣不到钱,接...

  • 区块链游戏行业未来的发展之路

    区块链游戏-熊市中的光芒 近年来,随着区块链的火热程度,区块链游戏也逐渐被大家所聚焦,最早的区块链游戏是“以太猫”...

  • 2018-09-30

    区块链 互联网顶层设计开发 现成Vpay系统带源码出售 Fomo3D区块链游戏开发 区块链手机挖矿开发 区块链商城...

  • 【深度分享】主流跨链技术和COSMOS实现分析

    1.1区块链跨链技术 在区块链的设计中,区块中记录着所有的信息。但区块链也有其封闭性,这个封闭性使得每个区块链更像...

  • 知否知否,供应链金融与区块链最适合“牵手”

    作为区块链技术服务提供商,Trias旨在帮助企业更快落地区块链。在之前的系列应用文章中,我们探讨了区块链技术在农产...

  • 区块链游戏发展史

    区块链游戏,主要是指Dapp中属于游戏类的区块链应用,需要和各种区块链公链有一定程度上的交互。区块链游戏从17年1...

  • EOS节点相关

    在EOS超级节点之争 ---- 区块链版权利的游戏一文中,我们探讨了七个个问题。 在上周,这版权力的游戏再度升温:...

  • 被病毒感染的区块链游戏,值得注意!

    提到挖矿类游戏,在区块链火热的当下,轻而易举地想到区块链游戏。现阶段,区块链挖矿游戏已经泛滥,游戏产品有元链星系、...

网友评论

    本文标题:棋牌类游戏在区块链中的设计探讨

    本文链接:https://www.haomeiwen.com/subject/kmlpyqtx.html