成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ZK 證明和 zkEVM 的工作原理(無需數學)

區塊鏈
在區塊鏈的背景下,ZKP 被用來提高Polygon 的 zkEVM[17]等產品中以太坊的可擴展性,通過提供一種驗證批量交易的新方法,而不會出現我們今天在其他匯總解決方案中看到的典型的安全性或 EVM 兼容性損失。

零知識 (ZK) 證明正在為 web3 的最新創新提供動力。它們已經被用于Polygon 的 zkEVM[1]等產品中,為以太坊帶來可驗證的可擴展性,而Polygon ID[2]則用于在不泄露任何個人信息的情況下驗證您的身份。

一句話:ZK 證明可以讓你在不泄露事物本身的情況下證明某件事。這有幾個實際應用,例如在不提供完整許可證/護照信息的情況下驗證您的年齡。

但這實際上是如何運作的呢?幕后發生了什么讓這一切成為可能?在這篇文章中,我將介紹您需要了解的有關 ZK 證明的所有內容,但忽略數學。

我們開始做吧!

ZK 證明如何工作?

為了在不泄露聲明本身的情況下證明聲明的有效性,涉及兩方:

1. 證明者:試圖證明某事的人。

2. 驗證者:試圖驗證聲明是否“真實”的人。

圖片圖片

有時,涉及第三方(即頒發者),該第三方向證明者授予證書(例如許可證),驗證者將其作為信息來源信任。

圖片圖片

讓我們看一個例子...我想向一個網站證明我已年滿 18 歲,但不上傳我的護照照片。在這種情況下,有:

? 證明者:我,試圖證明我達到法定年齡的人。

? 驗證者:網站所有者,試圖驗證我是否達到法定年齡。

? 發行人:向我提供護照的政府;網站所有者信任的證明我年齡的文件。

通常,我需要將整個護照的屏幕截圖上傳到網站(我真的不想這樣做),只是為了證明我已年滿 18 歲。

斯蒂芬[3]制作的一個有趣的例子是將其應用于海綿寶寶。海綿寶寶想要證明他的名字確實是海綿寶寶,但為了做到這一點,他需要向驗證者(警察……或者我猜,警魚)提供他的完整許可證。

他的駕照包含敏感信息,如出生日期、地址、性別等;所有這些都不是證明他的名字所必需的;但可惜的是,他別無選擇。

圖片圖片

如果海綿寶寶能證明他的名字,或者我能以某種方式證明我已經超過 18 歲,而不需要交出那么多敏感信息,那就更好了。

這是 ZK 證明如何為世界提供真正價值的一個典型例子。有了 ZK 證明,我現在能夠向驗證者證明我的部分身份(或其他任何內容) ,而無需提供我身份的任何方面或任何支持文件來證明這一事實。

這樣,我就不會將敏感的個人信息轉移給第三方存儲在數據庫中;容易受到攻擊和泄露;目前,我們幾乎每次注冊網站時都會面臨一些風險。

這一切聽起來都很棒。但如何在不透露任何內容的情況下證明某件事呢?為此,我們可以更深入地了解 ZK 證明是什么。

ZK 證明由什么組成?

所以,我們想要證明某件事,而不透露我們如何知道那件事,或者那件事到底是什么。這怎么可能?

在我們回答這個問題之前,ZK 證明分為兩大類:

  1. 1. 交互的
  2. 2. 非交互式

在 web3 中我們關心的是非交互性的,但讓我們快速了解一下 ZK 上下文中的“交互性”指的是什么。

交互式 ZK 證明

想象一下,有一個環形洞穴,里面有一扇門,需要密碼才能進入。

作為證明者,您的目標是向您的朋友(驗證者)證明您知道秘密密碼(稱為“證人”),而不告訴他們實際的密碼。

圖片圖片

你不想告訴你的朋友密碼,所以你要證明你知道它;首先,隨機進入洞穴的一側;在他們看不見的情況下。

此時,你的朋友不知道你站在哪一邊。但作為挑戰,他們會喊出“A!” 或“B!”;要求您從A側或B側****退出。

在這個簡單的例子中,這可能會導致兩種結果:

  1. 1. 你進入了A面,所以你需要密碼才能通過大門進入B面:

圖片圖片

  1. 2. 您進入B面,所以不需要密碼;你可以直接退出:

圖片圖片

這就是所謂的 阿里巴巴洞穴故事[4],供參考。

這是一個簡單的例子,因為無論您是否需要密碼來滿足您朋友的挑戰,這都是 50/50 的比例;因此,僅執行一次此挑戰不足以確定您知道密碼。

