区块链网站|NFTS Aptos(APT) 解读StarkNet性能路线图和性能瓶颈

解读StarkNet性能路线图和性能瓶颈

广告位

解读StarkNet性能路线图与性能瓶颈

StarkNet背后的团队StarkWare于11月29日正式公布了StarkNet的性能路线图。

本文将解读路线图中要推广的三件事:并行排序器、Cairo VM的Rust实现和排序器的Rust实现;并将解释StarkNet的性能瓶颈。

1.平行分拣机

Sorter是StarkNet网络中的离链服务器,接收所有交易和订单,经过验证确认后打包成块,类似以太坊中的矿工(值得注意的是StarkNet只执行链下交易,生成执行证书和链上验证证书)。

在定序器中引入并行事务执行的意义在于定序器可以同时执行多个事务,从而提高整个网络的事务吞吐量/TPS。

具体来说,有些事务可以并行执行,而有些则不能。例如,在一个块中,可能有来自一个用户的三个交易:交易a)用USDC交换ETH交易;b)为NFT支付ETH交易;c)将USDT改为BTC。在这个例子中,事务A和B不能并行执行,B必须在A之后执行。但是事务C可以与事务A同时并行执行。假设每个事务执行需要1秒,那么并行性的引入将使总执行时间从3秒减少到2秒,TPS也将增加0.5。

https://stark ware . medium . com/stark net-性能-路线图-bb7aae14c7de

StarkNet即将推出的并行执行将借鉴Aptos开发的BLOCK-STM,在排序器中引入乐观并行。简单来说,定序器会乐观地假设所有事务都可以并行执行,会直接并行运行事务,最后发现冲突时重新执行。

第二,Cairo VM的Rust实现

以太坊的智能合约运行在以太坊虚拟机EVM上,开发语言是Solidity。

StarkNet的虚拟机是Cairo VM,StarkNet上所有的智能合约都运行在Cairo VM上,其开发语言也叫Cairo。与以太坊的EVM不同,Cairo VM本身并不执行计算,只是验证计算的正确性。

目前排序器正在使用Cairo VM的Python实现(用Python语言写Cairo VM)。Cairo VM(Rust language)Rust实现的意义在于可以进一步优化VM的性能。目前业内普遍认为,Python的实现并不是最佳方案。

我们可以通过它的Python实现感受到EVM的低效。

https://github.com/ziyadedher/evm-bench/blob/main/README.md

想起一句话:“早知道不行,没想到效果这么差。”

3.分类器的Rust实现

sorter的Rust实现的目的和Cairo VM是一样的,也是为了让Rust实现取代效率较低的Python实现。

第四,性能瓶颈

证明加速StarkNet承认,证明加速是性能提升最重要的瓶颈之一,但这是所有ZK项目都需要解决的问题。路线图中没有发布更多关于硬件加速的信息。根据我对Cairo的了解,我猜测StarkNet可能是一个ZK CPU,因为Cairo VM本身就是一个图灵完全CPU,做了一个Cairo CPU之后,理论上可以通过Cairo VM中的软件编程无限接近ASIC的性能。打包交易StarkNet需要为交易生成一个证书,然后发送到以太坊进行验证。交易量越大,平摊的以太坊验证成本越低,用户平摊的calldata成本越低。但是,如果交易量不足,StarkNet仍然需要在固定时间打包区块,StarkNet将不得不自行承担损失。StarkNet减少这种损失的方法是将StarkEx的交易纳入StarkNet的证书中,以平均分摊成本。StarkWare的联合创始人伊莱本萨松(Eli Ben-Sasson)曾在首尔会议上表示,其新的递归有效性证明理论上可以将邰方区块链上多达6000万笔交易聚合到以太坊上的一笔交易中。验证成本Cairo采用STARK证明系统,验证成本与电路规模和函数调用成对数关系。当函数调用增加99倍时,代价可能只增加2倍(f(x)=log1.2(x))。简单来说,交易越多,平均验证成本越低。所以从验证成本来看,StarkNet的性能瓶颈会达到一个可怕的量级。当验证时间为一秒时,可以完成的函数调用约为1.51 e 79(10的79次方)。

这是一个小的量级(手绘)。X轴是散列函数调用的次数,Y轴是验证时间(毫秒)

这是一个较大的量级,注意坐标轴的值。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/apt/36397.html
上一篇
下一篇

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部