3.1 总体设计思路

本章主要为您介绍 Cocos-BCX 项目业务与运行设计,能帮您快速了解整体项目的基本情况。

完整的钱包和区块链浏览器

Cocos-BCX项目向多种运行平台提供数字资产钱包,包括Android、iOS及Windows等操作系统,确保主流运行环境下的用户均可以参与资产流转。通过数字资产钱包,用户可以将所有的游戏数字资产和通过承兑网关导入的ERC20资产存储在其中,更加方便在游戏金币流通平台完成资产出让和购入。另一方面,Cocos-BCX对数字资产钱包进行了金融级别的算法加密,同时会结合运行平台的KYC认证服务,确保用户存储在钱包中的数字财产安全。

Cocos-BCX 在钱包中直接提供区块链浏览器功能。区块链浏览器是浏览区块链信息的主要窗口,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。每一个独立的区块链系统都有对应的区块链浏览器。Cocos-BCX 提供一个完整的、带有查询和跳转功能的区块链浏览器,例如当用户在游戏中产出一件珍惜级别的道具资产时,对应的游戏道具数据就会在主链中产生,用户可在区块链浏览器中查询到对应的事务信息,Cocos-BCX的区块链浏览器支持原子操作的查阅。区块链浏览器可以让用户更加透明的了解自己的资产分布,所有的数据在链上记录,真实不可篡改。

可迭代更新的智能合约系统

以Ethereum为代表的智能合约体系,其智能合约一旦定义发布后就无法再修改,难以满足链上游戏逻辑更新、漏洞修复对合约系统的需求,因此我们在设计合约系统时针对游戏合约需要更新、漏洞修补等场景的需求做出了可迭代更新的合约系统设计。

智能合约迭代更新

智能合约迭代更新

当合约开发者将定义的合约发布至链网络后,系统允许具备此合约开发者权限的用户使用修改后的合约更新此合约,虽然旧的合约仍然存在(确保合约的公开和公正性),但链上的合约地址的内容将被新的合约数据覆盖,多合约应用无需更新引用关系。

声明世界观

当下游戏体系中,许多道具设计都是泛用,为了减少重复设计、增加游戏开发效率以及趣味性,Cocos-BCX引入了世界观的概念,世界观相同的游戏资产和道具可以进行互通。区块链游戏的世界观是一种用于区分故事设定、角色/道具/规则设定和效用范围的标识,游戏道具在世界观遵循统一的世界规范,世界观相同的游戏资产和道具能够通过支付迁移费用在本世界观下的不同游戏世界中迁移、互通,即游戏道具的“穿越”。

在Cocos-BCX设计中,世界观中定义了一类非同质数字资产的使用场景、流通规则、定制登记,以及世界观的基本信息即世界观ID以及世界流通代币符号等。

以“型月世界”(TYPE-MOON)为例,其世界观是统一的——每作有相同的世界观,并且在不断完善它。其作品包含:
 同人作品发售的月姬;
 作为个人小说出版的空之境界;
 作为商业化第一作的Fate/Stay Night;
 Fate/Stay Night的fan disc Fate/Hollow Ataraxia;
 剧情格斗游戏Melty Blood系列。

一个世界观内的各作品中的人物、道具、设定体系通常是通用的,现实中也常有数个厂商共同在一个世界观中开发各类作品的情况。

Cocos-BCX允许游戏开发者在创世时声明世界观,允许世界观有自己的治理委员会(和共识委员会),未来还将允许世界观具备自己独立的链环境。

跨越世界的道具“穿越”

世界观相同的游戏资产和道具可以在本世界观下的不同游戏世界中互通,例如下图中的游戏B的道具,可以进入游戏A与游戏C的世界中进行使用。

支持相同或相似世界观的不同游戏道具流通

支持相同或相似世界观的不同游戏道具流通

游戏道具在世界观遵循统一的世界规范,能够通过支付迁移费用在本世界观下的不同游戏世界中迁移,即游戏道具的“穿越” ;道具是一种用于链上游戏的非同质数字资产,道具的“穿越”即同一世界观下的资产在不同游戏应用的过程;不同游戏对该资产的修改会存储在游戏各自的域数据中,游戏间的数据在默认的设置下互不干涉,能且仅能修改自己的域数据。

一个链上游戏资产在世界观内不同游戏世界中迁移的示例

一个链上游戏资产在世界观内不同游戏世界中迁移的示例

铁匠铺机制

“铁匠铺”的本质是一系列具有道具、装备制作权限的帐号和一系列合约,作为所有游戏世界的核心功能之一,铁匠铺可由游戏厂商管理,亦可由玩家公会、设计师工作室经营。玩家可通过铁匠铺,将金币和材料合成为道具(或直接求购道具)。铁匠铺创造道具的过程公开透明,与游戏中的其他道具一样具有唯一性,能够从区块链浏览器中检索和查询。

铁匠铺锻造资产及资产流通

铁匠铺锻造资产及资产流通

