World Engine:专为全链游戏设计的分片Rollup框架_区块链:以太坊区块链工程专业学什么

WorldEngine分为两个关键部分。第一部分是核心,由两个关键元素组成:EVMBaseShard,一个支持分片的混合执行层和排序器,以及GameShard,一个高性能的游戏引擎加执行层。除此之外,还有一些周边组件,如用于客户端-服务器通信的事务中继和网络代码,以及用于像DarkForest这样的ZK游戏的ZKCloud证明器。

Scott在上周参加ModularSummit了,以下内容是Argus目前的最新进展报告。比较有意思的地方是:WorldEngine居然可以和MUD搭配使用的。

大家好,感谢你们参加今天的峰会。我在这里要讨论一个项目,这个项目占据了我们过去一年的大部分时间。然而,你们很快就会发现,这个故事的时间线远远超过这个时间框架。

在联合创办Argus之前,我是DarkForest的创造者之一,这是以太坊上的第一个完全链上游戏,使用了ZKsnarks。DarkForest的诞生是由一个简单的问题驱动的:我们能否创建一个每个动作都是链上交易的游戏?在2020年,这是一个激进的主张。许多人质疑一个完全链上游戏的可行性,因为区块链技术的速度慢。尽管有这种怀疑,我们的好奇心驱使我们开发了DarkForest。

DarkForest是一个太空探索游戏,有数千名玩家在链上战斗,扩大他们的帝国。在发布的第一周,我们有超过10,000名玩家,并在以太坊测试网上花费了数万亿的gas。这种高水平的活动最终迫使我们从测试网转移到侧链。然而,即使是侧链,因其可扩展性而受到赞誉,也证明是不够的。我们很快就填满了整个区块空间,推高了gas成本,使侧链实际上无法使用。

Phala Network隐私应用中心Phala Wallet正式上线并入驻imToken:据官方消息,Phala官方应用Phala Wallet网页版v1.0.1正式上线,该应用支持用户查询并领取个人Khala链上奖励。随着Phala生态系统开发新工具的不断涌现,Phala Wallet将成为Phala未来的隐私应用中心,为波卡生态的平行链资产和协议提供数据隐私保护。此外,Phala Wallet目前已成功入驻imToken钱包DeFi板块。[2021/7/26 1:16:04]

尽管有这些限制,对全链游戏的热情仍然很高。在DarkForest之后,我们看到投资者、创始人、建设者和黑客的激增,他们在DarkForest的遗产上建设。像Lattice和Primordium这样的公司开发了更容易的全链游戏开发框架和全链游戏。我们也看到了在EVM之外的其他生态系统中的发展,比如Starknet上的Dojo。

现有区块链技术的限制源于我们与其他人共享链的事实。如果像DarkForest这样的另一个游戏存在于同一链上,那么这条链就无法有效地运行。这让我们开始质疑是否应该放弃全链游戏的概念。然而,我们决定探索如何构建更好的全链游戏。

我们开始了一段旅程,从一个关键的认识开始:我们把区块链架构视为理所当然。尽管有各种各样的L1和L2,但它们都看起来很相似。他们都声称有更好的共识机制,更快的VM,更好的欺诈证明者,和更快的ZK证明者。然而,这些声明往往缺乏支持的基准。所有这些努力都是为了创建另一个DEX或铸造另一个NFT,这些都可以在任何其他链上部署。

DeFi平台Effect Network将从EOS区块链转向币安智能链:DeFi平台Effect Network将从EOS区块链转向币安智能链。Effect Network开发人员周四表示,转向BSC的主要原因是对EOS区块链及其领导层的未来的担忧。此前1月份消息,EOS创始人BM辞去Block.one首席技术官一职。(CoinDesk)[2021/3/26 19:19:25]

我们决定从一个不同的角度来看待区块链架构。我们质疑了经典的区块链架构,它似乎在模仿比特币或以太坊。我们意识到,其他的区块链,无论是L1还是L2,都在试图为每个人建立一个区块链,而没有考虑特定的用例或用户角色。

