Cocos-BCX系列专题报道四:技术架构

文|慕容垂

HGFPsI2q1hhx4RH7h7xdyj0reyLMR8blghEMiVuo.png

简介:预警,此文主要描述了COCOS-BCX游戏平台的技术架构,看起来可能会非常生硬,但是我尽量用比较通俗易懂的词汇来描述这些。

COCOS-BCX的架构主要分为五个模块,分别是运行环境、不同类型资产之间的互换、对已有系统的优化和扩展、虚拟机和开发示例等这个几个部分。

一、运行环境。

任何系统的运行都需要一定的环境的支撑,就像微信这个APP要跑起来需要操作系统的支持,操作系统的运行需要手机硬件的支持,硬件能够运行需要有电力资源等。

COCOS-BCX开发的这套运行环境亿区块链为最底层,往上一层是虚拟机,再往上是各种API接口,最顶端运行的才是APP。

我看过太多的白皮书,很多野鸡圈钱项目都不敢写技术方面,因为架构不清晰没法写。为了圈钱的项目无法捋顺自身的逻辑架构。

为了让这套环境能够适应安卓、IOS、windows、H5等各种操作系统,在API接口层提供了完整的SDK(软件开发包)。这个SDK可以让开发者专注于业务层的开发,而不必关注系统底层是如何运行的。就像装修,房子已经该你盖好了,你想搞出什么样的风格,全靠设计师来操刀了。

二、不同类型的资产之间承兑互换。

这里涉及了同质化资产和非同质化资产。注意,这里并不是不同公链的资产的意思。

同质化资产的意思是可以叠加的资产,例如你本来有一个COCOS,别人又转账给你一个COCOS,你现在就有两个COCOS了。这两个COCOS是可以叠加的,于是这就是同质化资产。同质化资产有很多,游戏中的金币、钻石等都是

假如你在某个游戏中有了一套装甲,你又购买了一套属性不同的装甲,很明显这两套装甲是无法叠加的。但因为是区块链游戏,这个两套装甲都可以通过区块链转账交易出去。这就是非同质化资产。之前大火的以太猫游戏,因为每个猫都有不同的属性,这些猫都是无法叠加的,以太猫就是非同质化资产。

同质化资产的承兑互换很简单,只需要通过承兑商就能完成与各条区块链的资产互换。

非同质化资产的承兑互换,需要一个专用的编译器进行结构化数据的翻译和转换,才能实现双向的转换。

三、对已有系统的优化。

这些优化包括重新设计的数据结构,防止数据体积过快增长。整个数据结构中包括固有数据区域和扩展是数据区域。固有数据区域用于存储数字资产的基本信息,例如ID、世界观、所有者、制作者等等;扩展数据区域用于描述资产组合、嵌套、从属关系和具体的游戏数值(例如攻击、防御耐久等)。

已有系统的资产和合约数据是存储在一起的,但在COCOS-BCX的架构中,资产与合约数据分离,这样设计可避免因为修改合约而造成资产损失的问题。

出块的共识机制也进行了修改优化。COCOS-BCX采用的是DPOS,出块时间设计为3秒。时间很短,假如某个节点因为硬件网络问题没能及时出块,那就跳过让下一个出块节点来出块。节点由投票选出,节点数量约11-101个,投票间隔约12小时。在DPOS共识的机制下,如果想要分叉,需要保证三分之一以上的节点同时违背机制才有可能。因为较短的投票间隔,用户可以罢免掉想分叉的出块节点。

采用了ECC算法,也就是椭圆曲线加密算法来保障安全性。

四、高性能区块链网络和高速虚拟机。

COCOS-BCX的理论吞吐量即TPS达到了10万,即使是10万TPS也有可能无法满足十万人同时在线的处理请求。因此设计了见证委托模式,也就是单一的节点不需要对所有的游戏处理要求同时处理,而是只处理同一类型游戏的请求,也就是所谓的异步模式。每个节点处理不同的请求,就能让整个区块链同时处理海量的数据请求了,这个也有点像分片模式了。

COCOS-BCX涉及了一套基于LUA(一种小巧的脚本语言)的虚拟机方案,使用与游戏一样的SDK和API接口,将区块链合约部署环境设计得跟加多元、灵活。

五、这部分是一些基础的开发示例,主要包括合约执行、事物委托、过程实现和事物验证机制等,因为本人水平限制,也无法再做更多的解读了。

以上就是COCOS-BCX的技术架构,感谢阅读。

BCX
文章作者: 可可狮 我要纠错
声明:本文由入驻金色财经的作者撰写,观点仅代表作者本人,绝不代表金色财经赞同其观点或证实其描述。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。

金色财经 > 区块链 > Cocos-BCX系列专题报道四:技术架构