铁匠铺机制中,合并多个道具操作为一个原子操作,以确保事务的原子性,事务中的所有操作只会同时成功或同时失败。此外,在“玩家-铁匠铺-玩家”的整个过程中,核心部分包含:玩家提交素材给铁匠铺,铁匠铺将制作完成的游戏道具交给玩家,两者合起来可视为一个完整的事务。两步行为信息都将在链上存在,确保用户的资产流转信息真实可靠不可篡改,保证玩家发布流通的材料、游戏金币等数字资产不会像以往中心化的游戏系统一样出现暗箱操控,数据丢失等情况,能够切实保护玩家利益。

铁匠铺拥有以下特性:
 具有道具、装备制作权限的帐号和一组合约;
 铁匠铺是独立于游戏的道具产出点;
 铁匠铺的道具具有唯一性;
 道具生成、设置道具属性、变更道具所有权到用户等合并为一个原子操作;
 铁匠铺由世界观管委会(厂商、玩家公会、设计师联盟)管理。

Cocos-BCX允许向铁匠铺授权世界观下的道具产出权限。例如胜利与誓约之剑,可以有亚瑟传奇世界观的版本,亦可以有TYPE MOON世界观的版本,两者可在各自的世界中跨作品流通,使用统一的世界观的同质资产进行该世界观下的资产流通标准。

道具嵌套组合

游戏中装备道具可能是由多个组件、物品组合而成的,Cocos-BCX设计中,区块链游戏的非同质数字资产,即道具也具备能够嵌套包含的特性。

每一个道具都可以由多个道具组成,父级资产可以包含一个或多个子级资产,子级资产又可以包含其他的子级资产,例如下图中的道具“红色彗星”由子级道具“引擎”、“机轮”、“武器”组成,而子级道具“引擎”和“机轮”又分别由子级道具“燃油”、“滤清器”和“齿轮”、“轮胎”组成。

道具嵌套组合

道具嵌套组合

每一个道具都可以由多个道具组成,父级资产可以包含一个或多个子级资产,子级资产又可以包含其他的子级资产,如图中的道具“红色彗星”由子级道具“引擎”、“机轮”、“武 器”组成,而子级道具“引擎”和“机轮”又分别由子级道具“燃油”、“滤清器”和“齿轮”、 “轮胎”组成。

道具资产流通平台

Cocos-BCX项目中,道具买卖主要由两个函数实现:

道具的求购是一个多步合成的原子操作,在支付费用的同时完成用户账户游戏道具数据的更新,如果账户资产数据更新动作中任一个动作不被主链区块认可,则整个求购事务将被回滚。

对于道具的出让,Cocos-BCX提供的函数并不能直接变更特定资产的所有权,而是向OTC资产流通平台(中心或去中心)发起出让资产的请求。原则上讲,链内只允许用户对自己的资产发起主动操作,而不应被任何第三方控制,例如平台对实际资产的托管、代管出让。OTC资产流通平台需记录本函数执行成功时生成的orderObejct请求对象。(在发起前可调用getItems函数,列出用户道具,以便用户选择出让)当求购请求抵达时,实质是请求的点对点匹配。

与传统的游戏交易平台不同,Cocos-BCX的去中心数字资产流通平台并不存在中介机构,一方面提高了双方完成流通的效率,一方面能够让原本支付给中介机构的费用直接支付给了卖方,达到卖家多获益、买家少消耗的效果。

玩家可以在道具流通平台完成“游戏金币”和游戏中道具资产等非同质资产的出让和求购行为。在整个流转过程中,为了更加高效的帮助用户完成流转服务,平台将采用智能合约进行自动撮合。

流通平台将对接多平台运行的游戏数据,由于具备最佳的兼容性和可定制特性,游戏厂商可以灵活设计自己的链上游戏存储结构,并将游戏数据对接到流通平台,用户可以方便的在流通平台查询到多种游戏的金币和道具资产。为游戏内的资产流通提供强有力的支持。

用户在授权登录流通平台后,可以选择将自己的游戏道具资产以请求的方式提交至流通平台,符合要求的购入请求和出让请求将被系统自动撮合,内容不局限于游戏内货币等同质资产,也涵盖道具、装备、游戏数据等非同质资产。

完成发布请求后,请求信息将被写入链上。游戏内对应的资产也将被同时冻结。

一个典型的资产流转过程如下图所示:

数字资产流转过程

数字资产流转过程

一个道具流通平台的实例

流通平台中可以完成COCOS、独立发行的“游戏金币”(同质数字资产)与道具资产(非同质数字资产)的自由流通。

流通平台中游戏金币的兑换服务主要包括使用COCOS与各种游戏金币相互兑换、不同游戏间金币的互换、流通等服务,其中不同游戏金币的价格由其对应的COCOS比值决定。流通平台能够在提高游戏行业流转率同时给不同游戏金币的价值提供一个统一的评估依据。

