APP下载

基于区块链的游戏资产交易平台研究

2019-07-05徐十珍李伟

计算技术与自动化 2019年2期
关键词:区块链共识

徐十珍 李伟

摘   要:区块链的去中心化、公開透明、安全可靠、不可篡改等特征给网络游戏中的资产交易提供了新的发展方向。区块链技术可以很好地解决现有游戏交易平台中存在的安全隐患。通过分析现有游戏资产交易平台现状以及存在的弊端,提出了一种基于区块链技术的游戏资产交易平台。详细介绍了区块链游戏资产交易平台中使用的关键技术:数据区块、P2P网络、数字加密技术、共识,提出总体设计架构,讲解具体交易流程和交易验证过程,最后对区块链现有技术存在的不足进行分析说明。

关键词:区块链;数据区块;P2P网络;数字加密技术;共识

中图分类号: D620                                                           文献标识码:A

Research on Game Assets Trading Platflorm Based on Blockchain

XU Shi-zhen1?覮,LI Wei2

(1.Wuhan Research Institude of Posts and Telecommunications,Wuhan,Hubei 430074,China;

2.Wuhan Fiberhome Li Cloud Network Technology Company Limited,Wuhan,Hubei 430074,China)

Abstract: The features of the blockchain such as decentralization,transparency,security,reliability and non-destructive provide a new direction for the development of asset transactions in online games. It can well solve the security risks where existing in game trading platform. By analyzing the current status of the game asset trading platform and the existing drawbacks,it introduces the key technology used in the asset trading platform of blockchain game in detail,such as:data block,peer-to-peer networking,digital encryption technology,consensus,then the overall design framework is proposed,the specific transaction flow and transaction verification process are introduced in detail.Finally,the shortcomingsof the existing technology of block chainare analyzed and explained.

Key words:blockchain;data block;peer-to-peer networking;digital encryption technology;consensus

如今网络游戏已经成为人们生活中不可或缺的一部分,人们常常在游戏中投入大量的时间和精力,这些投入让玩家的账号和账号所拥有的游戏资产变得有价值,而有价值的东西往往会产生交易需求[1],游戏资产交易也随之诞生。游戏交易和实物交易完全不同,实物交易通常可以看到实在的物品,是物与货币之间看的见的交易,而游戏资产交易,是用货币和一个看不见摸不着的虚拟物之间的交易,这些虚拟物品本质上可以看成一段代码的展现形式。

游戏资产交易方式众多,但是这些交易方式都存在着很多安全隐患。现有的游戏资产交易平台,整个交易过程都需要由第三方机构协助[2],交易过程中,玩家经常会遇到交易过后道具丢失、账号被封、账号被盗、个人隐私泄露等问题。本文针对这些问题提出了基于区块链的游戏资产交易平台,利用区块链技术[3]去中心化、公开透明、安全可靠、匿名性等特征将很好地解决交易过程中出现安全隐患。

2   现有游戏资产交易方式

在游戏资产交易中,由于玩家之间互不认识,因此很难建立信任机制。这时就有两种常见交易手段。第一种是面对面交易,面对面交易需要双方约定时间地点见面,交易双方距离近可以考虑见面议价,并在交易过程中完成立收据等正式转让协议,但是如果双方相距较远,这种方式不仅不现实还麻烦。第二种是游戏资产交易平台,由第三方平台充当交易双方的信任中介。而现在市面上第三方平台资产交易方式主要有三种类型:内置交易、官方交易、第三方平台交易。接下来将主要介绍这三种交易类型。

