溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣進行ZKSwap探索研究

發(fā)布時間:2021-12-27 15:17:59 來源:億速云 閱讀:138 作者:柒染 欄目:互聯(lián)網科技

這篇文章將為大家詳細講解有關怎樣進行ZKSwap探索研究,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

ZKSwap 探索研究

ZK Rollup和Optimistic Rollup - 以太坊重要的擴展方向

前言:多年來,擴展性一直困擾著公鏈。關于擴展性的解決方案有的在概念論證中,有的在研發(fā)中。Optimistic Rollup和Zk Rollup也是擴展性的解決方案,并引起了加密社區(qū)的濃厚興趣。那么,到底什么Optimistic Rollup和ZK Rollup?哪一種技術路線會贏得以太坊擴展的未來?不管道路如何曲折,之前的努力是否有用(如plasma等技術解決方案),但以太坊的擴展之路一直在前進,滿足主流場景并非遙不可及。本文作者Alex Gluchowski,由藍狐筆記社群的“JOKO”翻譯。

簡介

Optimistic Rollup是一種很有希望在短期內擴展以太坊上通用智能合約的技術。如果構建足夠快,它能夠提供可以輕松遷移現(xiàn)有dApp和服務的方法,且能合理權衡安全和可擴展性。這將使得ETH1.0能夠滿足不斷增長的需求。

ZK Rollup是一種更加復雜的技術。它如今可以用于代幣轉移和特定應用。然而,要在通用智能合約上實現(xiàn)還需要更長一些時間,并且要想高效地將EVM包裹于ZKP中甚至還需要更多的研究工作。(藍狐筆記:ZKP是指零知識證明)

不過,一旦ZK Rollup完全開發(fā)出來,所有現(xiàn)有的以太坊dApp和服務都能夠平滑且輕松地遷移過去。

ZK Rollup將會解決Optimistic Rollup上的幾個基本問題:

消除讓人討厭的尾巴風險:通過復雜但可行的攻擊向量盜取資金;

將提取資金時間從1-2周減少至幾分鐘;

支持快速交易確認并以無限制的數量退出;

默認引入隱私。

Optimistic Rollup對ZK Rollup來說是個好消息。向Layer 2擴展的過渡要求對錢包、預言機、dApp、用戶習慣的重大改變。Optimistic Rollup有助于為這一行動做好生態(tài)系統(tǒng)的準備,將擴展性帶入這些尚不能基于ZK Rollup構建的dApp。這給予ZK Rollup足夠的時間發(fā)展成熟,并使其實現(xiàn)完全無縫的采用,與此同時維持以太坊的增長勢頭。

Rollup 101
  • 什么是Rollup?

Rollup是類似于Plasma的Layer-2擴展性解決方案:單個主鏈合約持有所有資金,并對較大的“側鏈”狀態(tài)(通常是賬戶、余額及其狀態(tài)的Merkle樹)進行簡潔的加密承諾。側鏈狀態(tài)由用戶和運營商鏈下維持,且不依賴于Layer 1的存儲(這是最大的擴展性勝利的源頭)。

將Rollup和Plasma區(qū)分開來的是它解決了Plasms的巨大問題:數據可用性,其方式是通過Layer 1網絡為每筆交易發(fā)布一些數據(在以太坊,專門為此目的使用tx CALLDATA)。

因此可以在單個Rollup區(qū)塊中將數千個交易捆綁在一起。盡管此方法的成本嚴格地呈線性增長(交易數量的O(n) ),但它在吞吐量上實際可提升100倍,因為CALLDATA比Layer 1存儲和計算要便宜。

Rollup已經被Vitalik Buterin反復認可為其最喜歡的Layer 2可擴展性解決方案。根據如何確保狀態(tài)轉換的正確性,有兩種Rollup方式:ZK Rollup和Optimistic Rollup。

  • 什么是ZK Rollup?

