首页 科技内容详情
欧博体育app官网:联博以太坊高度(www.326681.com)_StarkNet 性能蹊径图

欧博体育app官网:联博以太坊高度(www.326681.com)_StarkNet 性能蹊径图

分类:科技

标签: # 足球分析

网址:

SEO查询: 爱站网 站长工具

点击直达

Đánh bạc kiếm tiền(www.84vng.com):Đánh bạc kiếm tiền(www.84vng.com) cổng Chơi tài xỉu uy tín nhất việt nam。Đánh bạc kiếm tiền(www.84vng.com)game tài Xỉu Đánh bạc kiếm tiền online công bằng nhất,Đánh bạc kiếm tiền(www.84vng.com)cổng game không thể dự đoán can thiệp,mở thưởng bằng blockchain ,đảm bảo kết quả công bằng.

原文:StarkWare  由 DeFi 之道编译

  1. 为 Cairo 虚拟机(Cairo-VM)提供 Rust 语境下的实现

  2. 在 Rust 语境下的排序器

  • 证实者(Provers)并不是瓶颈,他们可以处置比现在更多的器械。

简介

约莫一年前,StarkNet Alpha 正式上线了以太坊主网,这时,我们将重心放在了功效的构建上,现在,我们决议将重点转移到提高性能之上,并设计通过一系列的步骤来提高 StarkNet 上的用户体验。

在这篇文章中,我将注释为什么有许多优化措施只适用于有用性汇总(Validity Rollups),并分享 StarkNet 实行这些措施的设计和步骤,其中一些设计已经在 StarkNet Alpha 0.10.2 中实现,在讨论详细的细节之前,让我们先往返顾一下限制链上性能的缘故原由。

区块限制:Validity Rollups 与 L1

提高区块链可扩展性和 TPS 的方式之一是:在排除区块的限制(好比GAS和区块巨细的限制)同时,保持区块天生时间的稳固。这需要区块生产者(L1 上的验证器,L2 上的排序器)提供更高效的服务,因此就需要更有用地执行这些组件,因此,我们将重点转移到 StarkNet 排序器的优化之上,在下文会详述详细内容。

这里会有一个问题,为什么对排序器的优化仅仅对 Validity Rollups 有用,换句话说,为什么我们不能在 L1 上以相同的方式改善,制止有用性汇总(Validity Rollups) 有庞大性?在下一节内容中,对这一问题将举行回覆。

为什么L1吞吐量有限

若是 L1 的区块限制被排除,会遇到一个很大的问题,由于链的高吞吐带来了链上区块的高增进率,为了确保差其余节点跟上最新的全链状态,就需要增添了更多的全节点。又由于 L1 全节点必须纪录所有历史纪录,区块巨细的大幅增添会给全节点运营者带来伟大压力,并导致部门全节点由于机械性能落伍而退出系统,效果,能够运营全节点的都是一些对照大的实体,最终就是用户无法以无信托的姿态验证状态并介入网络。

这也让我们明晰,从某种意义上来说正是 L1 吞吐量的限制,成就了一个真正去中央化的和相对平安的网络系统。

上述问题为什么不会泛起在 Validity Rollups 之上?

只有在思量全节点的问题时,我们才气看到有用性汇总(Validity Rollups)的优势。正常情形下,一个L1全节点需要重新执行整个链的历史以确保当前状态的准确性,而 StarkNet 节点只需要验证 STARK 证实,而且这种验证需要的盘算资源呈指数级下降。重点是,链上全节点状态的验证同步没有涉及到执行;一个节点可以从另一个全节点那里接受当前状态的转储,只需通过 STARK 证实来验证这个状态是否有用即可。这让我们在增添网络的吞吐量的同时,不用增添全节点的数目。

因此,在 L2 上,通过对排序器的优化可以对整个系统的性能举行提升,但这在L1上不能实现的。

StarkNet 的未来性能蹊径图

这一部门,我们将讨论现在有哪些设计用于对 StarkNet 排序器的优化。

排序器并行化

性能蹊径图的第一步是为生意执行引入并行化。这个提议是在 StarkNet alpha 0.10.2 中正式引入的,该版本于11月29日在以太坊主网上公布,我们现在来深入探讨下什么是并行化。

一样平常来说,并行执行多个生意区块是不能以的,由于差其余生意可能是相互依赖的。以下方示例中举行说明,我们假设有一个包罗来自统一用户的三笔生意的区块:

,

以太坊开奖

,

