原文:《StarkNetPerformanceRoadmap》
编译:wesely
路线图中的并行化、Rust等改进,都是为接下来StarkNet提升TPS所做的准备。
rollups的有效性不受限于L1的吞吐量,使得L2的TPS可以很高。
在StarkNet的性能路线图中,解决了系统中的一个关键因素——排序器。
性能的改进主要有以下几点:
排序器的并行化
为Cairo虚拟机提供Rust语境下的实现
在Rust语境下的排序器
证明者并不是瓶颈,他们可以处理比现在更多的东西。
简介
大约一年前,StarkNetAlpha正式上线了以太坊主网,这时,我们将重心放在了功能的构建上,现在,我们决定将重点转移到提高性能之上,并计划通过一系列的步骤来提高StarkNet上的用户体验。
AI&区块链初创公司Fastagger完成新一轮融资:金色财经报道,非洲 AI & 区块链初创公司 Fastagger 宣布完成新一轮融投资,具体金额暂未对外披露,瑞士“加密谷”风投公司 CV VC 参投。Fastagger 公司的创新解决方案利用 AI 和区块链技术分析客户行为和参与度来帮助企业增加销售额和融资渠道,该公司还入选了 NVIDIA 人工智能创新启动计划和“Startup with Chainlink”计划。(bitcoinke)[2023/2/8 11:55:11]
在这篇文章中,我将解释为什么有很多优化措施只适用于有效性汇总,并分享StarkNet实施这些措施的计划和步骤,其中一些计划已经在StarkNetAlpha0.10.2中实现,在讨论具体的细节之前,让我们先来回顾一下限制链上性能的原因。
区块限制:ValidityRollups与L1
提高区块链可扩展性和TPS的方法之一是:在解除区块的限制同时,保持区块生成时间的不变。这需要区块生产者提供更高效的服务,因此就需要更有效地执行这些组件,因此,我们将重点转移到StarkNet排序器的优化之上,在下文会详述具体内容。
StarkWare创始人:一笔交易可以产生6000万个NFT:金色财经报道,零知识(ZK)汇总技术公司StarkWare创始人Eli Ben-Sasson表示,其新的递归有效性证明理论上可以在以太坊区块链上汇总多达6000万笔交易。此前他在一次演讲中宣布开始生产 StarkWare的新递归有效性证明技术。
与标准Validium扩展相比,递归有效性证明可以进一步将交易吞吐量扩展至至少10倍,并指出他们已经在市场上拥有 600,000 枚NFT。我们至少可以达到600万,而且这是在短期内。这是一件很容易做到的事情。Ben-Sasson还补充说,通过更多的工程和调整,这个数字可能会上升到6000万,并补充说:我认为也很有可能将延迟再降低5到10倍。[2022/8/8 12:09:42]
这里会有一个问题,为什么对排序器的优化仅仅对ValidityRollups有效,换句话说,为什么我们不能在L1上以相同的方法改进,避免有效性汇总有复杂性?在下一节内容中,对这一问题将进行回答。
DeFi借贷协议Hashstack Finance完成100万美元种子轮融资:3月2日消息,DeFi借贷协议Hashstack Finance宣布完成100万美元种子轮融资,GHAF Capital Partners、Moonrock Capital、Kane & Rao Group、Nimrod Lehavi、MarketAcross和Chainridge Capital等参投。新资金将用于继续开发Open Protocol,吸引顶尖人才并发展社区。[2022/3/2 13:31:59]
为什么L1吞吐量有限
如果L1的区块限制被解除,会遇到一个很大的问题,因为链的高吞吐带来了链上区块的高增长率,为了确保不同的节点跟上最新的全链状态,就需要增加了更多的全节点。又由于L1全节点必须记录所有历史记录,区块大小的大幅增加会给全节点运营者带来巨大压力,并导致部分全节点因为机器性能落后而退出系统,结果,能够运营全节点的都是一些比较大的实体,最终就是用户无法以无信任的姿态验证状态并参与网络。
林俊杰在Instagram上展示Phanta Bear NFT:1月6日消息,知名歌手林俊杰在Instagram上展示其PhantaBear NFT。此前消息,五月天主唱阿信在ins晒出其收到的PhantaBear NFT。[2022/1/6 8:29:35]
这也让我们明白,从某种意义上来说正是L1吞吐量的限制,成就了一个真正去中心化的和相对安全的网络系统。
上述问题为什么不会出现在ValidityRollups之上?
只有在考虑全节点的问题时,我们才能看到有效性汇总的优势。正常情况下,一个L1全节点需要重新执行整个链的历史以确保当前状态的正确性,而StarkNet节点只需要验证STARK证明,而且这种验证需要的计算资源呈指数级下降。重点是,链上全节点状态的验证同步没有涉及到执行;一个节点可以从另一个全节点那里接受当前状态的转储,只需通过STARK证明来验证这个状态是否有效即可。这让我们在增加网络的吞吐量的同时,不用增加全节点的数量。
xDai与Gnosis合并提案已通过 STAKE代币将置换为GNO代币:12月8日消息,以太坊扩容解决方案xDai宣布与Gnosis合并的提案已经通过,接下来将正式启动将STAKE代币置换为GNO代币的工作,同时xDai Chain将更名为Gnosis Chain。[2021/12/8 12:57:58]
因此,在L2上,通过对排序器的优化可以对整个系统的性能进行提升,但这在L1上不能实现的。
StarkNet的未来性能路线图
这一部分,我们将讨论目前有哪些计划用于对StarkNet排序器的优化。
排序器并行化
性能路线图的第一步是为交易执行引入并行化。这个提议是在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排序器中。在这种模式下,会以乐观地方式并行地处理事务,并在发现碰撞时重新执行。比如在上述示例图中,我们可以并行执行TX1-4,但事后发现Tx4依赖于Tx1,因此这次执行是无效的,在这种情况下,将重新执行Tx4。
请注意,在上述这种乐观并行化的基础上我们也增加一些优化措施。例如,与其等待每个执行的结束,可以在发现一个使之运行结果无效的依赖关系时就中止执行。
另一个优化的例子是选择哪些事务来重新执行。假设由上述示例图的所有事务组成的区块被送入一个拥有五核CPU的排序器。首先,我们尝试并行执行tx1-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通信的开销,也可以完全重新设计状态的存储和访问方式。
证明者
在整篇文章中,没有提到有效性汇总中核心元素之一——证明者。作为可以说是架构中最复杂的组件,证明者算是瓶颈,也是优化的重点。但现在,StarkNet的瓶颈是更加“标准”的组件,特别是对于递归证明,可以将当前测试网/主网上的更多交易放入证明中。事实上,StarkNet区块与StarkEx交易一起得到有效的市场证明,后者有时会有数十万NFT的铸造事件。
总之,并行化、Rust等改进,都是为接下来StarkNet提升TPS所做的准备。
在过去十年中,手机游戏已成为互动娱乐产业的重要支柱,得益于智能手机的普及,来自世界各地的用户都成为了硬核游戏玩家.
1900/1/1 0:00:00不久前Circle计划在Arbitrum和Optimism上引入USDC的出入金通道,开发者可以使用其API。同时将它跟其他公链网络,如polkadot、cosmos、near等并列.
1900/1/1 0:00:00DeFi数据 1、DeFi代币总市值:381.16亿美元 DeFi总市值及前十代币数据来源:coingecko2、过去24小时去中心化交易所的交易量29.52亿美元 币牛交易所即将上线金色算力云FileCoin算力产品:据官方消息.
1900/1/1 0:00:00作者:蒋长浩Cobo联合创始人兼CTO随着FTX倒闭后对中心化机构信任的崩塌,CZ在Twitter上呼吁交易所采用MerkleTree的储备证明方法来证明他们没有挪用用户资产.
1900/1/1 0:00:00金色财经报道,稳定币USDC发行方Circle首席执行官JeremyAllaire在接受雅虎财经最新采访时表示,从2008年金融危机中脱颖而出的基于区块链的去中心化系统仍在继续其用例,他解释说:“具有讽刺意味的是.
1900/1/1 0:00:00以太坊域名服务ENS曾被V神认为是迄今为止最成功的非金融类以太坊应用程序,区块链域名服务项目属于具备落地场景值得关注加密项目.
1900/1/1 0:00:00