在ZK-Rollup中,運營商必須為每個狀態(tài)轉換生成一個SNARK(藍狐筆記:簡潔非互動的知情證明,Succinct Non-interactive ARgument of Knowledge),并由主鏈上的Rollup合約進行驗證。此SNARK證明存在一系列由所有者正確簽名的交易,這些交易以正確的方式更新了賬戶余額,并使得Merkle root從舊到新。因此,運營商不可能提交無效或操縱的狀態(tài)。

  • 什么是Optimistic Rollup?

在Optimistic Rollup中,新狀態(tài)根由運營商發(fā)布,且無需每次都由Rollup智能合約檢查。相反,每個人都希望狀態(tài)轉換是正確的。但是,如果發(fā)布了不正確的狀態(tài)轉換,其他運營商或用戶(必須觀察在Layer 1 Rollup 合約中的情況,執(zhí)行每個單筆交易)將能夠指出錯誤的交易,并還原錯誤的區(qū)塊,消減惡意運營商的押金。Optimistic Rollup的概念最初由John Adler提出的。

接下來,讓我們比較一下ZK Rollup 和Optimsitc Rollup。

靈活性:通用計算
  • Optimistic Rollup

盡管Optimistic Rollup可用于特定的應用,但是Plasma Group最重要的創(chuàng)新是OVM(Optimistic Vitual Machine)。OVM支持任意智能合約邏輯的實現(xiàn)。

幾乎任何在以太坊上能實現(xiàn)的同樣可以在OVM上實現(xiàn),這其中包括智能合約的可組合性。它基于EVM,EWASM或任何其他虛擬機。關于OVM的好處是,如果它與EVM一起使用,它將支持用Solidity編寫代碼。因此,大部分現(xiàn)有的代碼庫都可以輕松移植到Optimistic Rollup上。

如果OVM可以直接重用現(xiàn)有的EVM字節(jié)碼,那會是理想的選擇,但這可能不是那么簡單。正確的實現(xiàn)方式將要求更改交易數據(CALLDATA)格式,并要求復雜的Truebit/Plasma Leap風格的挑戰(zhàn)/響應協(xié)議的實現(xiàn),以提供欺詐證明。

這可能會導致與EVM產生分歧,從而導致無法正確處理邊緣情況,這意味著仍然需要做一些工作才能適應當前的OVM合約。實施的另外一個挑戰(zhàn)在于,大型區(qū)塊的欺詐證明可能需要比Layer 1區(qū)塊gas limit所允許的更多的gas。那么,這些欺詐證明必須被分解為多個ETH交易。

  • ZK Rollup

迄今為止,所有現(xiàn)有的ZK-Rollup實現(xiàn)聚焦于特定的操作,例如代幣轉移或原子交換。這其中有幾個主要原因。

首先,沒有一種有效的技術可用于針對不同ZKP的簡潔遞歸證明組合,這需要將不同智能合約的執(zhí)行匯總到一個區(qū)塊中。我們最好的方法是在橢圓曲線的循環(huán)上使用Groth26(由Coda使用),這需要在較長的字段上進行計算,并且對于大型計算完全沒有效率。

其次,即使我們的字段較短,Groth26也會為每個智能合約和每個新版本要求一個單獨可信的設置儀式。顯然,這絕對是不現(xiàn)實的。無須可信設置的唯一有效的ZKP技術是基于FRI的STARKs。但是,驗證程序僅對有限的一類問題(可以表示為簡潔的算術電路)是簡潔的。

STARK驗證程序必須對被證明的計算語句的每個約束至少執(zhí)行一次,這意味著我們無法迭代異構智能合約的集合。

隨著SNORKs的出現(xiàn),一切都發(fā)生改變。SNORK是基于稍微不同的一組加密原語(著名的多項式承諾方案)的新一代ZKP。由Sean Bowe在Sonic中率先開發(fā),在2019年夏季PLONK和Marlin緊跟其后。所有這些都有一個共同點:盡管依然需要可信設置,但現(xiàn)在它是通用且可更新的。完成一次之后,它可以隨時將其重用于任何數量的不同程序。

