近期以太坊上的高手續費和低TPS使以太坊上的Layer2擴容之爭變成了焦點。本篇文章將以市場上既有的產品為基礎,從技術方案角度出發,比較當下ZKSwap方案和其他擴容方案的異同之處。在具體的展開描述之前,也將簡短的介紹下目前市場上的Layer2擴容技術的基本狀況。
Layer2擴容技術概述
迄今為止,Layer2市場上已經是一片繁榮,技術上不斷創新,各種產品也層出不窮。對于市場上的所有的產品,從技術角度上劃分,可以大體分為三類:
狀態通道:通過促進鏈下交易來減輕以太坊的負擔,具有即時存取、高吞吐的特點,其弊端是設置通道浪費耗時,并且需要在通道中支付鎖定資金,同時定時監測通道狀態;
側鏈技術:具有獨立共識規則的獨立區塊鏈,與Layer1的共識不同步,這是它的弊端;
Rollup技術:可以看作是一個高級的非托管側鏈技術,它將計算放在鏈下,交易數據以及最新世界狀態放在鏈上,保證了鏈上數據可用性。
與其他的兩種方案相比,Rollup無需提前鎖定代幣,也不用設置自己的共識規則;而且它還可以保持和Layer1同樣等級的安全性,同時方案本身具有通用性。隨著Layer2技術的持續發展,Rollup技術方案也變得多樣化,根據交易數據存儲的位置和使用的證明方法的不同,又可以將Rollup技術細分為以下四類:
Beosin:sDAO項目遭受攻擊事件簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin?EagleEye 安全風險監控、預警與阻斷平臺監測顯示,BNB鏈上的sDAO項目遭受漏洞攻擊,Beosin分析發現由于sDAO合約的業務邏輯錯誤導致,getReward函數是根據合約擁有的LP代幣和用戶添加的LP代幣作為參數來計算的,計算的獎勵與用戶添加LP代幣數量正相關,與合約擁有總LP代幣數量負相關,但合約提供了一個withdrawTeam的方法,可以將合約擁有的BNB以及指定代幣全部發送給合約指定地址,該函數任何人都可調用。而本次攻擊者向其中添加了LP代幣之后,調用withdrawTeam函數將LP代幣全部發送給了指定地址,并立刻又向合約轉了一個極小數量的LP代幣,導致攻擊者在隨后調用getReward獲取獎勵的時候,使用的合約擁有總LP代幣數量是一個極小的值,使得獎勵異常放大。最終攻擊者通過該漏洞獲得的獎勵兌換為13662枚BUSD離場。Beosin Trace追蹤發現被盜金額仍在攻擊者賬戶,將持續關注資金走向。[2022/11/21 7:53:09]
ZKRollup:Layer1+Validityproofs,數據存儲在鏈上,用零知識證明來保證狀態轉換的有效性;
Beosin:ULME代幣項目遭受黑客攻擊事件簡析:金色財經報道,10月25日,據Beosin EagleEye 安全預警與監控平臺檢測顯示,ULME代幣項目被黑客攻擊,目前造成50646 BUSD損失,黑客首先利用閃電貸借出BUSD,由于用戶前面給ULME合約授權,攻擊者遍歷了對合約進行授權的地址,然后批量轉出已授權用戶的BUSD到合約中,提高價格ULME價格,然后黑客賣掉之前閃電貸借出的ULME,賺取BUSD,歸還閃電貸獲利離場。Beosin安全團隊建議用戶用戶取消BUSD對ULME合約的授權并及時轉移資金減少損失。[2022/10/25 16:38:21]
OptimisticRollup:Layer1+Fraudproofs,數據存儲在鏈上,在挑戰期間,用欺詐證明來驗證狀態轉換的有效性;
Validium:Layer2+Validityproofs,數據存在鏈下,用零知識證明來保證狀態轉換的有效性,并設立「數據可用性委員會」來保證鏈下數據的可用性;
Plasma:Layer2+Fraudproofs,數據存儲在鏈下,用戶提供欺詐證明來驗證狀態轉換的有效性;
慢霧:跨鏈互操作協議Nomad橋攻擊事件簡析:金色財經消息,據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊分析如下:
1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,并在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬于是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。
2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨后又通過update函數對可信根設置為正常非0數據。Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻并未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。
3. 因此攻擊者可以直接構造任意消息,由于未經過prove因此此消息映射返回的根是0,而項目方由于在初始化時將0設置為可信根且其并未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。
綜上,本次攻擊是由于Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時并未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。[2022/8/2 2:52:59]
在實際的產品設計過程中,基于不同的業務場景,設計者往往需要在效率和安全性上做出權衡,要效率還是要絕對安全,每個產品設計時都有自己的側重面。因此,也就有了上述的四種Rollup方案。現在市面上的大部分產品,按技術分類的話,應該大都屬于上述四類,更準確的說,是屬于前三類,第四類方案提出的最早,安全性考慮的較少。
慢霧:Avalanche鏈上Zabu Finance被黑簡析:據慢霧區情報,9月12日,Avalanche上Zabu Finance項目遭受閃電貸攻擊,慢霧安全團隊進行分析后以簡訊的形式分享給大家參考:
1.攻擊者首先創建兩個攻擊合約,隨后通過攻擊合約1在Pangolin將WAVAX兌換成SPORE代幣,并將獲得的SPORE代幣抵押至ZABUFarm合約中,為后續獲取ZABU代幣獎勵做準備。
2.攻擊者通過攻擊合約2從Pangolin閃電貸借出SPORE代幣,隨后開始不斷的使用SPORE代幣在ZABUFarm合約中進行`抵押/提現`操作。由于SPORE代幣在轉賬過程中需要收取一定的手續費(SPORE合約收取),而ZABUFarm合約實際接收到的SPORE代幣數量是小于攻擊者傳入的抵押數量的。分析中我們注意到ZABUFarm合約在用戶抵押時會直接記錄用戶傳入的抵押數量,而不是記錄合約實際收到的代幣數量,但ZABUFarm合約在用戶提現時允許用戶全部提取用戶抵押時合約記錄的抵押數量。這就導致了攻擊者在抵押時ZABUFarm合約實際接收到的SPORE代幣數量小于攻擊者在提現時ZABUFarm合約轉出給攻擊者的代幣數量。
3.攻擊者正是利用了ZABUFarm合約與SPORE代幣兼容性問題導致的記賬缺陷,從而不斷通過`抵押/提現`操作將ZABUFarm合約中的SPORE資金消耗至一個極低的數值。而ZABUFarm合約的抵押獎勵正是通過累積的區塊獎勵除合約中抵押的SPORE代幣總量參與計算的,因此當ZABUFarm合約中的SPORE代幣總量降低到一個極低的數值時無疑會計算出一個極大的獎勵數值。
4.攻擊者通過先前已在ZABUFarm中有進行抵押的攻擊合約1獲取了大量的ZABU代幣獎勵,隨后便對ZABU代幣進行了拋售。
此次攻擊是由于ZabuFinance的抵押模型與SPORE代幣不兼容導致的,此類問題導致的攻擊已經發生的多起,慢霧安全團隊建議:項目抵押模型在對接通縮型代幣時應記錄用戶在轉賬前后合約實際的代幣變化,而不是依賴于用戶傳入的抵押代幣數量。[2021/9/12 23:19:21]
所以,ZKSwap團隊推出的Layer2擴容方案Zkspeed同樣也屬于上述范疇。然而,作為Layer2賽道上的一個新星,Zkspeed方案與其他主流產品推出的Layer2方案相比會有什么樣的技術優勢呢?產品體驗又有何異同呢?接下來,我們將選取市場上具有代表性的幾個產品,從技術方案和實際體驗效果上做一些簡單的對比分析,來看看Zkspeed擴容方案是否優勝同時產品體驗是否更好。
Force DAO 代幣增發漏洞簡析:據慢霧區消息,DeFi 量化對沖基金 Force DAO 項目的 FORCE 代幣被大量增發。經慢霧安全團隊分析發現: 在用戶進行 deposit 操縱時,Force DAO 會為用戶鑄造 xFORCE 代幣,并通過 FORCE 代幣合約的 transferFrom 函數將 FORCE 代幣轉入 ForceProfitSharing 合約中。但 FORCE 代幣合約的 transferFrom 函數使用了 if-else 邏輯來檢查用戶的授權額度,當用戶的授權額度不足時 transferFrom 函數返回 false,而 ForceProfitSharing 合約并未對其返回值進行檢查。導致了 deposit 的邏輯正常執行,xFORCE 代幣被順利鑄造給用戶,但由于 transferFrom 函數執行失敗 FORCE 代幣并未被真正充值進 ForceProfitSharing 合約中。最終造成 FORCE 代幣被非預期的大量鑄造的問題。 此漏洞發生的主要原因在于 FORCE 代幣的 transferFrom 函數使用了`假充值`寫法,但外部合約在對其進行調用時并未嚴格的判斷其返回值,最終導致這一慘劇的發生。慢霧安全團隊建議在對接此類寫法的代幣時使用 require 對其返回值進行檢查,以避免此問題的發生。[2021/4/4 19:45:30]
Layer2技術對比分析
根據我們的市場調研,我們選取了三個市場上具有代表性和前沿性的的產品,分別是StarkWare的StarkNet、Uniswap的unipig、Loopring的loopring。首先,我們先從技術方案的角度,來看一下Zkspeed和starkNet、Unipig、Loopring的區別,具體的如下表所示:
表1.Layer2擴容方案分析表。圖片說明:crs對應需要多次可信設置的zkp算法;srs對應只需要一次可信設置的zkp算法
根據上述表格可以看出:
Loopring
使用的Layer2擴容方案是基于ZKRollup方案設計的,同時也支持Validium方案,即鏈上數據可用性是可以選擇的。該方案使用的零知識證明算法是zksnark算法,需要第三方生成可信設置。
優點是:這種算法的proof大小是常量大小的;
缺點是:可信設置是不通用的,針對不同的交易類型,都需要單獨進行可信設置。因此,為了提高證明傲率,每個區塊里的交易類型要求為同一交易類型,導致了如果某種類型的交易較少,那它上鏈的速度就會很慢,因為要等待足夠的交易才打包區塊。不過,在Loopring發布的協議3.6版本里可以看到,已經取消了了區塊里是相同類型的交易的限制,相信會有更好的交易體驗。
StarkWare
StarkWare團隊研發的Layer2擴容引擎starkEx,支持Validium方案和ZKRollup方案兩種模式可選。狀態更新的有效性由零知識證明來保證,其用到的零知識證明算法是zkstark算法。
優點是:與常用的zksnark算法不同,zkstark算法不需要第三方的可信設置,而且其算法本身不依賴數學難題假設,具有一定的抗量子性;
缺點是:proof的大小比其他的zkp算法要大的多,生成證明需要消耗大量的計算資源和存儲空間。同時,StarkWare團隊研發的Layer2擴容解決方案值得期待,一種以太坊上的基于STARK的去中心化無許可L2ZK-Rollup產品,并且支持基于Cairo語言的通用計算;具體內容可參考鏈接starkNet。
Uniswap
使用的Unipig擴容方案是基于OptimisticRollup設計的,如前圖所示,改方案存在挑戰期,即在挑戰期間,用戶可以提供欺詐證明來驗證執行者的行為是否作惡。
優點是:該方案兼容EVM,并且交易數據存在鏈上,保證了安全性;
缺點是:由于存在潛在的欺詐性證明,鏈上事務處理的時機會延緩;挑戰成本昂貴,導致挑戰模式基本上算是形同虛設。
ZKSwap
推出的Zkspeed擴容方案兼顧了ZKRollup、Validium和OptimisticRollup方案的特點。即實現所有與Layer1交互的交易數據全部上鏈,把單純Layer2的交易數據存放在鏈下(Validium),交易hash數據上鏈,同時ZKSpeed也會提供一個完全上鏈的版本,這樣可以實現更高的安全性,并提供零知識證明保證狀態轉換的有效性。
ZKSwap采用自己研發的Zkspeed與其他三個擴容方案的差異:
Zkspeed方案采用PLONK零知識證明算法,所有交易類型共用一套可信設置,如此就無需按照交易類型進行區塊打包;
Zkspeed方案采用了GPU實現版的PLONK算法,相比于普通的CPU實現版本運行速度上提升了3倍以上,再加上頂尖的硬件設備,使得證明的生成時間大大縮短,大幅提高了系統的吞吐量;
ZKSwap團隊經過反復研究論證,在Zkspeed方案上探索性的采用了聚合證明方案,并首先應用到AMM的DEX領域,把多個區塊的證明聚合成一個證明,使得鏈上一次就可以完成多個區塊的驗證,大大的降低了交易的平均成本。
聚合證明的技術原理如下圖所示:
圖2.Aggregation方案
在Rollup方案里,一個很明顯的技術特點就是交易的批量處理,即對區塊里的所有交易的有效性產生一個證明,然后鏈上主合約完成證明的有效性驗證。如圖2左側所示,這和原始的單個交易處理力度相比,已經有了巨大的吞吐率的提升和交易成本的降低。然而,ZKSwap團隊發現,受限于零知識證明算法橢圓曲線參數的選取,一個區塊內能批量處理的交易數量是有限的,再加上鏈上一次驗證計算的成本高達50WGas,導致每筆交易的成本并沒有低到預期。因此,ZKSwap技術團隊持續進行技術應用創新的突破,并最終關注到了聚合證明方案。
如上圖右側所示,聚合證明的思想很簡單,可簡單表述為:把每個區塊的proof當作輸入,把鏈上驗證的過程當作證明電路,證明鏈上的驗證過程是正確的,由于驗證的形式就是一個雙線性配對,因此,多個proof可以進行線性組合,然后利用一次雙線性配對完成所有proof的有效性驗證。這樣一來,多個證明的驗證過程由多次變成1次,驗證成本大幅降低,成本降低的幅度取決于區塊聚合度,目前Zkspeed方案支持聚合上鏈的交易筆數可根據實際情況進行調配,20、10、5筆均支持。同時,為了探索進一步降低交易成本的可能性,ZKSwap團隊追求精益求精,繼續對上鏈數據進行聚合提交,即,多個區塊一次提交,節省了一些固定成本,進一步壓縮交易成本,最終實現一筆交易的成本消耗最低至1400Gas,遠低于行業其他產品。
展望
遺憾的是,目前ZKSwap的方案還不兼容EVM,ZKSwap團隊的愿景是構建一個支持通用EVM的Rollup擴容解決方案,使得其他應用無需重新編寫智能合約就能實現快速遷移,目前ZKSwap團隊已經投入研究,并取得了一些進展。除此之外,starkWare和MatterLabs分別開發了starkNet和zinc的Layer2擴容解決方案,需要用對應新設計的DSL語言來編寫證明邏輯,雖然此方案不算完美,但也算是一個階段性的研發成果。未來ZKSwap團隊愿和其他團隊一起,共同致力于以太坊的Layer2擴容建設。
撰文:江小白
Tags:ZKSLAYERABUPROzksync幣與zks幣Monster Slayer FinanceABU幣atlasprotocol
市場概述: 最近幾日全球市場龍頭資產如美股特斯拉、A股茅臺均出現不同程度調整,比特幣也隨之被帶崩,距高點下跌超22%,但隨后出現加速上漲,形似“V轉”,與美股近乎同步,仍需謹慎注意風險.
1900/1/1 0:00:00上世紀四十年代的某一天,信息論之父ClaudeShannon在黑板上給大家演示:任何一個價位買進資金的50%,也就是說資金數量:股票市值=50%:50%.
1900/1/1 0:00:00剛進入三月,MicroStrategy的首席執行官MichaelSaylor便發布推文宣布MicroStrategy已再度以約1500萬美元的現金購買了約328個比特幣.
1900/1/1 0:00:00美股、比特幣在本周強勢反彈并不讓人意外。上周雙休日,拜登1.9萬億美元刺激計劃終于被通過,而近兩日美債收益率回落至1.5%以下,恐慌指數進入3月份后跌至25以下,市場風險偏好再度回升.
1900/1/1 0:00:00一周必讀十篇|Vitalik:為什么我不擔心EIP-1559中的松弛區塊容量 金色薦讀 剛剛 13 1.
1900/1/1 0:00:00再斥1.7億美金購入比特幣Square想干什么? 歐科區塊鏈 剛剛 16 數字資產行業似乎正在與美股同步。昨天,全球市場驚出一身冷汗.
1900/1/1 0:00:00