互联网技术 · 2024年3月3日 0

Cocos-BCX:探究顶级VC投资项目,迎来一键发布Dapp的游戏平台

区块链生态上开发、运行、管理和交易去中心化应用及应用内资产的平台,已经逐渐成为一种越来越广的需求 。让数字世界的内容资产化,内容生产者可以与内容消费者建立一致的价值体系,是构建这一类型平台的核心。

由于游戏是最早、最大的区块链应用领域之一,目前区块链生态上开发、管理和交易的去中心化应用及应用内资产的平台就应该以该行业中开发者和用户的需求作为项目初期版本的设计出发点。现在我们所能看到的主要技术也都基于这一出发点,为这个目标服务。

在这样的前提下,针对游戏开发者,近日推出的Cocos-BCX项目声称可以提供易用、完善的区块链游戏基础设施,包含可视化的开发套件和链上生态环境,开发者无需关注区块链技术的实现,即可直接以图形化的方式,低门槛、快速高效的完成区块链游戏的开发。

区块链的游戏平台功能主要需要包括:

a. 公平的玩家体验支持:

Cocos-BCX将向游戏玩家提供一个数据透明、规则透明、不会发生后台操纵道具掉率、恶意诱导消费的公平、公正、公开的游戏环境,希望游戏玩家的资产能够长时效、安全、去中心的保存。

b.数字资产经济模型支持:

帮助开发者和玩家实现更好的利益一致性:平台帮助开发者将其生产的内容资产化,使其在资产的使用、管理和交易过程中持续获得收益,并提供便利、去中心的游戏分发渠道;我们帮助玩家将其消耗时间与精力形成的数据和消费获得的道具转化为可以安全存放和流通的资产,让玩家拥有将其管理和商业化的权利。

c.开发环境支持:

支持多种操作系统、多种区块链环境的应用开发框架。完全脚本化、组件化和数据驱动的应用开发工具;一个面向高性能应用、基于一些技术框架的区块链系统及相关功能组件。能够支持开发者进行面向区块链环境的去中心化应用、混合架构应用的编程、调试与发布。同时,平台整合了包括基于区块链的分布式用户账户系统、钱包和数字资产交易系统,可以实现应用内资产的脱链永久保存及跨应用使用。

那么我来研究一下Cocos-BCX 计划提供的技术特性:

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

2. 支持同质和非同质 Token 的跨链承兑网关;

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

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

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

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

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

8. 支持定时器、支持 Standby 模式,带有心跳支持的合约运行模式;

9. 支持链网络内的可信随机过程。

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

1. 去中介资产(道具)交易接口;

2. 道具资产交易市场的范例;

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

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

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

目前为止,Cocos-BCX 测试链的理论吞吐量可以达到 100,000 tps,实际吞吐接近3,500tps,出块时间为 3 秒,即每 3 秒完成一次全网信息广播。Cocos-BCX 的实际吞吐量在完成可由合约设定的分共识、多链联合和“见证委托”后将得到进一步提高,足以支撑大部分游戏的关键逻辑上链运行,“无延迟交易确认”技术将进一步提高交易体验。但是在高吞吐量的情况下,如何解决数据控制权利过于集中的问题,也需要投资者/开发人员在后续重点关注。

Cocos-BCX 测试链附带的钱包直接集成资产交易市场,用户可根据交易市场的游戏 Token 与主 链基础货币的兑换率评估游戏金币、道具和账号的价值。 Cocos-BCX 被 COCOS Creator 可视化游戏编辑器直接支持,Creator 产出的游戏能够直接在 Cocos-BCX 的区块链运行环境中运行。 在此基础上上,虽然Cocos-BCX提出了如此多的新技术与新概念,但是我们不难看出,这些技术都有一定的开发难度,因此我们也需要关注此项目的开发动向,如果能按技术路线逐步开发,这些功能与特性也许真的将打造一个很优秀的区块链游戏应用平台。

对于所有区块链项目来说,共识算法是重中之重,Cocos-BCX采用的是一种改进的DPOS共识机制来提高速度。DPOS 算法通过预定见证人和规定时间槽位来推测区块的生产者以及出块时间,通常时间槽位间隔为 5 秒,在实际使用过程中为了更快的网络广播速度以及更大的网络吞吐量而将时间槽位间隔设置为 3秒,如果预定的见证人在规定的时间槽到来时,因为网络原因或者设备硬件故障没有正常的 出块,则该时间槽位不会出块,网络将等待下一个时间槽位到来选择另一个预定见证人进行出块。

