買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > USDT > Info

ISC:zk 開發人員指南:如何選擇正確的 zk 開發工具_WOR

Author:

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

去年夏天,Vitalik寫了一篇?博文,概述了不同類型的zkEVM?。他根據性能和兼容性的權衡軸來定義它們。

這是一種非常有用的啟發式方法,可以區分支持zkEVM的方法。但是,zkEVM是構建零知識應用程序的所有可能方法的一個子集。對于想要利用zk計算的獨特屬性的程序員來說,zkEVM可能不是最佳選擇。通過布置整套開發人員工具,我希望提供一個指南,幫助您圍繞適合您的應用程序的正確zk堆棧做出決策。

在過去的一兩年中,zk工具取得了巨大的進步。他們正在接近普通軟件開發人員可以利用zk的強大屬性而無需深入了解令人生畏的底層數學和工程的地步。另一方面,為高級用戶提供的工具激增,使zk專家能夠極其精細地控制zk堆棧。

抽象復雜性的力量

現代軟件建立在無數的抽象層之上,以最大限度地提高專家的生產力。工程中的抽象有很多優點,有些直觀——Web開發人員不需要深入了解操作系統的工作原理。?

構建良好的、可重用的抽象層的關鍵是封裝層的復雜性,然后為堆棧中的更高層提供簡單但富有表現力的接口以供使用。如果處理得當,這使具有不同專業知識和知識領域的開發人員能夠跨堆棧構建有用的工具。

毫不奇怪,這些相同的原則適用于zk系統,并且這些抽象層變得足夠成熟,zk新手今天就可以開始使用它們并構建應用程序。

底層zk開發

Arkworks-rs

Arkworks-rs是一個Rust庫生態系統,它提供zkSNARK應用程序子組件的高效和安全實現。Arkworks為開發人員提供了必要的接口來為zk應用程序定制軟件堆棧,而無需重新實現與其他現有庫的共性。

在Arkworks之前,創建新的zk應用程序的唯一方法是從頭開始構建所有內容。Arkworks-rs相對于定制的垂直集成工具的主要優勢在于靈活性水平、重復工程的減少以及審計工作的減少。Arkworks組件之間合理的接口線允許一定的升級速度,可以在zk技術創新的迅猛步伐中保持堆棧的相關性,而無需強迫團隊從頭開始重建一切。

BitRock Capital新基金擬籌集1億美元,投資方向包括Web3等領域:3月22日消息,BitRock Capital首席執行官兼聯合創始合伙人Alfred Shang在接受采訪時表示,在物流房地產運營商GLP Pte的支持下,BitRock Capital的目標是在第三季度關閉新基金,擬籌集1億美元。新基金將瞄準中國的軟件即服務和數字化機會,東南亞的金融科技公司,以及數字資產基礎設施和Web3領域的全球初創公司。

BitRock Capital成立于2018年,投資了20多家公司,包括瑞士數字銀行Sygnum bank、倫敦數字資產交易所Archax和香港虛擬保險公司OneDegree。(彭博社)[2023/3/22 13:19:29]

Arkworks適用于需要對整個zk軟件堆棧進行精細控制,但又不想從頭開始構建所有冗余部分的項目。如果你正在考慮電路DSL的自定義版本,例如,你正在制作一個新的證明系統的原型,但不確定承諾方案或相應的橢圓曲線,arkworks將允許你在具有共享接口的多個選項之間快速切換,而不是從頭開始。

優點

通過模塊化實現靈活性減少重復代碼降低工程成本減少審計/錯誤表面積無需重大重構即可升級任何組件易于在快速發展的zk環境中試驗新原語缺點

需要深入了解完整的軟件堆棧如果沒有正確理解,太多的控制會導致腳槍精細控制需要堆棧所有級別的專業知識Arkworks確實提供了一些合理的默認值。zk領域特定語言(DSL)

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

開發者體驗

zkApp開發人員必須精通使用領域特定語言編寫程序。其中一些語言看起來很像熟悉的編程語言,而另一些則可能很難學。讓我們分解其中的一些:

路透社:高盛擬斥資數千萬美元收購或投資加密公司:12月6日消息,在加密交易所FTX崩潰打擊了加密貨幣的估值并降低了投資者的興趣之后,高盛計劃斥資數千萬美元收購或投資加密公司。

高盛數字資產主管Mathew McDermott表示,FTX的崩潰加劇了對更值得信賴、受監管的加密貨幣參與者的需求,大銀行看到了接手業務的機會。他補充說,高盛正在對許多不同的加密公司進行盡職調查,但沒有透露細節。