然而,在這些證明系統(tǒng)中使用的Kate多項式承諾方案依然需要高效的橢圓曲線循環(huán)來進行遞歸,而目前尚不可用。這就是我們?yōu)槭裁磳ψ钚碌耐耆啙嵑屯该鳎o可信設置)的證明系統(tǒng)感到興奮,例如Halo、SuperSonic、Fractal,以及Matter Labs團隊最近在折騰的讓人興奮的事情。

長話短說:在ZKP上構建通用智能合約的障礙現(xiàn)在已經被移除。ZK Rollup完全能夠支持與EVM相同的編程模型,包括無縫可組合性和可互操作性。盡管Solidity開發(fā)者的學習曲線不會超過一天,但最初的合約可能需要專用的DSL。最終,鑒于ZKP證明者技術的當前發(fā)展步伐,我們期望所有的現(xiàn)存ETH(甚至EWASM)合約都能以最小的努力有效地移植過來。

可擴展性&交易成本
  • Optimistic Rollup

    根據John Adler的說法,在EIP2028/伊斯坦布爾之后,目前的估算是每筆轉賬tx大約4k的gas。
    
    這意味著,相當于大約100tps。
    
    使用BLS聚合簽名,此數字最多可以上升到大約500tps(為了不破壞EVM兼容性,tx參數將可能會保留很長時間)。
    
    如果EVM兼容性遭到破壞,則理論上吞吐量可能會增長到ZKP的極限。

實際吞吐量上限(代幣轉移):500tps

目前可能還不錯。

  • ZK Rollup

在Matter Testnet中每筆轉移tx的公共數據成本當前是16bytes,這將在EIP2028/伊斯坦布爾后花費272gas費用。

此外,將會有證明的攤銷費用,預計大約為30萬gas。

即使我們假定最壞的情況,需要100萬gas證明成本,但估算的轉賬上限仍將超過2140tps。

在一些討論中,可以聽到人們爭論說ZKP會產生大量的計算開銷,由此價格昂貴。實際上,與gas成本相比較,計算成本可以忽略不計,這是真正的瓶頸,因為抗審查的分散化。我們也期望這個因素會隨時間的推移而顯著下降。

實際吞吐量上限(代幣轉移):超過2000tps —— 類似于Visa的規(guī)模。

但是,在許多用例中,ZK Rollup將節(jié)省更多,因為可以從公共數據中省略大塊部分(通過將它們移至ZK電路證明),而無須重構狀態(tài)轉換增量。

核心見解是:盡管Optimistic Rollup始終要求用戶發(fā)布完全的交易輸入,而在ZK Rollup中,我們可以靈活地在如下兩者間選擇:1)交易輸入減去不影響狀態(tài)轉換的見證人 2)僅交易輸出??梢苑浅?yōu)雅地實現(xiàn)這一選擇,而無須太多復雜性。

著名的例子:

在多簽錢包,具有Argent風格賬戶抽象的錢包或去中心化交易所,用戶需要提交簽名以獲得合約的驗證。這些簽名對于狀態(tài)增量更新是非必需的,可以從公開數據中省略。

像Gnosis的Dfusion Dutch DEX這樣的合約要求大量的數據集輸入,這些輸入不會直接影響存儲,但僅用于驗證計算結果。
  • ETH 2.0之后

由于任何Rollup將位于單個分片中,因此,CALLDATA的成本(以及Rollup交易成本)不太可能發(fā)生很大的變化,除非帶寬通常變得更便宜。

元交易

兩種類型的Rollup都非常適合支持元交易和賬戶抽象。

安全
  • Optimistic Rollup

