<address id="n3jzt"></address>
<noframes id="n3jzt"><form id="n3jzt"></form><em id="n3jzt"><form id="n3jzt"><th id="n3jzt"></th></form></em>
    <em id="n3jzt"></em>
      <form id="n3jzt"></form>
            <noframes id="n3jzt">
            收藏本站 網站導航 開放平臺 Wednesday, July 27, 2022 星期三

            Cipholio 深度分析:漫談ZKVM的方案及未來

            來源 中金網 05-27 17:11
            摘要: 本文將著重從生態發展角度,來分析ZK技術和其應用場景,描述目前ZK相關的競爭格局,并為未來發展的方向做一些暢想。來源于火星財經專欄作家Cipholio

              區塊天眼APP訊 : 根據MidenVM 的總結,目前市場上主要的Zkapp所采用的的工具都是以WASM和RISC V為主的匯編語言,一些工具包能讓應用很快打上“ZK”的概念或者標簽。但稍微拆解一下結構,我們會發現傳統智能合約由L1來保證安全性,全網廣播形成共識的安全性已經經過歷史檢驗了,而利用鏈下ZKP證明,則存在ZKP證明節點是否作惡的問題。

              先不論Devs是否能夠合理設立約束(Contraint)的能力問題,如何防范ZKP證明節點的作惡意愿問題,無疑是更為重要的。

              舉例來看,一些ZK dex更像是在Cex和Dex之間尋找一個平衡點,相較于Cex而言,用戶可以將資金保管在自己的L1賬戶;而相對Dex而言,又能有更優的效率表現。但在實踐中,大量的項目都存在鏈下證明的安全隱患。此外,由于從APP層到IR層,都是由zkAPP團隊獨立開發,家家戶戶有著自己的編程習慣和輪子庫,這也導致團隊與團隊之間難以形成可組合性,也不利于加速市場分工和硬件設備的加速。

              因此,市場破解尋找一個在密碼學和高級語言之間找到一層公約數。來為各類應用提供一個通用的框架,而ZK-VM則是適配整套系統,承上啟下的重要部分。

              在執行模式方面,EVM與JVM非常相似。兩者都是執行字節碼的堆棧機。EVM增加了一個存儲的概念,它的字節碼指令更適合于合同開發。

              圖中我們以ETH舉例,傳統ETH由三部分構成,ETH網絡(節點+共識機制),EVM,Dapp開發生態。這里我們可以很清晰的感受到ZK承上啟下的作用:

              1. 站在ZK電路硬件層的角度:

              EVM可能無法全部兼容。由于EVM有一些變長的指令,比如CALL,DATACOPY,EXP,CREATE等等,這些對ZK電路不友好。

              2. 站在開發者角度:

              能否不需要重新學習語言(Solidity仍然兼容),保留EVM的API特性。在這種情況下,整個生態就可能失去對一些ZK算法的支持。

              除此以外,ZKVM還需要考量很多技術兼容,比如:

              1. 寄存器的兼容。Machine Type. 傳統EVM是一個Stack-based的State machine,因此大量的計算式串聯的,不可并行的,這確保了整個計算機的原子性。這一架構對于ZK是非常不利的,如果要發揮ZK算法的全部效率,則需要做一個Register-Based,也就是以CPU-寄存器為核心架構來設計VM。

              2. 語言上的兼容。Function Calls. VM系統將底層特性封裝成API,如何讓API支持動態調用,支持像Python一樣的高級語言。

              3. 計算機底層的兼容。Native Field. 不同的CPU有不同的位數,在不同算法上的表現不同。需要為ZK專用計算機做謀劃。

              4. 傳統公鏈結構的兼容: Sequencer/Roller/Miner.

              三、ZKVM的架構

              主流技術方案

              用什么語言,在什么環境下,用什么硬件執行?這是廣義VM所要解決的問題。

              VM當中最為重要的內核便是LLVM(low-level-virtual-machine),他可以看作是編譯器最重要的內核。圖中是原始EVM的運作方案,智能合約通過LLVM IR 的中間代碼進行轉化,轉化成Bytecode。這些Bytecode會存儲在區塊鏈上,當智能合約被調用的時候,便會將Bytecode轉化成對應的Opcode,再由EVM和節點硬件來執行。

              結合上ZK,各個不同的解決方案是怎樣實現的呢?

              Starkware

              Starkware由于在整個ZK領域起步較早,技術積累較為充分,擁有一定的技術領先。他是代表性的ZK中心主義的技術架構,圍繞ZK構建了Cairo VM和Cairo的語言。但由于他是閉源狀態,一些技術細節并不清晰。其缺點在于,Cairo的學習成本。雖然官方也開發了Solidity轉換Cairo的一些框架,但由于其底層核心均建立于CairoVM上,意味著有相當多Solidity-EVM兼容的特征會損失。

              Zksync

              ZKsync 的框架兼容了EVM和ZK兩方面的特點,將Solidity和其自主開發的電路語言Zinc做了一個融合,在編譯器內部將兩者在IR層面上做了統一。其優點在于編譯器內核的LLVM可以兼容多種語言。Zksync也是閉源框架。

              Hermez by Polygon

              Scroll

              HermZ和Scroll兩個技術方案更側重以太坊生態,他們在Bytecode上和ETH生態做了融合。由于EVM天然支持bytecode和其對應的opcode,這兩者和ETH生態有著更高的融合性。Solidity在這兩個Zkvm上能充分的調用EVM的API,最大保留了EVM的架構優點。兩個方案有所差異的是,Hermz會將opcode在內部進行統一,然后再進行證明;而Scroll則會將Opcode拆解circuit進行證明,再進行整合。

              為什么要選擇兼容EVM?因為EVM當中有一些架構經過檢驗,安全性比較好,兼容性也比較好。舉例來說Geth模型和RPC架構,這些API已經被EVM較好的封裝,也經過歷史檢驗。

              總結來看,

            •   Starkware最底層從WASM和機器碼層面進行統一,ZKsync最淺在IR層面進行統一,Hermz和Scroll居中在Bytecode上進行統一;

            •   Starkware是技術轉型最徹底的,但也是用戶學習門檻最高的;而Zksync相對比較均衡,保留一部分solidity特性,發揮局部ZK性能;

            •   Hermz和Scroll相對最易應用和拆解,全面集成Bytecode,整合EVM,尤其是Scroll,開放ZK證明,也給了硬件加速更大的空間。

            •   相對來說,無論是技術驅動還是生態整合驅動,都在未來有各自的發展空間,“貿工技”還是“技工貿” 都有機會找到自己的場景,發揮更大價值。

              如果我們對照回顧Windows歷史,在強有力的操作系統出現以前,不同的開發者需要對不同的硬件,掌握不同的開發工具。不掌握匯編,不理解計算機底層的開發者在開發過程中會遇到非常多的挫折。而操作系統在硬件當中尋找最大的公約數,將CPU以外的I/O系統都封裝成統一的接口,這些技術積累,使得軟件開發的門檻大大降低了,也使得大部分程序員只需要理解高級語言即可,即使不具備匯編和底層代碼知識仍然可以寫出漂亮的App。

              對照看到ZKVM的發展,我們可以看到一些端倪,如果說現在的ZKapp需要傳統程序員+匯編+密碼學知識儲備才能開發,未來隨著ZKVM的成熟,越來越多的底層技術封裝進高級語言當中,開發門檻漸次降低,生態繁榮是可以想見的。

              對于Founder而言,有兩個注意點:

              1. ZK技術將鏈上共識轉為鏈下證明,目前證明技術相對成熟,但是拆解證明,數據存儲的安全隱患仍然不少,相關審計機構,測試工具都存在空白缺位。

              2. ZK技術的使用場景尚待發掘。通用型ZKVM緊鑼密鼓開發,ZK對應高級語言也有待技術人員的學習,從技術成熟到解決問題還有一段時間。想要用ZK解決問題,founder需要回答:如果是個細分場景,是否需要自己用WASM去搭建,一旦ZKVM成熟,自己的技術積累是否還有先發優勢?是否支持其他ZKapp調用?

              展望與結論

              ZK的技術具有隱私和擴容兩個最主要的使用場景,當我們討論隱私的時候,我們實際上是在保護鏈下數據,不被獲??;而當我們討論擴容的時候,我們是利用ZK節省鏈上計算空間。

            •   ZKVM發展的核心權衡技術與devs。圍繞著發揮ZK潛力,意味著CPU寄存器的硬件加速,IR語言和assembly語言的再組織;而圍繞著利用開發者資源,則意味著Solidity轉化bytecode后,如何將Bytecode所映射的opcode,進行ZK證明的問題。

            •   以assembly 語言獨立設計ZK證明的專用型的ZKapp,由于具有較低的可組合性和解耦能力,將在未來的發展過程中面臨很大的阻礙。這些方案由于和其他ZK方案不兼容VM,不兼容語言,不兼容證明,存在較大的調用難度。

            •   按照模塊化區塊鏈的觀點,L1解決共識問題,L2解決計算和執行問題,DA層解決數據可得性和完整性的問題。由于Zk類,數據安全性和證明的完整性決定了其執行的可靠性。這里有一對矛盾,如果我們不信任鏈下節點,希望將數據交由DA獨立存儲,那么對DA鏈就提出安全的要求,;如果存在本地,保證數據不被篡改,就需要證明節點本身不去作惡。這些都提升了對MPC/FHE解決方案的需求。

            •   在目前ZK方案大部分閉源的狀態下,目前大量的共識還是建立在鏈下節點的自律上,缺乏一系列必要的工具(測試,證明,等等),來保障鏈下環境的安全性。未來contraint設計和代數證明將成為兩個最主要的審計環節。

            •   ZK生態主要的風險。典型問題包括:約束系統(constraint system)不充分。當證明一些復雜交叉的命題時,約束面臨不夠充分的問題;私有數據泄露。私有數據當做公開數據處理;針對鏈下數據的攻擊,合約層的“metadata-attack”;ZK證明節點的作惡等等。

            •   隨著不同Circuit的不斷成熟,Sequencer/Roller/Miner 也會迎來提效和分工,我們期待ZK證明的硬件加速機會。

            更多區塊鏈消息,請關注下載區塊天眼APP,全球區塊鏈監管查詢APP 。

            免責聲明:中金網發布此信息目的在于傳播更多信息,與本網站立場無關。中金網不保證該信息的準確性、真實性、完整性、有效性等。相關信息并未經過本網站證實,不構成任何投資建議,據此操作,風險自擔。
            天眼經紀商 更多
            天眼交易所 更多
            猜你喜歡
            伊人久久精品9超碰,日本免费AV一区二区观看,萌白酱91在线播放,台湾swag candybaby在线视频,日韩高清一卡二卡三卡四卡免费,国产 主播自慰种子 mp4,长筒袜少女萝莉,百度云国产网红视频