以上三种类型各有利弊,内置交易是在游戏内部交易系统中进行交易,这种方式只能在游戏内部消耗这些金币和道具,一旦离开游戏,游戏中的道具和账号将会变得一文不值。官方交易方式是一种安全可靠的交易方式,但是在交易过程中会设置很多限制条件,使得只有一部分符合要求的人才有权限进行交易,并且它售卖的交易物只有指定的几类,交易流程繁琐,耗费周期时间较长。第三方交易是用的比较广泛的一种交易方式。这种交易方式需要付给网站大量的担保费用,并且发布方在平台中容易被压低资产价值,卖不出理想的价格。并且用户一般需要在第三方平台注册相关身份信息,注册环节经常会为大量不法分子提供了机会。一些诈骗网站会伪装成交易平台,界面和真实交易平台毫无差别,还有网络警察链接、冒充交易平台的假客服聊天页面和验证真伪的平台,这完全达到以假乱真的地步。用户一旦输入账号密保资料,交易发布方面临着游戏账号、装备等游戏资产被盗取的风险,而交易方可能会钱财两空,并且无处申述。一些信誉度比较好的游戏交易平台,经常会收取大量的手续费,如果是但是在交易完成之后,可能会遭遇游戏删档,账号找不回来等意外事故发生。而且第三方交易平台使用的是传统的数据库,这个数据库放置在服务器上,很容易因为物理或者人为原因导致数据丢失或者数据篡改[5]。并且由于第三方交易平台拥有大量的玩家信息,在管理过程中,可能出现非法分子盗取玩家数据,使用户遭受很多不可测的损失。总之,第三方交易平台在安全性方面存在很多弊端,游戏玩家更需要一种安全可靠的游戏资产交易平台。

区块链的出现给了人们灵感,它的去中心化、安全可靠、自治性、匿名性等特征提供了一种新的游戏资产交易方式。它可以提供一个高信任度的交易环境,它以智能合约[6]为基础,实现智能化交易,让交易过程安全可靠、高度透明,使用区块链技术对玩家的虚拟资产进行加密存储,可以使虚拟资产得到更好的保护,在交易过程中使用数字加密技术,让交易在匿名、可信任的条件下进行,可以更好的保护玩家个人隐私。

3    区块链关键技术与特征

3.1   区块链关键技术

区块链中涵盖了很多技术,下面主要结合游戏资产交易平台需要用到的关键技术进行详细介绍。

3.1.1   数据区块

游戏人物、道具、账号的交易记录都会保存在数据区块中,每个数据区块由区块头(Header)和区块体(Body)两部分组成[7]。表2对数据区块区块头中的字段进行简要介绍。表3介绍了数据区块区块体结构,区块体由区块内的交易数量和交易详情组成。记账本上记录的是交易详情,通过验证的交易会永久的记入数据区块中,任何人都可以查询账本中交易详情。对于每一笔交易,区块体中的Merkle树都会产生一个数字签名,这样可以保证每笔交易都是真实、有效的,数字签名具有唯一性,它可以避免重复交易的出现。所有的交易将会通过Merkle树的Hash过程产生一个唯一Merkle根值记入区块头。

在交易记录区块链中,首先产生的第0代区块即创世区块由系统初始创建,之后的交易区块依次指向创世区块。由于创世区块是起始区块,没有上一区块Hash地址,之后的每个区块中都会保留了上一个区块的Hash地址(区块的唯一标识),区块之间通过引用上一个区块的Hash地址,将区块串在一起,区块间形成了一个链式结构,这个链式结构称为交易区块链。

3.1.2   P2P网络

游戏资产交易平台进行发布的过程中会使用到P2P网络[8]。P2P网络是一种在对等者之间分配任务和工作负载的分布式应用网络架构[9]。在P2P网络中,所有节点的功能是一样的,并没有特殊功能的节点,每一个节点理论上是可以对整个网提供所需的服务,每个节点都保存了所有数据,因此任何一个节点垮掉,都可以在其他节点找到数据,并且不会对整个网络稳定性造成威胁。

资产进行发布过程中会调用区块链中的发布接口,在全网广播商品详细信息,每个游戏账户都会接收到发布信息,系统也会对有相应需求的交易双方进行匹配。整个交易过程中,没有第三方交易平台,仅仅只是两个账户之间进行交易,这种方式可以保护用户隐私,让交易双方拥有数据的控制权。

3.1.3   数字加密技术

