原文作者:StarkWare
原文編譯:DeFi之道
Rollups的有效性不受限于L1的吞吐量,使得L2的TPS可以很高。
在StarkNet的性能路線圖中,解決了系統中的一個關鍵因素——排序器。
性能的改進主要有以下幾點:
排序器的并行化
為Cairo虛擬機提供Rust語境下的實現
在Rust語境下的排序器
證明者并不是瓶頸,他們可以處理比現在更多的東西。
簡介
大約一年前,StarkNetAlpha正式上線了以太坊主網,這時,我們將重心放在了功能的構建上,現在,我們決定將重點轉移到提高性能之上,并計劃通過一系列的步驟來提高StarkNet上的用戶體驗。
在這篇文章中,我將解釋為什么有很多優化措施只適用于有效性匯總,并分享StarkNet實施這些措施的計劃和步驟,其中一些計劃已經在StarkNetAlpha0.10.2中實現,在討論具體的細節之前,讓我們先來回顧一下限制鏈上性能的原因。
過去1小時全網爆倉近2億美元:金色財經報道,據 Coinglass 數據顯示,過去1小時全網爆倉1.96億美元。其中比特幣爆倉7340萬美元,以太坊爆倉2489萬美元。[2023/6/6 21:17:39]
區塊限制:ValidityRollups與L1
提高區塊鏈可擴展性和TPS的方法之一是:在解除區塊的限制同時,保持區塊生成時間的不變。這需要區塊生產者提供更高效的服務,因此就需要更有效地執行這些組件,因此,我們將重點轉移到StarkNet排序器的優化之上,在下文會詳述具體內容。
這里會有一個問題,為什么對排序器的優化僅僅對ValidityRollups有效,換句話說,為什么我們不能在L1上以相同的方法改進,避免有效性匯總有復雜性?在下一節內容中,對這一問題將進行回答。
為什么L1吞吐量有限
如果L1的區塊限制被解除,會遇到一個很大的問題,因為鏈的高吞吐帶來了鏈上區塊的高增長率,為了確保不同的節點跟上最新的全鏈狀態,就需要增加了更多的全節點。又由于L1全節點必須記錄所有歷史記錄,區塊大小的大幅增加會給全節點運營者帶來巨大壓力,并導致部分全節點因為機器性能落后而退出系統,結果,能夠運營全節點的都是一些比較大的實體,最終就是用戶無法以無信任的姿態驗證狀態并參與網絡。
華爾街日報:Signature Bank高管過去三年共出售超1億美元公司股票:4月4日消息,據華爾街日報分析,加密友好銀行Signature Bank的高管在過去三年共出售超過1億美元的公司股票,而Signature Bank董事長、前首席執行官及其繼任者過去三年的出售額約占總金額的一半。其中高管們曾在2021年以220美元左右的價格出售許多股票,而該股票在2022年初達到366美元的歷史高點。(華爾街日報)[2023/4/4 13:44:04]
這也讓我們明白,從某種意義上來說正是L1吞吐量的限制,成就了一個真正去中心化的和相對安全的網絡系統。
上述問題為什么不會出現在ValidityRollups之上?
只有在考慮全節點的問題時,我們才能看到有效性匯總的優勢。正常情況下,一個L1全節點需要重新執行整個鏈的歷史以確保當前狀態的正確性,而StarkNet節點只需要驗證STARK證明,而且這種驗證需要的計算資源呈指數級下降。重點是,鏈上全節點狀態的驗證同步沒有涉及到執行;一個節點可以從另一個全節點那里接受當前狀態的轉儲,只需通過STARK證明來驗證這個狀態是否有效即可。這讓我們在增加網絡的吞吐量的同時,不用增加全節點的數量。
Larry Cermak:編寫開源代碼的能力和擁有隱私的普通用戶是加密貨幣中最重要的原則之一:金色財經報道,The Block研究副總裁Larry Cermak在社交媒體上稱,我認為現在要問的一個有趣的問題是,為什么只有 Tornado Cash 受到影響,而其他隱私項目(如 CoinJoin、Monero 甚至 Zcash)仍然可以,是因為最近使用了 Tornado,還是有其他一些因素在這里起作用?只是奇怪,無論如何,編寫開源代碼的能力和擁有隱私的普通用戶是加密貨幣中最重要的原則之一。我們需要盡我們所能保護那些將他們的安全置于危險之中的開發者。[2022/8/13 12:23:23]
因此,在L2上,通過對排序器的優化可以對整個系統的性能進行提升,但這在L1上不能實現的。
StarkNet的未來性能路線圖
這一部分,我們將討論目前有哪些計劃用于對StarkNet排序器的優化。
Curve上ETH/stETH流動性池的stETH價格升至0.9521ETH,傾斜比有所緩和:金色財經報道,Curve上ETH/stETH流動性池的stETH兌換價格已升至0.9521ETH,池內共有128,639.96枚ETH(占比21.22%),477,456.41枚stETH(占比78.78%),傾斜比有所緩和。當前ETH價格1094USDT,stETH價格1043USDT。[2022/6/14 4:25:16]
排序器并行化
性能路線圖的第一步是為交易執行引入并行化。這個提議是在StarkNetalpha0.10.2中正式引入的,該版本于11月29日在以太坊主網上發布,我們現在來深入探討下什么是并行化。
一般來說,并行執行多個交易區塊是不可以的,因為不同的交易可能是相互依賴的。以下方示例中進行說明,我們假設有一個包含來自同一用戶的三筆交易的區塊:
Celsius官方澄清:團隊與CEL2.0代幣的創建無關:金色財經報道,Celsius官方發推稱,為了避免混淆,CelsiusNetwork澄清,CelsiusNetwork與任何所謂的CEL2.0代幣的創建都沒有關系。我們的安全團隊正處于警戒狀態,投資者也應該保持警惕。[2022/6/14 4:24:21]
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排序器中。在這種模式下,會以樂觀地方式并行地處理事務,并在發現碰撞時重新執行。比如在上述示例圖中,我們可以并行執行TX?1-4?,但事后發現Tx4依賴于Tx?1?,因此這次執行是無效的,在這種情況下,將重新執行Tx?4?。
請注意,在上述這種樂觀并行化的基礎上我們也增加一些優化措施。例如,與其等待每個執行的結束,可以在發現一個使之運行結果無效的依賴關系時就中止執行。
另一個優化的例子是選擇哪些事務來重新執行。假設由上述示例圖的所有事務組成的區塊被送入一個擁有五核CPU的排序器。首先,我們嘗試并行執行tx1-5?,如果完成的順序是Tx?2、Tx?3、Tx?4、Tx?1?,最后是Tx?5?,那么我們將在Tx?4已經執行后才發現依賴關系Tx?1?→Tx?4?,這表明它應該被重新執行。直觀地說,考慮到Tx?4的重新執行,Tx?5也需要重新執行,然而,我們可以遍歷由執行已經結束的事務構建的依賴圖,只重新執行依賴于Tx?4的事務,而不是將失效Tx?4之后的事務都重新執。
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親愛的ZT用戶: 為滿足廣大用戶的交易需求,ZT的ETF專區即將上線</article><divclass="news_detail_footer-ubxx"><divcla.
1900/1/1 0:00:00原文作者:Jack,BlockBeats隨著FTX事件的波瀾逐漸褪去,加密行業的注意力重新回到了發展與建設中來.
1900/1/1 0:00:00大家好,我是幣圈老呂。前段時間一直在忙著一件事,忙著宣講新項目-WEB3.0,整個市場面基本都沒打開,認知度還遠遠不足5%,另外就是之前在數藏圏和幣圈也有一部分人打著元宇宙和WEB3的口號,招搖.
1900/1/1 0:00:00加密貨幣領域目前相當多樣化,廣受歡迎,越來越多的投資者對較新的硬幣系列和市場上已有的硬幣表現出濃厚的興趣。然而,當涉及到2023年具有高潛力的加密貨幣時,有必要考慮該領域專家的分析.
1900/1/1 0:00:00近期,多名用戶反饋:我的地址內莫名其妙出現了一筆0USDT的交易。這并不是我本人的操作,是否會影響我的資產安全?如果你的TRX賬戶內也有一筆或者多筆0USDT的交易,請不要恐慌,這并不會影響你的.
1900/1/1 0:00:00