皇冠网址www.hg9988.vip)是一个开放皇冠网址即时比分、皇冠网址代理最新登录线路、皇冠网址会员最新登录线路、皇冠网址代理APP下载、皇冠网址会员APP下载、皇冠网址线路APP下载、皇冠网址电脑版下载、皇冠网址手机版下载的皇冠网址平台。

,

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,
  • Tx A(生意A,下同):将USDC兑换ETH

  • Tx B:为某款NFT支付ETH用度

  • Tx C:将USDT兑换BTC

显然,生意A必须发生在生意B之前,但生意C完全自力于两者,是可以并行执行的。若是每个生意需要1秒执行,那么通过引入并行化处置之后,区块生产时间可以从3秒削减到2秒。

问题的要害在于,我们事先并不知道差异生意之间的依赖性。在实践中,只有当我们执行到示例中的 Tx B 时,我们才会发现它是依赖于 Tx A所做的改变。更准确地说,这种依赖性源于 Tx B  从 Tx A 写入的存储单元中读取这一动作。我们可以把差其余 Tx 看成是一个依赖图,其中存在从生意 A 到生意 B 的一条边,当且仅当 A 写入一个由 B 读取的存储单元时,B 才可能执行。下图显示了这种依赖之间的关系:

在上面的示例中,每一列都可以并行执行。

为了战胜事先无法确定差异生意事宜之间的依赖关系,我们凭证 Aptos Labs 推出的 BLOCK-STM,将 OP 并行化(optimistic parallelization)引入到 StarkNet 排序器中。在这种模式下,会以乐观地方式并行地处置事务,并在发现碰撞时重新执行。好比在上述示例图中,我们可以并行执行 TX1-4,但事后发现 Tx 4 依赖于 Tx1,因此这次执行是无效的(应该在 Tx1 执行后运行 Tx 4 ),在这种情形下,将重新执行Tx4。

请注重,在上述这种乐观并行化的基础上我们也增添一些优化措施。例如,与其守候每个执行的竣事,可以在发现一个使之运行效果无效的依赖关系时就中止执行。

另一个优化的例子是选择哪些事务来重新执行。假设由上述示例图的所有事务组成的区块被送入一个拥有五核CPU的排序器。首先,我们实验并行执行 tx 1-5,若是完成的顺序是Tx2、Tx3、Tx4、Tx1,最后是Tx5,那么我们将在 Tx4 已经执行后才发现依赖关系Tx1→Tx4,这注释它应该被重新执行。直观地说,思量到Tx4的重新执行,Tx5也需要重新执行,然而,我们可以遍历由执行已经竣事的事务构建的依赖图,只重新执行依赖于Tx4的事务,而不是将失效Tx4之后的事务都重新执。

Rust 语境下的 Cairo-VM 实现

StarkNet 中的智能合约是通过 Cairo 语言编写的,并在 Cairo-VM 虚拟机中执行。现在,排序器正在使用python 语言在 Cairo-VM 上运行。为了优化虚拟机的实现性能,我们之前提议了用 Rust 重写 Cairo-VM 虚拟机的事情。

现在,cairo-rs可以执行原生 Cairo 代码,下一步是处置智能合约的执行和与 pythonic 排序器的集成,一旦与 cairo-rs 集成,排序器的性能有望进一步提高。

Rust 语境下的排序器

通过 python 到 rust 的转变以提高网络性能,不仅限于 Cairo-VM,StarkNet 用 Rust 重写了排序器相关的代码。除了 Rust 的内部优势之外,这还为排序器的其他优化提供了可能,好比,可以聚集 cairo-rs 的优势,而无需 python-rust 通讯的开销,也可以完全重新设计状态的存储和接见方式。

证实者(Provers)

在整篇文章中,没有提到有用性汇总(Validity Rollups)中焦点元素之一——证实者(Provers)。作为可以说是架构中最庞大的组件,证实者(Provers)算是瓶颈,也是优化的重点。但现在,StarkNet 的瓶颈是加倍“尺度”的组件,稀奇是对于递归证实,可以将当前测试网/主网上的更多生意放入证实中。事实上,StarkNet 区块与 StarkEx 生意一起获得有用的市场证实,后者有时会有数十万 NFT 的铸造事宜。

总之,并行化、Rust 等改善,都是为接下来 StarkNet 提升 TPS 所做的准备。

查看更多,

欧博体育app官网www.aLLbet8.vip)是欧博集团的官方网站。欧博体育app官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

 当前暂无评论,快来抢沙发吧~

发布评论