游戏资产交易过程中将会用到数字加密技术,其中用户注册阶段产生随着游戏账号产生的公钥(用于加密)、私钥(用于解密)、地址(虚拟币收货地址)等信息就用到了数字加密技术。在进行交易过程中,为了确保交易资产不被篡改,设计过程中会将待交易游戏资产提取摘要信息,并对其进行加密处理。

数字加密采用非对称加密算法技术,非对称加密算法指的是存在一对密钥:公钥、私钥。使用公钥加密过的数据信息,只能使用对应私钥对该信息进行解密[7]。其中,注册阶段产生的私钥是在一个密码学安全的随机源中取出的一个256位随机数,它总数为2256个,几乎不可能通过遍历可能的私钥得出公钥。私钥和Secp256k1椭圆曲线算法生成65字节长度的随机数称为公钥,地址也是由公钥所生成,首先将公钥进行SHA256[10]和RIPEMD160双哈希运算,生成20字节长度的摘要结果,这个将作为地址的主体信息,再在前面加上版本前缀0X00,在后面添加4个字节的地址校验码,地址校验码通过对摘要结果进行两次SHA256运算,取哈希值的前四位产生,最后把版本前缀+主体信息+校验位通过Base58处理得到地址[7]。

3.1.4   共识

区块链网络中,各节点一起维护同一个账本,节点与节点之间,只有达成共识,才可以进行下一步操作[11]-[12]。共识这一机制主要作用是保持底层区块链数据的一致性,防止恶意节点的破坏或者攻击。共识机制主要验证各节点记录的游戏资产交易信息是否达成一致。

游戏资产交易平台主要参考拜占庭容错算法,“拜占庭将军”难题主要指的是几个只能靠信使传递信息的围攻城堡的联盟将军,如何防止不会被其中的叛徒欺骗、迷惑从而做出错误的决策[13]-[14]。在资产交易平台中,一旦完成一笔交易,就需要在全网进行广播,全网的每一个节点都需要记录下交易信息。如果所有节点对某一笔交易信息达成一致,就会将交易信息加入到交易区块链中。

3.2   区块链技术主要特征及安全性分析

区块链技术具备以下三个特征:

一、去中心化

区块链是采用P2P组网、分布式存儲,数据由集体共同维护,并且组网中的不同节点具有相等的权利和义务,也就是说,在整个运行期间进行的所有交易,每个节点都有权利和义务去维护其数据。由于每一个节点都可以记录所有交易,并且交易代码是开源的,用户相当于处在一个公开透明的环境,用户可以在这样一个去信任化的环境中自由安全的进行交易。

二、安全可靠的数据库

区块链是一个分布式存储数据库,维护系统功能的验证节点都拥有一个完整的数据账本,账本上详细的记录了每一笔交易,通过验证的交易,会被加上一个时间戳,然后永久存储在数据账本中,由于每个节点中都保存了交易信息,那么只在某个节点中对数据库进行篡改信息是无效的,由于整个区块链上的数据都是公开的,任何人都可以通过公开的接口来查询区块链数据,运行过程中,某个节点被破坏、丧失功能,系统也不会因此而崩溃。

三、匿名性

节点之间的数据交换遵循固定的算法,数据之间的交互会由区块链程序规则来确定是否有效,无需知道对方身份即可进行交易,并且交易过程中用户可以采用加密技术来保护个人隐私。

以上都是区块链技术的特征,首先去中心化可以让用户感受到一种面对面交易的感觉,真正意义上的让交易过程做到公开透明,并且可以查询每一笔交易的来龙去脉,防止有人恶意售卖。由于这个交易平台建立在分布式数据库上,这样可以让游戏在一个稳固的环境下运行,不会出现服务器宕机导致数据丢失的现象发生。匿名性这一特涨可以很好的保护用户隐私不被侵犯,避免发生身份泄露等不良事件发生。充分利用区块链技术特征,可以改变现有游戏资产交易方式,给玩家营造一个去中心化、安全可靠的游戏资产交易,让玩家拥有个人数据的主动权,充分保护游戏交易者的权益。

4   基于区块链技术的游戏资产交易平台设计

4.1   总体设计架构