McDermott在上個月接受采訪時表示,我們確實看到了一些非常有趣的機會,定價更加合理。McDermott稱:“就情緒而言,這肯定會讓市場退縮,這是毫無疑問的。FTX是生態系統許多部分的典型代表。但重申一下,基礎技術仍在繼續發揮作用。”(路透社)[2022/12/6 21:25:33]

Cairo——?在Starknet上構建應用程序所必需的StarkwareDSL。編譯成CairozkVM可以解釋的特定于Cairo的匯編語言。

ZoKrates?—ZoKrates是一個滿足常見SNARK需求的工具包,包括用于編寫電路的高級語言。ZoKrates在曲線、證明方案和后端方面也具有一定的靈活性,允許開發人員通過簡單的CLI參數進行熱交換。

Circom?—Circom是一種用于構建電路的專用語言。目前,它是生產電路的實際語言。該語言不是特別符合人體工程學。該語言本身使您敏銳地意識到您正在編寫電路這一事實。

Leo?——Leo被開發為Aleo區塊鏈的語言。Leo有一些類似Rust的語法,專門用于區塊鏈內部的狀態轉換。

Noir?–受Rust啟發的語法。圍繞IR而不是語言本身構建,這意味著它可以有一個任意的前端。?

任何想要在其應用程序中利用zk的獨特屬性的應用程序開發人員。其中一些語言已經過數十億美元通過ZCash和Starknet等鏈在它們之間流動的實戰測試。雖然我們將討論的一些項目還沒有完全準備好用于生產,但使用其中一種語言編寫電路是目前最好的策略,除非您需要像Arkworks這樣的工具包提供的更精細的控制。

DFINITY推出與比特幣網絡直接集成的IC Beta版本:8月5日消息,DFINITY推出與比特幣網絡直接集成的IC(InternetComputer)Beta版本,該版本無需第三方跨鏈橋,并且可以在IC上為比特幣提供智能合約功能,開發者已可以使用集成API進行測試。DFINITY表示,未來將引入比特幣封裝資產ckBTC,可以在IC上低成本流通。[2022/8/5 12:04:11]

優點

用戶無需了解底層zk細節具有一定生產經驗的今天可用鏈上可驗證缺點

用戶需要學習新的DSL圍繞每種語言的孤立工具和支持幾乎無法控制底層證明堆棧zkEVM

zkEVM的主要目標是進行以太坊狀態轉換并使用簡潔的零知識正確性證明來證明其有效性。正如Vitalik的帖子中提到的,有許多方法可以做到這一點,但有細微的差別和相應的權衡取舍。?

所有這些之間的主要技術差異恰恰是在語言堆棧中將計算轉換為可在證明系統中使用的形式的位置。在某些zkEVM中,這發生在高級語言中,而其他方法則試圖證明EVM一直到操作碼級別。Vitalik的帖子中深入介紹了這些方法之間的權衡,但我將用一句話總結:堆棧中發生的轉換/算術化越低,性能損失就越大。

為什么在zk中證明EVM操作碼的成本很高?

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

這在實踐中意味著您為最昂貴的指令付出代價,即使您只執行最簡單的指令也是如此。這導致了泛化性和性能之間的直接權衡——當你為泛化性添加更多指令時,你會為你?證明的每條?指令付出代價!

域名服務提供商Unstoppable完成6500萬美元A輪融資,Pantera Capital領投:7月27日消息,Web3域名服務提供商Unstoppable Domains周三宣布完成6500萬美元A輪融資,估值達10億美元。此輪融資由Pantera Capital 領投,Mayfield、Gangeels、Alchemy Ventures、Redbeard Ventures、Spartan Group、OKG Investments、Polygon、CoinDCX、CoinGecko等參投。新融資將用于減少應用程序之間加密支付的摩擦,并建立基于聲譽的獎勵計劃。

Unstoppable Domains允許用戶一次性付費注冊域名。然后,這些域名可以作為不同加密應用程序中用戶的個人標識符,幫助用戶使用Web3技術保持一致的在線聲譽。為了驗證用戶的身份,Unstoppable Domains要求用戶提供至少數百條關于自己的額外信息,這樣用戶身份就會顯現出來。(The Block)[2022/7/27 2:40:57]

這是通用電路的一個基本問題,但隨著?IVC等技術的新發展,可以通過將計算分解成更小的塊來改善這種限制,每個塊都有專門的、更小的子電路。

今天的zkEVM實現使用不同的策略來減輕這個問題的影響......例如,zkSync將更昂貴的操作從主要執行證明電路中剝離到單獨的電路中,這些電路在通過snark遞歸結束。zkSync在意識到他們的大部分成本來自一些復雜的指令后采用了這種方法。