我们选择了一条不同的道路。我们决定为特定的用户群体构建最好的区块链:游戏开发者和玩家。我们明白,游戏与典型的应用有着巨大的不同。例如,像Twitter这样的社交媒体平台在一个事件驱动的运行时操作,类似于区块链。用户触发一个事件,比如发布一条推文,这会导致状态转换。

另一方面,游戏在一个循环驱动的运行时操作。即使没有用户输入,状态转换也会继续发生。火继续燃烧,水继续流动,作物继续生长,日夜的循环继续。这个基本的区别让我们重新思考如何为游戏构建一个更好的区块链。

这里需要理解的关键点是,网络应用中的状态转换,如智能合约,并不需要用户输入。例如,在Uniswap中,如果用户想要交易TokenA和TokenB,他们提交一个交易,然后交易就被执行。这个过程是事件驱动的。

Mask Network最后一轮ITO将比原定时间推迟11分钟开始:2月24日消息,Web3隐私应用MaskNetwork官方发推表示,最后一轮ITO将在UTC+0 03:11开放,比计划晚11分钟,在UTC+0 03:00左右,Mask Network将首先发布ITO推文条目,让用户可以提前解锁并准备测验。[2021/2/24 17:47:12]

然而,我们很快就意识到,传统区块链的事件驱动性质与运行游戏状态机并不兼容。因此,我们探索了游戏使用的循环驱动运行时。游戏引擎就是专门为支持这种循环驱动运行时而构建的。

在循环驱动的运行时中,游戏进程被称为"ticks",它们是时间的原子单位。每个游戏循环在一个tick中执行。tickrate越高,游戏感觉越流畅。例如,现代游戏如Counter-Strike或Valorant有高tickrate,使得它们感觉更加流畅。相比之下,旧的游戏由于tickrate较低,通常感觉比较迟钝。

在区块链的背景下,这些ticks可以与区块进行比较,区块是状态转换发生的单一时间单位。如果一个tick或区块感觉慢,它可能会对游戏体验产生负面影响。

我们认为,游戏本质上是循环驱动的,因为许多游戏状态转换并不是由外部输入触发的。例如,游戏中的重力并不依赖用户按下一个按钮;它无论用户输入如何都会存在。

确定性的交易排序也是至关重要的。例如,如果你想对一个用户造成伤害,游戏应该先对用户进行健康恢复还是先造成伤害?使用传统的排序,你无法预测或控制哪些状态转换先被应用,这会导致游戏循环中的问题。

Matic Network将于6月15日上线质押服务:金色财经报道,以太坊侧链扩容方案Matic Network刚刚宣布其质押测试网和主网的发布时间为6月。质押UI服务将于6月15日在测试网上公开可用。最终在Matic主网发布质押和授权基金会节点将在6月29日或之前。[2020/6/11]

通过循环驱动的区块链,我们保持了可组合性,这就是我们为什么想要使用区块链作为游戏运行时的原因。这种方法允许实时游戏玩,模糊了区块链和传统游戏服务器之间的界限。它还使得开发比以前更复杂的游戏成为可能。

然而,要构建一个可扩展的游戏服务器区块链,我们需要水平可扩展性。游戏并不是在一个服务器上玩的;它们分布在许多服务器上。一个roll-up在一台计算机上运行,并受到物理计算限制。因此,我们需要一种新的策略来控制交易。

传统的游戏服务器,特别是那些性能密集型的大型多人在线游戏(MMOs),使用分片的概念。分片是一种工具,不是如何构建你的游戏的处方书。例如,在基于位置的分片中,一个笛卡尔坐标可以被划分为四个图表。当玩家从一个分片移动到另一个分片时,会向另一个分片发送一条消息,然后玩家被传送到那里。

第二种方法涉及到使用一个被称为多重分片的概念,这对于玩过MMO游戏的人来说是一个熟悉的概念。在这样的游戏中,当玩家登录时,他们会被提供多个服务器供他们选择。这是一个类似的构造,存在着不同的状态或游戏世界,玩家可以选择加入哪一个。

动态 | Kyber Network推出以太坊改进提案改善支付流程:据ethnews报道,Kyber Network推出了一项新以太坊改进提案(EIP)ERC1257,旨在通过支付证明系统促进协作以改善生态系统内的支付流程。ERC1257提案标准化了一组基本参数,以通过EVM日志记录付款。[2018/12/8]

