你可能曾經聽說過 ZK 證明或零知識證明。但為什么它會突然變成一個熱詞?它是什么?什么是 ZK-rollups? 什么是 ZK-SNARKS? 以上問題都會在本文中得到解答,抓緊了快上車!
什么是零知識證明 (Zero Knowledge Proof)?
零知識證明可以讓一方 (證明方) 在不透露任何實際信息的情況下向另一方 (驗證方) 證明某保密信息或聲明是真的。
術語 “零知識“ 本身就表明了不需要揭露任何信息,證明方就可以向驗證方證實 ta 所知道的保密信息以及 ta 的聲明都是真的。
那為什么需要零知識證明呢?當我們不想披露任何信息,但需要說服其他人相信我們知道的保密信息和提出的聲明是真的時候。
目前有兩種零知識證明:
1.交互式的 (Interactive)
2.非交互式的 (Non Interactive)
舉例說明交互式的零知識證明
假設你需要通過 ZKP (零知識證明) 證明你的年齡大于或等于18歲,但不揭露具體年齡。我們需要第三方機構為你的年齡擔保,具體如下:
第三方說:”已接收您出生證明的復印件,我們已經得知您的年齡為 21 歲。現在為您提供一串數字密碼,請將它保存到保密與安全的地方。稍后您會用到它。“
”你持有的那串數字密碼將會被哈希算法處理 22 次,然后得出一個最終年齡哈希代碼給你 (沒錯,處理次數必須為年齡 +1,才能使得整個操作行得通)。也就是說,你拿到那串數字密碼之后,會有 22 次哈希處理過程才能獲得最終的年齡哈希代碼。“
蘋果CEO庫克:我還不確定普通人能說清楚元宇宙到底是什么:金色財經報道,最近蘋果首席執行官蒂姆 · 庫克(Tim Cook)在接受采訪時表示,我還不確定普通人能說清楚元宇宙到底是什么。在談到 Facebook 的 \"元宇宙 \" 時,庫克表示,人們對產品的理解非常重要。我真的不確定普通人能告訴你到底什么是元宇宙,他補充道。元宇宙這個詞出現在 Facebook 創立之前,最早出現在 1992 年的科幻小說《雪崩》 ( Snow Crash ) 中,但 Facebook 顯然已經全盤接納了這個詞,甚至把公司更名為 Meta。[2022/10/2 18:37:39]
“我們將您的姓名、時間戳與最終年齡哈希代碼一起打包。這個證明包將提供給他人驗證。“
好了,那么當你想要向其他人證明你的年齡超過 18 歲時,你只需要證明從你拿到數字密碼到最終年齡哈希代碼之間的哈希算法處理次數大于 18 就可以了。
那么怎么證明呢?你只需要向他人展示最后的 18 次哈希算法處理記錄。你需要自己進行前 4 次哈希算法處理 (對數字密碼進行哈希算法處理 4 次),然后將結果提供給其他人:第四次哈希值。
他們會對第四次哈希值再處理18次 (現在對你的數字密碼總共進行了 22 次哈希算法處理),最終他們能夠得出最終年齡哈希代碼并且使用證明包對它進行驗證。
實際上,驗證者是在說:"發送我們一個值,我們會對其進行 18 次哈希算法處理,然后這個哈希值將與你提供的年齡哈希代碼進行對比。" 如果你低于18歲,最終年齡哈希代碼的哈希算法處理次數就沒有18次,我們對你提供的那個初始哈希值進行 18 次哈希算法處理后,就會與最終年齡哈希代碼不一樣。
動態 | “區塊鏈到底是啥”登上百度搜索風云榜實時熱點第二名:“區塊鏈到底是啥 ”登上百度搜索風云榜,現以5336640的搜索熱度排名第二位。[2019/10/29]
這里是另一個絕佳例子 ?
《一個很棒的零知識證明例子》 - MathOverflow
https://mathoverflow.net/questions/22624/example-of-a-good-zero-knowledge-proof
?但是這種交互式方法有一些局限:
1.每次驗證都需要進行整個冗長的過程。而上述例子只是簡單的哈希算法處理,想象一下如果需要對實際加密算法進行計算會如何。
2.證明方與驗證方都需要同時在場,不管是在線還是面對面。
接下來是非交互式的零知識證明
1986 年,Fiat 與 Shamir 發明了 Fiat-Shamir heuristic (啟發式) 算法,這是第一個基于交互式零知識證明來構建數字簽名的算法。
Fiat-Shamir heuristic 算法通過使用承諾方案 (Commitment Scheme) 可變為非交互式零知識證明。這就是所謂的 ZK-SNARKs,也可以稱為簡潔的非交互式零知識證明 (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)。
聲音 | John McAfee:不能肯定市場已到底部:John McAfee發推文稱,現在已經上漲第二天了。不能肯定這是底部,但如果你要買東西,你就無法選擇最美好的一天。[2018/11/30]
要使 Fiat-Shamir Heuristic 算法更加強大,需要使用承諾 (commitment)。承諾方案在許多加密協議中都是基本組成部分。承諾方案允許承諾者發布一個值 (即承諾),然后將它們綁定到某消息上而不披露它們 (隱藏)。
Pederson 承諾與 Polynomial 承諾是 ZK 證明使用的兩個最著名承諾方案。
但大約到 2013 年,ZK-SNARKs 才實際可行和實現,并真正用于應用中。
我推薦你們閱讀 Vitalik Buterin 寫的 ?一篇解釋 zk-SNARKs 如何可行的概論,這篇文章寫得很棒,解釋了 ZK-SNARKs 是如何實現的。只閱讀一遍可能還不能理解整篇文章。多閱讀 3、4 次,一旦你了解了 ZK-SNARKs 的原理,你會激動到全身起雞皮疙瘩。
? 跟 AI 與 Web3 一樣,我們似乎無法避免后量子世界到來,因此我們需要確保為 ZK-SNARKs 選擇使用的加密函數不能被量子計算機暴力破解。這就是為什么我們還需要改進,以保證后量子安全性。
如果想要了解更多信息,可以觀看由 ACM 發布的談話?
提高非交互式零知識證明在后量子簽名中的應用
聲音 | John McAfee:僅拿到底層訪問權限沒有用:今日,針對Bitfi錢包能夠被黑一事,John McAfee繼續作出回應稱:“黑客生成獲得了底層訪問權限,但仍無法對程序進行任何編寫或更改。這就像拿著牙醫證書去核電站工作一樣。你能從錢包里拿走錢嗎?你不能。這才是關鍵。”[2018/8/3]
https://www.youtube.com/watch?v=V0FfpVQzajk
現在終于明白 ZK 證明是什么了,但是它們應用到什么地方呢 ??
在概念上它們有兩個主要用例:
擴容區塊鏈交易
個人數據隱私保護,例如在醫療衛生領域
區塊鏈擴容 - ZK Rollups
Rollup 是一種擴容解決方案,在 L1 外執行交易,但在 L1 上發布交易數據。這種工作辦法可以讓 rollup 對網絡進行擴容,但依然受到以太坊共識的安全保護。
將計算轉移到鏈下進行,實際上可以處理更多交易。因為只需要將 rollup 交易的一些數據放進以太坊區塊中。
要做到這一點,rollup 交易在另一條鏈上執行,而這條鏈甚至可以運行一個 rollup 特定版本的 EVM。
執行完 rollup 上的交易后,下一步是將這些交易打包成一個 batch,然后發布到以太坊主鏈上。
整個過程基本是執行交易、提取數據、壓縮,將其 rollup 到一個個 batch 中然后發到主鏈上,因而得名 —— ”rollup“。
吳曉波:區塊鏈到底是誰的機會?:吳曉波稱,在今天的中國,很多人都渴望在比特幣和區塊鏈熱潮中,攫取一筆“新時代的紅利”。投資機會的金融衍生化,似乎在讓每一個人都有機會分享到科技變革的紅利,但在事實上,它更多的屬于投機做局者的圈套。[2018/1/22]
以太坊怎樣得知這些數據是有效的、而不是由惡意份子出于牟利目的而提交的呢??
每個 rollup 都會在 L1 部署一組智能合約,來負責處理存款、取款交易以及驗證證明。
證明也是主要區分不同類型 rollups 的因素。
Optimistic rollups 使用欺詐證明。與之相對, ZK rollups 采用有效性證明。
在 ZK rollups 中,發布到 L1 的每個 batch 包含一個叫做 ZK-SNARK 的加密證明。當提交交易 batch 至 L1 之后,L1 上的合約可以快速驗證 ZK-SNARK 證明,無效的 batch 會被直接拒絕。
關于 ZK 與 Optimistic rollups 還有很多其他內容,比如它們的實現方法和限制。在這里我只是簡短地介紹了一下它們的概念。
許多項目都在開發基于 ZK rollups 的以太坊擴容方案。一些比較知名的項目有 dYdX 、Loopring 、Polygon Miden 、 Polygon Hermez 等等。
隱私 —— 日常生活應用
假設有兩個公司 A 和 B 想要使用區塊鏈作為運行與通信的媒介。
A 向 B 轉移資產。并且他們想讓這筆交易只有他們雙方知道。沒錯,區塊鏈會帶來透明度、互操作性、數據安全性、完整性還有其他優點,但是公司怎么會想讓內部運行信息在公眾面前顯示呢?零知識證明就是最佳選擇。
比如你想隱私地給你的海外朋友轉賬,你會怎么做呢?選擇零知識證明。
ZK 證明還可以在醫療健康、保險、電子投票、身份管理等領域產生深遠影響。
在醫療健康方面,ZK 證明可以保證 DNA 數據、個人信息、醫療報告、基本病史信息、藥物溯源、臨床試驗、醫療健康供應鏈、器官移植的隱私安全。
在保險方面,ZK 證明可以保證保險單和保險憑證數字信息、個人信息、車輛信息、理賠信息的隱私安全。
使用區塊鏈與 ZKP 的身份管理具有深刻意義。每個關聯 KYC (了解你的客戶) 的應用、學校、大學、支付軟件都要詢問我們的 ID 圖像,例如駕照、護照、投票 ID 、國家 ID。我們敏感的個人數據就這樣給他們了,我們甚至都沒有意識到這一點。通過 ZKP,我們可以保證以上所有 ID 信息的隱私安全,只需透露必要信息給供應商、應用與官方即可。實際上,使用 ZKP 我們可以完全改進這些 ID 的發行方式。
我們可以使用 ZK 證明對這些信息進行加密處理。當需要給到一些信息時,用戶授權并提供所需信息,而其他詳細資料可以保持隱藏。
這些都是在 2013 年后,ZK-SNARKs 在實際應用上足夠有效率才開始被開發者使用。這也是為什么未來出現的 ZKP 應用會有很多發展空間。
2016 年上線的 Zcash 是一個成功應用 ZK-SNARKs 的重要產品,為用戶提供隱私交易功能。
最普遍的幾種 zkp 系統的對比
來源:Matter Labs 的 github 代碼庫
zk-STARK (zero-knowledge scalable transparent argument of knowledge) 代表零知識的可擴展、透明知識證明,zk-SNARK (zero-knowledge succinct non-interactive argument of knowledge) 代表零知識的簡潔、非交互式知識證明。
這兩種零知識技術都是非交互式的,這意味著代碼可被部署且自動作用。
Zk-SNARKs 底層依靠橢圓曲線保證安全性。在密碼學中,橢圓曲線在這樣一個基本假設下運行:根據一個公開已知的基本點來找到一個隨機橢圓曲線元素的離散對數是不可行的。也就是說,Zk-SNARKs 也需要信任設置。
信任設置是指密鑰的初始創建事件,它會被用于生成隱私交易的證明以及驗證那些證明。
如果用于創建信任設置的密鑰的保密信息沒有被銷毀,那么這些保密信息可能會被利用通過虛假驗證來偽造交易。
SNARKs 的另一個限制是,在前文中我們已經知道了:它們在后量子世界中的可行性。
?另一方面,在一個網絡中開始使用 STARKs 的話,不需要信任設置。這些都可認為是抗量子的。雖然 STARK 的證明大小要比 SNARK 大得多。
但是 STARKs 現仍處于初期階段,開發者們得不到太多支持,所以基于 ZK-STARK 的產品還需要一些時間才能成熟。
本文到這里就結束了。這只是一篇簡短的關于 ZK 證明在 Web3 世界是怎樣運作的介紹。
來源 | ravjot.hashnode.dev
作者 | Ravjot Singh
Tags:ARKROLROLLNARDark Horse DerivativesCoinControllerCashroll幣可以roll坐騎嗎NAR幣
摘要:Hayes 認為美國對俄羅斯的制裁以及凍結外匯儲備,將引發美元等法定貨幣的衰落,利好黃金與比特幣,“我預期是,一個比特幣價值數百萬美元,一盎司黃金價值數千美元”.
1900/1/1 0:00:00頭條 ▌美國財政部刪除耶倫關于加密資產行政命令的聲明金色財經報道,美國財政部官方網站已刪除耶倫的聲明.
1900/1/1 0:00:00回顧從Web 1.0到Web 2.0的過渡情況。新技術在剛被發現時從未被正確使用。這是因為它們常常被用來解決預先存在的問題,而不是用來釋放新的機會。我們已經一次又一次地看到這種情況.
1900/1/1 0:00:001. 假推廣 借數字人民幣推廣之名開展傳銷詐騙活動 不法分子建立所謂的“數字貨幣DCEP學習群”,在群里宣傳數字貨幣由“商業銀行和私人機構同時推廣”.
1900/1/1 0:00:00本文僅做行業學習交流之用,不構成任何投資參考 讓NFT-Fi流行起來 NFT的金融化是一個艱難的旅程,我們也很難搞懂它涉及的方方面面.
1900/1/1 0:00:00什么是 GameFi 由于區塊鏈技術的興起,金融方面從未像現在這樣與游戲行業交織在一起。區塊鏈游戲也被稱為去中心化游戲,即 GameFi——Game(游戲)+DeFI(去中心化金融).
1900/1/1 0:00:00