智能合约游戏之路

2016-07-25 11:46 来源:币科技 阅读:4182
自比特币走入公众视野以来,比特币的一个典型应用就是DICE类游戏。不难看出这是由比特币的优点所决定的。比特币的核心功能是支付,而比特币的优势之一正是在互联网上的无国界无限制的高效支付。比特币这一新型支付方式可以使这些DICE类游戏网站在资金通道上瞬间对接全球用户。

自比特币走入公众视野以来,比特币的一个典型应用就是DICE类游戏。不难看出这是由比特币的优点所决定的。比特币的核心功能是支付,而比特币的优势之一正是在互联网上的无国界无限制的高效支付。比特币这一新型支付方式可以使这些DICE类游戏网站在资金通道上瞬间对接全球用户。

随 着比特币行业的高速发展,已经出现了越来越多的游戏方面的比特币应用。这些应用往往不局限于接受比特币,同时也接受其他流行的虚拟货币。而且也有应用试图 将虚拟币做为游戏内流通的,用于购买道具的内部货币,或者用于记录用户积分,从而使虚拟币在游戏中的应用不仅仅限定为DICE类竞猜游戏的筹码。但据笔者 观察,这种方式从游戏运营商需求,用户需求以及法律法规方面看都存在诸多障碍。到目前为止,虚拟货币在游戏行业的主要应用方式仍然是作为资金通道。

虽然资金通道问题解决了,但虚拟货币在游戏行业的应用发展并非万里晴空,还存在几朵乌云正在威胁着用户的资金安全。

第一朵乌云,资金的托管安全
中 心化的网站,也就是游戏的运营者是用户资金的实际控制人。不管是多重签名,冷钱包存储,还是资金公示,控制人公开身份,都不能完全解决资金安全问题。自从 比特币流行开始,黑客盗币以及创始人携款跑路问题就始终不曾间断。无限风光的比特币交易网站MTGOX,还有山寨币交易网站M网C网,国内的存钱罐都因黑 客盗币问题被迫关闭。目前正在运营的不少交易所也都曾经历过被盗,只能自己默默扛下损失。用户资金的管理人可以证明或演示自己的措施有多么安全,但并没有 人保证发生盗币时无限赔付用户损失,他们只能作为受害方与用户一起等待警方破案并追回资金。换句话说,资金保管方的责任是有限的。因此有人调侃圈内现象: 跑路的越来越少了,黑客越来越多了。

比 特币的流行很大一部分原因是它是一个无需信任的支付系统。但当它与传统行业结合时,它已经解决的问题又回来了。火爆的DICE网站上可能有数千万美元的虚 拟货币,而它的资金管理者可能只有1,2个人,它的安全在强大的黑客面前可能不堪一击。将自己的资金交给他人保管,自己承担全部风险,是每个使用中心化服 务的用户必须做出的抉择。

第二朵乌云,竞猜游戏是否公平
在 加密算法应用之前,网络上的DICE类竞猜毫无公平性可言,游戏的实际中奖概率和开奖规则甚至对用户来说都是不可知的,就好像老虎机水果机游乐场一样,运 营者可以自行黑箱调整中奖概率,用户只是单纯的看到开奖结果而已。当然游乐场老板也不会让用户总是输,但整体上用户就是待宰的羔羊。

在 比特币应用于DICE游戏之后,用户不可避免的对DICE公平性有了更高的要求,毕竟早期了解比特币的人多少也都会了解一些加密算法。以JustDice 为例,网站提出了从原理上看起来相当可靠的算法来保证玩家和网站对赌时公平。但是这种公平只是在理想情况下,如果黑客通过某种手段获取了服务器生成的随机 数,或者是一个可以获取服务器随机数的内部员工来参与游戏的话,他就有可能洗劫网站或者坐庄的资金,俗称赌神。JustDice就曾经出现一个赌神,带着 11000个比特币的利润全身而退。你并没有办法证明他是纯运气,还是黑客发现了漏洞,甚至就是内部人员监守自盗。

公平性问题始终是网络DICE游戏的一个重大争议问题,即使网站提出了不少方法试图保证公平性,但由于中心化运营的本质架构所决定,理论上基本上不存在一个可以确保公平的模式。

第三朵乌云,悬在头顶的合规性之剑
即 使是在博彩合法的国家,也不意味着博彩公司可以不受监管。对于虚拟货币这一新生事物,监管部门的态度也是扑朔迷离,忽左忽右。JustDice已经于 2015年初以当地主管部门发布虚拟币监管新规为由主动停止运营。这其实还算是不错的结局。如果是当地主管部门突击查封,冻结平台全部资产的话,用户就要 欲哭无泪了。比特币虽然也常有合规性争议问题,但比特币的合规性和中心化网站或公司的合规性完全是不同层次的问题。其最大的区别是比特币本质上是没有运营 主体的,因此就算有部分地区的监管者禁止使用比特币,这也注定仅仅是一个局部影响。但对于中心化网站或公司来说,其运营人员,运营资金一旦遭到注册地区或 运营地区的合规性限制和打击,这对其就将是毁灭性的影响。即使你可以关闭旧公司,开设新公司,相同的威胁也仍然继续存在。