流通平台中的游戏内容流通则主要用于COCOS、金币与游戏道具资产的互换、流转。由于游戏道具数据的高度自定义性,不同的游戏道具的数据结构可能不一致,故接入游戏内容流通平台的游戏内容需由游戏厂家授权并提供解析方法。

用户在游戏内容流通平台上提交求购、出让请求时,请求对应的游戏内容(金币或道具等)将被锁定,暂时无法在游戏内继续使用。请求中包含出让人的账户ID以及出让的资产信息,当请求完成时,系统自动完成所出让非同质资产的所有权转移,并且向出让人获得求购人支付的资产。在请求发起到完成的过程中,双方数字资产的转移操作将被合并为原子操作,即请求内双方的动作将被打包成一项事务,这些动作的状态具有一致性,事务正常完成将产生唯一链上可查的事务ID。其流程参见图3-8-1所示。

游戏内容请求/匹配流程

游戏内容请求/匹配流程

增强的资产权限系统

细化资产权限和链内操作以支持更多业务形态

Cocos-BCX中设计资产权属分离,细化现有的资产权限系统,分别设计使用权与所有权:使用权决定用户是否具备资产的大部分操作权限,所有权决定用户是否具备资产的实际归属权和关键操作权,某些特定操作在进行时可能需要所有者与使用者共同签名。

资产权属分离

资产权属分离

链内操作细化,Cocos-BCX链提供能够被合约调用的,能转移所有权和使用权的操作;提供能被合约调用的且能创建一个定时任务的操作;创建定时任务的操作时能够指定到期时会执行的任务(如调用一个合约函数)。

细化链内操作

细化链内操作

通过合约与新增OP(操作)实现新型业务模式

改进的COCOS-BCX链新增了多种原子操作和数据结构用于实现可能的新型业务,结合自身合约系统,开发者能轻松实现传统链/合约系统无法做到的业务逻辑,例如资产租赁、抵押、典当等。

  • 租赁

在合约中定义租赁业务各流程的函数,在达成租约时,合约函数通过组合权属变更OP和一般交易OP实现交租、权限变更等行为,利用链的定时任务OP定义租期达到时收回使用权等业务行为。

资产租赁过程示意图

资产租赁过程示意图

  • 抵押

在合约中定义抵押业务各流程的函数,在达成抵押行为时,合约函数通过组合权属变更OP和一般交易OP实现支付抵押款、所有权变更等行为,利用链的定时任务OP定义抵押到期时收回使用权或期限内赎回时转还所有权等业务行为。

资产抵押过程示意图

资产抵押过程示意图

  • 典当
    在合约中定义典当业务各流程的函数,在达成典当约定时,合约函数通过组合权属变更OP和一般交易OP实现支付典当款、使用权变更等行为,利用链的定时任务OP定义典当到期时收回所有权或期限内赎回时返还使用权等业务行为。
资产典当过程示意图

资产典当过程示意图

玩家自治和资产安全

Cocos-BCX公开节点工具包,游戏开发商、运营商、玩家公会、设计师工作室等均可成为节点,并参与理事节点选举。

由于区块链网络公开、透明的特性,玩家在游戏中所获得的数字资产信息可通过区块链浏览器被任何人查阅到。而在游戏世界中,拥有高价值非同质资产的帐号往往成为盗号者、黑客勒索的首选目标。Cocos-BCX对玩家账号的资产安全非常重视,针对游戏资产安全提供以下安全保障机制:

 操作权限制
游戏内道具所有权及处置权仅归玩家所有,物品销毁的操作仅能由用户自己授权处理;
 关键操作原子化
发生资产流通、资产创建等重要行为时,请求被提交至流通平台或铁匠铺,在完成流通或这制作的过程中的所有操作被视为一次不可分割的原子事务,即这些过程中的参与行为均需被同时共识认可才被视为通过,如果其中任意一个操作不被链网络认可,则整个操作过程将被回滚,避免发生异常的事务过程;
 可扩展的多步验证
除去区块链事务验证密码以外,游戏商提供进一步的二次密码验证以及随机码验证等,进一步提高玩家资产安全性。

可视化的合约编辑器

Cocos-BCX项目向开发者提供的可视化合约编辑器,编辑器从用户友好的角度简化设计,将合约常用的功能、方法等以图形化的方式展现给用户,即使是不具备脚本编写能力的使用者也能够根据需要便捷地完成合约编辑;此外,面向具备脚本编写能力的进阶使用者,合约编辑器也提供更详细的高级编辑模式,为使用者提供充分发挥的途径。

可视化编辑器是一种以图形界面辅助使用者完成快速开发的编辑工具。以按键精灵为例,软件将大部分常用方法以快捷方式展现在工具栏,用户通过简单拖放、点击和填写参数等动作即可完成一段脚本代码的编写和插入。


3.1 总体设计思路


本章主要为您介绍 Cocos-BCX 项目业务与运行设计,能帮您快速了解整体项目的基本情况。

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.