奔走相告, @Starknet v0.12.0 殺死Pending 的升級成功了!直接感官體驗,交易速度從10-20min 縮短到數秒級了,Starknet 終終終終於注重用戶體驗了。
那麼,從技術視角該如何看待Starknet 的這次升級呢?和zkSync 相比,How it works?這會對Starknet 的後續生態發展帶來哪些影響?來,探討下。
論zk 技術starknet 優於zkSync,但zkSync 的主網交互地址、生態繁榮度、TVL 等Metrics 數據都遠超Starknet。why?
原因是Starknet 在賬戶抽象、Pending 等用戶感官層面體驗糟糕。
此次升級優化了cario 合約算法,重寫了Sequencer,增加了TPS,關鍵後置了accepted on L1 的時間,大大縮短了交易「成功」時間。
也就是說,原先用戶端要等待txs 被L1 驗證成功後才結束pending 狀態,時間大概20min,現在只要在L2 上生成Stark 證明後就先默認txs 成功了,時間數秒即可。
但相應的,Accepted on L1 的時間也被加到了5 小時以上(如下圖),這主要是為了確保分層確定性機制的網絡安全問題,避免L1 出現重組的概率。
原先的單層確認機制,雖然pending 時間長,但只是感官問題,用戶在存在pending 交易的情況下再發其他交易也是可以的。(擼er 加不加號癥結不在此)
只不過用戶習慣了等待一筆交易完成後再開始新交易。但消滅pending 後會帶動txs 的高頻巨量。
為確保足夠安全,L1 確認的時長被大幅增加,反正用戶無感知。
ow it works?zkSync 採用二階段提交驗證機制,在Snark 證明生成後和被驗證後會和L1 交互2 次,而starknet 是單階段驗證,只向L1 提交最終狀態,而不是最初的提交狀態。
那如何確保狀態變化前後一致呢?這其實是Stark 證明強大於Snark 證明的一點,Stark 證明可以基於最終狀態推導出提交狀態自我校驗。
一方面,Starknet 在算法和計算資源上產生更大消耗;另一方面Starknet 會堆砌更多的交易在其cario contract 上,對其zk 電路算法的考驗尤為大。交易多則狀態推導壓力大,一旦個別錯誤,就可能導致網絡擁堵。
這也就解釋了,為啥Accepted on L1 的時間會超過5 小時。主要在給其zk 算法爭取更多容錯時間。
整體而言,Starknet 的升級戰略意義顯著,它將Starknet 親民化,將直接帶動其各項數據提升,改變L2 各公鏈競爭局勢。
但你一定得知道,前端體驗簡化的代價一定是後端技術加碼,後續Starknet 面臨的網絡穩定性挑戰一定不小。
不過,彌補了不夠貼近市場和用戶的生態短板,friendly 的Starknet 未來可期!