近期以太坊上的高手續費和低TPS使以太坊上的Layer2擴容之爭變成了焦點。本篇文章將以市場上既有的產品為基礎,從技術方案角度出發,比較當下ZKSwap方案和其他擴容方案的異同之處。在具體的展開描述之前,也將簡短的介紹下目前市場上的Layer2擴容技術的基本狀況。
Layer2擴容技術概述
迄今為止,Layer2市場上已經是一片繁榮,技術上不斷創新,各種產品也層出不窮。對于市場上的所有的產品,從技術角度上劃分,可以大體分為三類:
狀態通道:通過促進鏈下交易來減輕以太坊的負擔,具有即時存取、高吞吐的特點,其弊端是設置通道浪費耗時,并且需要在通道中支付鎖定資金,同時定時監測通道狀態;
側鏈技術:具有獨立共識規則的獨立區塊鏈,與Layer1的共識不同步,這是它的弊端;
Rollup技術:可以看作是一個高級的非托管側鏈技術,它將計算放在鏈下,交易數據以及最新世界狀態放在鏈上,保證了鏈上數據可用性。
與其他的兩種方案相比,Rollup無需提前鎖定代幣,也不用設置自己的共識規則;而且它還可以保持和Layer1同樣等級的安全性,同時方案本身具有通用性。隨著Layer2技術的持續發展,Rollup技術方案也變得多樣化,根據交易數據存儲的位置和使用的證明方法的不同,又可以將Rollup技術細分為以下四類:
Beosin:SEAMAN合約遭受漏洞攻擊簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,2022年11月29日,SEAMAN合約遭受漏洞攻擊。Beosin分析發現是由于SEAMAN合約在每次transfer函數時,都會將SEAMAN代幣兌換為憑證代幣GVC,而SEAMAN代幣和GVC代幣分別處于兩個交易對,導致攻擊者可以利用該函數影響其中一個代幣的價格。
攻擊者首先通過50萬BUSD兌換為GVC代幣,接下來攻擊者調用SEAMAN合約的transfer函數并轉入最小單位的SEAMAN代幣,此時會觸發合約將能使用的SEAMAN代幣兌換為GVC,兌換過程是合約在BUSD-SEAMAN交易對中將SEAMAN代幣兌換為BUSD,接下來在BUSD-GVC交易對中將BUSD兌換為GVC,攻擊者通過多次調用transfer函數觸發_splitlpToken()函數,并且會將GVC分發給lpUser,會消耗BUSD-GVC交易對中GVC的數量,從而抬高了該交易對中GVC的價格。最后攻擊者通過之前兌換的GVC兌換了50.7萬的BUSD,獲利7781 BUSD。Beosin Trace追蹤發現被盜金額仍在攻擊者賬戶(0x49fac69c51a303b4597d09c18bc5e7bf38ecf89c),將持續關注資金走向。[2022/11/29 21:10:04]
ZKRollup:Layer1Validityproofs,數據存儲在鏈上,用零知識證明來保證狀態轉換的有效性;
慢霧:Inverse Finance遭遇閃電貸攻擊簡析:據慢霧安全團隊鏈上情報,Inverse Finance遭遇閃電貸攻擊,損失53.2445WBTC和99,976.29USDT。慢霧安全團隊以簡訊的形式將攻擊原理分享如下:
1.攻擊者先從AAVE閃電貸借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子獲得5,375.5個crv3crypto和4,906.7yvCurve-3Crypto,隨后攻擊者把獲得的2個憑證存入Inverse Finance獲得245,337.73個存款憑證anYvCrv3Crypto。
2.接下來攻擊者在CurveUSDT-WETH-WBTC的池子進行了一次swap,用26,775個WBTC兌換出了75,403,376.18USDT,由于anYvCrv3Crypto的存款憑證使用的價格計算合約除了采用Chainlink的喂價之外還會根據CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的實時余額變化進行計算所以在攻擊者進行swap之后anYvCrv3Crypto的價格被拉高從而導致攻擊者可以從合約中借出超額的10,133,949.1個DOLA。
3.借貸完DOLA之后攻擊者在把第二步獲取的75,403,376.18USDT再次swap成26,626.4個WBTC,攻擊者在把10,133,949.1DOLAswap成9,881,355個3crv,之后攻擊者通過移除3crv的流動性獲得10,099,976.2個USDT。
4.最后攻擊者把去除流動性的10,000,000個USDTswap成451.0個WBT,歸還閃電貸獲利離場。
針對該事件,慢霧給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/6/16 4:32:58]
OptimisticRollup:Layer1Fraudproofs,數據存儲在鏈上,在挑戰期間,用欺詐證明來驗證狀態轉換的有效性;
安全公司:Starstream Finance被黑簡析:4月8日消息,據Agora DeFi消息,受 Starstream 的 distributor treasury 合約漏洞影響,Agora DeFi 中的價值約 820 萬美金的資產被借出。慢霧安全團隊進行分析后以簡訊的形式分享給大家。
1. 在 Starstream 的 StarstreamTreasury 合約中存在 withdrawTokens 函數,此函數只能由 owner 調用以取出合約中儲備的資金。而在 April-07-2022 11:58:24 PM +8UTC 時,StarstreamTreasury 合約的 owner 被轉移至新的 DistributorTreasury 合約(0x6f...25)。
2. 新的 DistributorTreasury 合約中存在 execute 函數,而任意用戶都可以通過此函數進行外部調用,因此攻擊者直接通過此函數調用 StarstreamTreasury 合約中的 withdrawTokens 函數取出合約中儲備的 532,571,155.859 個 STARS。
3. 攻擊者將 STARS 抵押至 Agora DeFi 中,并借出大量資金。一部分借出的資金被用于拉高市場上 STARS 的價格以便借出更多資金。[2022/4/8 14:12:38]
Validium:Layer2Validityproofs,數據存在鏈下,用零知識證明來保證狀態轉換的有效性,并設立「數據可用性委員會」來保證鏈下數據的可用性;
慢霧: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]
Plasma:Layer2Fraudproofs,數據存儲在鏈下,用戶提供欺詐證明來驗證狀態轉換的有效性;
慢霧:BSC項目Value DeFi vSwap 模塊被黑簡析:據慢霧區情報,幣安智能鏈項目 Value DeFi 的 vSwap 模塊被黑,慢霧安全團隊第一時間介入分析,并將結果以簡訊的形式分享,供大家參考:
1. 攻擊者首先使用 0.05 枚 WBNB 通過 vSwap 合約兌換出 vBSWAP 代幣;
2. 攻擊者在兌換的同時也進行閃電貸操作,因此 vSwap 合約會將兌換的 vBSWAP 代幣與閃電貸借出的 WBNB 轉給攻擊者;
3. 而在完成整個兌換流程并更新池子中代幣數量前,會根據池子的 tokenWeight0 參數是否為 50 來選擇不同的算法來檢查池子中的代幣數量是否符合預期;
4. 由于 vSwap 合約的 tokenWeight0 參數設置為 70,因此將會采用第二種算法對池子中的代幣數量進行檢查;
5. 而漏洞的關鍵點就在于采用第二種算法進行檢查時,可以通過特殊構造的數據來使檢查通過;
6. 第二種算法是通過調用 formula 合約的 ensureConstantValue 函數并傳入池子中緩存的代幣數量與實時的代幣數量進行檢查的;
7. 在通過對此算法進行具體分析調試后我們可以發現,在使用 WBNB 兌換最小單位(即 0.000000000000000001) vBSWAP 時,池子中緩存的 WBNB 值與實時的值之間允許有一個巨大的波動范圍,在此范圍內此算法檢查都將通過;
8. 因此攻擊者可以轉入 WBNB 進行最小單位的 vBSWAP 代幣兌換的同時,將池子中的大量 WBNB 代幣通過閃電貸的方式借出,由于算法問題,在不歸還閃電貸的情況下仍可以通過 vSwap 的檢查;
9. 攻擊者只需要在所有的 vSwap 池子中,不斷的重復此過程,即可將池子中的流動性盜走完成獲利。詳情見原文鏈接。[2021/5/8 21:37:37]
在實際的產品設計過程中,基于不同的業務場景,設計者往往需要在效率和安全性上做出權衡,要效率還是要絕對安全,每個產品設計時都有自己的側重面。因此,也就有了上述的四種Rollup方案。現在市面上的大部分產品,按技術分類的話,應該大都屬于上述四類,更準確的說,是屬于前三類,第四類方案提出的最早,安全性考慮的較少。
所以,ZKSwap團隊推出的Layer2擴容方案Zkspeed同樣也屬于上述范疇。然而,作為Layer2賽道上的一個新星,Zkspeed方案與其他主流產品推出的Layer2方案相比會有什么樣的技術優勢呢?產品體驗又有何異同呢?接下來,我們將選取市場上具有代表性的幾個產品,從技術方案和實際體驗效果上做一些簡單的對比分析,來看看Zkspeed擴容方案是否優勝同時產品體驗是否更好。
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擴容建設。
撰文:江小白
Coinbase又有了新的上市進展。適逢加密貨幣市場大跌之際,Coinbase向SEC遞交了上市申請,將采用非IPO的直接上市方式登陸納斯達全球精選市場.
1900/1/1 0:00:00「機構入場」無疑是本輪牛市最大的助推因素之一。從灰度的持續加倉,到MicroStrategy的瘋狂買買買,再到特斯拉的高調入局,機構資金的涌入不但直接給市場帶來了大量的新鮮血液,也在某種意義上為.
1900/1/1 0:00:00吳說作者|冬兵 本期編輯|ColinWu **** 2月26日星火礦池公開反對以太坊EIP-1559升級,而魚池則公開表態支持,兩方針鋒相對,引發廣泛關注.
1900/1/1 0:00:00尊敬的社區用戶:為滿足廣大用戶交易需求,在新杠桿ETF產品基礎上,霍比特交易所將于2021年3月1日15:00在杠桿ETF交易區上線新的杠桿ETF產品:ADA3L/USDTADA3S/USDT以.
1900/1/1 0:00:00大家晚上好,我是玩幣隊長。今天元宵佳節,祝幣友們元宵節快樂!一流的策略,一流的喊單,一流的執行,絕對就是一流的盈利!精準的預判,果敢的介入,堅定的持倉,定會實現利潤的倍增!市場在變,交易則變,但.
1900/1/1 0:00:00比特幣周圖 2020.7.26在9675介入的長線多單A,可以繼續持有。這個長線多單主要是處于周圖的關鍵位置: 一,均線金叉; 二,15EMA標準支撐;三,魚頭行情結束,魚身行情開始!由于15E.
1900/1/1 0:00:00