這意味著您需要完成更多次挑戰,正確退出 A 側或 B 側,直到您的朋友滿意為止;或者在理論世界中,直到你不可能偽造證人的知識(密碼)。

因此,這是交互式的;您(證明者)和您的朋友(驗證者)來回交互。你的朋友提出了一個挑戰,你提出了一個回應。重復這個循環,直到驗證者滿意為止,此時驗證者已經證明了證人的知識。

這構成了交互式 ZK 證明的三個部分:

  1. 1. 見證人:證明者想要證明其了解的秘密信息。
  2. 2. 挑戰:只有了解證人的人才能回答這個問題;雖然可能是一個幸運的猜測。
  3. 3. Response:證明者對挑戰的響應;包含(希望)正確的答案。

重復步驟2和3,直到驗證者滿意為止。

圖片圖片

最終,一旦驗證者滿意,循環就會中斷;驗證者不會產生另一個挑戰,而是承認證明者了解證人。

圖片圖片

雖然這個過程有效,但它需要證明者和驗證者之間進行多輪通信;這是低效的,并且在區塊鏈環境中效果不佳。

交互式證明還有另一個很大的限制;即使驗證者滿意后,該證據也無法用于獨立驗證[5];這意味著只有驗證它的一方才能信任它,而不是其他任何人。

由于這些原因,進行了非交互式 ZK 證明。

非交互式 ZK 證明

非交互式 ZK 證明只需要從證明者到驗證者的一輪通信。證明者使用一種算法來計算 ZK 證明并將其發送給驗證者,驗證者也使用另一種算法來檢查它。

非交互式 ZK 證明的另一個好處是它們也可供其他任何人驗證;這意味著它不僅可以從驗證者的 POV 中得到證明,而且可以供每個人驗證自己;適合區塊鏈。

