Cocosbcx白皮书深度学有感~~隐藏在表面之下的问题和机遇

引  言

上周写了一篇文章,主要通过借鉴Cocosbcx的技术白皮书,和大家一起分享了链游的发展状况以及展望,如果通过阅读白皮书,深入的了解一件事情,如果你发现一件事情能提起你的兴趣,我觉得是值得深入挖一下的,那我们顺着白皮书继续进一步挖掘亮点,也许这也是【币圈深度评】的进阶模式~【币圈深读】,另外Cocosbcx描述的技术愿景,描述的比较详细,值得大家边学边想,持续进步。


一、项目核心优势所在

前几次的文章中我有提到过手游的开发流程,第一个首要问题就是项目的立项,核心任务就是定位核心玩法和收众多,那个一个链游项目同样需要这些要点,并且还要考虑很多区块链方面的问题。那么Cocos-BCX在未来将提供怎样的服务和体验呢?

白皮中有这样一段描述:


将打造一个完整的多平台游戏运行环境,最大程度地为游戏开发者提供区块链游戏 的开发便利性和完善的生态环境,同时,将为游戏用户带来全新的游戏体验,和超越以往的游戏形 态—用户将拥有游戏资产的自主权


从这里我们可以看到项目方的愿景是对游戏开发者,玩家都保持友好态度的,并且Cocos-BCX为了达成目标愿景,提供了很多技术特征及功能,详情如下:

1. 带有区块链系统互操作接口的多平台游戏运行环境;

2. 基于DPoS改进的高速共识,和委托见证模式;

3. 包括高效链网络与高速合约虚拟机的测试链;

4. 支持同质和非同质数字资产的跨链承兑网关;

5. BCX-NHAS-1808 非同质数字资产标准;

6. 增强的资产权限系统;

7. 能够跨块持续执行的智能合约;

8. 原子化的事务操作;

9. 支持语法级别的共识任务;

10. 支持委托的事务机制;

11. 小范围共识和随机数;

12. 支持内源可信随机过程;

13. 支持极小的链上事务确认周期;

14. 支持链内精确定时器、支持 Standby模式,带有心跳支持的合约运行模式;

15. 防止 BP/开发者作弊的事务验证机制。

同时,提供包含且不限于如下的功能:

1. 去中介资产(道具)操作接口;

2. 非同质资产流通平台的范例;

3. 玩家自治和铁匠铺机制的支持;

4. 可视化IDE(含游戏程序和合约的可视化编辑);

5. 完整的钱包、用户系统和区块链浏览器;

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


因为这些技术特征集及其功能在白皮书中描绘的比较详细,囫囵吞枣式的学习是没有效果的,并且浪费时间,那么今天我们就分开来学,将这些知识点分为几块来解析,今天我们就来解析技术特征的第1~3条,我们一条条的来看:



二. 区块链系统互操作接口多平台游戏运行环境

对个略显生涩绕口的概念描述,让游戏小白们理解起来还是有难度,这个概念有几个关键点需要理解,【区块链系统互操作接口】 【多平台游戏运行环境】,项目方对运行环境的特征有以下描述:

一致和完善的链互操作接口;

向下透明的承接方式;

封装的原子操作;

多平台兼容


首先来看【区块链系统互操作接口】,这句话的意思是提供交互式的开发环境,及兼容多平台的开发组件,具体的项目描述是:

适配Android、iOS系统的 SDK,适配前端web应用的 javascript库,以及适配后端应用的 python、PHP库。


思考点1:虽然作为一个编程外行,我不知道这几款编程语言是如何协作工作的,但是我也知道了问题的所在,也给进一步学习提供了方向。关于SDK,小伙伴经常也有听说过,通俗解释就是:【由第三方服务商提供的实现软件产品某项功能的工具包】,相当于开发集成工具环境。


接着来看【多平台游戏运行环境】,这个概念好理解,就是在Android、iOS和 PC Web、移动H5多个系统/环境都可以运行,项目方提出利用【Cocos Creator简化游戏程序和区块链的对接过程】,那么问题来了什么是Cocos Creator?


我们都知道Cocos最有名的引擎就是COCOS 2DX,Cocos Creator则是触控科技为了适应新的3D游戏生态而开发的一种新引擎,借用了UNITY 3D的模式,采用JS作为开发语言;相比较于2DX采用C++,有较强稳定性,JS开发语言环境做大型游戏可能比较吃力。


思考点2:现阶段游戏的终端形态有很多种。但是手游仍然占据了大头,区块链游戏现阶段的发展还是趋向于扁平化发展,等到主网络有本质性的提升以后才你考虑3D效果的游戏。


