買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 萊特幣 > Info

ARK:ZK開發者必讀:從入門到高階的可選工具_HondaisCoin

Author:

Time:1900/1/1 0:00:00

原文:ADeveloper’sGuidetothezkGalaxy去年夏天,Vitalik寫了一篇博文,概述了不同類型的zkEVM。Vitalik根據性能和兼容性來定義與權衡。

這是一個非常有用的啟發式方法,以區分支持zkEVM的方法。然而,zkEVM是構建零知識應用程序的所有可能方法的一個子集。對于想要利用zk計算的獨特屬性,即簡潔性、零知識和正確性的程序員來說,zkEVM可能不是最好的選擇。通過闡述整個開發工具集,本文希望提供一個指南,幫助開發者在決策過程中選擇合適的zk堆棧。抽象復雜度的力量

在過去的一兩年中,zk工具有了巨大的進步。使得普通軟件的開發人員可以利用zk的強大屬性,而不需要深入了解令人生畏的基礎數學和工程。另一方面,為高級用戶提供的工具激增,使zk專家能夠極其精細地控制zk堆棧。現代軟件是建立在無數的抽象層上的,以最大限度地提高專家的生產力。工程中的抽象有許多優勢,這些優勢在某種程度上是直觀的--網絡開發者不需要深入了解操作系統的工作原理。建立良好的、可重復使用的抽象層的關鍵是封裝一個層的復雜性,然后為堆棧中更高的層提供簡單但有表現力的接口。正確的做法是,這使得具有不同專業領域和知識的開發人員能夠在整個堆棧中建立有用的工具。毫不奇怪,這些原則也適用于zk系統,而且這些抽象層正變得足夠成熟,一個zk新手今天就可以開始使用它們并構建應用程序。

zk堆棧與各層的一些工具/技術實例低級別的zk開發

Arkworks-rs

Arkworks-rs是一個Rust庫的生態系統,它為zkSNARK應用程序的子組件提供高效和安全的實現。Arkworks為開發者提供了必要的接口,以定制zk應用程序的軟件棧,而不必重新實現與其他現有庫的共性。在Arkworks之前,創建一個新的zk應用程序的唯一方法是從頭開始構建一切。與定制的垂直整合工具相比,Arkworks-rs的主要優勢在于其靈活性水平,減少重復工程,以及減少審計工作。Arkworks組件之間合理的接口線允許升級的速度,可以使堆棧在zk技術快速創新的過程中保持相關性,而不會迫使團隊從頭開始重建一切。優點通過模塊化實現靈活性減少重復代碼降低工程成本減少審計/bug的表面積無需重大重構即可升級任何組件易于在快速發展的zk環境中試驗新原語缺點需要深入了解完整的軟件堆棧如果沒有正確理解,太多的控制會導致腳槍精細控制需要堆棧所有級別的專業知識。Arkworks確實提供了一些合理的默認設置。zk領域專用語言(DSL)

Polymer Labs推出Optimistic ZK IBC Connections,可降低延遲與成本:6月16日消息,專注于IBC協議的基礎設施提供商Polymer Labs推出Optimistic ZK IBC Connections。該模型受到OSI模型啟發,包含應用層、傳輸層與狀態層。結合Optimistic與零知識證明驗證兩種技術可以提供具有理想特性的動態延遲:延遲的上限;當中繼者受到適當激勵時,可能會降低延遲;降低連接維護成本。[2023/6/16 21:42:32]

為了創建一個關于某些計算的證明,首先這個計算必須以一個zkSNARK系統可以理解的形式來表達。一些特定領域的語言已經創建了編程語言,允許應用開發者以這種方式表達他們的計算。這些語言包括AztecNoir、Starknet的Cairo、Circom、ZoKrates和Aleo的Leo等等。底層的證明系統和數學細節一般不會暴露給應用開發者。開發者的經驗

