近期以太坊上的高手續費和低TPS使以太坊上的Layer2擴容之爭變成了焦點。本篇文章將以市場上既有的產品為基礎,從技術方案角度出發,比較當下ZKSwap方案和其他擴容方案的異同之處。在具體的展開描述之前,也將簡短的介紹下目前市場上的Layer2擴容技術的基本狀況。
Layer2擴容技術概述
迄今為止,Layer2市場上已經是一片繁榮,技術上不斷創新,各種產品也層出不窮。對于市場上的所有的產品,從技術角度上劃分,可以大體分為三類:
狀態通道:通過促進鏈下交易來減輕以太坊的負擔,具有即時存取、高吞吐的特點,其弊端是設置通道浪費耗時,并且需要在通道中支付鎖定資金,同時定時監測通道狀態;
側鏈技術:具有獨立共識規則的獨立區塊鏈,與Layer1的共識不同步,這是它的弊端;
Rollup技術:可以看作是一個高級的非托管側鏈技術,它將計算放在鏈下,交易數據以及最新世界狀態放在鏈上,保證了鏈上數據可用性。
與其他的兩種方案相比,Rollup無需提前鎖定代幣,也不用設置自己的共識規則;而且它還可以保持和Layer1同樣等級的安全性,同時方案本身具有通用性。隨著Layer2技術的持續發展,Rollup技術方案也變得多樣化,根據交易數據存儲的位置和使用的證明方法的不同,又可以將Rollup技術細分為以下四類:
安全公司:AurumNodePool合約遭受漏洞攻擊簡析:金色財經報道,據區塊鏈安全審計公司Beosin EagleEye監測顯示,2022年11月23日,AurumNodePool合約遭受漏洞攻擊。
Beosin分析發現由于漏洞合約的changeRewardPerNode函數未進行驗證,導致攻擊者可以調用該函數進行任意值設置。
攻擊者首先調用changeRewardPerNode函數將每日獎勵值設置成一個極大數,接下來調用claimNodeReward函數提取節點獎勵,而節點獎勵的計算取決于攻擊者設置的rewardPerDay值,導致計算的節點獎勵非常高。而在這一筆交易之前,攻擊者便通過一筆交易(0xb3bc6ca257387eae1cea3b997eb489c1a9c208d09ec4d117198029277468e25d)向合約存入了1000AUR,創建了攻擊者的節點記錄,從而使得攻擊者能夠提取出該節點獎勵。最終攻擊者通過該漏洞獲得約50個BNB($14,538.04)。[2022/11/23 8:01:04]
ZKRollup:Layer1Validityproofs,數據存儲在鏈上,用零知識證明來保證狀態轉換的有效性;
Beosin:Skyward Finance項目遭受攻擊事件簡析:金色財經報道,根據區塊鏈安全審計公司Beosin旗下Beosin EagleEye 安全風險監控、預警與阻斷平臺監測顯示,Near鏈上的Skyward Finance項目遭受漏洞攻擊,Beosin分析發現由于skyward.near合約的redeem_skyward函數沒有正確校驗token_account_ids參數,導致攻擊者5ebc5ecca14a44175464d0e6a7d3b2a6890229cd5f19cfb29ce8b1651fd58d39傳入相同的token_account_id,并多次領取了WNear獎勵。本次攻擊導致項目損失了約108萬個Near,約320萬美元。Beosin Trace追蹤發現被盜金額已被攻擊者轉走。[2022/11/3 12:12:36]
OptimisticRollup:Layer1Fraudproofs,數據存儲在鏈上,在挑戰期間,用欺詐證明來驗證狀態轉換的有效性;
Validium:Layer2Validityproofs,數據存在鏈下,用零知識證明來保證狀態轉換的有效性,并設立「數據可用性委員會」來保證鏈下數據的可用性;
慢霧:跨鏈互操作協議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]
Plasma:Layer2Fraudproofs,數據存儲在鏈下,用戶提供欺詐證明來驗證狀態轉換的有效性;
安全公司: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]
在實際的產品設計過程中,基于不同的業務場景,設計者往往需要在效率和安全性上做出權衡,要效率還是要絕對安全,每個產品設計時都有自己的側重面。因此,也就有了上述的四種Rollup方案。現在市面上的大部分產品,按技術分類的話,應該大都屬于上述四類,更準確的說,是屬于前三類,第四類方案提出的最早,安全性考慮的較少。
Grim Finance 被黑簡析:攻擊者通過閃電貸借出 WFTM 與 BTC 代幣:據慢霧區情報,2021 年 12 月 19 日,Fantom 鏈上 Grim Finance 項目遭受攻擊。慢霧安全團隊進行分析后以簡訊的形式分享給大家。
1. 攻擊者通過閃電貸借出 WFTM 與 BTC 代幣,并在 SpiritSwap 中添加流動性獲得 SPIRIT-LP 流動性憑證。
2. 隨后攻擊者通過 Grim Finance 的 GrimBoostVault 合約中的 depositFor 函數進行流動性抵押操作,而 depositFor 允許用戶指定轉入的 token 并通過 safeTransferFrom 將用戶指定的代幣轉入 GrimBoostVault 中,depositFor 會根據用戶轉賬前后本合約與策略池預期接收代幣(預期接收 want 代幣,本次攻擊中應為 SPIRIT-LP)的差值為用戶鑄造抵押憑證。
3. 但由于 depositFor 函數并未檢查用戶指定轉入的 token 的合法性,攻擊者在調用 depositFor 函數時傳入了由攻擊者惡意創建的代幣合約地址。當 GrimBoostVault 通過 safeTransferFrom 函數調用惡意合約的 transferFrom 函數時,惡意合約再次重入調用了 depositFor 函數。攻擊者進行了多次重入并在最后一次轉入真正的 SPIRIT-LP 流動性憑證進行抵押,此操作確保了在重入前后 GrimBoostVault 預期接收代幣的差值存在。隨后 depositFor 函數根據此差值計算并為攻擊者鑄造對應的抵押憑證。
4. 由于攻擊者對 GrimBoostVault 合約重入了多次,因此 GrimBoostVault 合約為攻擊者鑄造了遠多于預期的抵押憑證。攻擊者使用此憑證在 GrimBoostVault 合約中取出了遠多于之前抵押的 SPIRIT-LP 流動性憑證。隨后攻擊者使用此 SPIRIT-LP 流動性憑證移除流動性獲得 WFTM 與 BTC 代幣并歸還閃電貸完成獲利。
此次攻擊是由于 GrimBoostVault 合約的 depositFor 函數未對用戶傳入的 token 的合法性進行檢查且無防重入鎖,導致惡意用戶可以傳入惡意代幣地址對 depositFor 進行重入獲得遠多于預期的抵押憑證。慢霧安全團隊建議:對于用戶傳入的參數應檢查其是否符合預期,對于函數中的外部調用應控制好外部調用帶來的重入攻擊等風險。[2021/12/19 7:49:04]
所以,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擴容建設。
撰文:江小白
Tags:ZKSLAYERSTASTARzksync幣交易所layer幣最新消息bitstamp交易所中文名稱STAR價格
火幣生態鏈Heco創新型預言機項目——TokenLinkOracel治理代幣TLO將于2月27日16:00開啟流動性挖礦,數量5000枚TLO;于20:00開啟LP挖礦及TLO空投.
1900/1/1 0:00:00鏈聞消息,據TheBlock,加密貨幣交易所Coinbase在向美國證券交易委員會提交的S-1注冊表格文件第68頁中指出,Coinbase可能會籌集更多資金以「支持業務增長」,為此.
1900/1/1 0:00:00為滿足廣大用戶的多元交易需求,助力投資者在多種行情下獲利,Gate.io現隆重推出雙幣寶理財服務,無懼市場波動,漲跌皆有收益.
1900/1/1 0:00:00隨著新晉首富埃隆馬斯克以及其他大機構的大量增持比特幣,或許美聯儲是時候開始考慮將比特幣納入其資產負債表了。美國未來將會采用比特幣作為儲備資產。為什么?因為這樣做顯然符合美國的戰略利益.
1900/1/1 0:00:00大家早上好,我是玩幣隊長。任何人都有犯錯的時候,任何錯誤的行為都會讓人付出一定的代價,關鍵要看對待錯誤的態度.
1900/1/1 0:00:00劉裘蒂:有一波美國企業正考慮通過購買比特幣和加密貨幣來重組資產負債表,這將為資本市場帶來什么樣的焦慮和風險?比特幣在2月19日突破總市值1萬億美元的里程碑.
1900/1/1 0:00:00