原文:《 StarkEx: Why, What and How? 》
翻譯及校對:「StarkNet 中文社區」
StarkWare:學會停止焦慮並愛上複雜性
STARK 證明(及其在StarkWare 中的實際應用)是自比特幣發明以來最激動人心的技術飛躍之一。如同所有飛躍般的技術,STARK 同樣複雜並令人費解。這種複雜性可能會限制人們了解該項技術,並因此限制Web3 進入大眾世界。本文旨在對STARK 簡單介紹,以及StarkWare 是如何實現此技術,並用於促進區塊鏈採用。
在本文深入探討STARK 如何執行工作前,通過一個簡單研究案例來凸顯STARK 技術的強大功能,該案例研究為STARK 技術提供了很好的示例。
案例研究:Sorare 和STARK
Sorare 是人氣線上夢幻體育類游戲,包含了歐洲足球、NBA 和美國職業棒球大聯盟(MLB) 等熱門體育賽事。用戶在遊戲中可獲得代表球員的數字NFT 卡牌。為了給玩家創建NFT,Sorare 在以太坊上支付gas(gas 是在以太坊上執行交易的費用,下文將詳細介紹);在巔峰時期,Sorare 每週需要支付100 萬美元的gas 費用於鑄造NFT。以太坊所提供的安全性很重要,但gas 成本太高。 Sorare 後來與StarkEx(即StarkWare 的Saas 平台)整合,並從直接在以太坊上鑄造轉為在L2 上鑄造。最終Sorare 的gas 成本從每週100 萬美元驟降至每週1 萬美元。通過此次技術革新,Sorare 將經濟成本大大降低了100 倍,且保持了同樣的用戶體驗和用戶安全性。當討論到技術正以千倍速度進步時,我們也走進了從印刷機到微處理器的技術迭代領域。 STARK 技術有望以類似的規模改寫區塊鏈。
區塊鏈物理定律
在學習STARK 之前,了解區塊鏈本身的優勢和局限性會有更好的理解。如果您已熟悉區塊鏈三難困境,則可以跳過這部分,直接進入解釋L2 及其工作原理的部分。
本文將特別關注以太坊區塊鏈。幾乎以任何標準衡量,以太坊都是最大和最成功的區塊鏈(不包括比特幣,因為不是通用的智能合約平台):佔所有區塊鏈總鎖倉價值(TVL) 的50%,有大約4000 名活躍開發者(比所有其他區塊鏈的總和更高)。以太坊也是STARK 技術的基礎安全層。
要了解以太坊的優勢和局限性,我們應從以太坊聯合創始人Vitalik Buterin 創建的用於理解區塊鏈權衡的模型開始,該模型即為區塊鏈三難困境。
區塊鏈三難困境類似於區塊鏈的物理定律:它指出區塊鏈必須在三個關鍵因素之間進行權衡:安全性、去中心化和可擴展性,並且只能針對其中兩個進行優化。就像宇宙萬有引力定律一樣,任何區塊鏈都無法逃脫區塊鏈三難困境。理解區塊鏈三難困境是理解STARK 技術力量的先決條件:
- 去中心化有兩個因素:第一個是網絡中「節點」的數量。節點是整個區塊鏈的副本,簡單來說,即節點是該區塊鏈上曾發生的所有交易的數據庫。只有單個節點的網絡是中心化的,比如保存在你筆記本電腦硬盤上的文件,或是保存在房地產經紀人服務器上的客戶帳戶列表。有多個節點,但由單一實體控制的網絡也是中心化的,比如一家銀行的客戶數據庫存儲在幾個地區的兩個雲端網絡上。有許多節點,且由許多不同實體控制的網絡是去中心化的。以太坊在某特定時間有7000-8000 個節點,這比競爭對手如Solana(約2 千)或Polygon(約100)多出好幾倍,這使得以太坊達到高度去中心化。然而值得注意的是,以太坊的節點所有權很集中,大約50% 的以太坊節點由三個實體(Lido、Coinbase 和Kraken)運營。這與去中心化的第二個因素有關,即「包容性」。包容性意味著任何想運行節點的人都可以這麼做。包容性的限制因素(除了訪問互聯網)是運行一個節點所需的成本。這個成本由運行一個區塊(最新一批交易的副本)所需的計算能力和質押成本(為了運行一個節點,你需要鎖定多少特定的加密貨幣)所決定的。需要集中服務器算力的區塊鏈並不具備包容性,因為只有能夠負擔這麼多服務器的人或實體才能運行節點。相反,若只需智能手機算力的區塊鍊是高度包容的,任何擁有智能手機的人都可以參與運行一個節點。
- 安全性是衡量區塊鏈不可變性的一個標準;換句話說,任何一方改變或偽造區塊鏈上的交易的難易程度。如果一方能夠偽造區塊鏈上的交易,就可以改變賬本記錄,例如可以在自己的餘額中增加幾個額外的零,還可以將別人的餘額清零。對於中心化的應用程序來說,在技術上很容易偽造(即使可能冒著聲譽、巨額罰款甚至坐牢的風險)。這就是監管機構存在的原因,也是為什麼銀行會有數千人組成的合規團隊,並在合規技術上花費數億美元的原因。區塊鏈確保安全的方式是要求51% 的所有節點在區塊被提交到區塊鏈之前進行驗證。因此,如果有人能夠偽造以太坊上的交易,就必須控制51% 的所有節點,在一個高度去中心化的區塊鏈上,這在技術上和財務上都極其困難。因此,一個高度去中心化的區塊鏈也是高度安全的。
- 可擴展性由在任意時刻可以在區塊鏈上運行多少個交易來衡量的(通常以每秒交易量來衡量)。區塊鏈可擴展性的限制因素實際上是去中心化,區塊鏈的可擴展性僅相當於其網絡中最弱的節點(如最慢的計算機)。區塊鏈每秒能處理的交易量是由區塊鏈中區塊的大小和創建頻率決定的(區塊是數據庫的更新版本,每個新區塊代表該數據庫的最新版本,一串鏈的區塊就成為了區塊鏈)。包容性較差的區塊鏈,需要強大、昂貴的計算機來運行節點,與需要不太複雜的機器的區塊鏈相比,每秒鐘可以產生更多的交易量。區塊有容量限制,因為它們需要小到網絡上最小的計算機都能運行,並在網絡上有高需求時填滿。如果有人想確保他們的交易在區塊中被優先處理(例如,他們想確保他們購買的NFT 立即被記錄到以太坊上),他們會向節點運營商支付額外的「gas」(執行交易所需的費用),以便讓他們的交易在其他交易之前排到前面。把它想像成一個拍賣會,在一個空間有限的區塊中,競爭的交易越多(需求[交易]越多,供應[區塊空間]有限),執行任何單一交易的成本就越貴。在2021 年的牛市高峰期,以太坊的平均交易成本是21美元。因此,無論某人轉讓100 萬美元還是10 美元的以太坊,在2021 年的網絡擁堵高峰期,完成該交易的成本都為21 美元。
像以太坊這樣高度去中心化和高度包容的區塊鏈(因此對用戶來說是最安全的),其本質上可擴展性較差。因此,即使以太坊是領先的智能合約區塊鏈,它也不能滿足數十億人生活的吞吐量(全球支付網絡、國家身份解決方案、全球供應鏈、社交媒體),並實現以太坊成為世界計算機的目標。
L2 解決以太坊可擴展性
L2 旨在解決以太坊的可擴展性難題。簡而言之,L2 可擴展性平台位於應用程序和以太坊之間。一個簡化比喻(下文將展開解釋),L2 對交易的處理就像壓縮文件處理數據。當交易通過L2 協議從應用程序發送到以太坊時,比直接從應用程序發送至以太坊所使用的區塊空間要小幾個數量級(最高達1000 倍)。它是如何實現的呢?
第一步,理解「鏈上」和「鏈下」的區別。鏈上即發生在區塊鏈上的活動,如果交易、計算、數據存儲等發生在鏈上,意味著它是在區塊鏈所有節點上執行並完成存儲。因為區塊大小限制,鏈上交易和鏈上存儲的成本非常高昂。然而對於那些優先考慮可擴展性,去中心化和安全性其次的區塊鏈來說,鏈上交易成本更低廉。另一方面,鏈下計算和存儲的成本更低。雲平台在「鏈下」計算和存儲方面已非常成熟,啟用新的計算實例來運行一個應用程序的成本很低,而且創建數據庫用於存儲數據的成本同樣不高。 AWS 和Azure 是中心化工具,它們不具有區塊擴展性限制,因此可以近乎無限制的擴展計算和存儲。
StarkWare 這種擴容解決方案如何應用在L2?簡單來說,L2 承擔了運行應用的所有高計算活動,NFT 交易市場(鑄造、轉移、交易NFT)、加密貨幣交易所(記錄用戶餘額、交易所匯率、加密貨幣支付、錢包簽名等)以及鏈下進行計算和存儲的成本低廉。在L2 中無需支付gas 費,因此執行這些高複雜性計算的成本僅等同於鏈上的小部分。那麼問題來了,如何將這些在鏈下執行的計算引入到鏈上呢?
StarkEx 系統的生態之旅
一筆交易需要完成幾個步驟才能夠實現從鏈下到鏈上,例如StarkWare 的L2 Saas 平台,StarkEx。它是Sorare、ImmutableX 和dYdX 等無需編寫自身智能合約即可實現L2 可擴展性的平台,用戶在StarkEx API 上構建他們的應用程序,操作過程類似在大部分b2b 技術平台部署。
鏈下:應用程序運營商和StarkEx 系統
首先,交易是由終端用戶在運營商的應用程序上生成(如,Sorare 的用戶登入Sorare 併購買NFT)。運營商將審查此筆交易以確保有效性(包含數字簽名、用戶適當餘額、遵守業務規定),然後再發送到他們的StarkEx 實例(StarkEx Instance) 中。每個應用程序都擁有專屬的StarkEx 實例以配置它們的使用情況:永續合約、現貨交易、NFT 等。最後StarkEx 實例執行交易的專屬邏輯,再次確保它們符合所需的業務規定。
鏈下證明器
鏈下的最後一步,交易從StarkEx 實例發送到STARK 驗證器。 STARK 驗證器是處理交易「擴容」的部分,類似壓縮文件對於數據的處理,STARK 驗證器需處理數十萬筆交易(有時數百萬筆)並生成長長的數字字符串以表達所有交易,也稱為證明。有趣的點是:近乎所有的StarkEx 運營商都會使用STARK 驗證器發送交易,從而「共享」驗證器所生產的證明,因此也將共享驗證器稱之為「Sharp」。
鏈上執行
一旦證明完成(完整的完成交易或在指定時間週期後),活動就轉移到鏈上。證明會發送到鏈上的STARK 驗證器智能合約。這個智能合約處於以太坊區塊鏈上,就像所有的以太坊智能合約一樣,它是公共且開源的。 STARK 驗證器智能合約不能接收無效證明。如果資金在未經過用戶批准(如數字簽名)轉移,且帳戶中沒有可用餘額來完成交易,那麼證明就會被拒絕。如果證明有效(即滿足所有業務規定),則該證明會寫入以太坊區塊鏈,從而使這些交易具備「以太坊級別」的最終性和安全性(永久記錄在區塊鏈上)。通過這種方式,SATRK 證明能夠讓StarkEx 在鏈下過程中實現以太坊L1 的安全性。
證明驗證是StarkEx 從鏈下發送到鏈上的兩段信息之一。第二段信息是狀態更新。狀態更新代表用戶帳戶完成批量交易後的新余額。它被存儲在鏈上,可應對在鏈下服務停止工作的情況下,用戶仍然可以從以太坊提取自身的資產。
數據可用性
狀態更新從每個運營商本身的StarkEx 實例編寫一個鏈上智能合約,也稱為StarkEx 智能合約,例如,ImmutableX、dYdX、Sorare 都有專屬的StarkEx 智能合約。記錄所有的鏈上交易是存儲狀態更新的最簡單方式;然而,類似於計算,鏈上的數據存儲的成本十分昂貴。運營商有兩種選擇來實現交易存儲,即數據可用性模式。
Rollup模式
運營商可以挑選Rollup 模式(即dYdX 所採用的);在Rollup 模式中,上一個狀態餘額和下一個狀態餘額之間的差異將被發送到運營商在以太坊上的StarkEx 智能合約中。它允許第三方訪問每個狀態更新的增長變化,並單獨對StarkEx 狀態做出逆向工程(Reverse Engineer)。相比於在鏈上存儲每筆交易完整歷史,甚至比交易清單的數據調用的成本更低。同時也比交易清單更具有保密性,因為只展示開始狀態和結束狀態(從中可能包含數以萬計筆交易)。
Validium 模式
Validium 是另一種數據可用性模式;在Validium 中,將狀態更新存儲在數據可用性委員會(Data Availability Committee) 處。 DAC 是獨立的第三方,可代表營運商批准並接收和持有每個狀態更新,DAC 成員承諾:如果營運商離線時,它們在鏈上發布狀態更新,確保用戶可隨時查詢資產(自託管的重要組成部分)。 DAC 成員包括Consensys、Chainstack、StarkWare 和許多知名團隊。成本低於Rollup 模式是運營商選擇Validium 模式的原因之一;在Validium 模式中,只有DAC 成員的簽名驗證即時的狀態更新並存儲在StarkEx 智能合約中。 Validium 模式的另一個特點是:交易和余額不存儲在鏈上,對於那些需要確保用戶機密的公司來說無疑是個巨大優勢。
最後,StarkEx 智能合約是實現自託管的關鍵部分;通過即時的鏈上狀態更新,用戶能夠隨時提取他們的資產。要求用戶為每筆交易簽名,如果沒有用戶批准,將無法變更帳戶餘額。因此,即使在StarkEx 崩潰、運營商破產的情況下,用戶仍然可以直接通過以太坊上的StarkEx 智能合約提取餘額。這就是StarkEx 能夠預防FTX 事件,實現可擴展性、安全性和自託管平台的關鍵。