zkApp的開發者必須熟練地用特定領域的語言編寫程序。其中一些語言看起來很像我們熟悉的編程語言,而其他語言可能相當難學。讓我們來分析一下其中的幾個。Cairo-StarkwareDSL對于在Starknet上構建應用程序是必要的。編譯成Cairo特有的匯編語言,可由CairozkVM解釋。ZoKrates-ZoKrates是一個滿足SNARK常見需求的工具包,包括一種編寫電路的高級語言。ZoKrates在曲線、證明方案和后端方面也有一些靈活性,允許開發者通過簡單的CLI參數進行熱交換。Circom—Circom是一種用于構建電路的專用語言。目前,它是生產電路的實際語言。該語言不是特別符合人體工程學,使開發者敏銳地意識到正在編寫電路。Leo——Leo被開發為Aleo區塊鏈的語言。Leo有一些類似Rust的語法,專門用于區塊鏈內部的狀態轉換。Noir–受Rust啟發的語法。圍繞IR而不是語言本身構建,這意味著它可以有一個任意的前端。

Aave V3部署至zkSync Era主網的提案已通過溫度檢查投票:4月17日消息,Snapshot投票頁面顯示,Aave社區關于“將Aave V3部署至zkSync Era主網”提案的溫度檢查投票以99.78%的支持率獲得通過。

此溫度檢查投票為Aave治理提供了在zkSync Era主網上部署Aave V3的機會,并有限部署了初始資產:USDC和ETH。下一步,該提案將進入ARFC階段,以進行進一步討論、風險參數評估網絡分析并最終確定。如果ARFC階段快照成功,則將該提案作為AIP提交以進行投票和鏈上治理批準。[2023/4/17 14:08:11]

適用于誰

任何想要在其應用程序中利用zk的獨特屬性的應用程序開發人員。其中一些語言已經過數十億美元的實戰測試,如在ZCash和Starknet等鏈的流動。雖然我們將討論的一些項目還沒有完全準備好用于生產,但使用其中一種語言編寫電路是目前最好的策略,除非需要像Arkworks這樣的工具包提供的更精細的控制。優點用戶不需要了解底層的zk細節有一定的生產經驗,今天就可以使用可在鏈上驗證生態系統不可知缺點用戶需要學習一個新的DSL圍繞這些語言的工具和支持都是孤立的對底層證明堆棧幾乎沒有控制權。zkEVMs

zkEVM的主要目標是采取Ethereum狀態轉換,并使用簡潔的零知識正確性證明來證明其有效性。正如Vitalik的帖子中提到的,有許多方法可以做到這一點,并有微妙的差異和相應的權衡。所有這些方法之間的主要技術區別在于,在語言棧中,計算究竟在哪里被轉換為可以在證明系統中使用的形式。在一些zkEVM中,這發生在高級語言中,而其他方法則試圖將EVM一直證明到操作碼級別。這些方法之間的權衡在Vitalik的帖子里有深刻的論述,但我將用一句話來概括它。在堆棧中發生的轉換/算術化越低,性能損失就越大。

ZkSync Era預計將在一年后發布Token:金色財經報道,ZkSync Era發布最初不會有代幣,因為網絡目前在很大程度上仍然是中心化的。由于處于alpha階段,Matter Labs可以任意升級網絡的代碼。此外,該公司仍然控制著網絡運行的兩個核心組件:sequencer和prover。

根據CEO Gluchowski的介紹,如果想要實現sequencer去中心化化,就需要代幣。而他估計,sequencer將在在大約一年的時間內實現去中心化,換言之ZkSync Era將在一年后發幣。[2023/3/24 13:25:21]

高操作成本

為虛擬機創建證明的主要挑戰是,電路的大小與每條執行指令的所有可能指令的大小成比例地增長。這是因為電路不知道在每個程序中會執行哪些指令,所以它需要支持所有的指令。

在通用電路中,每條執行的指令的成本與所有支持的指令之和成正比。這在實踐中意味著,你要為最昂貴的指令支付,即使你只是在執行最簡單的指令。這導致了通用性和性能之間的直接權衡--當你為通用性增加更多的指令時,你要為你證明的每一條指令付出代價!這就是通用電路的根本問題。但隨著IVC等技術的新發展,這種限制可以通過將計算分成更小的塊來改善,每個塊都有專門的、更小的子電路。今天的zkEVM實現使用不同的策略來減輕這個問題的影響......例如,zkSync去掉了更昂貴的操作

zkEVM的理想客戶是那些需要比L1以太坊上的交易便宜幾個數量級的智能合約應用。這些開發人員不一定有專業知識或帶寬來從頭開始編寫zk應用程序。因此,更喜歡用熟悉的更高級的語言來寫應用程序,如Solidity。眾多開發團隊