與支付通道不同,Rollup中的所有資金都由單個智能合約持有。既然Rollup是最有希望的擴展方向,我們應該看到大量的用戶遷移其中,且很多價值集中于這類合約。持有數千萬上億(甚至數十億)美元價值的資產,對于知名黑客來說,Rollup合約正變成非常有吸引力的蜜罐,如果攻擊有機會,那么,無論多么復雜,都有可能會嘗試進行。

Optimistic Rollup的安全模型基于兩個假設:

  1. 至少在n個節(jié)點中有1個誠實節(jié)點執(zhí)行所有Optimistic Rollup交易,并且在無效狀態(tài)轉換發(fā)布時提交欺詐證明;

  2. 底層Layer 1網絡有強大的抗審查性

  • N個節(jié)點中至少有一個誠實節(jié)點參與者

對于第一點,現(xiàn)實的期望是,只有Rollup的運營商才會實際監(jiān)控和執(zhí)行交易。普通用戶既沒有動力也沒有技術能力來處理高負載的交易(如果他們可以,擴展來源于哪里?)幸運的是,運營商自然地有動力去檢查彼此區(qū)塊的正確性,因為基于無效區(qū)塊上搭建區(qū)塊會被消減資產。

有足夠的可信參與者,N個節(jié)點中有1個誠實節(jié)點運營商是合理的假設。但是,既然活躍參與者的數量有限(幾百個?),一些復雜的攻擊可能包括:針對所有運營商的基礎設施(非常困難但并非不可行),賄賂/勒索開發(fā)工程師秘密安裝惡意代碼,針對Rollup軟件的更新分發(fā)渠道等,當然,還可能是這些攻擊的組合。

這些攻擊很難實現(xiàn),但應該積極防御,但比起用同樣的方式攻擊以太坊礦工,這些攻擊要更加現(xiàn)實,尤其是因為對Optimistic Rollup的成功攻擊直到完成后才會被注意到。

  • 強大的Layer 1抗審查性

第二個假設是棘手的假設。實際上,以太坊的設計提供了經濟機制,它對抗普通審查非常有效。但是,在出現(xiàn)反機制時,這些機制會停止起作用。攻擊者可以創(chuàng)建完全自動的賄賂機制來協(xié)調礦工的51%攻擊,這會阻止誠實礦工將欺詐證明包含在其區(qū)塊中。

有趣的是,對于參與的礦工來說,此次攻擊的直接成本為零,如果可以明確地歸因于審查,則不計入由憤怒社區(qū)反應所產生的社會成本。這部分也很棘手,因為該機制為攻擊的參與者提供了合理的可否認性:“鑒于攻擊者多數的可信承諾,如果我不參與,我的區(qū)塊會被拋棄,所以,我必須這么做,不是為了利潤,而是為了避免損失?!?/p>

不幸的是,在PoW下,這種攻擊非?,F(xiàn)實。沒有什么有效的方法來懲罰參與其中的匿名礦工。在轉向PoS后,社區(qū)將可以通過消減礦工的質押權益來懲罰他們,如果達成廣泛的社會共識。

畢竟,這樣的審查攻擊可以被視為對整個網絡的侵略,盡管也可以說,礦工只是簡單地誠實地遵循協(xié)議,且沒有義務以違背其最佳經濟利益方式行事。

但是,在DAO分叉后,至少可以說,這將是非常有爭議的討論,其結果無法預測。在Vitalik最近進行的一次社區(qū)民意測驗中,無論遇到什么程度的攻擊,63%的投票者反對對不可變的區(qū)塊鏈進行任何人工干預來救助用戶。不用說,要清除即使一個驗證者的權益(藍狐筆記:此處是指質押資金)也非常困難,更不用說清除大多數驗證者的權益。

最近發(fā)布了更多關于串通合謀的研究,以及針對PoS環(huán)境中欺詐證明的新攻擊,這表明在PoS中Optimistic Rollup的審查攻擊風險至少與PoW一樣高。