從根本上說,證明EVM更等效的指令集成本更高的原因是EVM不是為zk計算而設計的。放棄堆棧中較早的EVM允許zkEVM在針對zk更優化的指令集上運行,因此證明成本更低。

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

馬斯克收購Twitter案的審判定于10月進行:7月20日消息,特拉華州大法官Kathaleen St. J. McCormick周二裁定,馬斯克收購Twitter案的審判應在10月進行。這意味著Twitter公司可以加快處理Elon Musk的訴訟。(彭博社)[2022/7/20 2:24:47]

擴展以太坊?是目前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編譯器

=nil;Foundation正在構建一個編譯器,可以將任何LLVM前端語言轉換為可以在SNARK中證明的中間表示。zkLLVM被設計為現有LLVM基礎設施的擴展,LLVM基礎設施是一個行業標準工具鏈,支持許多高級語言,如Rust、C、C++等。

想要證明某些計算的用戶只需用C++實現該計算即可。zkLLVM采用其修改后的clang編譯器支持的高級源代碼,并生成電路的一些中間表示。此時,電路已準備好進行驗證,但用戶可能希望根據一些動態輸入來驗證電路。為了處理動態輸入,zkLLVM有一個稱為分配器的附加組件,它生成一個分配表,其中包含所有輸入和見證,這些輸入和見證已完全預處理并準備好與電路一起進行證明。

這兩個組件是生成證明所必需的。理論上,用戶可以自己生成證明,但由于這是一項有點專業化的計算任務,他們可能想花錢請擁有硬件的其他人為他們做這件事。對于這種交易對手發現機制,=nil;Foundation還建立了一個“證明市場”,證明者競相為支付給他們的用戶證明計算。這種自由市場動態將導致證明者優化最有價值的證明任務。

由于每個要證明的計算任務都是獨一無二的,并且會生成不同的電路,因此證明者需要能夠處理的電路數量是無限的。這種強制的通用性使得單個電路的優化變得困難。證明市場的引入允許對市場認為有價值的電路進行專業化。如果沒有這個市場,由于這種自然的冷啟動問題,說服驗證者優化該電路將是一項挑戰。

另一個權衡是經典的抽象與控制。愿意采用這種易于使用的界面的用戶正在放棄對底層加密原語的控制。對于許多用戶來說,這是一個非常有效的權衡,因為讓密碼學專家為您做出這些決定通常更好。

優點

用戶可以用熟悉的高級語言編寫代碼所有zk內部都從用戶那里抽象出來不依賴于增加額外開銷的特定“VM”電路缺點

每個程序都有不同的電路。難以優化。交換/升級內部zk庫非常重要AppChains問題

zkVM描述了所有zk虛擬機的超集,而zkEVM是一種特定類型的zkVM,由于其在當今的流行,值得作為一個單獨的主題進行討論。除了定制的加密VM之外,還有一些其他項目正在致力于構建基于ISA的更通用的zkVM。

系統可以證明不同的指令集架構(ISA),例如新VM中的RISC-V或WASM,而不是證明EVM。致力于這些通用zkVM的兩個項目是RISCZero和zkWASM。讓我們在這里深入研究一下RISC零,以演示該策略的工作原理以及它的一些優點/缺點。?

RISCZero能夠證明在RISC-V架構上執行的任何計算。RISC-V是一種越來越受歡迎的開源指令集架構(ISA)標準。RISC的理念是構建一個極其簡單的指令集,復雜度最低。這意味著堆棧中較高層的開發人員最終會在使用此架構實現指令時承擔更大的負擔,同時使硬件實現更簡單。

這種理念也適用于通用計算,ARM芯片一直在利用RISC式指令集,并開始主導移動芯片市場。事實證明,更簡單的指令集也具有更高的能量和裸片面積效率。

這個類比非常適合生成zk證明的效率。如前所述,在證明zk中的執行跟蹤時,您需要支付跟蹤中每個項目的所有指令成本的總和,因此越簡單越少的總指令越好。

從開發人員的角度來看,使用RISCZero來處理zk證明很像使用AWSLambda函數來處理后端服務器架構。開發人員只需編寫代碼即可與RISCZero或AWSLambda交互,該服務會處理所有后端復雜性。

對于RISC零,開發人員編寫Rust或C++。然后系統將編譯期間生成的ELF文件用作VM電路的輸入代碼。開發人員只需調用prove即可返回收據對象,任何人都可以從任何地方調用“verify”。從開發人員的角度來看,無需了解zk的工作原理,底層系統會處理所有這些復雜性。