区块链技术的持续发展为驱散这三朵乌云开辟了新道路,也就是本文要介绍的智能合约游戏之路。

智 能合约并非一个神秘的东西。我们可以以比特币的转账操作做类比。“A将自己的资产转账给B”,这就是一个转账操作,只要有A对这个消息的签名,这个转账就 可以生效了。转账可以看作是最简单的“合约”。我们还可以定义一些其他复杂的合约,比如“A将资金转账给B,但B要在1年后才能花费这笔资金”,这也是一 个转账合约,但是更加复杂了。我们还可以定义一些与转账无关的合约,例如“将A地址与字符串myname绑定,今后凡是发给myname的资产都可以通过 A地址的签名来花费”,这其实就是注册用户名的合约。这些合约的执行通过区块链来自动完成的话,就称之为智能合约。

智 能合约并非某种虚拟币的专利,它只是一种技术,甚至在比特币发明之初,其自身就具备了智能合约的雏形。目前比特币的侧链,DACPLAY(游戏股)都属于 智能合约概念的范畴,但是实现细节和侧重点有所不同。下面以DACPLAY上的DICE游戏为例详细描述什么是智能合约游戏,以及为什么智能合约游戏解决 了三大乌云问题。

DACPLAY的智能合约是以javascript代码的形式来描述的,游戏开发者可以通过P2P网络直接发出一个Tx(与转账等操作统称为交易)将完整合约上传至区块链。目前运行在DACPLAY上的游戏完整代码见如下链接:
https://github.com/dacsunlimited/dacplay-game-samples/blob/master/DACPLAY/dice.js

通过代码我们可以看到,这个游戏合约比转账或者注册用户名的操作复杂多了。与一般的竞猜游戏相同,该游戏也分为下注,开奖,分发奖金的过程,但不同之处在于这些过程全部是通过区块链自动完成的。

用户下注后,用户的筹码将由合约执行转到一个特殊的账户中自动锁定起来,用户的下注记录会记录到一个待开奖列表中。这一过程由PLAY.evaluate函数定义。

在 PLAY.execute函数中定义了中奖规则。当满足开奖条件时(本例中开奖条件为下注块之后第10个块),会根据预先设定的中奖规则生成开奖结果列 表。开奖规则采用分布式随机数作为依据,确保足够的安全性。分布式随机数是DACPLAY区块链的重要特点之一,只要受托人(类似比特币中的矿工角色,负 责生成区块)没有完全串通,就没有人可以预先知道结果。有关分布式随机数原理的细节可参考DACPLAY社区的技术文章。

在PLAY.execute函数中还可以规定一些细节,例如设定庄家优势:
jackpot = game_data.amount * (game_data.odds) * (100 – BTS_BLOCKCHAIN_DICE_HOUSE_EDGE) / 100;
在此也可以设定游戏开发者分红,例如设为赢家奖金的1%。可见在DACPLAY的智能合约中是非常自由的,你可以用JS代码描述你可以想到的所有逻辑。

在PLAY.scan_result函数中,会根据开奖结果列表自动向区块链发送开奖交易。这类交易统称为虚拟交易,意为由区块链协议自动生成的交易。这些交易经过解析后将会更新相关账户的余额,最终完成发奖工作。

综 合上面的过程可以看到,在下注过程中,并不存在资金监管人,用户的筹码资金是自动锁定在系统中的。开奖规则是明确的开源代码决定的并且是基于分布式随机数 的,不存在游戏开发者作弊的可能。开奖后也是由区块链自动更新赢家的余额来派发奖金,整个过程不依赖人,是完全的自动化过程。

而且DACPLAY和比特币一样,是一个P2P去中心化网络,而并非由某一公司之类的主体来运营。因此即使在某地区有合规性风险,该风险也只会是局部风险。P2P网络不会因为某地的监管部门的打击而关闭,用户的资金也不会因此而丢失或被没收。

至 此我们可以理解智能合约游戏是如何突破了传统中心化游戏平台所面临的限制。基于智能合约的游戏可以为用户提供更多的资金安全性和更值得信赖的开奖过程。如 同比特币带来的全新数字资产和支付概念一样,智能合约游戏也可以为用户带来全新的竞猜游戏的“安全可信”概念。我们相信这将是各种基于随机性过程应用的未 来发展方向。



声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文