木星链 木星链
Ctrl+D收藏木星链
首页 > TUSD > 正文

STA:详解StarkNet性能路线图:如何优化排序器?

作者:

时间:1900/1/1 0:00:00

原文作者:StarkWare

原文编译:DeFi之道

Rollups的有效性不受限于L1的吞吐量,使得L2的TPS可以很高。

在StarkNet的性能路线图中,解决了系统中的一个关键因素——排序器。

性能的改进主要有以下几点:

排序器的并行化

为Cairo虚拟机提供Rust语境下的实现

在Rust语境下的排序器

证明者并不是瓶颈,他们可以处理比现在更多的东西。

简介

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

在这篇文章中,我将解释为什么有很多优化措施只适用于有效性汇总,并分享StarkNet实施这些措施的计划和步骤,其中一些计划已经在StarkNetAlpha0.10.2中实现,在讨论具体的细节之前,让我们先来回顾一下限制链上性能的原因。

Stella已在Arbitrum主网上集成Chainlink价格信息:金色财经报道,DeFi协议Stella团队宣布已在Arbitrum主网上集成Chainlink价格信息。Stella的初始集成涉及使用以下Chainlink价格源:ETH/USD、ARB/USD、USDT/USD、USDC/USD和BTC/USD。[2023/6/24 21:57:16]

区块限制:ValidityRollups与L1

提高区块链可扩展性和TPS的方法之一是:在解除区块的限制同时,保持区块生成时间的不变。这需要区块生产者提供更高效的服务,因此就需要更有效地执行这些组件,因此,我们将重点转移到StarkNet排序器的优化之上,在下文会详述具体内容。

这里会有一个问题,为什么对排序器的优化仅仅对ValidityRollups有效,换句话说,为什么我们不能在L1上以相同的方法改进,避免有效性汇总有复杂性?在下一节内容中,对这一问题将进行回答。

新加坡央行与纽约联储合作研究批发CBDC:金色财经报道,新加坡金融管理局(MAS)与纽约联邦储备银行的纽约创新中心合作,研究批发央行数字货币(wcbdc)是否可以提高跨境支付的效率。这项联合工作被命名为 \"Project Cedar Phase II x Ubin+\",预计将改进使用wCBDCs进行跨境跨币种交易的原子结算设计。该实验还旨在降低跨境交易的结算风险。新加坡金管局表示,实验的细节和结果将在2023年发布。

本月早些时候,新加坡金融管理局宣布了 \"Ubin+项目\",这是一项与国际伙伴合作的举措,旨在探索使用wCBDC进行跨境外汇结算。(forkast)[2022/11/12 12:52:58]

为什么L1吞吐量有限

如果L1的区块限制被解除,会遇到一个很大的问题,因为链的高吞吐带来了链上区块的高增长率,为了确保不同的节点跟上最新的全链状态,就需要增加了更多的全节点。又由于L1全节点必须记录所有历史记录,区块大小的大幅增加会给全节点运营者带来巨大压力,并导致部分全节点因为机器性能落后而退出系统,结果,能够运营全节点的都是一些比较大的实体,最终就是用户无法以无信任的姿态验证状态并参与网络。

Tornado Cash DAO紧急投票通过添加DAO治理作为财库多签者的提案:金色财经报道,Tornado Cash DAO社区已完成将DAO治理作为财库多签者的提案投票,共有12位参与者进行投票。该提案于周三提出,现已获得全票通过。目前该财库管理约2160万美元,投票通过后,财库需要六位多签者之中的四位通过方可批准交易。?(The Block)[2022/8/12 12:21:52]

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

上述问题为什么不会出现在ValidityRollups之上?

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

泰国证监会要求加密货币交易平台Zipmex就冻结提款问题做出澄清:7月21日消息,泰国证监会在其官网表示已向加密货币交易平台 Zipmex 致函,要求其就冻结提款问题做出澄清,澄清内容包括管理的客户资产数量以及如何使用与 ZipUp 相关的存款资金的详细信息。

此前消息,此前暂停提款的加密货币交易平台 Zipmex 宣布,将于北京时间 2022 年 7 月 21 日 19:00 重新为交易钱包(Trade Wallet)启用存取款功能,交易功能将继续保持禁用,直至另行通知。(CoinDesk)[2022/7/21 2:29:07]

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

StarkNet的未来性能路线图

这一部分,我们将讨论目前有哪些计划用于对StarkNet排序器的优化。

排序器并行化

a16z Crypto负责人提醒欺诈风险:有人在Instagram冒充我:金色财经报道,a16z Crypto负责人 Chris Dixon 在其官方社交媒体账户上发布欺诈风险提示,他表示自己不使用任何 Instagram 消息,但现在发现有人冒充他实施欺诈,因此提醒用户注意风险。Chris Dixon 创立并领导 a16z Crypto,该机构刚刚完成了第四只基金 Crypto Fund 4募资,规模高达45亿美元。[2022/6/3 3:59:57]