抵抗這種攻擊的更現(xiàn)實的方法是在UASF(用戶激活的軟分叉)中社區(qū)的快速動員,以迫使礦工將某些交易包括進來。從工程和社會的角度看,這種場景都是復雜的,且將肯定要求相對長的挑戰(zhàn)期窗口,以提供欺詐證明,至少一周,最好兩周。

同時,鑒于主要的DeFi運營商在決定這種分叉的結果時處于有利位置,且避免吵鬧的干擾事件符合其最大利益。所以,他們的最佳選擇可能只是靜靜地遵循攻擊者(這將使以太坊保持最長鏈,并產生比成功軟分叉更少的爭議)。

總的來說,欺詐證明審查的風險相對較低,但不可忽略。

由于存在1-2周的欺詐證明挑戰(zhàn)期,并且沒有太多資金的利害關系,Optimistic Rollup可能是沒有問題的:運營商/礦工合謀將不值得麻煩和冒風險。但是,如果rollup中的價值升高,潛伏的黑天鵝將會變得越來越讓人擔憂。

  • ZK Rollup

在ZK Rollup中,在其變?yōu)橛行е?,每個狀態(tài)轉換都通過Rollup智能合約進行驗證。嚴格來說,運營商無法盜取資金或破壞Rollup狀態(tài)。ZK Rollup依賴于Layer 1的抗審查性,只是為了其活性,而不是為了安全性。無須任何人來監(jiān)控ZK Rollup,在區(qū)塊驗證后,用戶資金總是保證最終能被收回,即使運營商拒絕合作。

因此,ZK Rollup更充分地體現(xiàn)了加密世界的基本理念:通過密碼學和博弈理論激勵機制來取代可信方,以實現(xiàn)彈性。但是,為了完整起見,我必須提到ZK Rollup特有的一些潛在風險。

可信設置

如果在ZK Rollup中使用的ZKP需要通用的可信設置,則我們將得出“N分之一”誠實參與者的假設。根據參與者的數量和質量,這可能是可接受的風險,也可能是不可接受的風險。但安全是安全的,這就是為什么我對高效無須信任的SNARKs最新進展感到非常興奮的原因,尤其是Matter Labs正在進行構建上。

密碼學

與Groth26相比,最新一代的SNARKs正在使用的是更多經過實踐檢驗的加密原語。Matter Lab的工作基于FRI,因此甚至可以說是具有后量子的安全性。但是,要完全冷靜下來,應該應用兩種緩解策略:

  • 與RSA挑戰(zhàn)類似,必須以比實際產品版本更低安全參數來部署大量獎金。如果發(fā)現(xiàn)了實際攻擊,研究者會在產品代碼被破壞數年前克服挑戰(zhàn)。

  • 所有狀態(tài)轉換必須僅由ZKR的運營商發(fā)送,而ZKR的運營商實質上充當雙重驗證的保護層。

延遲(達成可驗證最終性所需的時間)

  • Optimistic Rollup

由于上面安全性部分提到的問題,僅在1-2周欺詐證明的挑戰(zhàn)窗口期內Optimistic Rollup才能是安全的。在這段時間過去之前,任何交易都不能認為是最終的,內部Rollup tx和退出都不是最終的。

不幸的是,對于最終用戶來說,檢查交易是否具有最終性,沒有比通過整個上一次挑戰(zhàn)期執(zhí)行所有交易更快的方法了。需要特別注意的是,用戶無法單純依賴博弈理論來保證區(qū)塊的最終性,因為單個運營商節(jié)點中的漏洞或(黑客入侵)仍可能導致還原。

最終性的時間(PoW下):2周

最終性的時間(PoS下):1周

  • ZK Rollup

當前ZKP計算上很密集。目前,對于1000tx的區(qū)塊,我們可以在普通服務器硬件上有20分鐘證明生成時間。正在進行的GPU證明程序實現(xiàn)(Matter Labs和Coda實施)有望將tx速度提高至少10倍。在不遠的將來,專用硬件可能會擁有更高的計算能力。最終,我們期望看到在一分鐘內完成區(qū)塊的最終性。