首先简要设计了如图1所示的游戏资产交易平台模型的整体架构[15]。首先将游戏平台分为游戏模块和交易模块,游戏模块主要是具体游戏操作等过程,而交易模块主要是面向交易玩家提供的业务,在进行相关业务操作过程中,调用区块链接口,通过区塊链接口对数据库数据进行一系列操作,然后与游戏模块进行相关数据交互。

4.2   游戏平台设计步骤

图4中三层结构,为了简便起见,就只介绍以下四个关键环节:用户注册、用户登录、资产发布、资产交易(包括购买、出售)。其中资产主要包括游戏账号、游戏人物、游戏道具这一系列数字资产。它的设计步骤如下:

1、玩家首次进入游戏平台(非首次直接登录即可),需要先进行注册,注册中需要填写用户基本信息,填完完毕,平台会对用户基本信息进行审核。审核通过,平台会调用区块链注册接口,生成一个用户数据区块,这个区块链详细记录了用户基本信息,同时也会将生成公钥、私钥、地址、哈希信息等信息写入到数据库中。

2、完成注册过程,就可以登录平台,输入账号和密码,登录信息确认无误,可进入游戏平台。

3、这时就可以开始游戏之旅,首次进入游戏,需要了解游戏规则,获得游戏人物、道具等,开始平台会设置一个新手指引环节,让玩家熟悉规则,新手体验环节结束,玩家可根据个人喜好去购买游戏人物、道具,并进行自由交易。

4、购买游戏道具,游戏道具分为普通和不同等级稀有的(后面简称稀有道具),在游戏交易市场,抢手的游戏资产通常稀有道具或者级别较高的游戏账户,如果想要购买稀有道具,会先调用区块链购买模块接口,一旦交易成功,就将购买详细细节写入到区块链交易区块中,并返回处理信息,并将区块和返回信息记录到数据库。

5、玩家购买的游戏人物、稀有道具都完全为个人所有,没法复制,没法带走,没法销毁,并且这些数字资产彼此之间是可以进行交易的。

6、当道具或者游戏人物交易成功,都需要在全网范围类进行广播,将交易详细信息写入区块,然后加入到交易区块链上,让每个节点都记录、存储数据信息。

根据以上6个步骤,绘制出如图2所示流程图,其中交易区块生成和节点验证将在游戏资产交易过程中详细讲解。

4.3   游戏资产交易过程

4.3.1   交易生成

在游戏平台中,假如玩家A想要发布自己的一个游戏人物,那么就需要调用区块链发布接口,首先需要在区块链节点中发布出售信息,如果这时玩家B看中了玩家A出售的商品,那么就需要玩家A和玩家B进行数据交易。

1、先将玩家A商品详情进行封装,然后将商品详情随机选取部分信息进行数字摘要,浓缩成一段字符串,玩家A用自己的私钥对摘要进行加密,形成数字签名(数字签名是确认信息来源以及数据的完整性,防止交易被伪造,一旦修改交易信息,原先的数字签名立即失效)。

2、将交易信息和数字签名一起广播到整个网络,玩家B接收到信息,使用公钥解密数字签名,对交易详情单进行验证,如果验证成功,证明这笔交易详情单确实由发起方地址发出,且未被修改。

3、玩家B确定上述是通过验证的交易请求,且确定要进行交易,就立即发送交易请求,支付交易现金或者虚拟货币到支付地址。

4、玩家A收到玩家B交易请求中的交易标识和支付地址中的虚拟货币,系统则自动将商品放置到玩家B的账户中,交易详情信息自动发布到全网,记录在区块中,交易到此结束。以上环节中,只要有一个环节验证未通过,则交易取消。

以上是交易生成过程,图3反映了交易生成的具体实现过程。

4.3.2   节点验证

游戏资产交易平台中,上述环节中一旦判断交易有效,玩家A获得玩家B支付地址中虚拟币,玩家B获得玩家A的游戏道具,这时会将交易详细信息写入区块中,此时承载这个交易信息的节点可以称为主节点,主节点向其他节点发送交易区块信息,其他节点收到信息后,发出信息,如果收到信息和发出信息内容一样,就表明其他节点对该区块达成一致,这时就可以将区块信息加入到区块链中。