性能路线图的第一步是为交易执行引入并行化。这个提议是在StarkNetalpha0.10.2中正式引入的,该版本于11月29日在以太坊主网上发布,我们现在来深入探讨下什么是并行化。

一般来说,并行执行多个交易区块是不可以的,因为不同的交易可能是相互依赖的。以下方示例中进行说明,我们假设有一个包含来自同一用户的三笔交易的区块:

TxA:将USDC兑换ETH

TxB:为某款NFT支付ETH费用

TxC:将USDT兑换BTC

显然,交易A必须发生在交易B之前,但交易C完全独立于两者,是可以并行执行的。如果每个交易需要1秒执行,那么通过引入并行化处理之后,区块生产时间可以从3秒减少到2秒。

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

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

为了克服事先无法确定不同交易事件之间的依赖关系,我们根据AptosLabs推出的BLOCK-STM,将OP并行化引入到StarkNet排序器中。在这种模式下,会以乐观地方式并行地处理事务,并在发现碰撞时重新执行。比如在上述示例图中,我们可以并行执行TX?1-4?,但事后发现Tx4依赖于Tx?1?,因此这次执行是无效的,在这种情况下,将重新执行Tx?4?。

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

另一个优化的例子是选择哪些事务来重新执行。假设由上述示例图的所有事务组成的区块被送入一个拥有五核CPU的排序器。首先,我们尝试并行执行tx1-5?,如果完成的顺序是Tx?2、Tx?3、Tx?4、Tx?1?,最后是Tx?5?,那么我们将在Tx?4已经执行后才发现依赖关系Tx?1?→Tx?4?,这表明它应该被重新执行。直观地说,考虑到Tx?4的重新执行,Tx?5也需要重新执行,然而,我们可以遍历由执行已经结束的事务构建的依赖图,只重新执行依赖于Tx?4的事务,而不是将失效Tx?4之后的事务都重新执。

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通信的开销,也可以完全重新设计状态的存储和访问方式。

证明者

在整篇文章中,没有提到有效性汇总中核心元素之一——证明者。作为可以说是架构中最复杂的组件,证明者算是瓶颈,也是优化的重点。但现在,StarkNet的瓶颈是更加「标准」的组件,特别是对于递归证明,可以将当前测试网/主网上的更多交易放入证明中。事实上,StarkNet区块与StarkEx交易一起得到有效的市场证明,后者有时会有数十万NFT的铸造事件。

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

标签:STASTARKARKSTARSTART价格StarkMetaDMarketstarl币行情

TUSD热门资讯
莱特币:莱特币价格上涨近 37% 的原因——是时候购买LTC 了吗?

莱特币的价值在过去一周飙升。尽管处于熊市,比特币的小弟价格最近几天还是暴涨。在许多数字货币一直苦苦挣扎的市场中,这种意外的飙升显得尤为突出.

1900/1/1 0:00:00
以太坊:以太坊价格关键指标指向 1,250 美元以上复苏的坚定理由

以太坊对美元持有1,150美元的关键支撑位。ETH正在上涨,甚至可能在短期内清除1,250美元的阻力区域。以太坊修正走低,但多头在1,150美元附近活跃.

1900/1/1 0:00:00
PIN:Pink Hare一站式代币发行平台,将重塑DEFI生态格局

DEFI的魅力在于,它总能给人意料之外的事情。DEFI正在不断地开疆拓土。从蓝狐笔记的观察来看,DEFI一开始是传统金融的平行世界,但它又像是黑洞,引力越来越大,最终重塑未来人们的金融交互模式.

1900/1/1 0:00:00
BTC:BTC 保持平静,下一次冲击波交易持平

虽然Litecoin、Binancecoin、Dogecoin和其他顶级代币已跃升至新的每周高点,但比特币仍保持平静,因为价格继续持平。其主导地位的持续下降已经过渡性地增强了流入山寨币的波动性.

1900/1/1 0:00:00
比特币:为什么比特币崩盘? BTC可能走向 1万 美元的 3 个原因

加密货币大亨MikeNovogratz在1月初预测,2022年对加密货币投资者来说将是艰难的一年。“今年将是人们意识到成为投资者是一项艰巨工作的一年,”他在推特上写道.

1900/1/1 0:00:00
加密货币:这就是为什么随着买家重返战场,加密货币价格飙升的原因

尽管加密货币在过去几周经历了很多FUD,但市场在过去几天显示出一些复苏的迹象,在美联储主席杰罗姆鲍威尔暗示美联储加息放缓后,今天出现新的反弹.比特币和其他主要加密货币的价格一直在稳步上涨.

1900/1/1 0:00:00