Starknet升级:一次杀死pending的亲民化更新
奔走相告, @Starknet v0.12.0 杀死Pending的升级成功了!
直接感官体验,交易速度从10-20min缩短到数秒级了,Starknet终终终终于注重用户体验了。
那么,从技术视角该如何看待Starknet的这次升级呢?和zkSync相比,How it works?这会对Starknet的后续生态发展带来哪些影响?来,探讨下。🧵1/7
论zk技术starknet优于zkSync,但zkSync的主网交互地址、生态繁荣度、TVL等Metrics数据都远超Starknet。why?
原因是Starknet在账户抽象、Pending等用户感官层面体验糟糕。
此次升级优化了cario合约算法,重写了Sequencer,增加了TPS,关键后置了accepted on L1的时间,大大缩短了交易“成功”时间。2/7
也就是说,原先用户端要等待txs被L1验证成功后才结束pending状态,时间大概20min,现在只要在L2上生成Stark证明后就先默认txs成功了,时间数10秒即可。
但相应的,Accepted on L1的时间也被加到了5小时以上(如下图),这主要是为了确保分层确定性机制的网络安全问题,避免L1出现重组的概率。3/7
原先的单层确认机制,虽然pending时间长,但只是感官问题,用户在存在pending交易的情况下再发其他交易也是可以的。(撸er加不加号症结不在此)
只不过用户习惯了等待一笔交易完成后再开始新交易。但消灭pending后会带动txs的高频巨量。
为确保足够安全,L1确认的时长被大幅增加,反正用户无感知。4/7
How it works?zkSync 采用二阶段提交验证机制,在Snark证明生成后和被验证后会和L1交互2次,而starknet是单阶段验证,只向L1提交最终状态,而不是最初的提交状态。
那如何确保状态变化前后一致呢?这其实是Stark证明强大于Snark证明的一点,Stark证明可以基于最终状态推导出提交状态自我校验。5/7
一方面,Starknet在算法和计算资源上产生更大消耗;另一方面Starknet会堆砌更多的交易在其cario contract上,对其zk电路算法的考验尤为大。交易多则状态推导压力大,一旦个别错误,就可能导致网络拥堵。
这也就解释了,为啥Accepted on L1的时间会超过5小时。主要在给其zk算法争取更多容错时间。6/7
整体而言,Starknet的升级战略意义显著,它将Starknet亲民化,将直接带动其各项数据提升,改变L2各公链竞争局势。
但你一定得知道,前端体验简化的代价一定是后端技术加码,后续Starknet面临的网络稳定性挑战一定不小。
不过,弥补了不够贴近市场和用户的生态短板,friendly 的Starknet未来可期!7/7