上述实现的过程是一种复制副本的服务,这个过程包括状态转变和不同的操作方式,操作中涉及到状态的转变和操作参数的计算。一旦发起请求来执行操作,就会通过设置堵塞来等待信息回复。在上述过程中,出现故障或失效的节点数目只要小于(n-1)/3,那么系统的安全性就会有保障。

5   应用中的不足

本文中设计的一种游戏资产交易方式在实际开发过程中会出现一些问题,例如在开发过程中,由于区块链是一个去中心化的网络系统,系统中节点很多,每个节点都记录相同的数据,节点中的数据信息也是公开透明、不可篡改的,那么用户数据在公开透明的节点中应该如何被监管,这是值得思考的问题;交易一旦发生,节点就需要同步数据,这个过程会花费很多时间,造成交易过程效率不高;在数据流量很大的时候,容易出现网络拥塞。区块链技术有很多优势,但是也有一些应用上的不足,如何将优势完美的发挥出来,这些都需要去对现有区块链技术重点的进行研究,并花费大量的时间去好好打磨。

6   结   论

介绍的游戏资产交易平台只是区块链技术中一个简单的应用,区块链的应用还远远不够,它之后的发展前景将会颠覆人们已有的认知。但是在区块链应用趋势中,最关键的一点是要能够掌握深层次的开发和运用技术,虽然目前国内有很多区块链技术应用的实例。但这些都仅仅是牛刀小试,还需要进一步的探索。相信在不久的将来,将会看到区块链技术广泛运用在各行各业,打造出一个全民区块链的时代。

参考文献

[1]    奚声慧.网络游戏产业之经济学分析[D].上海:上海社会科学院,2007.

[2]    聂煜烽.网络游戏中虚拟物品交易规制研究[D].湘潭:湘潭大学,2016.

[3]   PILKINGTON M. Blockchain technology:priciplesand applications[OL].http://ideas.repec.org/p/hal/journl/halshs-01231205.html.

[4]    (韩)魏晶泫.网络游戏产业发展战略[M]. 北京:清华大学出版社,2008.

[5]    阿尔文德·纳拉亚南,纳什·贝努.区块链:技术驱动金融[M].北京:中信出版集团,2016:26—39.

[6]    FlorianGlatz:whats a smart contract in search of a consensus[OL] https://medium.com/@heckerhut/whats-a-smart-contract-in-search-of-a-consensus-c268c830a8ad.

[7]    邹军,张海宁,唐屹,等.区块链技术指南[M].北京:机械工业出版社,2016:133—155.

[8]    SCHOLLMEIER R. A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications[C]. In: Proc.of the 1st Int′l Conf. on P2P'01. IEEE,2001. 101—102.

[9]    楊义.P2P流媒体视频分发合作节点选择模型研究[D].贵阳:贵州大学,2016

[10]  COURTOIS N T,GRAJEK M,NAIK R. Optimizing  SHA256 in bitcoin mining[J]. Cryptography and Security Systems. Berlin Heidelberg:Springer,2014.131—144.

[11]  PEASE M,SHOSTAK R,LAMPORT L.Reaching Agreement in the Presence of Faulrs[J].Journal of the ACM,1980,27(2):228—234.

[12]  VUKOLIC M. The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication[C]//International Workshop on Open Problems in Network Security. Springer International Publishing,2015:112—125.

[13]  黄步添,王云霄,王从礼,等.一种应用于区块链的拜占庭容错共识方法:中国,CN106445711A[P].2017-02-22.

[14]  张铮文.一种用于区块链的拜占庭容错算法[OL].[2017-07-03].http://www.onchain.com/paper/66c6773b.pdf.

[15]  夏新岳.基于区块链的股权资产购买和转增设计与实现[C].呼和浩特:内蒙古大学,2016.

猜你喜欢

区块链共识
两场活动预热 凝聚区域高质量发展共识
BEIJING CONSENSUS on artificial intelligence nd education(Ⅲ)
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
用“区块链”助推中企走出去