Wasabi 錢包:將某些比特幣列入 zkSNACKs 黑名單是自己主動的決定:3月29日消息,比特幣錢包 Wasabi 自帶的 zkSNACKs 協調器開始將與非法活動相關的比特幣列入黑名單,拒絕某些 UTXO(未花費的交易輸出)注冊到其混幣服務 CoinJoin。Wasabi 錢包表示,阻止一些用戶利用 Wasabi 滿足其隱私需求的決定是一個積極主動的決定,即便目前沒有立法要求這樣做,私營公司有權選擇客戶。

此前報道,此前 Wasabi 錢包的混幣服務 CoinJoin 計劃將與非法活動相關的比特幣列入黑名單,從而無法使用 Wasabi 錢包自帶的 zkSNACKs 協調器。[2022/3/29 14:24:34]

擴展Ethereum是目前zk技術最需要的應用。zkEVM是一個以太坊擴展解決方案,可以無摩擦地緩解限制L1dApp開發者的擁堵問題。開發者體驗

zkEVM的目標是支持一個盡可能接近當前以太坊開發的開發者體驗。完全支持Solidity意味著團隊不必建立和維護多個代碼庫。這在某種程度上是不切實際的,因為zkEVM需要交換一些兼容性,以便能夠在合理的時間內生成合理規模的證明。zkSync與Scroll

zkSync和Scroll之間的主要區別在于它們在堆棧中的何處/何時執行算術運算——也就是說,它們從普通EVM構造轉換為SNARK友好表示的位置。對于zkSync,當他們將YUL字節碼轉換為他們自己的自定義zk指令集時,就會發生這種情況。對于Scroll來說,這發生在最后,當實際的執行跟蹤用實際的EVM操作碼生成時。因此,對于zkSync,在生成zk字節碼之前,一切都與與EVM交互相同。對于Scroll,在執行實際的字節碼之前,一切都是一樣的。這是一個微妙的差異,它以性能換取支持。例如,zkSync不會像開箱即用的調試器那樣支持EVM字節碼工具,因為它是完全不同的字節碼。雖然Scroll很難從指令集中獲得良好的性能,但這并不是為zk設計的。這兩種策略各有利弊,最終有很多外生因素會影響它們的相對成功。zkLLVM電路編譯器

ZKSwap 上線Fei和Tribe 流動性挖礦:據官方消息,ZKSwap官方宣布,現已上線Fei(FEI)和Tribe(TRIBE)代幣,并將于北京時間2021年4月4日(今日)18時開啟 FEI/TRIBE、FEI/ZKS、TRIBE/ZKS三個交易對的流動性挖礦和交易挖礦活動。本活動將于2021年5月4日18時結束,共持續30天。按照規則,流動性挖礦(PoL)共獎勵90萬枚ZKS,線性分發,折合每個交易對每日獎勵1萬枚 ZKS;交易挖礦(PoT)將會補貼手續費的90%,以ZKS的形式發放,每個交易對每日補貼硬頂1000 ZKS。

此外,ZKSwap還在進行持幣生息、鎖倉挖礦等各種活動,活動詳情見官網。[2021/4/4 19:44:51]

正如詳細討論的那樣,開發zk應用程序有無數不同的選擇,所有這些都有自己獨特的權衡。此圖表將幫助總結此決策矩陣,以便根據您的zk專業知識水平和性能需求,選擇最適合該工作的工具。這不是一個完整的列表,會隨著zk的發展更新。zkLLVM被設計為現有LLVM基礎設施的擴展,LLVM基礎設施是一個行業標準工具鏈,支持許多高級語言,如Rust、C、C++等。怎么運行

想要證明某些計算的用戶只需用C++實現該計算即可。zkLLVM采用其修改后的clang編譯器支持的高級源代碼,并生成電路的一些中間表示。此時,電路已準備好進行驗證,但用戶可能希望根據一些動態輸入來驗證電路。為了處理動態輸入,zkLLVM有一個稱為分配器的附加組件,它生成一個分配表,其中包含所有輸入和見證,這些輸入和見證已完全預處理并準備好與電路一起進行證明。這兩個組件是生成證明所必需的。理論上,用戶可以自己生成證明,但由于這是一項有點專業化的計算任務,可能需要花錢請擁有硬件的其他人做這件事。對于這種交易對手發現機制,=nil;Foundation還建立了一個“證明市場”,證明者競相為支付給他們的用戶證明計算。這種自由市場動態將導致證明者優化最有價值的證明任務。權衡利弊

