你可能曾經聽說過ZK證明或零知識證明。但為什么它會突然變成一個熱詞?它是什么?什么是ZK-rollups?什么是ZK-SNARKS?以上問題都會在本文中得到解答,抓緊了快上車!
什么是零知識證明(ZeroKnowledgeProof)?
零知識證明可以讓一方(證明方)在不透露任何實際信息的情況下向另一方(驗證方)證明某保密信息或聲明是真的。
術語“零知識“本身就表明了不需要揭露任何信息,證明方就可以向驗證方證實ta所知道的保密信息以及ta的聲明都是真的。
那為什么需要零知識證明呢?當我們不想披露任何信息,但需要說服其他人相信我們知道的保密信息和提出的聲明是真的時候。
目前有兩種零知識證明:
1.交互式的(Interactive)
2.非交互式的(NonInteractive)
舉例說明交互式的零知識證明
假設你需要通過ZKP(零知識證明)證明你的年齡大于或等于18歲,但不揭露具體年齡。我們需要第三方機構為你的年齡擔保,具體如下:
第三方說:”已接收您出生證明的復印件,我們已經得知您的年齡為21歲。現在為您提供一串數字密碼,請將它保存到保密與安全的地方。稍后您會用到它。“
”你持有的那串數字密碼將會被哈希算法處理22次,然后得出一個最終年齡哈希代碼給你(沒錯,處理次數必須為年齡+1,才能使得整個操作行得通)。也就是說,你拿到那串數字密碼之后,會有22次哈希處理過程才能獲得最終的年齡哈希代碼。“
以太坊或出現簽署交易不允許消息滾動到底部的問題:金色財經報道,據以太坊社區用戶 @gremplin 在社交媒體披露,以太坊簽署交易的時候,有時會出現不允許消息滾動到底部的問題,而且點擊“Scroll Down”按鍵無反應,這意味著用戶將會在無法查看完整消息的情況下簽署交易。Metamask 開發人員 @Tay 表示,希望 EIP-3074 和 EIP-5003 可以解決一些底層元交易(meta transaction)問題,但“V神” Vitalik Buterin 回復稱這兩個以太坊優化提案并不能解決這個問題,對此,Metamask 聯合創始人 Dan Finlay 聲稱 EIP-4337 或許能夠緩解該問題,雖然該提案本身并不能解決交易可讀性問題,但可以將元交易提升到“正常”水平。[2022/9/11 13:22:41]
“我們將您的姓名、時間戳與最終年齡哈希代碼一起打包。這個證明包將提供給他人驗證。“
好了,那么當你想要向其他人證明你的年齡超過18歲時,你只需要證明從你拿到數字密碼到最終年齡哈希代碼之間的哈希算法處理次數大于18就可以了。
那么怎么證明呢?你只需要向他人展示最后的18次哈希算法處理記錄。你需要自己進行前4次哈希算法處理(對數字密碼進行哈希算法處理4次),然后將結果提供給其他人:第四次哈希值。
他們會對第四次哈希值再處理18次(現在對你的數字密碼總共進行了22次哈希算法處理),最終他們能夠得出最終年齡哈希代碼并且使用證明包對它進行驗證。
《堡壘之夜》開發商:為了元宇宙的開放,將與蘋果和谷歌戰斗到底:金色財經報道,《堡壘之夜》開發商Epic Games首席執行官蒂姆·斯威尼 (Tim Sweeney)在接受英國《金融時報》采訪時表示,科技巨頭蘋果和谷歌可能會不公平地擴大對智能手機平臺的束縛,以主導所有在虛擬環境中進行的交易。蒂姆·斯威尼表示,網路游戲《堡壘之夜》可以說是當今最接近元宇宙的東西。每個月約有7千萬玩家沉浸在其數字世界中,參與大逃殺 (Battle Royale)戰斗,他絕不允許科技巨頭像在智慧手機應用程序上那樣,利用壟斷力量主導新平臺,為了元宇宙的開放將與蘋果和谷歌戰斗到底。[2022/6/1 3:55:36]
實際上,驗證者是在說:"發送我們一個值,我們會對其進行18次哈希算法處理,然后這個哈希值將與你提供的年齡哈希代碼進行對比。"如果你低于18歲,最終年齡哈希代碼的哈希算法處理次數就沒有18次,我們對你提供的那個初始哈希值進行18次哈希算法處理后,就會與最終年齡哈希代碼不一樣。
這里是另一個絕佳例子?
《一個很棒的零知識證明例子》-MathOverflow
https://mathoverflow.net/questions/22624/example-of-a-good-zero-knowledge-proof
?但是這種交互式方法有一些局限:
近日V社創始人:加密貨幣價值波動讓人們無法確認其實際支付價格到底是多少:2月26日消息,近日V社創始人Gabe Newell接受采訪時解釋了Steam禁止NFT的原因,Gabe表示:“目前NFT發展過于粗糙,并且幕后還涉及某些非法因素,區塊鏈是個非常好的技術,但目前使用方式過粗糙,讓你不太想接觸它。隨后,Gabe補充道:我們在接觸加密貨幣時也遇到了類似的問題,50%用于交易的加密貨幣都帶有欺詐屬性。然后加密貨幣價值波動讓人們無法確認其實際支付價格到底是多少,是的,這些交易都是錨定在加密貨幣的基礎上,但是大多數人的工資并不是加密貨幣。[2022/2/26 10:17:51]
1.每次驗證都需要進行整個冗長的過程。而上述例子只是簡單的哈希算法處理,想象一下如果需要對實際加密算法進行計算會如何。
2.證明方與驗證方都需要同時在場,不管是在線還是面對面。
接下來是非交互式的零知識證明
1986年,Fiat與Shamir發明了Fiat-Shamirheuristic(啟發式)算法,這是第一個基于交互式零知識證明來構建數字簽名的算法。
Fiat-Shamirheuristic算法通過使用承諾方案(CommitmentScheme)可變為非交互式零知識證明。這就是所謂的ZK-SNARKs,也可以稱為簡潔的非交互式零知識證明(Zero-KnowledgeSuccinctNon-InteractiveArgumentofKnowledge)。
Hcoin劉江朋友圈發文,稱“負債和虧損 會負責到底”:7月3日,HCoin交易所創始人劉江在朋友圈發文稱:”經歷了很多也看淡了很多,不管有什么困難,都會過去,感謝身邊朋友的幫忙和照顧,負債和虧損,也會負責到底。“據悉,今年6月,不斷有用戶反映HCoin提幣困難,有些用戶甚至十幾天提不出幣,此后有媒體報道稱HCoin正在以拖延的方式進行“軟跑路”。對此,劉江在接受采訪時表示,目前HCoin還在正常運營,跑路是“沒有的事”,對于提幣困難問題,劉江則回應“慢慢會解決”。[2020/7/3]
要使Fiat-ShamirHeuristic算法更加強大,需要使用承諾(commitment)。承諾方案在許多加密協議中都是基本組成部分。承諾方案允許承諾者發布一個值(即承諾),然后將它們綁定到某消息上而不披露它們(隱藏)。
Pederson承諾與Polynomial承諾是ZK證明使用的兩個最著名承諾方案。
但大約到2013年,ZK-SNARKs才實際可行和實現,并真正用于應用中。
我推薦你們閱讀VitalikButerin寫的?一篇解釋zk-SNARKs如何可行的概論,這篇文章寫得很棒,解釋了ZK-SNARKs是如何實現的。只閱讀一遍可能還不能理解整篇文章。多閱讀3、4次,一旦你了解了ZK-SNARKs的原理,你會激動到全身起雞皮疙瘩。
?跟AI與Web3一樣,我們似乎無法避免后量子世界到來,因此我們需要確保為ZK-SNARKs選擇使用的加密函數不能被量子計算機暴力破解。這就是為什么我們還需要改進,以保證后量子安全性。
動態 | “區塊鏈到底是啥”登上百度搜索風云榜實時熱點第二名:“區塊鏈到底是啥 ”登上百度搜索風云榜,現以5336640的搜索熱度排名第二位。[2019/10/29]
如果想要了解更多信息,可以觀看由ACM發布的談話?
提高非交互式零知識證明在后量子簽名中的應用
https://www.youtube.com/watch?v=V0FfpVQzajk
現在終于明白ZK證明是什么了,但是它們應用到什么地方呢??
在概念上它們有兩個主要用例:
擴容區塊鏈交易
個人數據隱私保護,例如在醫療衛生領域
區塊鏈擴容-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
導言:當前國際區塊鏈產業里有三件事情最值得關注。第一是數字貨幣和數字資產進入國際和金融博弈,國家力量介入,可能會改變比特幣等數字資產的價值邏輯,并將本領域的技術創新從“野蠻生長”帶向“軍備競.
1900/1/1 0:00:00NFT的復興正在將所有的媒體從傳統的形式和商業模式轉變為數字化的原生模式。視覺藝術一直是突出的形式,其交易金額已達數十億美元,市場規模和參與者持續增長.
1900/1/1 0:00:001.金色觀察|infura制裁特定地區用戶以太坊去中心化了嗎Infura拒絕特定地區用戶并不能說明以太坊已經中心化了,只能說明在某些環節中心化了.
1900/1/1 0:00:003月19日消息,加密貨幣金融機構BlockFi確認其第三方供應商之一Hubspot發生了數據泄露事件。Hubspot存儲了用戶數據,如姓名、電子郵件地址和電話號碼.
1900/1/1 0:00:00Web3概念在2017年就火了起來,但直到現在也沒有很準確的定義來概括它。概因它所囊括的東西太過龐雜了,甚至可以自顧自地認為,推動互聯網發展的組件都可以稱為Web3.
1900/1/1 0:00:00NFT具有存儲在區塊鏈上的唯一元數據代碼,是證明數字文件所有權的一種創造性方式,由此,眾多NFT成了具有價值潛力的獨一無二的數字資產。截止2021年底,NFT市場規模已經超過400億美元.
1900/1/1 0:00:00