*本文内容感谢 Dexaran 的提供以及EOS GO的支持*
最近,我参加了与一些开发人员的讨论,他们正在参与一个即将在基于 EOSIO 上发 布的项目——Ultra (UOS)。 Ultra 被定位为“为游戏开发行业而生的区块链”。这篇文章是我在这分析和谈论之后想要做的一个概述。
我认为应该有必要消除一些不确定性,并澄清与该项目有关的一些观点。
传统意义上,多人游戏是客户端-服务器形式的应用程序。这种方法引入了以下问题:
(1)服务器是集中式的,它们是游戏结构的故障点。服务器容易受到审查和多种类型的攻击。有权访问游戏服务器的任何一方都可以影响/修改游戏中所有对象。并且整个系统基于“绅士协议”,即任何一方不会损害玩家的利益。
(2)服务器的可审核性和透明度为零。由于不知道大多数情况下游戏服务器的状况,这为那些利用这个特点进行欺诈以及进行不可验证的作弊和漏洞的不法分子提供了机会。
(3)服务器容易停机。由于游戏服务器是游戏工作流程的中心,因此如果服务器端出现问题,所有玩家都将受到影响。
(4)发行问题。客户服务器游戏通常需要第三方来管理发行、反作弊、玩家账户管理(这些不能都概括为问题,某些大公司是可以自行处理的)。
(5)服务器维护。维护游戏服务器是一项单独的任务。应该注意的是,由于可以通过智能合约本身的逻辑来对“服务器”游戏逻辑进行编程从而完成整个维护,因此通过智能合约可以简化该任务。
一些基于区块链的应用程序开发平台提供了开发智能合约的可能性——完全按照区块链生态系统中的程序运行的去中心化应用程序。理论上,智能合约可以取代集中式的游戏服务器。
已在智能合约中完全实现服务器逻辑的那些游戏,并不受上述问题的影响。 (1)在某些情况下,智能合约开发人员仍可以修改智能合约,这个特性不能被忽视。那些尝试在区块链中的智能合约修改记录的痕迹将会被记录。如果某个不应该访问智能合约的一方尝试对其进行修改,这样的操作将被他人所知并且这样的痕迹将会被透明地用于验证。 (2)智能合约的工作流程是透明且可验证的。每个玩家的输入在任何时候都是已知的。如果某些玩家作弊或利用游戏中的错误,那么它将是可审查的。 (3)智能合约依靠基础平台功能来运行,而不会造成任何停机。如果智能合约开发平台能够顺利运行合约,那么智能合约将不再容易出现停机的情况。 (4)智能合约为所有人开放。同时,智能合约开发平台是一个分发平台。 (5)在以太坊中,智能合约是在创建时支付的。之后,它们将永久运行。在 EOS 中,智能合约通过其内部逻辑进行维护。
区块链游戏通常被称为 DAPP,但实际上,并非所有使用“区块链”或“ EOS”这样的词的游戏都是 DAPP。值得注意的是,那些仍在链外实现其逻辑的关键部分的游戏或应用程序,并没有去中心化应用程序的优势。
示例:想象一个以智能合约实施的赌场。如果您可以注册、登录、存入/提现资金,将其兑换成赌场代币并通过智能合约进行游戏,但是每个游戏的结果都由在链下层实现的随机数生成器(RNG)决定,那么您永远没有办法知道这个游戏是否公平。您无法验证 RNG 是生成真正的随机数还是已经是固定好的数字,因此您获胜的机会将会少于自己的预期。您无法在赌局开始之前验证 RNG 这个部分是否已被修改。这否定了将逻辑的其他部分在链上实现的所有优势。
尽管去中心化和智能合约具有所有优势,但它们也具有劣势——使开发完全去中心化的链上游戏复杂化。
EOS 及其智能合约最重要的缺点是:
链上熵的来源。这使得在 EOS 合约中几乎不可能实现随机数生成器。大多数游戏都要求一种或另一种形式的随机性。当谈论链上游戏和博彩应用程序时,这是 EOS 的最重要问题之一。
隐私。 在 EOS 智能合约中隐藏数据几乎是不可能的。 对于大多数游戏来说,这是一个巨大的问题。 在游戏中,有关游戏世界状态的信息是一种宝贵的资源。如果所有玩家在任何给定的时间中都了解游戏世界的状态,那么许多游戏将失去重要的组成部分。(例如,完全处理掉 4X 游戏的“探索”部分)注:有人可能会认为隐私与可验证性和透明性背道而驰。但如果是链上游戏,则不需要永恒的隐私。只要相关且有价值,数据就应该被隐藏。这意味着可以在游戏会话期间隐藏游戏数据,然后在会话完成时将其公开。只要同时有价值,这将确保可验证性并隐藏有价值的数据。
连续过程。在 EOS 中,不可能使合约在某个时刻自动更新其状态或计划将来的某些操作。延期交易用于使合约在将来的某个时间执行操作,但是现在不提倡延期交易。这使得在开发智能合约游戏时,定期处理安排维护任务变得很困难。在大多数情况下,游戏必须定期更新其状态。
性能。看起来这是 EOS 问题中最少的问题,但是值得一提的是,对于任何智能合约而言,典型游戏服务器的性能仍然遥不可及。与在“游 戏服务器”层中实现游戏逻辑相比,开发链上的智能合约游戏要昂贵得多。
资源管理和 UX。应当指出,DAPP 开发人员必须担心资源管理以及他们的用户将如何应对。注:DAPP 无法为其用户的资源付费。只有集中式应用程序可以。 ONLY_BILL_FIRST_AUTHORIZED 需要交易的共同签名,这需要一个服务器层,该服务器层使应用程序成为标准的客户端+服务器应用程序。在此处阅读说明。
可以得出结论,EOS 不适合完全运行链上的游戏,但是开发一个客户端+智能合约+服务器的应用程序是没有意义的,因为它们没有“去中心化”的优点,并且会带有智能合约的所有缺点。
EOS 上有一些应用程序伪装成“去中心化”的应用程序,但在服务器端实现的逻辑仍然至关重要。实际上,此应用程序从 EOS 所需的唯一功能是支付系统。他们最好停止 EOS 作为支付系统和营销工具的使用,并将所有应用程序逻辑提取到服务器中。从安全性、透明性、可审计性、可验证性、审查制度的抗拒性、停机时间概率和分发的角度来看,如果在服务器上实现了它们的逻辑(如果已经在其中实现了一些关键的部分),那么大多数应用程序将不会改变。
如果这些应用程序仅使用 EOS 的支付系统功能,则这些应用程序也可以将比特币或 XRP 用于同一任务。但是,这不会使它们成为“基于比特币的应用程序”。在应用程序中使用 EOS 的某些功能遵循相同的逻辑不会使该应用程序变成“基于 EOS 构建”。
许多这些应用程序都不依赖于 EOS,而只是率先将其应用程序与智能合约集成,以便在营销活动中使用“EOS”和“ 区块链”这些吸引人的词语,或许是 能更容易实现代币化和筹款。
内置的获利功能。这是 EOS 作为当今开发平台最明显的优势。
这不一定是一件坏事,但是从技术角度来看,这没有实际原因。在这种情况下,它们不会利用 EOS 合约的任何优势。
应当指出,在智能合约行业中没有更好的解决方案。在评估多个项目时,也不得不承认 EOS 已经是目前最接近满足成为去中心化软件开发和分发平台的要求的一个选择了。
在这里,我将指出一些有关 Ultra 的事实,各位可予以参考。
Ultra 基于 EOSIO,并且继承了 EOSIO 的大多数缺点。从理论上讲,可以在超智能合约上创建去中心化的应用程序或链上游戏,但不适用于所有类型的游戏和应用程序。无法在 EOS 上构建的大多数应用程序也不能在 Ultra 上构建。
我们希望 Ultra 成为游戏玩家生活方式的一部分。他们可以与朋友聊天、购买游戏、赚钱或获得奖励以及与自己喜欢的大 V 或网红们,还有和游戏开发者互动的地方。
来源:The Ultra Blockchain Network is Built for The Video Game Industry
来源:Ultra 电报群
Ultra 旨在成为一个发行平台、游戏行业生态系统平台和跨游戏 价值交换协议。
作为一个项目,Ultra 可以解决游戏行业的一个问题:它可以通过建立游戏间交互协议来合并和连接不同游戏之间的生态系统。 当前,甚至没有单一服务或一组规则来管理游戏中对象的管理过程。 也没有一套规则可以授予第三方服务代表其所有者管理某些游戏中对象的能力。
来源:Ultra 电报群
根据上面显示的来自 Ultra 电报群的消息,该项目的开发人员承诺他们已经解决了生成随机数的问题。
应该注意的是,没有提供 Ultra 技术白皮书,并且没有验证源代码,因为 Ultra 不是开源平台。目前尚不清楚实现的细节。
RNG 是大多数 DAPP 的重要组成部分。无法使用真正的随机数也是一个安全漏洞,并导致各种黑客攻击,如之前出现过的 EOSPlay 黑客攻击。
对于不同类型的 DAPP,Ultra 的决定性优势之一就是随机数生成器(保证正确实施的情况下)。
不可替代代币不是 Ultra 的独有功能。这种代币在以太坊上被 ERC 721 广泛采用。
但是,Ultra 的开发人员确信,平台的这一功能将为游戏行业带来一些突破性的创新。 NFT 可用于证明某人对某物的所有权。在使用 Ultra NFT 的情况下,将使用 NFT 来证明玩家对某些游戏、帐户、游戏内对象或游戏行业中可以代币化的任何其他 部分的所有权。
关于 NFT 的最重要事实是,它们同时是管理该游戏对象的协议。 NFT 使玩家不仅可以拥有游戏对象,而且可以用任何其他方式管理、转让、出售、购买或使用它们。由于 NFT 是标准化的,并且它们的 API 是众所周知的,因此第三方开发人员将能够构建与其他人的游戏对象进行交互的应用程序。例如第三方市场。另一方面,游戏开发人员可以实现 NFT 行为的任何逻辑。从理论上讲,可以从每个 NFT 交易所收取费用,这将能为游戏开发团队建立新的现金流。
示例:想象一个玩家在《反恐精英》中拥有一个很酷的武器皮肤,他想将其换成《魔兽世界》中的高级角色。这是由两个彼此之间几乎没有关系的不同团队开发的两种不同的游戏。如今的情况是,有些玩家将被迫寻找提供其交易的一些非官方市场或搜索论坛,这种交换的可靠性目前是比较低的。
解决方案:如果两个游戏都将其“游戏内商品”标记为 NFT,那么在没有任何欺诈风险的情况下进行交易变得非常容易。对于游戏开发公司,这还将解决将游戏内商品的所有权转移到第三方市场时的数据完整性问题,而不会产生商品被复制或伪造的风险。游戏公司对游戏对象所有权的转移将是可审计的,可让游戏公司根据其游戏中虚拟商品所支持的 NFT 的用途来实施各种筹款活动。
应该注意的是,NFT 没有引入多篇文章中提到的任何安全层。如果玩家可以利用一些 bug 来快速升级角色,那么他仍然可以做到并标记角色以在 NFT 市场上出售它们。与管理任何加密资产相同,管理 NFT 会带来一些特定的风险。智能合约容易受到黑客攻击。如果用户不注意其密钥 的安全性,则持有 NFT 的帐户可能需要承担损失。此外,智能合约开发人员可以对其 NFT 合约保留一定程度的控制权,这使他们能够随时修改代码(以及任何有关 NFT 的行为)。
来源:Ultra 电报群
Ultra 旨在保留拥堵机制,这意味着在网络不拥堵的情况下,智能合约与用户之间的大多数互动成本可能会更便宜。 EOS 上的拥堵模式问题在于其恢复时间。拥堵机制对我来说似乎很合理,因为假定网络始终处于满负荷运行是没有好处的,因为这种假设显然是错误的。未来几年,所有 EOS 持有者极不可能每天都利用其 EOS 提供的全部潜在带宽。
就个人而言,在我看来网络的拥堵问题需要很长时间才能恢复到正常状态。为了增加类似攻击的成本,网络状态和拥堵问题应尽快解决。
拥堵机制的一个关键细节是如何将网络推到“拥堵”状态,以及如何将其转换回“正常”模式。根据 Ultra 电报中的讨论,网络应无缝地从一种状态转换到另一种状态,这在理论上是有效的解决方案。
根据 UOS 上 Ultra 电报群的响应,即使网络出现拥堵,CPU 容量也应始终以 100% 的速度供全网使用。
该平 台设计功能看起来很不错。但是,由于没有可供查看的源代码,因此尚不清楚实现细节。如果系统确实按预期工作,那么这将意味着它具有许多重要的专业优势,使其更适合其细分市场。
Ultra 是一个基于 EOSIO 软件的专业项目,旨在通过定义虚拟对象管理协议和标准,并建立跨游戏交互的平台和生态系统来解决游戏行业中存在的许多问题。
从技术角度来看,该项目在理论上能够实现其主要目标。
许多在计划中需要进行的 EOSIO 协议修改,该项目已经开启了进程,使其更适合开始的计划任务,但是一切都需要到 Ultra 主网公开上线后,才能知道确切的实现细节。
要了解下周所有关于 EOSIO 的新闻,请不要忘记加入到我们的电报频道,在 Twitter 上关注我们并将我们的网站添加到浏览器的书签中吧!
EOS GO 由 Polar.io 资助,由每一个您提供支持。通过在您的名字上加上 eos go 并加入 EOS GO 电报组来为整个进程贡献力量吧 !