由于每個要證明的計算任務都是獨一無二的,并且會生成不同的電路,因此證明者需要能夠處理的電路數量是無限的。這種強制的通用性使得單個電路的優化變得困難。證明市場的引入允許對市場認為有價值的電路進行專業化。如果沒有這個市場,由于這種自然的冷啟動問題,說服驗證者優化該電路將是一項挑戰。另一個權衡是經典的抽象與控制。愿意采用這種易于使用的界面的用戶正在放棄對底層加密原語的控制。對于許多用戶來說,這是一個非常有效的權衡,因為讓密碼學專家為您做出這些決定通常更好。優點用戶可以用熟悉的高級語言編寫代碼所有的zk內部結構都被抽象出來,不受用戶影響不依賴增加額外開銷的特定"虛擬機"電路。缺點每個程序都有一個不同的電路。難以優化。(證明市場部分解決了這個問題)交換/升級內部zk庫并非易事zkVM

zkVM描述了所有zk虛擬機的超集,而zkEVM是一種特定類型的zkVM,由于其在當今的流行,值得作為一個單獨的主題進行討論。除了定制的加密VM之外,還有一些其他項目正在致力于構建基于ISA的更通用的zkVM。系統可以證明不同的指令集架構(ISA),例如新VM中的RISC-V或WASM,而不是證明EVM。致力于這些通用zkVM的兩個項目是RISCZero和zkWASM。讓我們在這里深入了解一下RISCZero,以證明這種策略是如何工作的,以及它的一些優勢/劣勢。RiscZero

RiscZero證明生成的高級架構RISCZero能夠證明任何在RISC-V架構上執行的計算。RISC-V是一個開源的指令集架構標準,已經越來越受歡迎。RISC的理念是以最小的復雜性建立一個極其簡單的指令集。這意味著堆棧中較高層次的開發者在使用這種架構實現指令時最終會承擔更大的負荷,同時使硬件實現更加簡單。這種理念也適用于一般的計算,ARM芯片一直在利用RISC風格的指令集,并開始主導移動芯片的市場。事實證明,更簡單的指令集也具有更大的能量和芯片面積效率。

這個類比對于生成zk證明的效率來說相當適用。正如前面所討論的,在證明zk的執行軌跡時,你要為軌跡中每一項的所有指令的成本之和買單,所以更簡單、更少的總指令是更好的。如何工作

