美文网首页
区块链游戏引擎COCOS Project BCX技术特点

区块链游戏引擎COCOS Project BCX技术特点

作者: terryc007 | 来源:发表于2018-03-26 16:16 被阅读1944次

    PS: 基于3.24 Cocos在其区块链游戏引擎分享会上的截图,整理而来。

    改进的DPOS

    特征 DPOS POW POS
    承载更多的交易量 x x
    更快的确认速度 x x
    高效节能 x
    鼓励开发 x

    Project BCX中,所有的预定见证人都由持股人从见证人中投票选举,预定见证人统称为活跃见证人,活跃见证人数量通常为11 ~ 21个。所有的活跃见证人在DPOS共识算法的见证人预定算法中具有相同的出块概率,这保证了所以见证人的出块概率和获得出块奖励是一致的。测试链的理论可以达到10,000 tps, 实际吞吐接近3500 tps,区块时间为3秒,实际吞吐量在完成可由合约设定的分区共识,多链联合和“见证委托模式”得到进一步提高。

    数据结构的优化和扩展

    石墨烯区块链网络最大的区块大小为2,000,000字节/块,实际大小不到2M,无法适应游戏链上运行对结构化数据链存储要求。 Project BCX在出块成本和区块容量间求取平衡。

    Porject BCX重新设计数据结构,增加自定义数据存储,以容纳可能的游戏数据和扩展内容。同时也相应调整共识,见证,出块等关键流程,以匹配新的数据结构。

    BCX中的道具数据,只在生成和熟悉变动时在区块数据中做完整记录,普通的交易和流转时,则仅记录哈希指针,确保块数据的体积不会因长期的交易过快的增长。

    带有互操作接口的多平台游戏运行环境

    Project BCX 运行环境:

    向下透明承接方式

    一致的链交互接口

    多平台兼容

    封装原子操作

    我们设想了一套为多种类App的运行适配的环境和配套的互操作接口 和Cocos Creator结合,简化游戏程序和区块链的对接过程,让传统游戏的开发者也能无缝的开发或迁移区块链游戏。 链上游戏运行SDK被集成到Cosos引擎Runtime中,对游戏提供完整的链交互接口,做交互过程透明化,结构化。

    运行环境兼容Android,iOS, Windows等主流操作系统平台。

    区块链系统的互操作接口

    去中介游戏金币和道具交易的实现

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

    • 道具的购买函数是一个多步合成的原子操作,在支付费用的同时完成用户账户游戏道具数据的更新,如果支付动作或账户商品数据更新动作中某一个动作不被主链区块认可,则整个交易将被回滚,避免异常交易。
    • 对于道具的出售,Project BCX提供的函数并不能直接卖出装备,而是向OTC交易平台(中心或去中心)发起挂单卖出的请求,原则上讲,链内只允许用户对自己的资产发起主动操作,而不应被任何第三方控制,例如平台对实际资产的托管,代交易。OTC交易平台需记录本函数执行成功时生成的orderObject订单对象。(在交易前可调用getitems函数,列出用户道具,以便用户选择卖出),当买入请求抵达,交易发生时,实质是订单的点对点成交。

    去中介的交易所

    自动撮合

    去中介

    去中心

    交易效率

    Project BCX的去中介交易,目的是让卖家多赚钱,买家少花钱;去中介交易所本身不存储用户的道具数据,交易所仅作为点对点交易的撮合媒介;游戏厂商可以灵活的设计自己的游戏数据存储结构,交易内容不局限于游戏内货币,也涵盖道具,装备,游戏数据等。

    支付同质和非同质Token的跨链承兑网关

    BCX提供一套承兑网关用于游戏金币和道具的自动化承兑。

    在统一的价值衡量体系下,实现链上不同游戏,不同平台间内容的平滑过度,可用于承兑的内容包括游戏金币,游戏装备数据等。

    世界观

    当下游戏体系中,许多道具设计都是泛用,为了减少重复设计,增加游戏开发效率以及趣味性,BCX引入了世界观的概念,世界观相同的游戏资产和道具可以进行互通,例如地图中的游戏B的道具,可以进入游戏A与游戏C的世界中进行使用。例如: “胜利与誓约之剑”,将能够在TYPE MOON的世界观中跨游戏流通,并被同一种金币结算。

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

    铁匠铺机制

    铁匠埔:
    • 具有道具,装备制作权限的账号和一组合约;
    • 铁匠铺是独立于游戏的道具产出点;
    • 铁匠铺的道具具有唯一性;
    • 铁匠铺由世界观委员会(厂商,玩家公会,设计师联盟)管理。
    保护玩家利益:

    玩家提交素材给铁匠铺,以及铁匠铺将制作完成游戏道具交易给玩家,两者合起来可视为一个完整的交易。两部分交易信息都将上链,确保用户的交易信息真实可靠不可篡改,保证玩家交易的材料,游戏金币或游戏Token不会像以往中心化游戏系统一样出现暗箱操作,数据丢失等情况,能够切实保护玩家利益。

    高效链网络与高速合约虚拟机

    BCX拥有足够的高并发处理能力

    合约虚拟机

    BCX的虚拟机使用与游戏sdk相同的语言和api,并提供链&游戏执行环境的互操作接口。智能合约的应用场景包括: 基础规则,设定,单位,场景,甚至地图等。改进后的虚拟机不仅支持更为复杂和灵活的合约形态,并且将大幅提高现有智能合约的运行效率。

    不同的见证委托模式

    BCX开发团队按见证速度的需求设计了不同的见证委托模式(delegation templates),使单一见证委托人不用对所有运行中的游戏作同时见证和处理,而是专注对复数个同类型游戏作见证和计入区块的工作。

    不同游戏的数据提交/见证是相对异步的过程,每个游戏会选择适合的委托模式,而异步模式下的数据验证则可以通过链上数据库服务来完成,即永恒在链上的验证并完成数据存取。


    游戏整体上链运行

    1. 玩家拥有轻量级的全节点环境;
    2. 服务栈在区块链环境中运行;
    3. 游戏引擎作为节点的基础设施之一;
    4. 提供包括引擎,可视化ide,链网络交互接口的联合开发、调试环境;
    5. 节点间具备一个异步共识任务,用以确保引擎环境的可信,该共识有可能基于引擎关键函数目标代码的特征识别识别。
    6. 游戏代码(合约)有引擎控制的安全虚拟机执行,该合约的关键数值运算的部分可能采用“可信执行环境”方案,和合约主题分开执行。
    7. 合约的关键过程被临近或相关节点(如同一个副本中的玩家)们共识见证。

    相关文章

      网友评论

          本文标题:区块链游戏引擎COCOS Project BCX技术特点

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