優點

便于使用。為任何程序員打開構建zk應用程序的大門證明可專用于的單電路攻擊的表面積也更少,審核也更少與任何區塊鏈兼容,您只需發布證明缺點

承擔大量開銷來支持這樣的通用接口需要對證明生成技術進行重大改進,以實現對現有庫的廣泛支持zk?開發指南

正如詳細討論的那樣,開發zk應用程序有無數不同的選擇,所有這些都有自己獨特的權衡。此圖表將幫助總結此決策矩陣,以便根據您的zk專業知識水平和性能需求,您可以選擇最適合該工作的工具。這不是一個完整的列表,我計劃在未來添加到這個列表中,因為我意識到這個領域會出現更多的工具。

1.低級Snark庫

何時使用:?

您需要對整個證明堆棧進行精細控制想要避免重建公共組件您想嘗試證明方案、曲線和其他低級原語的不同組合何時不使用:

您是尋找高級證明接口的新手選項:?

Arkworks-rs2.zkDSL

何時使用:?

您可以輕松學習一門新語言想使用一些久經考驗的語言需要最小的電路尺寸,愿意放棄抽象何時不使用:?

需要對證明后端進行精細控制選項:

CircomAztecNoirCairoZoKratesLeo3.zkCompilers

何時使用:?

不愿意承擔通用電路的開銷想用熟悉的語言編寫電路?需要高度定制的電路何時不使用:?

想要控制底層加密原語需要一個已經高度優化的電路選項:

nilzkLLVM4.zkEVM

何時使用:?

你有一個已經在EVM上運行的dApp您需要為用戶提供更便宜的交易?您希望將部署到新鏈的工作量降到最低只關心zk的簡潔性何時不使用:?

您需要完美的EVM等效性你需要zk的隱私屬性?您有一個非區塊鏈用例?選項:?

zksync2.0PolygonzkEVMScrollStarknet6.預建可重復使用的電路

何時使用:?

您有一個智能合約應用程序依賴于常見的zk構建塊,例如Merkleinclusion你對底層zk東西幾乎沒有專業知識何時不使用:

您有高度專業化的需求預建電路不支持您的用例?選項:?

MantaNetworkSemaphore結論

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

我希望我說服了你,好奇的軟件開發人員,你今天可以開始在你的應用程序中使用zk。

Tags:ARKWORORKISCBenchmark ProtocolWork Force CoinTTJ NetworkMaster Swiscoin

USDT
MIA:頂級項目Doraemiao解析_Dorado

生命是平等的,但卻并不公平!有人從出生開始便高貴,富裕,美麗。而有些人似乎從誕生那一刻開始便被上帝拋棄了:貧窮的家庭;懦弱的性格,連基本的權力都不敢為自己爭取;平庸的外表,在哪都不被待見……社會.

1900/1/1 0:00:00
USH:投資指南:6種值得關注的Arbitrum生態代幣_SUSHIBULL

注:原文為DeFi研究員@ThorHartvigsen推文,MarsBit編譯如下自去年年中以來,我一直是Arbitrummaxi。以下是我認為在2023年構成強大投資組合的6種資產.

1900/1/1 0:00:00
SHI:即將發布L2的Shiba Inu,其生態正全線發展_SHIBO

被稱為“狗狗幣殺手”的Shib,即將推出Layer?2解決方案ShibariumBeta版本。ShibariumBeta運行在以太坊之上.

1900/1/1 0:00:00
ETH:EigenLayer 的 Re-staking:會催化 LSD 板塊的下一波嗎_NLA

上周,原本計劃于3月份的以太坊上海升級被推遲至上半年,距離以太坊自由沖提的時代將比預期稍晚些到來.

1900/1/1 0:00:00
EFI:Consensys :2023年1月DeFi市場狀況_ETH

TL;DR ?在更廣泛的宏觀復蘇的推動下,加密貨幣的總市值重新回到了1萬億美元大關之上,但仍然遠遠低于2021年底的創紀錄的約3萬億美元的水平.

1900/1/1 0:00:00
穩定幣:美參議院的「加密崩潰」聽證會傳遞了什么監管信號?_穩定幣的盈利模式

美國參議院銀行委員會周二舉辦了名為「加密崩潰:為什么數字資產需要金融系統保障措施」的聽證會,本次聽證會涵蓋了本周的熱門話題,包括穩定幣監管、消費者保護、加密銀行業務、是否需要自律組織.

1900/1/1 0:00:00
ads