通过循环驱动的运行时和水平可扩展性,我们也希望实现优秀的可组合性。然而,在roll-up中实现这一点可能看起来超出了现实。这就是为什么我们创建了WorldEngine。我们意识到标准的roll-up不能按照我们的期望运行,所以我们自己动手构建了我们需要的解决方案。这就像1990年代,当3D游戏引擎还不是随处可得的时候,开发者不得不自己构建它们。

WorldEngine分为两个关键部分。第一部分是核心,由两个关键元素组成:EVMBaseShard,一个支持分片的混合执行层和排序器,以及GameShard,一个高性能的游戏引擎加执行层。除此之外,还有一些周边组件,如用于客户端-服务器通信的事务中继和网络代码,以及用于像DarkForest这样的ZK游戏的ZKCloud证明器。

WorldEngine的核心是围绕我们的排序器设计的。虽然其他的排序器,如共享序列重构,优化了原子可组合性,但我们认为原子可组合性被高估了,特别是在游戏的背景下。因此,我们完全异步,消除了在EVMBaseShard运行时下需要锁的需求。

我们有一个全局的EVM链,玩家可以在上面部署智能合约来与游戏进行组合,创建市场和DEXes。我们在Polaris之上构建了这个,Polaris是一个与CosmosSDK兼容的EVM模块,允许我们比其他解决方案能够实现的更大程度地定制EVM。

在EVMBaseShard排序器之上运行的是GameShard,一个设计为高性能游戏服务器的高性能迷你区块链。GameShard被设计为对状态机和VM无感知。我们构建了一个类似于CosmosSDKEBCI的抽象层,允许你定制你的分片,或者通过实现一套标准的接口来构建你自己的分片。

我们还构建了第一个游戏分片实现,以提供一个示例。我们使用了一个ECS实体组件系统,这是游戏引擎中的一个常见特性,我们的构造优先考虑将实体组件系统作为一等公民。这意味着状态机本身的每一个对象或原语都被视为一个实体。该系统还有一个可配置的tickrate,允许你定制你的游戏的速度。

最好的部分是,你不需要依赖索引器。你可以在区块链上快速读取,而不必处理索引器中最终一致性的缺失。此外,你可以用Go编写你的代码,无需与限制性的智能合约语言斗争。

由于我们的抽象层,分片本质上是无感的,所以你可以构建其他的分片构造,如一个坚实的游戏分片来补充你的cardinal游戏分片。你还可以构建一个带有自定义规则的NFTminting分片,一个使用NFT表示你的游戏身份的游戏身份分片,并允许交易游戏身份。我们不使用锁,所以我们不必阻塞主线程,使游戏分片运行时尽可能可靠,避免任何延迟。我们不再需要依赖加密经济构造。

每个分片可以有不同的DA批处理压缩策略。你可以对分片进行地理定位,以减少游戏延迟。你也可以将游戏分片作为一个独立的游戏服务器运行,所以你不必担心在第一天就要部署roll-up。

我们在游戏分片之上构建了各种游戏,比如一个Agar.io的克隆,这在传统上是不可能的。我们也使用了一个混合模型,你可以在solidity上使用现有的游戏引擎框架,并将其与WorldEngine结合。未来由你来决定。你可以使用我们的cardinal堆栈,做一个混合,或者构建你自己的游戏分片。这就像是全链游戏的Kubernetes,一个你的游戏的混合和匹配乐高。

WorldEngine现在在我们的GitHub上开源,我们欢迎新的贡献者。如果你对构建你的第一个WorldEngine游戏感兴趣,我们今天晚些时候会举办一个研讨会。明天,我们也将主持游戏跟踪,一个面板,和一个关于全链游戏的讲座。

总的来说,让我们构建更酷的roll-ups。我们现在正处于roll-up的复兴时期。roll-ups允许我们扩展区块链,并利用底层L1的安全性。然而,我们仍然生活在一个非常以EVM为中心的roll-up架构的概念中。这只是起点,而不是终点。我们的目标是以用户和应用为中心的roll-up构造。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:31ms0-0:984ms