這些能夠證明信息和驗證證據的“算法”是什么?嗯,答案是;這取決于。[它們的數量相當多](https://en.wikipedia.org/wiki/Zero-knowledge_proof#:~:text=The most popular interactive or,Delegation (VPD)%2C and Succinct),但在區塊鏈環境中通常使用兩種 ZKP 系統;ZK-SNARK 和 ZK-STARK。

什么是 ZK-SNARK?

ZK-SNARK 的意思是零知識簡潔非交互式知識論證。

? ZK:希望現在你能猜到這意味著什么(零知識)。

? 簡潔:它們很小,并且可以被驗證者快速驗證。

? 非交互式:我們之前討論過這一點。證明者和驗證者之間只需要一輪通信。

? 論據:理論上來說,“欺騙”系統的可能性極小。

? (的)知識:如果不訪問秘密信息(見證人),就無法構建知識。

他們使用一種稱為橢圓曲線配對[6]的加密原語作為創建和驗證這些證明的方法(我們不會在這里討論數學)。

關于 ZK-SNARK 需要注意的一件關鍵事情是,在初始設置階段,證明者和驗證者必須同意使用“共享密鑰”,即公共參考字符串 (CRS)。任何有權訪問此共享密鑰的人都可以驗證這些證明。

這個共享密鑰使 ZK-SNARK 成為可能;盡管這也可以說是它們最大的缺點,因為它創建了所謂的“可信環境”。

用于創建 CRS 的值(有時稱為“有毒廢物”)需要在 CRS 生成后銷毀。如果不是,整個系統就會面臨風險;因為不誠實的證明者能夠計算出錯誤的證明;因此,用戶必須相信價值已被破壞。

關于 ZK SNARK 還值得一提的是,它們不具有“抗量子性”。這意味著它們將來很容易受到量子計算機的攻擊;盡管它們將來可能會升級以具有抗量子性。

什么是 ZK-STARK?

ZK-STARK 的意思是零知識可擴展透明知識論證。

? 可擴展:它們不是“簡潔”的,而是可擴展的;這意味著它們比 ZK-SNARK 更有效地生成和驗證更多見證人的證明。

? 透明:無需可信設置。他們依靠可公開驗證的隨機性來生成共享密鑰。

這種透明度的提高通常需要權衡生成比 ZK-SNARK 大小大得多的證明;除非處理非常大的數據集。[證明的大小從 288 字節增加到幾百 KB](https://vitalik.ca/general/2017/11/09/starks_part_1.html#:~:text=the size of a proof goes up from 288 bytes to a few hundred kilobytes)。

他們不使用橢圓曲線,而是使用多項式[7];我絕對沒有資格告訴你。Vitalik 針對該主題推出了一個由三部分組成的系列:1[8] , 2[9] , 3[10]。

ZK STARK 解決了我們與 ZK-SNARK 討論的兩個問題,它們:

  1. 1. 不需要“可信環境”。
  2. 2. 似乎是后量子安全的;這意味著它們將來不會容易受到量子計算機的攻擊。

ZK-STARKS 比 ZK-SNARK 更新,Vitalik 稱它們為“[更新、更閃亮的表弟](https://vitalik.ca/general/2017/11/09/starks_part_1.html#:~:text=a newer%2C shinier cousin)”!?? 所以,快速回顧一下:


ZK-SNARK

ZK-STARK

尺寸

簡潔、可快速驗證

更大,但在證明更大的證人時可以更有效地擴展

安全

需要可信的環境

不需要可信環境

后量子

盡管可以升級,但不安全

安全的

zkEVM 如何工作?

現在我們已經介紹了零知識證明的工作原理以及 web3 世界中出現的兩種常見的 ZKP 形式,讓我們來探討一下由 ZKP 支持的最新創新之一;zkEVM(零知識以太坊虛擬機)。

zkEVM 有幾種不同的形式;正如 Vitalik 在他的博客文章“不同類型的 ZK-EVM[11] ”中概述的那樣。我將在這篇文章中引用的是Polygon zkEVM[12]。

zkEVM 的目標是提高以太坊區塊鏈的可擴展性,同時保持安全、去中心化和EVM[13]兼容。

細節很復雜,但核心原理與我們到目前為止討論的相同。與所有 ZKP 系統一樣,有:

1. 證明者:生成代表用戶提交的一批交易真實性的有效性證明。

? 首先,它創建多個 ZK-STARK 證明。

? 它使用STARK Recursion[14]將 ZK-STARK 捆綁在一起,以創建單個 ZK-STARK。

? 這個 ZK-STARK 很大,因此它通過CIRCOM 組件[15]輸出到 SNARK 構建器。

? 顧名思義,SNARK 構建器生成 ZK-SNARK 有效性證明;這有助于將 Gas 成本從 5M 降低到 350K。

2. 驗證者:PolygonZkEVM部署在以太坊上的智能合約是 ZK 證明的驗證者。

zkEVM 中的數據流

下面是 Polygon zkEVM 中數據的簡化流程圖。

我將其分成按時間順序排列的部分,以幫助其更容易理解。

圖片圖片

提交交易

作為用戶,您可以像平常使用任何其他 EVM 鏈(例如以太坊)一樣提交交易;通過簽署交易并通過 JSON RPC 發送它們。

運行 zkEVM 軟件的定序器節點會選取這些交易并決定要處理哪些交易,并制定一些激勵機制來正確處理這些交易。

圖片圖片

批量交易

排序器將交易批量合并為一個,并將它們提交到PolygonZkEvm智能合約,該智能合約存儲在以太坊主網上(以及以太坊 Goerli 測試網上的一個單獨實例)。

圖片圖片

這些批次目前不一定正確或經過驗證。

驗證交易

使用 ZKP,PolygonZkEVM智能合約在此設置中充當驗證者。它想要驗證剛剛收到的批次是否有效;它通過將批次發送到聚合器節點來實現這一點。

圖片圖片

生成和驗證 ZK 證明/有效性證明

智能PolygonZkEVM合約將剛剛收到的批次發送到聚合器節點,該節點是另一臺運行 zkEVM 軟件并與 ZK 證明器通信的機器。流程如下:

? 聚合器從智能合約接收批次

? 聚合器將批次發送到 ZK Prover

? ZK Prover 創建多個 ZK-STARK -> 單個 ZK-STARK -> 一個 ZK-SNARK

? ZK-SNARK(有效性證明)被發送回聚合器

? 聚合器將有效性證明發送回PolygonZkEVM智能合約

? 智能PolygonZkEVM合約驗證有效性證明

? 如果有效性證明有效,則接受。

? 如果無效,則拒絕它。

圖片圖片

閱讀 ZK EVM

為了使 ZK EVM 發揮作用,去中心化應用程序(dApp)需要從中讀取信息;這就是同步器發揮作用的地方。

它從以太坊智能合約中讀取事件,存儲來自聚合器的 ZK 有效性證明和從排序器提交的批次的知識。

圖片圖片

這樣,應用程序就可以通過 JSON RPC 輕松獲取匯總狀態的視圖。

總結

零知識證明是密碼學的現實應用,可以成為更加注重隱私的未來的基礎;在Polygon ID[16]等產品中得到了證明。

在區塊鏈的背景下,ZKP 被用來提高Polygon 的 zkEVM[17]等產品中以太坊的可擴展性,通過提供一種驗證批量交易的新方法,而不會出現我們今天在其他匯總解決方案中看到的典型的安全性或 EVM 兼容性損失。

在這篇文章中,我們介紹了:

  • ? ZK 證明是什么,以及為什么它們很重要。
  • ? ZK 證明如何工作,包括 ZK-SNARK 和 ZK-STARK。
  • ? 這些證明如何在區塊鏈世界中使用。

如果您想了解如何應用這些概念,我之前有一篇博客文章介紹了如何在 Polygon zkEVM 上構建您的第一個智能合約和去中心化應用程序,如下所示:

https://blog.jarrodwatts.com/the-ultimate-guide-to-building-on-polygon-zkevm

原文:https://blog.jarrodwatts.com/how-zk-proofs-and-zkevms-work

引用鏈接

[1] Polygon 的 zkEVM: https://polygon.technology/polygon-zkevm

[2] Polygon ID: https://polygon.technology/polygon-id

[3] 斯蒂芬: https://twitter.com/0ceans404

[4] 阿里巴巴洞穴故事: https://en.wikipedia.org/wiki/Zero-knowledge_proof#The_Ali_Baba_cave

[5] 用于獨立驗證: https://ethereum.org/en/zero-knowledge-proofs/#non-interactive-zero-knowledge-proofs

[6] 橢圓曲線配對: https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627

[7] 多項式: https://vitalik.ca/general/2017/11/09/starks_part_1.html

[8] 1: https://vitalik.ca/general/2017/11/09/starks_part_1.html

[9] 2: https://vitalik.ca/general/2017/11/22/starks_part_2.html

[10] 3: https://vitalik.ca/general/2018/07/21/starks_part_3.html

[11] 不同類型的 ZK-EVM: https://vitalik.ca/general/2022/08/04/zkevm.html

[12] Polygon zkEVM: https://polygon.technology/polygon-zkevm

[13] EVM: https://ethereum.org/en/developers/docs/evm/

[14] 它使用STARK Recursion: https://zkevm.polygon.technology/docs/zkProver/overview/#stark-recursion-component

[15] CIRCOM 組件: https://zkevm.polygon.technology/docs/zkProver/overview/#circom-library

[16] 在Polygon ID: https://polygon.technology/polygon-id

[17] Polygon 的 zkEVM: https://polygon.technology/polygon-zkevm

責任編輯:武曉燕 來源: Watts 李留白
相關推薦

2023-01-10 16:08:04

人工智能擴散模型

2011-07-01 11:16:14

Struts

2009-07-09 14:01:22

JVM工作原理

2010-09-26 08:50:11

JVM工作原理

2010-09-16 14:42:44

JVM

2023-09-27 12:22:50

Kafka架構

2015-07-02 09:56:48

ReactiveCociOS

2018-12-10 14:59:20

代碼卷積模塊架構

2009-06-03 09:11:03

Hibernate工作原理體系結構

2023-05-26 10:37:17

ChatGPT人工智能

2010-07-23 16:10:32

SQL Server復

2020-10-30 09:00:00

JavaScriptJavaScript引前端

2025-06-06 08:04:17

2024-11-27 08:15:50

2010-09-17 15:32:52

JVM工作原理

2016-12-13 22:51:08

androidmultidex

2010-09-08 20:20:39

2023-06-08 15:27:17

CAN網絡

2021-03-18 09:07:20

Nginx原理實踐

2019-08-20 14:01:22

HTTPSSSL協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区二区三区在线 | 人人干免费 | 国产午夜精品一区二区三区 | 成人一区二区三区视频 | 日韩中文字幕在线观看视频 | 日日精品 | 91高清视频在线 | av资源网站 | 午夜成人免费视频 | 伊人春色在线 | 亚洲av毛片 | 欧美综合一区 | 伊色综合久久之综合久久 | 亚洲欧美精品国产一级在线 | 久久精品com | 九九热精品在线 | 久久亚洲精品国产精品紫薇 | 亚洲第一天堂无码专区 | 精品欧美乱码久久久久久 | 69亚洲精品 | 国产免费xxx | 91国语清晰打电话对白 | 欧美一区二区三区一在线观看 | 91精品一区二区三区久久久久 | 在线免费观看成人 | 精精精精xxxx免费视频 | 成人激情视频 | 久久久高清| 久久久久久99 | 久久久影院 | 国产精品久久久亚洲 | 国产无人区一区二区三区 | 欧美一区二区三区在线视频 | 中文字幕在线看人 | 免费在线观看一区二区三区 | 影音先锋欧美资源 | 精品视频在线观看 | 国产在线看片 | 国产精品久久久久久久久久久免费看 | 91在线视频网址 | 亚洲一区电影 |