概要
●?L2不受与L1相同的吞吐量限制。这为L2ValidityRollup带来更高的TPS。
●?StarkNet性能路线图解决了系统中的一个关键元素:定序器。
●?我们在此展示性能改进的路线图:
定序器并行化Cairo-VM的新Rust实现Rust中的定序器重新实现●?验证者,可以处理比现在更多的事情。
介绍
大约一年前,StarkNet在主网发布。一开始,我们主要集中构建StarkNet功能性。目前,我们将重点转移至通过一系列步骤提高性能,而这将有助于增强StarkNet体验。
在这篇文章中,我们将解释为什么广泛的优化只适用于ValidityRollup,并分享我们在StarkNet上实施这些步骤的计划。其中一些步骤已经在StarkNetAlpha0.10.2中实现,该版本于测试网和主网发布。但在我们讨论解决方案之前,让我们回顾一下区块受限问题及其原因。
2022年前6个月Web3领域投资规模已超10亿美元,较2021全年翻一番:金色财经报道,根据来自 Venture Intelligence 分析数据显示,仅在 2022 年前六个月,Web3 领域的投资规模已经超过 10 亿美元,而 2021 年这一领域吸引的投资规模为 5 亿美元,这意味着尽管当前处于宏观经济和加密寒冬,但投资者依然看好 Web3 新兴行业。数据显示,一些主要交易包括 Polygon 完成 4.5 亿美元融资、CoinDCX 完成 1.36 亿美元融资、NFT 市场 Rario 和 Fancraze 融资规模也都超过 1 亿美元,该领域中的活跃投资者有 Polygon Studios、红杉资本、Coinbase、Woodstock、Better Capital、Alpha Wave Global 和 Tiger Global。(moneycontrol)[2022/6/30 1:41:38]
区块空间限制:ValidityRollup与L1
研究:比特币挖矿能源消耗于 2024 年达到峰值,温室气体排放将超过捷克和卡塔尔:4月21日消息,中科院和清华大学等学者合作在《自然-通讯》发表了一篇关于比特币挖矿在中国耗费能源的研究论文,该研究认为,如果在没有任何政策干预的情况下,中国在比特币区块链挖矿中的年能耗预计将在 2024 年达到峰值,并相应产生 1.305 亿吨的碳排放,这将超过捷克共和国和卡塔尔的年化温室气体排放总量。
该文章指出,从目前的惩罚性碳税政策转向为改变挖矿活动的能源消耗结构的监管政策,对限制比特币产生的碳排放更为有效。[2021/4/21 20:44:09]
在保持出块时间不变的情况下,提高区块链可扩展性和TPS的一种潜在方法是解决区块限制。这将需要区块生产者付出更多努力,需要更有效地实施这些组件。为此,我们现在将重点转移到StarkNet定序器优化上,我们将在以下部分中对此进行更详细的描述。
这里自然而然会出现一个问题。为什么定序器优化仅限于ValidityRollup,也就是说,为什么我们不能在L1上实现相同的改进并完全避免ValidityRollup的复杂性?在下一部分,我们将解释两者之间存在的根本区别,允许对不适用于L1的L2进行广泛的优化。
《政务区块链发展白皮书(2020年)》已发布:近日,在区块链政务应用论坛上,可信区块链计划发布了《政务区块链发展白皮书(2020年)》。
本白皮书针对政务区块链的本质特征及运行机理进行科学分析,并设计出政务区块链的应用图谱,同时全面汇编政务服务领域的区块链应用典型案例,成为政务区块链创新应用的重要指南。
白皮书共分为五章:第一章分析数字政府建设现状及存在瓶颈,介绍区块链技术特点和政务区块链的价值。
第二章科学分析政务区块链赋能数字政府的基本模式,包括政务区块链特点及运行机理,如何重塑政务数据生产关系等。
第三章系统介绍政务区块链应用图谱、主要场景设计思路,以及政务区块链推广应用存在瓶颈、发展趋势等。
第四章全面梳理了政务区块链的实践案例,说明各方面案例建设运营情况以及应用前后的效果对比等。
第五章从多个维度分析并提出政务区块链发展的策略建议,为各省市政务区块链建设发展提供借鉴。(中国邮箱网)[2021/1/18 16:25:03]
为什么L1吞吐量有限?
NOVA《2020 区块链投资研究分析报告》:中美两国是区块链行业最活跃的两个国家:金色财经现场报道,8月5日2020 Cointelegraph中文大湾区·国际区块链周在深圳举行。NOVA联合创始人、Cointelegraph中文联合创始人李翔敏在会上发布了NOVA《2020 区块链投资研究分析报告》。报告显示,在全球化视角下,中美两国是区块链行业最活跃的两个国家。在产业区块链领域,中美两国是专利申请最多的国家,美国专利申请占中国的一半。在投融资领域,技术类项目西方国家占优势。而在传统行业与区块链结合的产业,中国占优势。[2020/8/5]
不幸的是,解除对L1的区块限制会遇到一个重大陷阱。通过提高区块链的增长率,我们也增加了对全节点的需求,他们试图跟上最新的状态。由于L1全节点必须重新执行所有历史记录,区块区间的大幅增加会给它们带来巨大压力,再次导致较弱的机器退出系统并将保留运行全节点的能力归向足够大的实体。最终,用户将无法自己验证状态,以及以去信任方式参与网络。
动态 | 人工智能和区块链公司Core Scientific收购Stax Digital:人工智能和区块链公司Core Scientific收购了Honeyminer的创建者Stax Digital。通过这笔交易,Core Scientific将引入Stax Digital的关键资产,包括Honeyminer的全部员工和知识产权。据悉,Honeyminer于2018年7月推出,是在个人计算机上进行GPU加密货币挖掘的领先软件。(coindesk)[2019/9/28]
这让我们明白L1吞吐量应该受到限制,以维护一个真正去中心化和安全的系统。
为什么相同的问题不会影响ValidityRollup?
只有从全节点的角度考虑,我们才能看到ValidityRollup所提供的真正力量。L1全节点需要重新执行整个交易历史,以确保当前状态的正确性。StarkNet节点只需要验证STARK证明,而该验证所占用的计算资源量呈指数级下降。特别是,从头开始同步不一定涉及执行;一个节点可能会从其对等节点接收到当前状态的转储,并且只能通过STARK证明来验证该状态是否有效。这使我们能够在不增加全节点要求的情况下增加网络的吞吐量。
因此,我们得出结论,L2定序器会对整个优化范围带来影响,但这在L1上是不可能的。
未来的性能路线图
在接下来的部分中,我们将讨论目前哪些计划用于StarkNet定序器。
定序器并行化
我们路线图的第一步是将并行化引入交易执行。这是在昨天在主网上发布的StarkNetalpha0.10.2中引入的。我们现在深入了解什么是并行化。
那么“交易并行化”是什么意思?并行执行一个交易块是不可能的,因为不同的交易可能是相互依赖的。这在以下示例中进行了说明。一个包含来自同一用户的三笔交易的区块:
●?交易A:将USDC换成ETH
●?交易B:为NFT支付ETH
●?交易C:USDT换BTC
显然,TxA必须在TxB之前发生,但TxC完全独立于两者并且可以并行执行。如果每笔交易需要1秒来执行,那么通过引入并行化,出块时间可以从3秒减少到2秒。
问题的症结在于我们事先并不知道交易的依赖关系。实际上,只有当我们从示例中执行事务B时,我们才能看到它依赖于事务A所做的更改。进一步说,这一依赖性源于事务B从事务A写入的存储单元中读取这一事实。我们可以将交易画成一个依赖图,其中存在从交易A执行至交易B,当且仅当A写入一个由B读取的存储单元,因此必须在B之前执行。下图显示了依赖图的示例:
在上面的示例中,每一列都可以并行执行,这是最佳安排。
为克服事先不知道依赖图的事实,我们本着AptosLabs开发的BLOCK-STM的精神,将optimistic并行化引入到StarkNet定序器中。在该范式下,我们乐观地尝试并行运行事务并在发现冲突时重新执行。例如,我们可以并行执行图1中的交易1-4,之后才发现Tx4依赖于Tx1。因此,它的执行是无用的。在这种情况下,我们将重新执行Tx4。https://malkhi.com/posts/2022/04/block-stm/
请注意,我们可以在optimistic并行化之上添加许多优化。例如,与其天真地等待每次执行结束,我们转而可以在发现使它无效的依赖项时中止执行。
另一个例子是优化重新执行哪些交易的选择。假设包含图1中所有事务的块被送入具有五个CPU内核的定序器。首先,我们尝试并行执行交易1-5。如果完成顺序是Tx2,Tx3,Tx4,Tx1,最后是Tx5,那么只有在Tx4已经执行完之后,我们才会发现依赖Tx1→Tx4——说明应该重新执行。天真地,我们可能也想重新执行Tx5,因为考虑到Tx4的新执行,它的行为可能会有所不同。然而,我们可以遍历由执行已经终止的交易构建的依赖图,只重新执行依赖于Tx4的交易,而不是仅仅重新执行现在无效的Tx4之后的所有交易。
Cairo-VM的新Rust实现
StarkNet中的智能合约是在Cairo中编写的,并在Cairo-VM中执行,该规范出现在Cairo白皮书中。目前,定序器正在使用Cairo-VM的python实现。为优化VM实现性能,我们发起使用Rust重写VM的工作。感谢Lambdaclass的出色工作,他们现在是StarkNet生态系统中一个非常宝贵的团队,这项工作很快就会取得成果。
VM的rust实现,cairo-rs,现在可以执行原生Cairo代码。下一步是处理智能合约的执行,以及与pythonic定序器的集成。一旦与cairo-rs集成,定序器的性能有望显着提高。
Rust中的定序器重新实现
我们从python到rust以提高性能的转变不仅限于CairoVM。除了上述改进之外,我们还计划用Rust从头开始,重写定序器。除了Rust的先天优势之外,这还为序列器的其他优化提供了想象空间。举几个例子,我们可以享受cairo-rs的好处,而无需为python-rust通信支付费用,我们可以完全重新设计状态的存储和访问方式。
证明者
在整篇文章中,我们都没有提到ValidityRollup中最知名的元素——证明者。可以想象,作为可以说是架构中最复杂的组件,它应该是瓶颈,因此也是优化的重点。有趣的是,现在StarkNet的瓶颈是更“标准”的组件。今天,特别是对于递归证明,我们可以将比测试网/主网上的当前流量更多的交易放入证明中。事实上,目前,StarkNet区块与StarkEx交易一起得到证明,后者有时会产生数十万NFT铸造交易。
总结
并行化、Rust等——为即将到来的StarkNet版本中改进的TPS做好准备。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。