Cocos-BCX 中,所有的预定见证人都由所有的持股人从见证人中投票选举,预定见证人统称为活跃见证人,活跃见证人数量通常为 11~21 个。所有的活跃见证人在 DPOS 共识算法的见证人预定算法中具有相同的出块预定概率,这保证了所有见证人的出块概率和获取出块奖励是一致的。石墨烯投票更新时间通常为 24小时,但处于安全性、稳定性、公平性的考虑,项目初期网络投票更新时 间通常较短,可能为 12 小时甚至更短。

在 DPOS 算法中通过预定见证人和规定时间槽位来推测区块的生产者以及出块时间,主链的活 跃见证人总是多于支链,故此主链区块高度一定高于支链,同时全网投票机制避免了见认证人集中化,保证了网络的安全性,不同见证机制之间的优劣对比如图下所示。

Cocos-BCX:探究顶级VC投资项目,迎来一键发布Dapp的游戏平台

另外,人们普遍关心的是交易处理能力,尤其是对于游戏应用场景,交易处理能力与速度都是很关键的。Cocos-BCX是通过“高效合约虚拟机”和“极小时延相应机制”两个实现的,这与大多数只关注吞吐性能的链项目有一些区别:

目前的绝大部分联网游戏,当用户规模达到一定程度时,其服务器需要在短时间内进行大量的 数据处理,而在现有的以太坊网络中是无法实现的。Cocos-BCX 采用改进的 DPOS 共识,理论吞吐量约 10 万 TPS,其高并发处理性能在合理的数据管理模式设计下足以支持现有游戏的开发与正常运行,理论上基本满足大型联网游戏在平台中的运营诉求,但想让用户的游戏体验与现有的中心化online游戏几乎没有区别,应该暂时无法在技术上实现。

由于大规模网络游戏的数据交互频率非常高,DNF 曾创下 60 万人同时在线的记录,Steam 游戏 平台更有 1420 万人同时在线的惊人数据。如果每一个在线用户提交数据的行为都视为发起了一次共识申请,Cocos-BCX 的极限吞吐能力不足以支撑这样级别的处理请求,开发团队按见证速度的需求 设计了不同的见证委托模式(Delegation Templates),使单一见证委托人不用对所有运行中的游戏 作同时见证和处理,而是专注于对复数个同类型游戏作见证和计入区块的工作。并且,在这一模式下,不同游戏的数据提交见证是相对异步的过程,每一个游戏会选择适合的委托模式,而异步模式下的数据验证则可以通过链上数据库服务来完成,即用户在链上验证并完成数据存取。这一过程非常高效,足够支撑大规模游戏场景下的玩家数据操作。

Cocos-BCX:探究顶级VC投资项目,迎来一键发布Dapp的游戏平台

为了保障合约执行的效率足以向用户提供足够良好的游戏体验,Cocos-BCX 重新设计了一套针对链上游戏场景的基于 LUA 的高速合约虚拟机方案。不同于现有区块链的合约虚拟机方案,除了通过大幅定制和优化现有的区块链运行环境及合约虚拟机的执行效率外,Cocos-BCX 的虚拟机使用与 游戏 SDK 相同的语言和 API系统,并提供链和游戏执行环境的互操作接口,这将彻底改变区块链合约环境单一、灵活性差、定制能力差的现状。智能合约的应用场景将不再限制于作为货币描述,而是开始能够接纳更多与游戏直接相关的内容,包括可能的诸如:基础规则、设定、单位、场景、甚至地图等。改进后的虚拟机不仅支持更为复杂和灵活的合约形态,并且将大幅度提高现有智能合约的运行效率。

Cocos-BCX:探究顶级VC投资项目,迎来一键发布Dapp的游戏平台

除此之外,Cocos-BCX较为引人注意的创新点还体现在支持语法级别的共识任务。 Cocos-BCX 提出了让合约在语法级别支持共识任务的设计,通过将脚本中需要共识的部分以特定的关键词修饰,使合约解释器能够识别并在运行全文扫描时将标记为需要共识的合约部分拆分出形成子合约发送至链网络的相关节点进行共识。

当合约运行时,合约整体在本地执行,到达需要共识的部分时,得到链网络返回的共识结果并继续执行,此时实际上合约主体的运行过程与共识过程是两个相对独立的异步过程,使游戏合约的运行更加流畅,可能发生的阻塞等待更低、时间更短。

此外,需要被共识的合约部分是拆分后以子合约方式分发执行的,这些子合约内容应该具备完整的上下文关系和无额外依赖的设计,以便在其他节点上也能正确的得到结果。

针对游戏,Cocos-BCX还提出一个新鲜的概念——定时器与心跳。

几乎所有的游戏与应用都需要实现在线检测,而在 Cocos-BCX 设计区块链游戏时,为了解决用户的状态检测与持续的会话机制,提出了定时器与心跳的概念。

在区块链网络中实现定时器首先需要实现时间同步机制,而传统的时间同步机制通常是由外部授时或信任中心实现的,而在区块链去信任的