你可能曾經聽說過ZK證明或零知識證明。但為什么它會突然變成一個熱詞?它是什么?什么是ZK-rollups?什么是ZK-SNARKS?以上問題都會在本文中得到解答,抓緊了快上車!
什么是零知識證明(ZeroKnowledgeProof)?
零知識證明可以讓一方(證明方)在不透露任何實際信息的情況下向另一方(驗證方)證明某保密信息或聲明是真的。
術語“零知識“本身就表明了不需要揭露任何信息,證明方就可以向驗證方證實ta所知道的保密信息以及ta的聲明都是真的。
那為什么需要零知識證明呢?當我們不想披露任何信息,但需要說服其他人相信我們知道的保密信息和提出的聲明是真的時候。
目前有兩種零知識證明:
1.交互式的(Interactive)
2.非交互式的(NonInteractive)
舉例說明交互式的零知識證明
假設你需要通過ZKP(零知識證明)證明你的年齡大于或等于18歲,但不揭露具體年齡。我們需要第三方機構為你的年齡擔保,具體如下:
第三方說:”已接收您出生證明的復印件,我們已經得知您的年齡為21歲。現在為您提供一串數字密碼,請將它保存到保密與安全的地方。稍后您會用到它。“
”你持有的那串數字密碼將會被哈希算法處理22次,然后得出一個最終年齡哈希代碼給你(沒錯,處理次數必須為年齡+1,才能使得整個操作行得通)。也就是說,你拿到那串數字密碼之后,會有22次哈希處理過程才能獲得最終的年齡哈希代碼。“
近日V社創始人:加密貨幣價值波動讓人們無法確認其實際支付價格到底是多少:2月26日消息,近日V社創始人Gabe Newell接受采訪時解釋了Steam禁止NFT的原因,Gabe表示:“目前NFT發展過于粗糙,并且幕后還涉及某些非法因素,區塊鏈是個非常好的技術,但目前使用方式過粗糙,讓你不太想接觸它。隨后,Gabe補充道:我們在接觸加密貨幣時也遇到了類似的問題,50%用于交易的加密貨幣都帶有欺詐屬性。然后加密貨幣價值波動讓人們無法確認其實際支付價格到底是多少,是的,這些交易都是錨定在加密貨幣的基礎上,但是大多數人的工資并不是加密貨幣。[2022/2/26 10:17:51]
“我們將您的姓名、時間戳與最終年齡哈希代碼一起打包。這個證明包將提供給他人驗證。“
好了,那么當你想要向其他人證明你的年齡超過18歲時,你只需要證明從你拿到數字密碼到最終年齡哈希代碼之間的哈希算法處理次數大于18就可以了。
那么怎么證明呢?你只需要向他人展示最后的18次哈希算法處理記錄。你需要自己進行前4次哈希算法處理(對數字密碼進行哈希算法處理4次),然后將結果提供給其他人:第四次哈希值。
他們會對第四次哈希值再處理18次(現在對你的數字密碼總共進行了22次哈希算法處理),最終他們能夠得出最終年齡哈希代碼并且使用證明包對它進行驗證。
實際上,驗證者是在說:"發送我們一個值,我們會對其進行18次哈希算法處理,然后這個哈希值將與你提供的年齡哈希代碼進行對比。"如果你低于18歲,最終年齡哈希代碼的哈希算法處理次數就沒有18次,我們對你提供的那個初始哈希值進行18次哈希算法處理后,就會與最終年齡哈希代碼不一樣。
動態 | 徐明星二次回復楊永興糾紛 稱堅決采用法律手段回擊到底:徐明星剛剛發布微博,就楊永興糾紛事件發布第二次回復稱:1、本人非常歡迎采用法律手段,在法律框架內解決問題,一切行為都可以攤到陽光下,合法的、非法的行為都會由法律來審判。2、天天買稿混淆是非,渲染民事訴訟立案,小學生都知道,只要花幾千律師費就能發起民事訴訟。這些顛倒黑白的行為不會影響法律的公正,只是顯得心虛。你們在證券市場興風作浪、欺騙散戶的習慣在區塊鏈的世界行不通,本人堅決采用法律手段回擊到底。3、你們當初通過第三方多次約見我,百般殷勤,欺騙本人,承諾為公提供各種業務和資金支持,獲得了公司股權的投資機會,由此獲得的回報是你們一輩子賺的最多的錢。你們的承諾卻沒有一項兌現,你有臉來和我撕逼?農婦與蛇不能形容你們的無恥。[2019/10/24]
這里是另一個絕佳例子?
《一個很棒的零知識證明例子》-MathOverflow
https://mathoverflow.net/questions/22624/example-of-a-good-zero-knowledge-proof
?但是這種交互式方法有一些局限:
1.每次驗證都需要進行整個冗長的過程。而上述例子只是簡單的哈希算法處理,想象一下如果需要對實際加密算法進行計算會如何。
2.證明方與驗證方都需要同時在場,不管是在線還是面對面。
聲音 | 何一:會逐一匹配用戶信息,一查到底:何一剛發微博表示,我們會逐一匹配用戶信息,一查到底,一旦用戶信息匹配上,我們會聯系相關用戶進行后續處理,如果有相關線索也請私信我。在一個還在發展早期的領域要經歷的不只是政策,也要面臨黑惡勢力的手段;如果決定要做騎士,注定要面臨戰爭。我們還不夠強壯,還需要繼續努力。[2019/8/7]
接下來是非交互式的零知識證明
1986年,Fiat與Shamir發明了Fiat-Shamirheuristic(啟發式)算法,這是第一個基于交互式零知識證明來構建數字簽名的算法。
Fiat-Shamirheuristic算法通過使用承諾方案(CommitmentScheme)可變為非交互式零知識證明。這就是所謂的ZK-SNARKs,也可以稱為簡潔的非交互式零知識證明(Zero-KnowledgeSuccinctNon-InteractiveArgumentofKnowledge)。
要使Fiat-ShamirHeuristic算法更加強大,需要使用承諾(commitment)。承諾方案在許多加密協議中都是基本組成部分。承諾方案允許承諾者發布一個值(即承諾),然后將它們綁定到某消息上而不披露它們(隱藏)。
Pederson承諾與Polynomial承諾是ZK證明使用的兩個最著名承諾方案。
但大約到2013年,ZK-SNARKs才實際可行和實現,并真正用于應用中。
聲音 | John McAfee:僅拿到底層訪問權限沒有用:今日,針對Bitfi錢包能夠被黑一事,John McAfee繼續作出回應稱:“黑客生成獲得了底層訪問權限,但仍無法對程序進行任何編寫或更改。這就像拿著牙醫證書去核電站工作一樣。你能從錢包里拿走錢嗎?你不能。這才是關鍵。”[2018/8/3]
我推薦你們閱讀VitalikButerin寫的?一篇解釋zk-SNARKs如何可行的概論,這篇文章寫得很棒,解釋了ZK-SNARKs是如何實現的。只閱讀一遍可能還不能理解整篇文章。多閱讀3、4次,一旦你了解了ZK-SNARKs的原理,你會激動到全身起雞皮疙瘩。
?跟AI與Web3一樣,我們似乎無法避免后量子世界到來,因此我們需要確保為ZK-SNARKs選擇使用的加密函數不能被量子計算機暴力破解。這就是為什么我們還需要改進,以保證后量子安全性。
如果想要了解更多信息,可以觀看由ACM發布的談話?
提高非交互式零知識證明在后量子簽名中的應用
https://www.youtube.com/watch?v=V0FfpVQzajk
現在終于明白ZK證明是什么了,但是它們應用到什么地方呢??
在概念上它們有兩個主要用例:
擴容區塊鏈交易
個人數據隱私保護,例如在醫療衛生領域
John McAfee:將和SEC斗爭到底:上周,美國證券交易所委員會主席Jay Clayton表示他認為所有的ICO都是證券。對此,殺軟件先驅及加密貨幣愛好者John McAfee表示,他會遵守法律,但是他會和SEC斗爭到底,讓SEC主席的這個說法站不腳。目前尚不清楚他將采取何種措施。[2018/6/17]
區塊鏈擴容-ZKRollups
Rollup是一種擴容解決方案,在L1外執行交易,但在L1上發布交易數據。這種工作辦法可以讓rollup對網絡進行擴容,但依然受到以太坊共識的安全保護。
將計算轉移到鏈下進行,實際上可以處理更多交易。因為只需要將rollup交易的一些數據放進以太坊區塊中。
要做到這一點,rollup交易在另一條鏈上執行,而這條鏈甚至可以運行一個rollup特定版本的EVM。
執行完rollup上的交易后,下一步是將這些交易打包成一個batch,然后發布到以太坊主鏈上。
整個過程基本是執行交易、提取數據、壓縮,將其rollup到一個個batch中然后發到主鏈上,因而得名——”rollup“。
以太坊怎樣得知這些數據是有效的、而不是由惡意份子出于牟利目的而提交的呢??
每個rollup都會在L1部署一組智能合約,來負責處理存款、取款交易以及驗證證明。
證明也是主要區分不同類型rollups的因素。
Optimisticrollups使用欺詐證明。與之相對,ZKrollups采用有效性證明。
在ZKrollups中,發布到L1的每個batch包含一個叫做ZK-SNARK的加密證明。當提交交易batch至L1之后,L1上的合約可以快速驗證ZK-SNARK證明,無效的batch會被直接拒絕。
關于ZK與Optimisticrollups還有很多其他內容,比如它們的實現方法和限制。在這里我只是簡短地介紹了一下它們的概念。
許多項目都在開發基于ZKrollups的以太坊擴容方案。一些比較知名的項目有dYdX、Loopring、PolygonMiden、PolygonHermez等等。
隱私——日常生活應用
假設有兩個公司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系統的對比
來源:MatterLabs的github代碼庫
zk-STARK(zero-knowledgescalabletransparentargumentofknowledge)代表零知識的可擴展、透明知識證明,zk-SNARK(zero-knowledgesuccinctnon-interactiveargumentofknowledge)代表零知識的簡潔、非交互式知識證明。
這兩種零知識技術都是非交互式的,這意味著代碼可被部署且自動作用。
Zk-SNARKs底層依靠橢圓曲線保證安全性。在密碼學中,橢圓曲線在這樣一個基本假設下運行:根據一個公開已知的基本點來找到一個隨機橢圓曲線元素的離散對數是不可行的。也就是說,Zk-SNARKs也需要信任設置。
信任設置是指密鑰的初始創建事件,它會被用于生成隱私交易的證明以及驗證那些證明。
如果用于創建信任設置的密鑰的保密信息沒有被銷毀,那么這些保密信息可能會被利用通過虛假驗證來偽造交易。
SNARKs的另一個限制是,在前文中我們已經知道了:它們在后量子世界中的可行性。
?另一方面,在一個網絡中開始使用STARKs的話,不需要信任設置。這些都可認為是抗量子的。雖然STARK的證明大小要比SNARK大得多。
但是STARKs現仍處于初期階段,開發者們得不到太多支持,所以基于ZK-STARK的產品還需要一些時間才能成熟。
本文到這里就結束了。這只是一篇簡短的關于ZK證明在Web3世界是怎樣運作的介紹。
來源|ravjot.hashnode.dev
作者|RavjotSingh
7天內超過7百萬美元。每日平均120萬美元。就在烏克蘭戰爭爆發后不到一天,俄羅斯朋克搖滾樂隊「造反貓咪」宣布了一個非正統的解決方案來幫助受影響的人:UkraineDAO.
1900/1/1 0:00:00一張網絡上可以隨時復制下載的JPEG圖片合并在一起賣出6900萬美元,一條推特賣出290萬美元,一段75秒的音頻賣出6600美元……這聽起來不可思議,但它們正在真實的發生.
1900/1/1 0:00:001.探索以太坊擴容之路:哪個方案才是未來?無論你是不是區塊鏈技術方面的專家,只要你待在Crypto的世界里夠久。以太坊擴容,layer2,Rollup這些詞語對于你來說都不會陌生.
1900/1/1 0:00:00以上BTC長期月線走勢,圖形上可以看出每一輪牛市BTC處于藍線上方一路攀升,直至見大頂回落跌破進入后面的熊市,藍色線轉為紅色線,價格沿線一路下滑直至加速下跌見大底.
1900/1/1 0:00:00自俄羅斯對烏克蘭展開軍事行動后,以美國為首的多個國家和地區逐漸介入沖突,相繼宣布在金融和貿易領域對俄羅斯展開嚴厲制裁:俄羅斯部分銀行被排除在SWIFT之外.
1900/1/1 0:00:00全球疫情改變了創作者的一切,居家令加速了創作者向區塊鏈和Web3發展的轉變。從新冠疫情發生到現在已經兩年過去,一些由于疫情導致的限制正在逐漸消失,世界正在迎來線下戲劇、電影、喜劇、音樂和體育活動.
1900/1/1 0:00:00