1.本说明书多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的游戏内元素的交易方法及装置。
背景技术:
2.游戏内元素,是指用户游玩电子游戏过程中可以感知到的,与游戏内容有关的元素。游戏内元素通常是电子游戏的业务系统在游戏内创建的。游戏内元素例如可以是游戏内的虚拟形象、游戏内的虚拟道具、游戏内的音乐、游戏内的地图款式、游戏内的通关任务等等。
3.在电子游戏的业务系统中注册过的用户,可以拥有对一个或多个游戏内元素的所有权。例如,用户可以向电子游戏的业务系统购买虚拟形象,拥有对这个虚拟形象的所有权。又如,用户可以请求电子游戏的业务系统在电子游戏内创建一个通关任务,并拥有对这个通关任务的所有权。
4.由于需要由电子游戏的业务系统维护游戏内元素与用户的归属关系,因此,未在电子游戏的业务系统中注册过的用户通常无法拥有对游戏内元素的所有权,而如果要求用户必须在电子游戏的业务系统中进行注册后才有资格获得游戏内元素,则又会给用户带来不便。
技术实现要素:
5.本说明书的多个实施例提供一种基于区块链的游戏内元素的交易方法及装置。
6.本说明书多个实施例提供技术方案如下:
7.根据本说明书多个实施例的第一方面,提出了一种基于区块链的游戏内元素的交易方法,用于实现在第一业务系统中注册过的第一用户获得第二业务系统所创建的游戏内元素,所述第二业务系统是电子游戏的业务系统,所述方法包括:
8.所述第一业务系统调用区块链系统中的智能合约执行:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户;
9.所述第二业务系统调用区块链系统中的智能合约执行:发行所述游戏内元素对应的数字化凭证;
10.所述第一业务系统响应于所述第一用户对所述游戏内元素的第一交易请求,向所述第二业务系统发送第二交易请求;所述第二交易请求指定了所述第一用户的区块链账户与所述游戏内元素;
11.所述第二业务系统响应于所述第二交易请求,调用区块链系统中的智能合约执行:记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。
12.根据本说明书多个实施例的第二方面,提出了一种基于区块链的游戏内元素的交易装置,用于实现在第一业务系统中注册过的第一用户获得第二业务系统所创建的游戏内元素,所述第二业务系统是电子游戏的业务系统,所述装置包括应用于第一业务系统的第
一模块,与应用于第二业务系统的第二模块;
13.所述第一模块,调用区块链系统中的智能合约执行:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户;响应于所述第一用户对所述游戏内元素的第一交易请求,向所述第二业务系统发送第二交易请求;所述第二交易请求指定了所述第一用户的区块链账户与所述游戏内元素;
14.所述第二模块,调用区块链系统中的智能合约执行:发行所述游戏内元素对应的数字化凭证;响应于所述第二交易请求,调用区块链系统中的智能合约执行:记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。
15.在上述的技术方案中,为了实现用户不注册游戏账号也能拥有对游戏内元素的所有权之目的,一方面,打通不同业务系统的用户体系,在区块链系统中为用户注册跨业务系统的全局身份,即区块链账户,用户原本所属的业务系统可以根据用户之前注册时提供的身份相关信息为用户注册区块链账户。另一方面,利用区块链系统中发行的数字化凭证映射链下的游戏内元素,可以由区块链系统的智能合约来对游戏内元素的所有权归属进行记载。
16.通过上述技术方案,用户不必在电子游戏的业务系统中进行注册,就可以获得对该电子游戏的游戏内元素的所有权。
附图说明
17.图1是一示例性实施例提供的一种创建智能合约的示意图。
18.图2是一示例性实施例提供的一种调用智能合约的示意图。
19.图3是一示例性实施例提供的一种创建和调用智能合约的示意图。
20.图4是本公开提供的一种基于区块链的游戏内元素的交易方法的流程示意图。
21.图5是本公开示例性提供的一种游戏内虚拟道具的交易流程的示意图。
具体实施方式
22.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
23.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
24.在本公开提供的技术方案中,为了实现用户不注册游戏账号也能拥有对游戏内元素的所有权之目的,一方面,打通不同业务系统的用户体系,在区块链系统中为用户注册跨业务系统的全局身份,即区块链账户,用户原本所属的业务系统可以根据用户之前注册时提供的身份相关信息为用户注册区块链账户。另一方面,利用区块链系统中发行的数字化
凭证映射链下的游戏内元素,可以由区块链系统的智能合约来对游戏内元素的所有权归属进行记载。
25.本文所述的游戏内元素,是指用户游玩电子游戏过程中可以感知到的,与游戏内容有关的元素。游戏内元素通常是电子游戏的业务系统在游戏内创建的。游戏内元素例如可以是游戏内的虚拟形象、游戏内的虚拟道具、游戏内的音乐、游戏内的地图款式、游戏内的通关任务等等。
26.通过上述技术方案,可以实现如下技术效果:
27.1、由于用户原本所属的业务系统可以根据用户之前注册时提供的身份相关信息为用户注册区块链账户,因此,用户不必亲自注册区块链账户,不会给用户带来不便。
28.2、将链下的游戏内元素映射为链上的数字化凭证,从而可以实现由区块链系统的智能合约来对游戏内元素的所有权归属进行记载,这相比于由游戏的业务系统对游戏内元素的所有权归属进行记载,更加难以被篡改,也就更加可信。
29.3、由于利用区块链系统的智能合约来对游戏内元素的所有权归属进行记载,可以不需要游戏的业务系统对游戏内元素的所有权归属进行记载,因此,也就进一步消除了用户在游戏的业务系统中进行注册的必要性。
30.此外需要说明的是,应用本公开提供的技术方案,除了能够实现上述技术效果之外,还具有一定的商业价值。可以将不同游戏的业务方的用户体系打通,一个游戏内可以向用户推荐另一个游戏的游戏内元素,一个游戏的用户可以不需要在另一个游戏内进行注册,就可以通过交易获得另一个游戏的游戏内元素,该用户有可能因为拥有了对另一个游戏的游戏内元素的所有权,就对另一个游戏产生了兴趣。这样可以实现不同游戏间的用户引流,具有比较好的营销效果。
31.进一步地,还可以跨行业打通用户体系,即打通游戏行业与非游戏行业的用户体系,非游戏行业的业务方可以在自己的业务领域内,向用户推荐某个游戏的游戏内元素,吸引用户通过交易获得该游戏内元素,进而有可能吸引该用户转化为游戏用户。这样可以实现非游戏行业向游戏行业的用户引流,也具有比较好的营销效果。
32.以下先对区块链技术进行介绍。
33.区块链一般被划分为三种类型:公有链(public blockchain),私有链(private blockchain) 和联盟链(consortium blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出系统,并进行相关操作。私有链则相反,该系统的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入系统并组成利益相关联盟,共同维护区块链运行。
34.不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易(通常是客户端发起的)触发执行的合约。智能合约可以通过代码的形式定义。
35.此处需要说明,在区块链领域,向区块链系统提交的用于调用智能合约的请求具有区块链协议规定的数据结构,通常被称为交易。区块链交易是一种数据结构,而本文中各实施例中所述的基于区块链的交易方法中的“交易”是指交易活动,本领域技术人员能够对这两种交易表述在含义上进行区分。
36.以以太坊为例,支持用户在以太坊系统中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链的核心是以太坊虚拟机(evm),每个以太坊节点都可以运行evm。evm是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在evm上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上的智能合约可以是字节码的形式。
37.例如图1所示,bob将一个包含创建智能合约信息的交易发送到以太坊系统后,节点1 的evm可以执行这个交易并生成对应的合约实例。图1中的“0x6f8ae93
…”
代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为空。节点间通过共识机制达成一致后,这个合约成功创建,并且可以在后续过程中被调用。合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码将保存在该合约账户中。智能合约的行为由合约代码控制。
38.如图2所示,仍以以太坊为例,bob将一个用于调用智能合约的交易发送到以太坊系统后,某一节点的evm可以执行这个交易并生成对应的合约实例。图2中交易的from字段是交易发起方(即bob)的账户的地址,to字段中的“0x6f8ae93
…”
代表了被调用的智能合约的地址,value字段在以太坊中是以太币的值,交易的data字段保存的调用智能合约的方法和参数。调用智能合约后,balance的值可能改变。后续,某个客户端可以通过某一区块链节点 (例如图2中的节点6)查看balance的当前值。智能合约以规定的方式在区块链系统中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当交易完成后,区块链上就保存了无法篡改、不会丢失的交易凭证。
39.创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、编译成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,智能合约代码分布式的运行在以太坊系统中每个节点的虚拟机中。
40.需要说明的是,除了可以由用户创建智能合约,也可以在创世块中由系统设置智能合约。这类合约一般称为创世合约。一般的,创世合约中可以设置一些区块链系统的数据结构、参数、属性和方法。此外,具有系统管理员权限的账户可以创建系统级的合约,或者修改系统级的合约(简称为系统合约)。另外除了以太坊中的evm外,不同的区块链系统还可能采用各种的虚拟机,这里并不限定。
41.区块链系统中的节点在执行调用智能合约的交易后,会生成相应的收据(receipt),以用于记录与执行该智能合约相关的信息。这样,可以通过查询交易的收据来获得合约执行结果的相关信息。合约执行结果可以表现为收据中的事件(event)。消息机制可以通过收据中的事件实现消息传递,以触发区块链节点或部署该区块链节点的节点设备执行相应的处理。
42.事件的结构譬如可以为:
43.event:
44.[topic][data]
[0045]
[topic][data]
[0046]
......
[0047]
在上述示例中,事件的数量可以为一个或多个;其中,每个事件分别包括主题(topic) 和数据(data)等字段。区块链节点或部署该区块链节点的节点设备可以通过监听事件的topic,从而在监听到预定义的topic的情况下,执行预设处理,或者从相应事件的data字段读取相关内容,以及可以基于读取的内容执行预设处理。
[0048]
上述的事件机制中,相当于在监听方(比如存在监听需求的用户)处存在具有监听功能的客户端,譬如该客户端上运行了用于实现监听功能的sdk等,由该客户端对区块链节点产生的事件进行监听,而区块链节点只需要正常生成收据即可。除了上述的事件机制之外,还可以通过其他方式实现交易信息的透出。例如,可以通过在区块链节点运行的区块链平台代码中嵌入监听代码,使得该监听代码可以监听区块链交易的交易内容、智能合约的合约状态、合约产生的收据等其中的一种或多种数据,并将监听到的数据发送至预定义的监听方。由于监听代码部署于区块链平台代码中,而非监听方的客户端处,因而相比于事件机制而言,这种基于监听代码的实现方式相对更加的主动。其中,上述的监听代码可以由区块链平台的开发人员在开发过程中加入区块链平台代码,也可以由监听方基于自身的需求而嵌入,本说明书并不对此进行限制。
[0049]
区块链技术区别于传统技术的去中心化特点之一,就是在各个节点上进行记账,或者称为分布式记账,而不是传统的集中式记账。区块链系统要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化诚实可信系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆。不同类型的区块链系统中,为了在各个记录账本的节点中保持账本的一致,通常采用共识算法来保证,即前述提到的共识机制。例如,区块链节点之间可以实现区块粒度的共识机制,比如在节点(例如某个独特的节点)产生一个区块后,如果产生的这个区块得到其它节点的认可,其它节点记录相同的区块。再例如,区块链节点之间可以实现交易粒度的共识机制,比如在节点(例如某个独特的节点)获取一笔区块链交易后,如果这笔区块链交易得到其他节点的认可,认可该区块链交易的各个节点可以分别将该区块链交易添加至自身维护的最新区块中,并且最终能够确保各个节点产生相同的最新区块。共识机制是区块链节点就区块信息(或称区块数据)达成全网一致共识的机制,可以保证最新区块被准确添加至区块链。当前主流的共识机制包括:工作量证明(proof of work,pow)、股权证明(proof of stake,pos)、委任权益证明(delegated proof of stake,dpos)、实用拜占庭容错(practical byzantine fault tolerance,pbft)算法,honeybadgerbft算法等。
[0050]
图4是本公开提供的一种基于区块链的游戏内元素的交易方法的流程示意图,可以包括以下步骤:
[0051]
s400:第一业务系统调用区块链系统中的智能合约执行:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户。
[0052]
图4所示的方法流程用于实现,在第一业务系统中注册过的第一用户获得第二业务系统所创建的游戏内元素。
[0053]
第一业务系统与第二业务系统可以是相互独立的两个业务系统,也就是说,一个
用户在其中一个业务系统中进行了注册,并不意味着同时也完成了在另一个业务系统中的注册,第一业务系统与第二业务系统的用户体系并不是打通的。
[0054]
本文将第二业务系统作为电子游戏的业务系统,第二业务系统创建游戏内元素,在第一业务系统中注册过的第一用户想要获得该游戏内元素。
[0055]
第一业务系统可以是其他电子游戏的业务系统,也可以是非电子游戏业务的业务系统。
[0056]
例如,第一业务系统可以是游戏a的业务系统,第二业务系统可以是游戏b的业务系统,游戏a的业务系统可以向游玩游戏a的用户推荐游戏b的游戏道具,游玩游戏a的用户可以直接向游戏a的业务系统请求获得游戏b的游戏道具的所有权。
[0057]
又如,第一业务系统可以是某个运动鞋品牌的业务系统,第二业务系统可以是游戏b的业务系统,该运动鞋品牌的门店可以展示有关游戏b中的虚拟形象的推广广告,参观门店的用户可以前往门店服务台,请求获得游戏b中的虚拟形象的所有权,门店服务台可以通过运动鞋品牌的业务系统向游戏b的业务系统发送交易请求。
[0058]
需要说明的是,图4所示方法仅以第一业务系统与第二业务系统为一组交易双方进行说明,在实践中,多个业务系统可以参与本方案的实现,任意两个业务系统都可以具有第一业务系统与第二业务系统的关系。
[0059]
在一些实施例中,第一业务系统对应的第一业务方可以管理所述区块链系统的至少一个区块链节点。所述第二业务系统对应的第二业务方可以管理所述区块链系统的至少一个区块链节点。也就是说,区块链系统可以是联盟链架构,第一业务方与第二业务方都可以作为联盟成员。此外,可以吸纳更多的业务方作为联盟成员,打通更多的业务方之间的用户体系。
[0060]
第一用户在第一业务系统中进行注册时提供的身份相关信息,可以是用于注册系统账户所需要的常规信息,例如手机号、性别、姓名等等。此外,身份相关信息也可以包括用户提供的身份认证信息,如密码、指纹特征、人脸特征等。另外,身份相关信息也可以包括用户的私钥对应的公钥。
[0061]
在为第一用户注册区块链账户时,可以沿用第一用户在第一业务系统中进行注册时提供过的身份相关信息,这样也就不需要第一用户亲自注册自己的区块链账户。
[0062]
不同的业务系统可以为自己管理的注册用户注册区块链账户,区块链账户是跨业务系统的全局唯一账户,从而使得不同的业务系统之间可以打通用户体系,共享用户流量。
[0063]
在一些实施例中,可以根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户创建中心化身份,作为所述第一用户的区块链账户。
[0064]
去中心化身份技术,是基于分布式系统(如区块链系统)实现的一种数字化的身份凭证技术,而其构成元素至少包括数字身份标识(did)和数字身份文档(did文档)。
[0065]
在一些实施例中,可以将在所述第一用户的did的did文档中,记载所述数字化凭证的凭证标识。数字化凭证的凭证标识可以是数字化凭证的编码本身,也可以不是数字化凭证的编码本身。
[0066]
s402:第二业务系统调用区块链系统中的智能合约执行:发行所述游戏内元素对应的数字化凭证。
[0067]
为了将游戏内元素的所有权归属记载工作交由区块链系统负责,第二业务系统需
要嗲用区块链系统的智能合约,在链上发行游戏内元素对应的数字化凭证。
[0068]
数字化凭证可以理解为一种链上发行的编码,其可以与链下的虚拟物品或实体物品唯一对应,是链下的物品在链上的映射。在一些实施例中可以采用一种常见的数字化凭证协议 (erc721)来发行称为非同质化凭证(non-fungible token,nft)的数字化凭证。当然,也可以采用其他数字化凭证协议发行数字化凭证。
[0069]
在步骤s402中,第二业务系统在调用智能合约时,可以向智能合约指定游戏内元素的相关信息。
[0070]
游戏内元素的相关信息,包括以下至少一个:所述电子游戏的描述信息;所述游戏内元素的描述信息;所述第一业务系统指定的发行时间。其中,电子游戏的描述信息可以包括电子游戏的名称和/或电子游戏的简介。游戏内元素的描述信息用于描述游戏内元素,例如可以是图片。
[0071]
游戏内元素的相关信息上可以具有所述第一业务系统对应的签名信息。智能合约若对所述游戏内元素的相关信息上具有的签名信息进行校验通过,则可以根据所述游戏内元素的相关信息,发行数字化凭证。若对所述游戏内元素的相关信息上具有的签名信息进行校验不通过,则可以拒绝发行数字化凭证。
[0072]
在一些实施例中,智能合约可以基于预设算法生成数字化凭证,并且记录数字化凭证与游戏内元素的唯一标识之间的关联关系。
[0073]
在另一些实施例中,智能合约可以基于游戏内元素的相关信息来生成并发行数字化凭证。例如,以所述游戏内元素的相关信息为计算输入,执行指定计算,输出所述数字化凭证的编码。
[0074]
在一些实施例中,上述的指定计算可以是,计算所述计算输入的哈希值,作为基础部分,以及为所述游戏元素分配唯一索引值,作为附加部分,将所述基础部分与所述附加部分进行组合;对所述基础部分与所述附加部分的组合进行加密,得到计算输出。
[0075]
相应地,可以调用智能合约实现对于某个待校验的数字化凭证的校验,校验其是否是合法的数字化凭证(即是否对应于一个链下的物品)。校验步骤可以包括:解密待校验数字化凭证的编码,得到基础部分与附加部分;判断解密得到的基础部分是否为获取过的任一游戏内元素的相关信息的哈希值;并且,判断附加部分是否为该游戏内元素的唯一索引值;若判断结果皆为是,则确定校验通过;若任一判断结果为否,则确定校验不通过。
[0076]
s404:第一业务系统响应于所述第一用户对所述游戏内元素的第一交易请求,向所述第二业务系统发送第二交易请求。
[0077]
本文为了描述的方便,将第一用户向第一业务系统发送的交易请求称为第一交易请求,将第一业务系统向第二业务系统发送的交易请求称为第二交易请求。第二交易请求需要指定第一用户的区块链账户与第一用户想要获得的游戏内元素。
[0078]
s406:第二业务系统响应于所述第二交易请求,调用区块链系统中的智能合约执行:记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。
[0079]
在一些实施例中,智能合约若对所述第一业务系统调用所述区块链系统的智能合约时所提交签名进行校验通过,则可以记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。若对所述第一业务系统调用所述区块链系统的智能合约时所提交签名进行校验不通过,则可以拒绝记载所述数字化凭证与所述第一用户的区块链账户之间的关联
关系。
[0080]
另外,在一些实施例中,在第一用户发起交易之前,第二业务系统创建的游戏内元素可以不属于任何用户,而是由第二业务系统进行保管。
[0081]
在另一些实施例中,在第一用户发起交易之前,第二业务系统创建的游戏内元素可以属于第二用户,即在所述第二业务系统中注册过的第二用户预先获得所述游戏内元素。例如,游戏内元素可以是第二用户通过游玩游戏获得的奖励道具。又如,游戏内元素可以是第二用户在游戏内制作的虚拟形象。
[0082]
所述第二业务系统调用区块链系统中的智能合约执行:根据所述第二用户在所述第二业务系统中进行注册时提供的身份相关信息,为所述第二用户注册区块链账户;
[0083]
这种情况下,图4所示方法流程还可以包括,所述第二业务系统调用区块链系统中的智能合约执行:根据所述第二用户在所述第二业务系统中进行注册时提供的身份相关信息,为所述第二用户注册区块链账户。
[0084]
相应地,在所述第二业务系统响应于所述第二交易请求之前,第二业务系统可以调用区块链系统中的智能合约执行的步骤还可以包括:记载所述数字化凭证与所述第二用户的区块链账户之间的关联关系。
[0085]
相应地,在所述第二业务系统响应于所述第二交易请求之后,所述第二业务系统调用区块链系统中的智能合约执行的步骤还可以包括:消除所述数字化凭证与所述第二用户的区块链账户之间的关联关系的记载。
[0086]
第二用户的区块链账户也可以是did,在第一用户发起交易之前,第二用户的did的 did文档中可以记载数字化凭证标识。在第一用户发起交易之后,可以在第二用户的did的did文档中,删除所述数字化凭证的凭证标识。
[0087]
另外,第一用户从第二用户处获得对游戏内元素的所有权,可以需要经过第二用户的同意。在一些实施例中,第二业务系统响应于所述第二交易请求,可以询问所述第二用户是否同意所述第二交易请求,若所述第二用户同意所述第二交易请求,则调用区块链系统中的智能合约执行记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。若第二用户不同意,则可以拒绝区块链系统中的智能合约执行记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。
[0088]
在一些实施例中,如果交易是有偿交易,即游戏内元素具有价款,那么第一业务系统可以从第一用户的账户余额中扣除价款,并将价款转移至第二业务系统。第一用户的账户余额可以是在银行账户余额。
[0089]
进一步地,如果游戏内元素原本属于第二用户,则第二业务系统还需要将价款转移给第二用户。
[0090]
此外,第一用户的账户余额也可以是区块链账户的余额,即链上余额。如果账户余额是链上余额,则扣款操作可以是由第二业务系统调用区块链系统的智能合约完成的,扣除的价款可以转移至第二业务系统的区块链账户。
[0091]
进一步地,如果游戏内元素原本属于第二用户,则智能合约可以在执行了扣款操作之后,将扣除的价款直接转移至第二用户的区块链账户。
[0092]
图5是本公开示例性提供的一种游戏内虚拟道具的交易流程的示意图。如图5所示,游戏a的业务系统向游戏a的用户x推荐游戏b的虚拟道具(原本属于用户y),用户x对此
虚拟道具感兴趣,向游戏a的业务系统请求购买。游戏a的业务系统进而请求游戏b的业务系统,为用户x购买虚拟道具。游戏b的业务系统询问用户y是否同意交易,用户y同意交易后,游戏b的业务系统调用区块链系统中的智能合约,将虚拟道具的数字化凭证由用户y的区块链账户转移至用户x的区块链账户。
[0093]
本公开还提供一种基于区块链的游戏内元素的交易装置,用于实现在第一业务系统中注册过的第一用户获得第二业务系统所创建的游戏内元素,所述第二业务系统是电子游戏的业务系统,所述装置包括应用于第一业务系统的第一模块,与应用于第二业务系统的第二模块;
[0094]
所述第一模块,调用区块链系统中的智能合约执行:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户;响应于所述第一用户对所述游戏内元素的第一交易请求,向所述第二业务系统发送第二交易请求;所述第二交易请求指定了所述第一用户的区块链账户与所述游戏内元素;
[0095]
所述第二模块,调用区块链系统中的智能合约执行:发行所述游戏内元素对应的数字化凭证;响应于所述第二交易请求,调用区块链系统中的智能合约执行:记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。
[0096]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0097]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0098]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0099]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和 /或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0100]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0101]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0102]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0103]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0104]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
[0105]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0106]
综上所述,本说明书披露的一些实施例中,通过数字身份技术把数字化物品和数字身份连接,而前述数字身份可进一步包括身份认证信息以使得数字化物品的交易可以满足监管 kyc的要求。在有些实施例中,部分或所有数字身份均完全实名认证,提供一个完全实名认证的基于区块链的交易系统。这样的系统有利于反洗钱发欺诈运营,成为一个真正可信交易系统。在一些实施例中,将数字化物品与数字身份所附随的记录、验证功能相结合,便可简便地对交易对象、交易参与方等交易要素进行记录及验证,进而提高交易的便利性和可靠性。在另一些实施例中,可不依赖数字身份,而由交易方的客户端调用区块链系统中的智能合约在链上创建数字化物品与其所有方之间的关联关系表,并将该等关联关系表存储于智能合约中,进而在链上对数字化物品的所有权归属进行可信记载。
[0107]
上述对本说明书多个实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
[0108]
在本说明书多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书多个实施例。在本说明书多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0109]
应当理解,尽管在本说明书多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0110]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0111]
以上所述仅为本说明书多个实施例的较佳实施例而已,并不用以限制本说明书多个实施例,凡在本说明书多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书多个实施例保护的范围之内。
技术特征:
1.一种基于区块链的游戏内元素的交易方法,用于实现在第一业务系统中注册过的第一用户获得第二业务系统所创建的游戏内元素,所述第二业务系统是电子游戏的业务系统,所述方法包括:所述第一业务系统调用区块链系统中的智能合约执行:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户;所述第二业务系统调用区块链系统中的智能合约执行:发行所述游戏内元素对应的数字化凭证;所述第一业务系统响应于所述第一用户对所述游戏内元素的第一交易请求,向所述第二业务系统发送第二交易请求;所述第二交易请求指定了所述第一用户的区块链账户与所述游戏内元素;所述第二业务系统响应于所述第二交易请求,调用区块链系统中的智能合约执行:记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。2.如权利要求1所述方法,所述第一业务系统是其他电子游戏的业务系统;或者所述第一业务系统是非电子游戏业务的业务系统。3.如权利要求1所述方法,所述第一业务系统对应的第一业务方管理所述区块链系统的至少一个区块链节点;所述第二业务系统对应的第二业务方管理所述区块链系统的至少一个区块链节点。4.如权利要求1所述方法,根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户,包括:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户创建中心化身份did,作为所述第一用户的区块链账户。5.如权利要求4所述方法,记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系,包括:在所述第一用户的did的did文档中,记载所述数字化凭证的凭证标识。6.如权利要求1所述方法,发行所述游戏内元素对应的数字化凭证,包括:获取所述第二业务系统调用所述区块链系统的智能合约时指定的,所述游戏内元素的相关信息;根据所述游戏内元素的相关信息,发行数字化凭证。7.如权利要求1所述方法,所述游戏内元素的相关信息上具有所述第一业务系统对应的签名信息;根据所述游戏内元素的相关信息,发行数字化凭证,包括:若对所述游戏内元素的相关信息上具有的签名信息进行校验通过,则根据所述游戏内元素的相关信息,发行数字化凭证。8.如权利要求6所述方法,所述游戏内元素的相关信息,包括以下至少一个:所述电子游戏的描述信息;所述游戏内元素的描述信息;所述第一业务系统指定的发行时间。9.如权利要求6所述方法,所述数字化凭证的编码通过如下方式生成:
以所述游戏内元素的相关信息为计算输入,执行指定计算,输出所述数字化凭证的编码。10.如权利要求9所述方法,执行指定计算包括:计算所述计算输入的哈希值,作为基础部分,以及为所述游戏元素分配唯一索引值,作为附加部分,将所述基础部分与所述附加部分进行组合;对所述基础部分与所述附加部分的组合进行加密,得到计算输出。11.如权利要求10所述方法,还包括:调用所述区块链系统中的智能合约执行:对待校验数字化凭证进行校验;所述校验步骤包括:解密待校验数字化凭证的编码,得到基础部分与附加部分;判断解密得到的基础部分是否为获取过的任一游戏内元素的相关信息的哈希值;并且,判断附加部分是否为该游戏内元素的唯一索引值;若判断结果皆为是,则确定校验通过;若任一判断结果为否,则确定校验不通过。12.如权利要求1所述方法,记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系,包括:若对所述第一业务系统调用所述区块链系统的智能合约时所提交签名进行校验通过,则记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。13.如权利要求1所述方法,在所述第二业务系统中注册过的第二用户预先获得所述游戏内元素;所述方法还包括:所述第二业务系统调用区块链系统中的智能合约执行:根据所述第二用户在所述第二业务系统中进行注册时提供的身份相关信息,为所述第二用户注册区块链账户;在所述第二业务系统响应于所述第二交易请求之前,所述第二业务系统调用区块链系统中的智能合约执行的步骤还包括:记载所述数字化凭证与所述第二用户的区块链账户之间的关联关系;在所述第二业务系统响应于所述第二交易请求之后,所述第二业务系统调用区块链系统中的智能合约执行的步骤还包括:消除所述数字化凭证与所述第二用户的区块链账户之间的关联关系的记载。14.如权利要求13所述方法,根据所述第二用户在所述第二务系统中进行注册时提供的身份相关信息,为所述第二用户注册区块链账户,包括:根据所述第二用户在所述第二业务系统中进行注册时提供的身份相关信息,为所述第二用户创建did,作为所述第二用户的区块链账户。15.如权利要求14所述方法,记载所述数字化凭证与所述第二用户的区块链账户之间的关联关系,包括:在所述第二用户的did的did文档中,记载所述数字化凭证的凭证标识;消除所述数字化凭证与所述第二用户的区块链账户之间的关联关系的记载,包括:在所述第二用户的did的did文档中,删除所述数字化凭证的凭证标识。16.如权利要求13所述方法,所述第二业务系统响应于所述第二交易请求,调用区块链
系统中的智能合约,包括:所述第二业务系统响应于所述第二交易请求,询问所述第二用户是否同意所述第二交易请求;若所述第二用户同意所述第二交易请求,则调用区块链系统中的智能合约。17.一种基于区块链的游戏内元素的交易装置,用于实现在第一业务系统中注册过的第一用户获得第二业务系统所创建的游戏内元素,所述第二业务系统是电子游戏的业务系统,所述装置包括应用于第一业务系统的第一模块,与应用于第二业务系统的第二模块;所述第一模块,调用区块链系统中的智能合约执行:根据所述第一用户在所述第一业务系统中进行注册时提供的身份相关信息,为所述第一用户注册区块链账户;响应于所述第一用户对所述游戏内元素的第一交易请求,向所述第二业务系统发送第二交易请求;所述第二交易请求指定了所述第一用户的区块链账户与所述游戏内元素;所述第二模块,调用区块链系统中的智能合约执行:发行所述游戏内元素对应的数字化凭证;响应于所述第二交易请求,调用区块链系统中的智能合约执行:记载所述数字化凭证与所述第一用户的区块链账户之间的关联关系。
技术总结
本说明书披露的多个实施例提供了一种基于区块链的游戏内元素的交易方法及装置。为了实现用户不注册游戏账号也能拥有对游戏内元素的所有权之目的,一方面,打通不同业务系统的用户体系,在区块链系统中为用户注册跨业务系统的全局身份,即区块链账户,用户原本所属的业务系统可以根据用户之前注册时提供的身份相关信息为用户注册区块链账户。另一方面,利用区块链系统中发行的数字化凭证映射链下的游戏内元素,可以由区块链系统的智能合约来对游戏内元素的所有权归属进行记载。对游戏内元素的所有权归属进行记载。对游戏内元素的所有权归属进行记载。
技术研发人员:张轲 王吉元 夏凝
受保护的技术使用者:蚂蚁区块链科技(上海)有限公司
技术研发日:2021.11.30
技术公布日:2022/3/8