從開發者的角度來看,使用RISCZero來處理zk證明,很像使用AWSLambda函數來處理后端服務器架構。開發人員通過簡單地編寫代碼與RISCZero或AWSLambda互動,服務處理所有后端復雜性。對于RISCZero,開發者編寫Rust或C++。然后,系統接受編譯過程中產生的ELF文件,并將其作為虛擬機電路的輸入代碼。開發者只需調用證明,返回一個收據對象,任何人都可以從任何地方調用`驗證'。從開發者的角度來看,沒有必要了解zk是如何工作的,底層系統處理所有這些復雜的問題。為了支持這樣一個通用接口,需要大量的開銷。需要對證明生成技術進行重大改進,以實現對現有庫的廣泛支持預建的可重復使用電路

對于一些對區塊鏈應用或其他地方特別有用的基本和可重復使用的電路,團隊可能已經為你構建和優化了這些電路。你只需為你的特定用例提供輸入即可。例如,Merkle包容證明是加密貨幣應用中普遍需要的東西。作為一個應用程序的開發者,你總是可以重新使用這些經過實戰檢驗的合約,只是在上面修改一些層,以創建一個獨特的應用程序。例如,TornadoCash的電路可以重新用于私人空投應用程序或私人投票應用程序。Manta和Semaphore正在構建一個完整的工具包,包括像這樣的通用電路小工具,可以在Solidity合約中使用,而無需了解或不了解底層的zkmoon數學。正如詳細討論的那樣,開發zk應用程序有無數不同的選擇,所有這些都有自己獨特的權衡。此圖表將幫助總結此決策矩陣,以便根據您的zk專業知識水平和性能需求,選擇最適合該工作的工具。這不是一個完整的列表,會隨著zk的發展更新。zkGalaxy應用開發者指南

1.低級Snark庫

適用場景需要對整個證明堆棧進行精細控制避免重建公共組件嘗試證明方案、曲線和其他低級原語的不同組合不適用場景尋找高級證明接口的新手可選用工具Arkworks-rs2.zkDSLs

適用場景想使用一些久經考驗的語言需要最小的電路尺寸,愿意放棄抽象不適用場景需要對證明的后端進行精細控制可選用工具CircomAztecNoirCairoZoKratesLeo3.zk編譯器

適用場景不愿意承擔通用電路的開銷想用熟悉的語言編寫電路需要高度定制的電路不適用場景想要控制底層加密原語需要一個已經高度優化的電路可選用工具nilzkLLVM4.zkEVM

適用場景有一個已經在EVM上運行的dApp需要為用戶提供更便宜的交易希望將部署到新鏈的工作量降到最低只關心zk的簡潔性不適用場景需要完美的EVM等效性需要zk的隱私屬性有一個非區塊鏈用例可選用工具zksync2.0PolygonzkEVMScrollStarknet5.zkVM

適用場景想用高級語言編寫代碼需要證明該執行的正確性需要向驗證者隱藏該執行的一些輸入信息幾乎沒有zk方面的專業知識不適用場景在延遲極低的環境中。有一個巨大的程序。可選用工具RISCZerozkWASM6.預建的可重復使用的電路

適用場景有一個依賴常見的zk構建模塊的智能合約應用,比如Merkle包容。對zk底層的東西幾乎沒有專業知識不適用場景有高度專業化的需求用例不被預建電路所支持可選用工具MantaNetworkSemaphore結論

zk處于多項技術的前沿,構建它需要對數學、密碼學、計算機科學和硬件工程有深刻的理解。然而,隨著每天都有越來越多的抽象層可用,應用程序開發人員無需博士學位即可利用zk的強大功能。隨著時間的推移,通過對堆棧的所有級別進行優化,證明時間的限制會逐漸解除,我們可能會看到針對普通開發人員的更簡單的工具。致謝

本文編譯工作獲得DAOrayaki社區的支持與反饋。原文:ADeveloper’sGuidetothezkGalaxy

Tags:ZKSARKISCKSYZKSVMYearn Shark FinanceHondaisCoinKSY幣

萊特幣
FOR:Foresight Ventures市場周報:BTC主導市場,ARB生態普漲_ORC

市場觀點: 1、宏觀流動性 貨幣流動性改善。美聯儲如市場預期3月加息25個基點,但鷹派講話認為今年不會降息。恐慌情緒已籠罩著美股市場數周.

1900/1/1 0:00:00
NFT:Blur創始人:Blur的激勵機制實際上是為NFT領域引入「做市商」概念_BLU

近期因為Blur第二階段的空投預期,使得NFT市場的交易變得史無前例地旺盛。然而這種因「刷空投」而帶來的交易量上漲引發了市場對其不可持續性以及市場操控的擔憂.

1900/1/1 0:00:00
WOR:一文對比23個跨鏈橋,概覽當前的L2橋格局_ROLL

圖片來源:由MazeAI生成我們生活在一個多鏈的世界,數十億美元的資產價值鎖定在100多條鏈上。而這些區塊鏈資產的所有者的行為就像他們在傳統金融中的資產一樣:他們正在尋找套利機會來賺錢.

1900/1/1 0:00:00
SDC:復盤“孫哥”在危機中的操作,梳理5種穩定幣脫鉤逃生指南_LUSD

當你持有的穩定幣面臨脫鉤風險,該如何操作?孫哥拿USDC換DAI這個咋一看無用的操作背后有何邏輯?從主流去中心化穩定幣、中心化穩定幣再到持幣對沖等多種方案,本文將結合底層邏輯、實際數據和案例.

1900/1/1 0:00:00
ARK:Arkstream Capital:Blur與OpenSea的懸崖賽車_ARKE

NFT市場的現狀 2022年下半年是NFT的冬天。隨著OtherdeedforOtherside的發行抽走了市場最后一絲流動性,NFT市場宣告投機潮的破滅.

1900/1/1 0:00:00
VIT:Vitalik:如何為多簽錢包和社交恢復錢包選擇守護者?_TAL

多重簽名錢包是一種簡單安全的資金存儲方式,讓你可以享受到自托管的大部分好處——當表面看起來值得信賴的中心化實體變得不可信賴時,你的資金也不會不翼而飛.

1900/1/1 0:00:00
ads