最終性時間(現(xiàn)在):20分鐘

最終性時間(未來):1分鐘內

Rollup交易內部的快速確認

在這兩種類型的Rollup中,通過存入一定的安全保證金(如果交易沒有包含進承諾的區(qū)塊,保證金會被消減),運營商都可以向用戶簽發(fā)即時交易確認。這為最終性提供了經濟保證。

這種方法有局限。它對于可互換代幣的轉移運轉良好,但不適合于NFT和通用合約請求。該NFT可能沒有市場價值,或者當這些資產的所有者不想在任何情況下立即“出售”它。通用合約請求不適用是因為如果鏈上的某些之前交易被還原,不容易準確量化貨幣價值。簡單的例子:為接受穩(wěn)定幣預言機價格廣播的最終價格,運營商應該質押多少資金合適?

快速提取資金

快速退出類似于快速內部Rollup確認。運營商可以與流動性提供商合作,以將可互換代幣即時提取給用戶,而無須等待退出交易在Rollup中成為具有最終性的交易。這要求大量的抵押品,這跟最終性達成的時間成正比。假設對Optimistic Rollup來說,不久將來的現(xiàn)實的最終性時間為1周,而ZK Rollup為5分鐘,那么,Optimistic Rollup將需要2000倍于ZK Rollup的抵押品才能支持每周相同的提款量。

隱私
  • Optimistic Rollup

Optimistic Rollup可以支持Layer 2以太坊 (混合器等)上的任何可用的隱私解決方案。既然Optimistic Rollup本身也是Layer 2,在其上實現(xiàn)的任何隱私解決方案將作為Layer 3。這可能導致隱私服務更加分散,并導致較小的匿名集,這使得隱私的實用性非常低(我們甚至可以在zcash上觀察到,默認情況下交易不會隱藏)

  • ZK Rollup

為了獲得真正的隱私,系統(tǒng)必須默認支持它。從技術的角度看,ZK Rollup可以在某種情況下默認輕松支持在協(xié)議層面代幣轉移的隱私交易,也可以區(qū)分公共和私人智能合約。

同時,構建完全匿名的zcash風格交易(即不僅隱藏金額,也隱藏交易的參與者),它將要求改變ZK Rollup的存儲模型,從基于賬戶模型變?yōu)榛赨TXO模型,這會產生很多問題,且不太可能發(fā)生。

Optimistic Rollup目前處于PoC階段。我們希望很快會實現(xiàn)產品級實施。如果證明它移植現(xiàn)有代碼相對容易,那么,項目將逐漸開始采用它并構建新的基礎架構:Layer 2支持將在錢包中出現(xiàn),預言機將開始廣播到Optimistic Rollup等。

ZK Rollup在特定應用方面已經更加成熟(例如ERC20代幣的轉移),但會逐步向完全通用的智能合約方向發(fā)展。最終,移植任何基于EVM和WASM的智能合約到ZK Rollup也是可能的,在當前的技術發(fā)展速度下,這可能耗費數年時間即可完成。

對于這兩種類型的Rollup,類似的基礎設施改變會發(fā)生在錢包、預言機以及其他智能合約組件中。這要求大量的工作,隨著更多項目對Layer 2 擴展技術感興趣,這些工作會加速。既然Optimistic Rollup承諾比ZK Rollup更早實現(xiàn)通用化的基于EVM的智能合約,它將極大地推動社區(qū)采用Layer 2的動機。

對于用戶和dApp,從一個Rollup跳到另外一個Rollup,將會比從ETH最初遷移到Layer 2更容易。橋接會讓這一過程更加順暢。由于這種切換的簡易,這種解決方案在UX方面會取得顯著優(yōu)勢,從長遠看,很可能會成為唯一的贏家。

關于怎樣進行ZKSwap探索研究就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI