Starknet 萬字研報:蓄勢待發,長期主義者的跬步千里

WEEX 唯客博客, 作者:Crush、Anci,Biteye   相比於web3世界里其它喧囂的敘事,ZK賽道在很長時間裡一直代表著漫長枯燥但意義非凡的基礎建設。 彷彿一場艱難的修行,裡面的人艱難求索,外面的人霧裡看花。 不過可喜的是,近兩年ZK的發展速度遠超預期,ZK Rollup雙雄ZkSync和Starknet在性能和費用上都實現了巨大的進步。 以太坊EIP-4844升級后,ZK Rollup在與OP Rollup的競爭格局中也逐漸走強。 更令人振奮的是,曾經的競爭對手StarkWare與Polygon Labs合作,升級了一直代表ZK前沿實力的STARK協議,正式推出Circle STARK,為ZK證明能力帶來了又一次飛躍。 如果你已經閱讀了去年的文章(L2 Summer 將至?一文掌握 StarkNet 技術原理及生態),想要更深入了解Starknet背後奇妙的ZK證明過程,但又礙於各種令人生畏的數學公式和錯綜複雜的技術流派,那麼不妨跟隨這篇文章來了解一些關於ZK的關鍵問題。 我們會嘗試避開惱人的數學部分,並在此基礎上討論Starknet的技術優勢,尤其是近期發布的重大突破。 01 首先從ZK開始 ZK是一個標籤,也是零知識證明系統(Zero Knowledge Proof Systems)的縮寫。 作為當下顯學,ZK證明像個神秘傳說——在不泄露任何額外的信息的前提下,證明某個事實。 這麼理想化的目標要如何實現呢?這裡我們需要類比一個做過學生都熟悉的情景。 通常,一個學生想要證明自己學業優秀,最簡潔的辦法便是出示成績單。在保證考試系統有效、公正的基礎上,一份加權成績達到A的成績單往往可以為學生的學業水平背書,而無需展示任何具體的學業內容。 ZK證明的過程也很類似,簡單來說,它的核心成員有兩個部分:證明器(Prover)和驗證器(Verifier)。 證明器就像學校的考試系統,有一套固定的流程,為學生生成成績單,作為學生學術能力的證明,並呈遞給作為驗證器的家長/公司,家長/公司通過成績單來驗證學生的能力水平。 這裡我們可以看出,整個證明過程中最艱難的部分便是證明器生成證明的過程。在具體的ZK證明中,它可以分成兩個部分——算術化和多項式承諾。 1.1 算術化 算術化,就是把複雜的證明問題轉換成代數問題,具體地,就是把我們想要證明的見證(Witness),轉換成一組多項式約束(Polynomial Constrains)。這就類似於我們把學生的學術能力,通過考試,轉化成一組分數成績。 Witness:見證,是我們通常所說的鏈下計算的原始數據,包括交易數據、賬戶狀態數據、中間計算結果等,是我們用來證明交易有效性,但又不想公開的隱私數據。 Polynomial Constrains:多項式約束。在ZK證明過程中要做的,就是把複雜問題轉化成數學問題,而數學證明方式最關鍵的一環,就是要找到一個多項式,並最終證明自己的確找到了。多項式約束,就是指這個多項式需要滿足的條件。 1.2 多項式承諾 多項式承諾,則是在具體的數學證明中,證明自己找到了一個多項式(Polynomial),滿足上一步算術化所生成的所有約束條件。 如果多項式證明有效,那麼數學證明成功,代表我們想要證明的問題成立。這個過程類似於我們最後得出一個加權平均分或者成績單,能夠保證學生的成績全是A,進而證明學生的學術能力優秀。 不過也許你會質疑,現實生活中,一張成績單往往並不能準確地表達一個人的學術能力,因為我們人類的考試系統中還是存在太多的漏洞和不可控。 而在ZK的世界里,藉助是非分明的數學和公開透明的程序,這個願望正在得以實現(正如智能合約和區塊鏈保障了公正透明一樣)。 02 SNARK vs STARK SNARK和STARK是目前兩種最常用的ZK證明協議,也分別是ZkSync和Starknet所使用的底層協議。 因為相似的名稱和賽道常常被拿來對比。不過在對比之前我們不妨先引入兩個人物,從發展史的角度更好地去了解這兩個協議所構建的ZK證明系統。 2.1 Groth與SNARK Jens Groth是UCL計算機系的一位教授(現已是榮譽教授,目前擔任Nexus的首席科學家,zkVM方向)。 此人從2009年開始,年年高產,發表多篇零知識相關的文章,我們在ZK領域常常聽到的Groth09、Groth10等等就是由他的名字和發表年份組成的。 (註:通常由於論文的名字又長又拗口,學界會用名字+年份的方式,縮寫指代一些重要的論文,比較常見的如奠定STARK基礎的BBHR18、Zcash使用的PGHR13,都是由幾位作者的首字母組合在一起,再加上年份組成的。像Groth這種一人全名獨佔,還能夠連續編年的,實數罕見。) 要論其中最著名的有二: 【Groth10】Short Pairing-based Non-interactive Zero-Knowledge Arguments,提出了完整的非互動式證明方案,被認為是SNARK的理論先驅。 【Groth16】On the Size of Pairing-based Non-interactive Arguments,在Groth10的基礎上,精簡證明尺寸,提升驗證效率,至今仍被廣泛應用。 正是在Gorth的研究基礎上,SNARK得以發展完善。 SNARK,全稱為 Succinct Non-interactive Argument of Knowledge,是一種簡潔的零知識證明系統,它極強的可用性,使得ZK迅速應用在加密貨幣領域。 2.2 Eli Ben-Sasson 與 STARK 值得一提的是,第一個將SNARK應用於加密貨幣的協議Zerocash,它的聯合創始人正是Eli Ben-Sasson——後來的StarkWare的聯合創始人,也是STARK的發明者之一。 不僅如此,早年間的Eli Ben-Sasson積極推動SNARK協議的落地,並在13、14年接連發表論文,提出並優化SNARK的構造,提升了實用性和高效性,幫助SNARK真正得到廣泛的關注和應用。 不過也許是太過了解SNARK面臨的困境,2018年,Eli Ben-Sasson等人發表【BBHR18】Scalable, transparent, and post-quantum secure computational integrity,STARKs證明系統被正式提出,也為ZK Rollup提出更加完善的解決方案。 STARK——Scalable Transparent Argument of Knowledge,在大批量證明時具有優勢,且整個證明過程透明,無需依賴信任的第三方,具有抗量子攻擊級別的安全性。 (註:需要聲明的是,雖然英雄史詩的故事總是膾炙人口,但任何一件成就都不是靠一個人力挽狂瀾得來的。相反,無論SNARK還是STARK,都是無數科學家共同努力的結果。我們拎出單個人物出來講,僅僅是為了從一個側面為這段ZK關鍵發展史提高生動性。就算牛人如Groth,他的論文也要建立在KZG等人(Aniket Kate、Gregory Zaverucha、Ian Goldberg )的研究成果上才能得以實現,而提出STARK的作者們,更是個個身懷絕技,日後我們可以持續深扒。) 2.3 SNARK vs STARK 那麼讓Eli Ben-Sasso痛下決心另起爐灶的原因是什麼呢?SNARK又面臨哪些困境呢? 2.3.1 透明性 在回答上面的問題之前,我們可能要先回答另一個問題:在加密領域,什麼最貴? 中本聰給出的答案是——信任。 SNARK恰好踩中了這個雷區。SNARK在進行多項式承諾時,採用了KZG的方法,而KZG承諾需要一個可信設置(Trusted Setup)來生成一串公共參考字元串 (Common Reference String, CRS),進而生成證明和驗證過程中的密鑰。 回到我們那個成績單的例子,家長或者公司之所以看到一個A的平均成績,就可以判斷學生學術水平優秀,是因為我們共同認可學術能力從高到低的排序是A、B、C、D。只有在這個標準下,A的成績才有意義。 但如果學校的評分系統被黑,學術能力的排序變成了C、A、B、D呢?原本拿C的學生就會被當成優等生被優先考慮。這就造成了誤判。 由此我們可以看出,這個被大家共同認可的標準的安全性至關重要。而在遵從黑暗森林法則的加密世界里,這個Trusted Setup就成了巨大的隱患。 明知如此,為什麼SNARK還要堅持使用KZG方法呢?這是因為使用KZG得到的最終證明的尺寸太小了。還記得SNARK中的「S」代表什麼嗎?Succient(簡潔)! 小尺寸的誘惑太大了,尤其是在以太坊坎昆升級之前,精簡的證明尺寸為SNARK帶來更好的實用性和高效性,在很長一段時間裡被更多的項目所接受。所以說處處都是trade off。 說回來STARK,為了啃下Non-Trusted這塊硬骨頭,STARK採用了FRI(Fast Reed-Solomon Interactive Oracle Proofs)的方法來進行多項式承諾。 具體來說,FRI方法將多項式進行 Reed Solomon編碼,以Merkle樹的形式儲存,並通過Oracle完成驗證器和證明器之間的多輪交互,由此實現了可驗證性和透明性(transparent,STARK中的「T」)。 (註:需要注意的是,這裡的Oracle並不是我們在web3世界中常見的中心化或者半中心化的預言機,而是由驗證器和證明器根據協議規則,在本地模擬出來的一個去中心化的虛擬實體,是一種交互證明機制。) 如果還要類比成績單的例子,我們可以把STARK系統的多項式承諾過程看成是一個構建在鏈上的評分系統,通過區塊鏈技術保證了整個系統的公正和透明。 此外,STARK證明中,驗證器和證明器還可以通過使用一個公共的隨機信標(Random Beacon)來模擬交互過程,並最終打包成一個完整的證明,實現非互動式證明,獲得更好的可用性和非同步性。 2.3.2 可拓展性 STARK的進步還表現在處理大規模複雜運算問題上的通用性和靈活性,以及它的平均證明尺寸會隨著證明規模擴大而降低,形成網路效應,即「S」所代表的Scalable。 不同於SNARK採用以R1CS為代表的電路計算方式進行算術化,需要針對不同問題重新設計電路,STARK採用AIR(Algebraic Intermediate Representation )的方法,是一種通用的機器計算方式,通過狀態轉換方程鏈接不同狀態,幾乎可以將任意計算問題抽象成一組多項式約束。 同時,由於STARK使用的FRI方法生成多項式證明時,採用了遞歸的結構逐漸降低多項式的次數,使得證明尺寸的增長遠遠慢於問題規模的增長(對數級別)。因此在處理大規模運算時具有顯著的優勢。 回到成績和考試的例子中,如果我們算術化的過程比作考試,那麼SNARK和STARK就分別像傳統試卷和機考。 短期或者對於一所小學校來說,傳統試卷便宜迅速,機考則要在軟體和硬體方面做準備,看起來昂貴又麻煩。 但對於全球性成規模的考試機構來說,一台電腦可以進行不同種類不同級別的考試,題庫的豐富度和隨機性不再需要老師為每一次考試出題,節約了大量人力。 從長期看,隨著考試人數的累積,軟硬體的投入成本也會被大幅攤薄。 2.3.3 抗量子攻擊 除了「S」和「T」的成就,STARK還通過使用抗量子的哈希函數(如Rescue哈希,一般認為是后量子安全的,而傳統的SHA-256哈希函數則被認為可能在量子計算中表現脆弱)、安全性代數問題(證明器需要證明的一些複雜代數問題,目前認為是量子計算機上也難以解決的)等方式,實現了抗量子攻擊性。 03 Circle STARK不止於此 講到這裡,我們不難發現SNARK是一個必不可少的短期內快速可行的解決方案。 但把時間拉長,隨著交易量的增長,計算複雜度的爆發,以及人們越來越清醒的意識到,信任,實際上是加密領域最昂貴的奢侈品時,STARK的優越性會越來越凸顯。 這一點目前在工業界也逐漸顯露。使用SNARKs的頭部應用ZkSync推出的Boojum版本,就已開始探索由SNARK向STARK的逐漸轉變。 而以會整活著稱的Polygon,也早早轉向STARK,今年升級的證明系統Plonky3,便是基於Polygon Labs與StarkWare的最新共同研發的Circle STARK。 Circle STARK是基於STARK更新的新一代ZK證明協議,由於巧妙的引入了圓曲線(Circle Curve),成功的將小素數域M31應用到了證明系統中,促使證明效率大幅提升。 在ZK證明系統中,素數域扮演著至關重要的角色。正是在素數域上進行運算,證明才得以實現。 素數域的選擇代表著效率和安全性的平衡。素數域越小,所需的運算量越小,效率越高。 另一方面,大的素數域通常代表著更高級別的安全性,這也是為什麼過去STARK和SNARK都採用大素數域的原因。 而Circle STARK的創新性就表現在,通過結合圓曲線的特殊結合使用了M31這種小素數域,在提升證明效率的同時,成功保障了后量子安全性。 StarkWare方面目前推出並開源了基於Circle STARK的新一代證明器Stwo,預計Stwo的證明效率將達到初代證明器Stone的100倍。 Stwo將與高級Cario完全兼容,當前基於Stone證明器的Starknet Pover (SHARP Prover),未來也將使用Stwo。屆時Starknet生態的開發者和用戶將直接受益於Stwo帶來的性能提升,而無需進行任何操作。 除了提升證明速度,Polygon的聯合創始人Brendan Farmer 還提到,Circle STARK 的應用,最終將顯著降低費用,並擴展到更多應用證明。 Eli Ben-Sasson 更是樂觀表示,Circle STARK的推出可以視為一個重要的里程碑,最高效的證明系統將會在不遠的未來面世,更多的突破和改進也將持續進行。 04 Starknet持續發力,提升性能 通過上面的分析,我們可以很清楚的看到,STARK證明系統和它的最新升級版本Circle STARK是當之無愧的前沿力量和明日之星,作為StarkWare親兒子的Starknet在ZK Rollup的道路上更是前途無量。 但也許是好事多磨,Starknet卻在很長一段時間裡飽受爭議。原因無他,體驗和費用。 不過還好,通過StarkWare的持續努力,這些問題正在逐一變成了歷史。下面我們將回顧一下Starknet近期的幾次重要升級成果,以及根據路線圖規劃的進一步動作。 4.1 V0.12 Starknet Alpha v0.12.0代號量子躍遷,於2023年7月上線主網。這次優化的重點是提升網路性能和優化用戶體驗。 吞吐量和延遲一般被視為衡量網路性能的標準。通過優化排序器Rust化和升級Cario語言,Starknet的區塊執行時間顯著降低,吞吐量從 v0.11.0 版本的3萬 CSPS( Cairo steps per second ,每秒Cario步數)飆升至22 萬 CSPS,性能得到了極大提高。 一直廣受詬病的交互體驗問題也得到了解決,曾經為了等待主網確認而平均長達20分鐘pending狀態將成為歷史。 用戶端在Layer 2 確認完成後,就算交易成功,因此交易時間縮短到10秒左右,體驗大大提升。 這次被視為里程碑式的升級幫助Starknet的TVL成功突破了1億美元,單周漲幅超過43%。 4.2 V0.13 2024 年1月上線的 v0.13.0 版本擴大了區塊尺寸,計算成本大幅降低 50%,數據可用性成本降低 25%。 V0.13.1 提前部署了對以太坊 EIP-4844 的支持,因此Starknet在坎昆升級后的幾小時內就啟用了 blob 功能,並成為第一個大幅降低用戶手續費的 L2。 在今年接下來的時間裡,按照路線圖計劃,V0.13.2 將支持交易并行化,可以同時處理更多交易,提升網路吞吐量和降低延遲。 V0.13.3將把Cairo Native 集成到Starknet排序器中,進一步提升排序器的性能。屆時網路速度會進一步加速。 4.3 V0.14以及後續升級計劃 根據路線圖,預計備受期待的Volition將在V.0.14.0 升級中上線。 目前以太坊上的數據可用性存儲(Data Avaliablity, DA)消耗了Starknet網路上絕大多數gas費用,因此降低以太坊上的DA存儲是降低費用的關鍵。 Volition可以允許開發者選擇將一部分數據存儲在Starknet L2上,最終把這部分數據的狀態根(root)提交到以太坊L1。通過這種方式,大大降低L1的DA存儲成本,進一步達到降低費用的目的。 V.0.14.0 版本還計劃採用應用遞歸(Applicative Recursion)的方式,一次批量處理多個區塊的的L1 足跡(Layer 1 footprint,是在以太坊上為支持Starknet運行而需要存儲和處理的數據和計算任務)進而降低費用成本。 目前starknet的每個區塊都有一個專有證明,每個區塊都需要在以太坊上花費一筆固定的運營成本,因此網路常常要積攢足夠的交易量來分擔區塊成本,才會打包一個區塊。 這就導致了出塊時間的不確定和區塊成本利用效率的低效。有了應用遞歸之後,驗證器可以將幾個區塊一起打包證明,即縮短了區塊時間,又分擔了費用成本。 此外Starknet還將在技術上探索更多的DA壓縮方案,以達到削減成本的作用。 05 生態建設 5.1 現況 隨著性能的穩步提升和費用的持續降低,Starknet上的生態格局目前已趨於完善。 基礎設施上,錢包項目Agent X和Braavos作為自託管的智能錢包,不僅保證了安全性,還適配了starknet原生的賬戶抽象,作為web3世界的入口,給用戶帶來了良好的交互體驗。 跨鏈橋方面既有原生的StarkGate坐鎮,又有專註跨鏈橋的項目方Orbiter Finance、MiniBridge和rhino.fi加入。 DID的頭部項目Starknet.id承擔了ENS在以太坊上的角色,支持用戶鑄造NFT作為Starknet鏈上身份和通行證。 傳統的紅海Defi方面,目前Starknet上也成長出Nostra、Ekubo、zkLend、ZKX、Carmine Options等頭部項目,在迅速佔領Dex、質押、借貸、合約重點板塊業務的同時,各家Defi項目也都在產品上努力推陳出新。 比如ZKX採用遊戲化的交互以及DAO的治理形態,打造了一個獨特的自治永續合約交易所; Ekubo推出單例設計使用一個合約管理所有資金池,幫助用戶減少交易摩擦成本; mySwap的一鍵再平衡功能,在市場波動過大時,可以有效降低無常損失等,都為生態注入了更多的活力。 Gamefi是Starknet官方寄予厚望的板塊,除了頭部項目Loot生態以Realms為代表的戰略類全鏈遊戲外,還有街頭風格的Dope Wars、星際探索為背景的戰略遊戲Influence,以及由Starknet原生團隊打造的基於物理知識的Topology,堪稱Starknet上全鏈遊戲的四大天王。 此外Socialfi上出現了xfam.tech,類似於此前…

Previous:

Next: