作者:鹿目圓
原文:《 Rollup之爭——Starkware概覽》
在目前,以太坊的發展趨勢正越來越傾向於模塊化區塊鏈。
在模塊化區塊鏈的架構下,以太坊上的交易計算和執行不再由主網來操作,這部分工作轉移到鏈下的Layer 2上來完成,這種方案減輕了主網的負擔,大大擴展了以太坊的性能。
未來以太坊主網只承擔完成共識和數據可用性的工作,而承擔了所有計算執行的Layer 2 將變為一個類似雲計算服務商的角色,正如現在的亞馬遜雲和阿里雲等。
Rollup
在layer 2 的擴容方案中,被認為最有前景的就是Rollup。
Rollup 在以太坊鏈下完成交易的驗證和計算,並把它們打包壓縮後連同交易更新後新的狀態根(State root)傳回主網,從而減少對主網空間的佔用。
Rollup 中又有兩種實現方案,分別是Optimistic Rollup 和zk-Rollup 。其中:
- Optimistic Rollup 採用欺詐證明(Fraud proof) ,首先假設上傳到主鏈所有交易都是合法的,並設置挑戰期,允許驗證者提出證明來挑戰有問題的交易,一旦證實有欺詐行為發生,就對欺詐者進行懲罰,對挑戰者進行獎勵。
- Zk-Rollup 則採用有效性證明(Validity proof) ,在鏈下進行所有交易的驗證和打包,驗證後的交易被提交到主鏈時附上零知識證明來證明交易的有效性。用StarkWare CEO Uri 的話來說:“它提供了無需信任的計算誠信(computational integrity),它是這樣一種能力—— 即便沒有人監督也能確信該計算被正確地執行。”非常類似於早期比特幣的理念。
Rollup 中主要有三個角色:
- Sequencer :主要負責從用戶那裡收集交易,對它們排序並將新的Merkle 根傳到Layer1的rollup 智能合約上,類似於礦工。
- Prover :負責計算驗證所有的交易,並生成一個zk-proof 來證明交易的有效性。
- Verifier :通常被部署在Layer 1上,負責完成部分計算來驗證Prover 提交的proof 的有效性,以確保其提供了計算誠實性所需的所有的信息。
Optimistic Rollup 可以兼容EVM,技術方案成熟且落地早,對開發者來說,遷移成本較低,代表項目Arbitrum 和Optimism 是目前rollup 中市場佔有率最高的。而zk-Rollups 因為不兼容EVM,技術難度也比較大,開發進度較慢,目前應用並不如可以面向智能合約的OP系的rollup 廣泛。
雖然如此,zk-Rollup 與Optimistic Rollup 相比還是有諸多優勢,例如:
- 可擴展性更好。這是由於zk-Rollups需要上傳到主網的數據小於Optimistic Rollups。因為zk-rollups發佈到鏈上的交易信息已經全部被驗證過並附上了證明,其他人只需要驗證證明,而無需驗證交易,所以驗證交易相關的數據就無需上傳,但是Optimistic Rollups由於需要接受欺詐證明的挑戰,所以需要把這些數據也上鍊。在實際應用中,zk-Rollup提升性能的能力大概是Optimistic Rollups的十倍左右。
- 交易最終確定時間短。 zk-Rollups發佈到鏈上的交易已經經過了驗證並隨附了證明,驗證起來比較簡單,通常驗證時間在十分鐘左右,但是Optimistic Rollups提交的交易由於存在欺詐風險,需要接受欺詐證明的挑戰,這個挑戰的時間窗口約為1週,所以並不能實現即時取款等功能。
- 安全性更高。 zk-Rollups上傳的交易都通過驗證並附帶了證明,作惡的可能性小。相比於Optimistic Rollups可能上傳含有欺詐內容的交易,zk-Rollups的數據可靠性和安全性都更高。
Vitalik 曾在2021年說過:“短期內,optimistic rollups 會因為其EVM 的兼容性勝出。在中長期來看,隨著zk-SNARK 技術的改進,zk-rollups 會贏得所有的用例。”可見長期來看,Vitalik更看好zk-rollups。
zk-SNARK和zk-STARK
zk系的兩大龍頭項目分別是zksync 和Starkware 。其中zksync採用的是zk-SNARK技術,而Starkware採用的是zk-STARK技術。
zk-SNARK是簡潔式非交互式證明的縮寫,zk-STARK是可擴展的透明知識證明的縮寫。 zk-SNARK誕生時間早,技術相對成熟,目前已經有了比較廣泛的應用。早期的隱私幣項目zcash使用的就是zk-SNARK技術。 zk-STARK則被認為是zk-SNARK的改進版,是一種更快和更便捷的實現方式,旨在對zk-SNARK進行一些優化,彌補它的一些缺點。
從名字中可以看出,zk-STARK 相對zk-SNARK 具有可擴展性和透明性的優點,此外zk-STARK 還具有更高的安全性。具體原因是:
- 可擴展性。憑藉zk-STARK 技術,證明者的運行時間最多為計算規模的擬線性而驗證時間為計算量的多項式對數。而在zk-SNARK 中,證明者可能面臨複雜而昂貴的證明過程,以及相對應的較長的驗證耗時。
- 透明性。 zk-STARK不需要進行可信初始化設置,不像zk-SNARK需要可信設置的公共參考字符串,而是使用隨機公共驗證,所以不用擔心參數被破壞和修改;
- 安全性。由於zk-STARK依賴於哈希函數來進行對稱加密,哈希函數抗碰撞的特性帶來了抵禦量子攻擊的能力。
由於技術成熟,推出較早,目前在zk領域zk-SNARK仍是主流,而zk-STRAK技術難度大,缺少開發者,所以還未被廣泛採用。但是憑著不可忽視的優勢,相信未來zk-STARK會成為更被接受的解決方案。
Starkware
Starkware的聯合創始人Eli Ben-Sasson 是世界頂級的密碼學科學家,在以色列理工學院擔任教授,也是zk-SNARK 和zk-STARK 技術的聯合發明者。項目採用圖靈完備的Cairo語言進行開發。
工作原理
Starkware系列產品的工作流程如下圖所示:
我們以StarkEx為例,StarkNet的工作流大致類似。
- 用戶首先在應用中進行操作,通常是應用的客戶端或者網頁前端,應用執行這些動作後向StarkEx服務發送交易;
- StarkEx服務把這些交易打包執行後把包裹發送給SHARP(Shared prover,共享的證明服務) ,這個過程中的執行是由Cairo語言編寫的程序完成的,值得一提的是,StarkWare通過Cairo這一圖靈完備的語言,將所有智能合約的計算結果轉化成了可證明的多項式方程,由此讓智能合約與有效性證明兼容;
- SHARP 是一個基於Stark 的證明系統,由它來生成能證明這個批次交易有效性的證明;
- SHARP 把Stark 證明發給部署在Layer 1 上的Verifier ,由Verifier 來完成驗證;
- StarkEx Service 會發送一個鏈上狀態更新交易給Layer 1上部署的StarkNet智能合約,這個智能合約只會在Verifier 完成了證明之後才會接受這個新的狀態變更。
產品
Starkware 目前有兩款產品,分別是:
- StarkEx為應用提供定制化的ToB 服務,運行在StarkEx上的應用可以自定義他們的業務邏輯。 StarkEx服務於Defi和遊戲等應用,能加快交易速度,降低交易費用,還可以通過ZK-Rollup 或Validium 兩種方案來實現數據可用性。
- StarkNet是一個無需許可的去中心化、抗審查的通用layer 2 網絡,任何用戶和開發者都可以在上面部署使用Cario語言編寫的智能合約。
這兩種產品分別對應了兩種不同的商業模式,前者為應用提供定制化服務並出售,而後者則提供無許可的通用服務然後收取網絡上的交易費或者作為節點在交易費用優先的原則下抽取MEV。
StarkWare 聯合創始人Eli Sabasson 曾做過一個比喻,將StarkEx 和StarkNet 的分別比作為計算機和雲,購買StarkEx 就像擁有自己的定制化計算機,每個客戶都擁有自己的擴容計算機。而StarkNet 提供的是網絡,是通用服務,所有人都可以支付費用並使用。
StarkNet 的工作過程如下圖所示。它與StarkEx 的最大區別是在StarkNet 中由Sequencer取代了StarkEx Service 來承擔驗證交易有效性、打包交易、調用Cairo程序執行的工作,而SHARP所承擔的生成證明的工作,在StarkNet 中由Prover 負責。目前,Sequencer和Prover都由StarkWare官方團隊來指定,這就帶來了中心化的質疑。
Roadmap
StarkNet曾經在他們的博客中發布過一張路線圖,並表示他們會逐步實現去中心化。
在設想中,團隊建設StarkNet 的過程包括了四個階段,分別是:
- Step 0--基礎建設
- Step 1--Planets:單一操作者、單一app的rollup
- Step 2--Constellations:單一操作者、多個app的rollup
- Step 3--Universe:去中心化的操作者、多個app的rollup
在Step 1中,一個StarkNet 實例上(一個rollup)只運行一個應用,開發者關注於如何在StarkNet這個擴容網絡上實現自己的業務邏輯。
下一步將支持在同一個StarkNet 實例上運行多個應用,並且這些應用將可以共享同一個全局Layer 2 狀態。這將實現不同應用程序之間的互操作性,以及由於規模經濟的提高而降低的gas成本。在這個階段,StarkNet 將成為一個功能齊全的框架,在以太坊之上運行具有任意業務邏輯的多個應用程序,每個實例由單個操作者運行。從用戶的角度來看,StarkNet 用起來和以太坊很像,只是可擴展性更好。
最後一個階段是StarkNet 對操作者進行去中心化的階段。在這個階段中,團隊主要做兩件事:(1)使用rollup來實現更好的共識機制以及(2)利用經濟模型來對貢獻者和操作者進行激勵,吸引更多參與者來實現網絡的去中心化。
Cairo語言
Cairo(CPU Algebraic Intermediate Representation,CPU代數中介碼)是Starkware用來為一般計算生成STARK證明的圖靈完備的編程語言。應用開發者可以用Cairo 定義任何的業務邏輯並完成鏈下證明和鏈上驗證,而無需手動生成複雜的電路或AIR(代數中介碼)。
通過Cario 編程語言,任何計算命題都可以進行快速、安全的編碼證明。一個由Cario 寫成的應用程序可以證明其對應的執行邏輯,而一個Cario 應用程序也可以集成多個Cario 應用程序,形成SHARP。
SHARP(共享證明器)可以聚合幾個獨立的Cario 應用程序的交易,並在同一個STARK 證明中使用。使用STARK 證明,提出證明所需的時間與執行語句所需的時間大致呈線性關係。驗證證明所需的時間與提出證明的時間則是對數關係。
由於驗證時間遠小於證明時間,就可以實現遞歸驗證:一個Cairo程序可以驗證多筆交易的正確性,同樣也可以編寫一個Cairo程序來驗證多個Stark證明。由於只需要對數時間來實現驗證,這樣的遞歸驗證可以極大程度地減少驗證時間。
Starkware團隊推出了Cairo的通用證明服務(Generic Proof Service,GPS) ,開發者可以使用這項服務用Cairo語言構建自己的應用。他們可以把自己包含業務邏輯的Cairo代碼發送給GPS來證明,並在鏈上驗證它們。
由於GPS 支持使用一個證明來斷言不同多個應用程序執行的完整性,從而使這些應用程序能夠分攤證明驗證的gas 費用。
團隊和融資
Starkware的團隊來自以色列,主要成員是有自希伯來大學和以色列理工背景的計算機科學及密碼學開發者,可以說是零知識證明領域實力最強的團隊。
從Starkware的官網上可以看到,這個團隊目前有成員77人,外加7名學科顧問和5名其他顧問。主要成員包括:
- Eli Ben-Sasson:Co-Founder & 首席科學家,希伯來大學理論計算機科學博士學位,長期從事計算完整性、密碼學和零知識證明方面的研究。以色列理工學院計算機專業的教授。 Zcash 的創始科學家,zkSNARK、zkSTARK 的發明者。
- Uri Kolodny:Co-Founder & CEO,希伯來大學計算機科學學士,是一個商業經驗豐富、善於合作的連續創業者。
- Alessandro Chiesa:Co-Founder & 首席科學家,加州大學伯克利分校計算機專業的教授。 Zcash 的創始科學家,zk-SNARKs 的聯合發明者,簡潔零知識證明的領先開源庫libsnark 的核心開發者。
- Michael Riabzev:Co-Founder & 首席架構師。以色利理工學院的博士,曾在Intel、IBM 工作。
- Oren Katz:工程副總裁。希伯來大學計算機專業畢業,特拉維夫大學MBA,20 年經驗的資深工程師。
在融資方面,StarkWare 共披露了七輪融資,涉及投資45 筆,對外披露融資額2.73 億美元,2022 年,D 輪融資估值79 億美元,投資人包括Paradigm,Sequoia Capital和Pantera Capital等機構以及Vitalik。
經濟模型
Starkware在今年七月中旬的博客中發布了他們的代幣經濟模型。原本計劃於9月發行其代幣,但是後又發布消息推遲發幣時間,截至本文發布的時間,仍然沒有官宣發幣。
StarkNet 代幣將主要具有3 個使用場景,分別是支付StarkNet 網絡費用、質押以參與網絡共識、社區治理投票。
- 交易費用:目前,StarkNet 中的費用以ETH 支付。但接下來,該項目預計費用將僅使用原生StarkNet 代幣支付。為了支持良好的用戶體驗,自動化和去中心化的鏈上機制將允許用戶以ETH 支付費用。
- 質押:對StarkNet 的活躍性和安全性至關重要的某些服務可能需要質押StarkNet 代幣。這些服務可能包括排序、在達到L1 最終性之前達成臨時L2 共識、STARK 證明服務和數據可用性供應。預計這些服務將在2023 年實現去中心化。
- 治理:改進StarkNet 的提案將需要一個最低的代幣持有閾值。對於對StarkNet 的活躍性、安全性和維護至關重要的協議的所有更改,都需要直接或通過委託進行投票。例如,StarkNet 操作系統的所有重大更新都需要獲得代幣持有者的批准。
StarkNet 代幣初始發行量為100 億枚,17% 分配給StarkWare 投資者,32.9% 分配給核心貢獻者,50.1% 分配給基金會。同時,該代幣具有增發機制,新的鑄造代幣和交易費用的一部分將授予給核心基礎設施開發人員和智能合約開發人員。
分配給基金會的51%具體用途為:
- 9% ——生態開發者,使用者和社區。包括在6 月1 日前與StarkEx 有過交互的部分用戶。
- 9% ——社區退款(Rebates)——StarkNet 代幣的退款,以部分支付從以太坊加入StarkNet 的成本。
- 12% ——資助用於開發、測試、部署和維護StarkNet 協議的研究者和工作者。
- 10% ——戰略儲備,用於資助符合基金會使命的生態系統活動。
- 2% ——捐贈給相關領域傑出的的機構和組織,如大學、非政府組織等,由StarkNet 代幣持有者和基金會決定。
- 8.1%未分配——以進一步支持StarkNet 社區,具體方式由社區決定。
考慮到去中心化生態系統的慣例分配和社區的長期利益,給投資者和核心貢獻者的49.9%將有4 年的鎖定期,並且將會採用1 年的Cliff(懸崖期)和線性的方式釋放代幣。
從代幣分配可以看出,StarkNet 代幣獎勵優先考慮核心基礎設施和dApp 的開發人員,而較少傾向於普通用戶。
運營數據
StarkEx 這個toB 產品由於推出較早,且Scale as a service 的模式相對成熟,已經積累了一些用戶,如dYdX(目前已出走),Immutable X,rhino.fi,celer 和Sorare。根據官網顯示的數據,StarkEx上累計的交易金額達到了7320億美元,目前的TVL是4.61億美元。
另一個產品StarkNet,根據www.starknet-ecosystem.com 網站上的數據,目前生態中大約有100多個應用,其中數量最多的是Defi(45個)、NFT(24個)和基礎設施(18個)。
比較知名的項目中, AAVE和Maker都將部署到StarkNet上,兩天前(10月29日)剛剛官宣了Aave與StarkWare的第一階段跨鏈合作已完成開發。該階段是Aave v2在以太坊上的aToken跨鏈至StarkNet的智能合約基礎設施,允許網絡用戶在StarkNet獲取跨鏈aToken。而早在6月份,Maker已經上線了DAI在主網和StarkNet之間的轉賬。
值得一提的是,此前在StarkEx 中佔據主要TVL的dYdX 在6月出走,選擇了基於Cosmos SDK的獨立區塊鏈來推出v4版本的產品。這次事件一定程度上影響了投資人對layer 2和Starkware的信心。
從此次出走事件中也可以看出,真正擁有用戶和影響力的應用在選擇底層基礎設施上擁有更多的話語權和主動權,它們並不依賴於某個單一的底層鏈,可以主動選擇其他的底層公鏈,甚至自己搭建符合自己需求的應用鏈。
過去“胖協議瘦應用”的敘事或許會被重新定義。對於各種底層基礎設施的項目來說,如何抓住自己生態中的優質應用,做好留存,也成為了當前需要重新思考的問題,畢竟,要捕獲更多價值就要捕獲更多用戶,而真正與用戶交互的是應用而不是底層,用戶並不關心底層技術實現的原理,只會隨著應用遷移而遷移。
結語
擁有強大技術團隊的Starkware目前正按照他們的規劃逐步開發產品:10月26日,他們官宣了已使用STARK 證明編程語言Cairo 寫出編寫完成ZK-EVM。
同時他們也面臨著一些挑戰,比如zk-STARK 目前技術難度比較高,開發速度慢,開發人員少,這給生態應用的發展和留存帶來了很多困難。 dYdX的出走帶走了項目中多數的TVL,暴露出底層基礎設施對上層優質應用綁定能力不足的窘境,也讓人們看到了優質應用在挑選底層鏈時強勢的話語權。
但是由於技術的優越性,長期來說,我們仍然看好zk-rollup和STARK的發展。後期隨著代幣釋放帶來的激勵效果以及網絡逐漸轉向去中心化,Starkware仍將會是Rollup賽道最有力的競爭者之一。