Hedera技术见解:用于游戏的混合DLT架构

  • 2019-04-25 09:20
  • 3T比特

在线游戏体系结构一直依赖中介来促进游戏的运行——运行集中式服务器,用户可以连接到该服务器,以便找到对手,然后管理游戏状态(例如,所有的角色都在大型多人在线游戏(MMO)中,或者每个角色有多少黄金,或者棋子在哪里)。这种集中的模式已经能够提供必要的性能,以支持顺利和无缝的链接许多玩家。

但是,游戏玩家必须相信,集中式平台不会做出不当的行为,比如影响游戏的进行,审查某些玩家,或者盗取游戏中的资产。此外,集中式服务器充当单点故障——如果它可以被分布式拒绝服务(Distributed Denial of Service,DDoS)攻击,那么游戏就可以被关闭。此外,游戏平台将收取费用,以支付运行服务器的费用。

分散的游戏平台移除中介。与在单个游戏服务器上跟踪游戏状态不同,字符的位置,甚至游戏逻辑都存储在分布式总账技术(DLT)上。不再有一个实体可以被关闭,或者破坏游戏,或者盗取资产。

除了非中介化的优势外DLT的一个关键特征是能够支持新游戏经济学的加密货币。即使在当前的集中式游戏平台中,虚拟资产所有权也是一个重要的特性——游戏玩家期望他们在某一特定游戏中的经验和进展能在状态和资产中得到体现。但在集中式平台中,玩家只有在平台的斟酌决定下才能拥有这些资产。一个基于DLT的游戏平台可以让这样的游戏状态和财富在另一个游戏,甚至现实世界中转换为可比较的虚拟物品。

除了允许玩家将他们的游戏技能和体验更广泛地进行货币化之外,游戏中的加密层还允许玩家购买游戏内的物品和功能,比如升级或购买健康。更简单地说,与订阅模式不同,加密货币可以让玩家按次付费——让玩家更愿意尝试新游戏,而不用担心投资浪费。

尽管DLT能够提供游戏的价值,但仍有许多技术挑战需要面对。

DLT的吞吐量指的是每秒可以处理多少个事务,然后将其应用于共享状态。不同的DLT可以支持不同的吞吐量。

延迟是指从事务提交到DLT网络到将其应用到共享状态所需的时间。

游戏要求玩家在给定的时间点对游戏的当前状态有一致的看法。延迟和吞吐量限制使这一问题复杂化。

如果给定的DLT支持T tps的最大吞吐量,然后如果有n球员,每个提交T数量的游戏交易,那么显然T≥n * T。如果T是固定的,那么您可以减少n(在给定的“世界”中限制玩家的游戏数量)或减少T(专注于较少移动的游戏)。

延迟效应也会限制游戏玩法。为了说明这一点,请考虑以下场景。

假设Alice和Bob在MMO中看到地面上有一个有价值的物体,他们都试图同时捡起它。Alice的电脑立刻显示Alice有这个物体,Bob的电脑立刻显示Bob有这个物体。如果DLT一致认为Alice比Bob先捡到它,那么Alice将保留这个对象,Bob的计算机将显示他没有得到它。实际上,Bob看到自己在把它交给Alice之前,成功地捡了一小段时间。

这种延迟效应被称为“desync”,而随之而来的游戏玩法也被称为“rubberband”。

或者,游戏可以这样设计:当Alice和Bob试图捡起物体时,他们的屏幕上显示什么也没有发生,直到他们就谁先采取行动达成共识。然后两台电脑会告诉玩家Alice捡到了它,而这两个玩家会看到Bob从来没有得到过它。历史没有改变,但行动明显被推迟了。这对于快节奏的游戏来说并不是最理想的,但对于慢速的实时策略游戏来说可能是更好的解决方案。

所以游戏既可以显示反转的动作,也可以显示延迟的动作。不管怎样,只有当网络就两步的相对顺序达成一致所需的时间并相对于游戏的速度较小时,游戏才会让玩家感到愉快。

这个延迟行动将是通过网络发送的。因此我们应该尽量减少网络和协商公司的延迟。

不同的游戏有不同的延迟。例如,对于回合制策略游戏或跳棋,5秒的延迟可能是可以接受的,但是对于上面描述的MMO,延迟可能是不可接受的。在一些游戏中,比如和朋友聊天,可能会有几个小时或几天的间隔。

不同的DLT具有不同的可实现延迟。分类帐架构的延迟受其共识算法和部署模型(如节点数量和节点之间的距离)的影响。例如,一些公共区块链的阻塞时间为10分钟或更长,需要多个块来最小化事务回滚的机会。另一方面,被许可的DLT或像Hedera Hashgraph这样的公共DLT可以以秒为单位交付延迟。

分散化意味着游戏的所有方面都要在一个由数千个节点操作的公共分类账上进行跟踪。另一方面,游戏延迟和吞吐量方面的考虑要求在较小的区域中使用较小的网络。

协调这两个驱动因素的一种方法是认识到分散化对游戏某些方面的帮助大于其他方面。分散化最终是对一个或几个行动者的不良行为的一种保护。在游戏的某些方面,不良行为的风险比其他方面更高。

DLT游戏架构的混合模型为公共分类账保留了作弊风险最大的那些方面。在混合模型中,我们可以在公共分类账上跟踪稀缺资源的所有权(其价值将鼓励作弊),但在实际游戏中使用更快的私有分类账和更小的分类账。

这样,我们得到了两个世界的最好部分。我们获得了公共账簿的安全性,以跟踪玩家的资产,如他们拥有哪些武器,或他们在游戏中的排名,或他们的加密货币皮肤,但又不受这些公共账簿更高延迟的影响。相反,游戏是在一个较小的私有网络上进行跟踪的。

考虑以下场景作为这种混合模型的一个例子:

射击(FPS)游戏的几名玩家乘坐同一航班,并连接到WiFi。他们可以彼此快速沟通,但有一个缓慢的互联网连接。这个游戏有一个声誉系统,每当Alice射击Bob时,她的声誉会轻微增加,而Bob的声誉则会相应减少。玩家彼此并不认识,但他们的电脑通过公共分类账发现彼此,并在飞机上的笔记本电脑之间建立自己的专用私人分类账。公共分类账给他们每个人公共密钥和其他的地址。

首先,玩家共同创建一个随机数作为游戏ID,并共同创建游戏结束的到期时间。在游戏过程中,私人分类帐记录每个玩家射击其他玩家的次数。每次分数发生变化,Alice都会对一条记录进行数字签名,该记录由新分数、游戏ID和序列号组成(序列号从0开始,每次分数发生变化都会进行计数)。Alice把她的签名发给其他所有的玩家,他们也都这么做。

在游戏结束时,任何玩家(或多于一名)将最后签署的记录连同所有参与者的签名一起发送到公共分类账上的智能合约。如果每个参与者都提供了有效的签名,那么它将等待到过期时间,然后更新所有的名誉。如果在过期时间之前收到同一游戏ID的多条记录,则忽略除序列号最高的记录外的所有记录。

这可能比直接使用公共分类账要快得多。每次分数更新都能很快地在私有分类账上达成一致,因为节点很少,而且节点之间距离很近。在比赛过程中,不同玩家的分数可能会在私人分类账上更新一千次,但公共分类账只需要在比赛结束时执行一次更新,以反映最终的比分即可。该模型减少了公共分类账上的流量,并且仅将其用于对延迟不敏感的事务。

信任模型也运行良好。如果Alice试图通过在游戏中间提交一个较早的记录来作弊,那么公共分类账将忽略它,因为它的序列号低于最终记录。如果Alice在游戏进行到一半时发怒并退出,那么可能会丢失最后一次分数更新,但在此之前的分数仍然有效,因为Alice在最后一次记录之前签署了所有记录。

当两种情况都为真时,这种混合模型是理想的。首先,游戏必须保证在私有分类账上有许多小的操作和结果,然后可以将它们的简短摘要作为单个事务发送到公共分类账。这使得公共分类账上的流量保持在较低水平,并有助于游戏期间的延迟。

其次,游戏必须包含许多小的胜利和失败,以及许多小的价值转移。如果一场一小时的比赛只会让输者把分数大量地转移给输者,就像下棋一样,那么输者就会有动机在没有签下最后创造的记录的情况下退出。但是如果游戏包含许多小的胜利和失败,以及许多小的分数转移,那么失败的玩家只能通过退出来抹去最后的转移。之前所有的转让都已经签署,所以放弃者不能反驳这些。

这种混合模式类似于比特币的闪电网络(Lightning Network)等第二层架构,在闪电网络中,大部分交易不被发送到主账本,而是在较小的参与者群体中进行本地跟踪,只向主链发送总结算交易。

一个混合模型在一个小的私人账本上跟踪游戏玩法,但依赖于一个公共账本来记录稀有游戏资产或其他有价值资源的所有权。这是去中心化和绩效的强大结合,而这在完全私有或完全公开的分类账上都可能无法实现。此外,公共账本也为这些稀缺资源在其他游戏和现实世界之间的可移植性和可交换性提供了机会。

原标题:Hedera技术见解:用于游戏的混合DLT架构|DLT|Hedera|Hedera技术|

头条推荐
图文推荐