三. 基于DPoS改进的高速共识,和委托见证模式

共识算法是区块链项目的根本,Cocos-BCX的主测试网采用DPoS算法,那么在这里我们回顾一下主流的几种共识算法的优劣势,


PoW共识算法(Proof of Work 工作量证明)

优点:完全去中心化,相对安全且稳定。

缺点:区块确认时间慢,挖矿导致资源浪费严重,手续费偏高,容易分叉,难以满足商用。


PoS共识算法(Proof of Stake 股权证明)

优点:缩短了区块的确认时间,同时也节省资源。

缺点:拥有代币的人未必参与记账,容易分叉,安全性稍差。


DPoS 共识算法(Delegated Proof of Stake 委任权益证明)

优点:区块确认速度快,交易速度快,可以达到秒级出块速度。

缺点:不完全去中心化,仍然依赖代币。

采用这种算法最具有代表性的就是EOS,

这个共识算法的特点是:全网持有此代币的人通过投票,选举出出块者。每一个区块由一个出块者确认,EOS以每21个区块为一个周期,所以每个周期需要21位出块者,每一轮的出块者都会在区块周期开始前投票选出。


同时为了保持产生区块的效率,还引进了淘汰制,共识算法中规定,如果生产者错过了一个区块,并且24小时内没有再生产区块,那就会被淘汰。


Cocos-BCX在白皮书中提到两个关键点:

“活跃见证人数量在11~101之间”

这个见证人的数量就像是议会制席位选择一样,各个议会制的国家都不一样,少了太同意集权,多了则很难意见统一。


“项目初期网络投票更新时间通常较短,可能为12小时甚至更短”这个办法可能是为了更好的进行管理,时间点的长短有待把握确定。


四 包括高效链网络与高速合约虚拟机的测试链


大家都有玩网络游戏的经验,经常会遇到卡的问题,所以一个网络游戏能不能有能力承载海量玩家在线,即具备高并发处理能力,高吞吐量有很大关系

Cocos-BCX在白皮书中描述:采用改进的DPoS共识,理论吞吐量可达到10万TPS

这里有一个基本概念需要了解,即TPS,


TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

Tps处理过程包括了三个步骤,即:

1)用户请求服务器

2)服务器自己的内部处理

3)服务器返回给用户

乍一看Cocos-BCX的理论TPS能达到10万,似乎是一个不错的数值,其实这个数值有水分,因为一个系统整体处理能力取决于处理能力最低模块的TPS值,而不是最高的峰值TPS值,而且横向对比一下,大型网游的高峰在线状况出现的时候,比如几十万上百万的数据访问需求,经常会出现卡顿的现象,那么Cocos-BCX有什么办法进行处理呢?!

项目方给出了一个方案:

按见证速度的需求设计了不同的见证委托模式(Delegation Templates),即:

单一见证委托人不用对所有运行中的游戏作同时见证和处理,专注于对复数个同类型游戏作见证和计入区块的工作。


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


思考点:异步数据处理方式并不是区块链的特征,而是另一种数据结构~~有向无环图(DAG)的一种特征,不同于区块链的链表结构,DAG使用拓扑排序。


在前文的学习中我们知道Cocos-BCX测试链采用的是DPoS共识算法作为基础,那么为了实现高效链海量吞吐计算量需求,为了实现异步见证,难道项目方要引入DAG架构?!


DPoS+DAG充满了想象力,虽然充满了挑战,但是也不是不可能,我们首先来看看DAG技术的优势和劣势,

优势:

1.不需要挖掘,仅需少量工作证明,没有矿商参与意味着更加去中性化。

2网络伸缩性强,能够以更快的速度确认事务。存在的新事务越多,节点就有越多的机会使用它们来确认以前的事务。

3小额支付的可能性。


劣势:

1 更低的攻击代价,需要34%的哈希能力即可

2 安全性没有大规模验证



结  语

通过深入的研读Cocos-BCX白皮书,我们发现了很多隐藏在表面之下的问题,通过思考问题,可以更深入的了解区块链项目的现状问题,可能发现以往没注意的机遇点,比如白皮中提到的异步处理技术,让我想到了DAG和区款链结合的可能性。虽然少数加密货币现在使用DAG,但绝大多数仍然使用区块链,但是两者的思路可以结合。

如果区块链在未来能够实现什么愿景,特别是众所周知的技术缺陷如预期的得到解决,那么意味着这项技术会很快受到追捧。

我们要做的就是保持队形,持续关注,寻找机会,变现机会!

你可能感兴趣的:(Cocosbcx白皮书深度学有感~~隐藏在表面之下的问题和机遇)