作者:benlaw.eth
你之前是否閱讀過一些零知識證明的文章,但仍一頭霧水?這些文章可能:
只以故事和童話作例子來論述ZKP,無法深入其本質。
內含大量密碼學術語,數學公式,學術論文等,對初學者而言過于復雜。
本文提供了對ZKP簡明扼要的概述,并從數學、密碼學和編程角度進一步闡述ZKP的核心要素。
向色盲提供顏色證明
如何向色盲患者證明兩個球的顏色確實是不同的?這其實并不復雜:
讓他在手里握住兩個球,背到背后,然后隨機選擇交換或不交換兩個球的位置,再展示給你看,你告訴他這兩個球的位置是否有變化。
在他看來,你可以通過瞎蒙來完成一次證明。不過,如果成千上萬次地重復這個過程:如果你總是能說出正確答案,那么靠純蒙的方式來保持一直正確的概率,是小到可以忽略的。因此可以通過這種方式來向色盲患者證明:兩個球的顏色確實不一樣,并且我們也有感知和區分的能力。
波場TRON正式迎來獨立日五周年:據官方消息,6月25日,波場TRON正式迎來獨立日五周年。主網啟動五年以來,波場TRON全球用戶數超1.68億,已累計處理超過59億次交易。波場TRON依托自己的優勢,也已經構建了自身完善的鏈上生態,在NFT、DeFi、GameFi、穩定幣、元宇宙、跨鏈、DID等行業主要賽道均有不俗的建設。
波場TRON創始人孫宇晨表示:未來,波場TRON將不斷加快國際化與合規化腳步,積極推動生態繁榮發展,布局行業各類賽道,并在教育、環保、人工智能等領域落實長期工作,努力實現打造元宇宙金融自由港的目標,為全球80億人實現金融自由做出貢獻。[2023/6/25 21:59:02]
顏色證明
上述證明過程是典型的零知識證明:
驗證者無法在證明過程中獲得任何關于顏色的知識,因為經過驗證過程后他依然沒有區分顏色的能力。
該驗證過程是概率性的而非決定性的。
該過程是交互式的,需要多輪交互。不過,零知識證明中也有許多協議,通過高級技巧將證明過程轉化成了非互動式的。
Nexo將1222萬枚MATIC存入Binance,約合790萬美元:6月13日消息,據Lookonchain監測,Nexo在過去3小時內將1222萬枚MATIC(約合790萬美元)存入Binance,目前該地址仍持有約890萬枚MATIC(約合576萬美元)。[2023/6/13 21:33:59]
掌握知識的證明
我們已經分享了一種現實世界中的零知識證明的例子,接下來再來看一下在二進制世界中如何實現零知識證明。
Arthur是Elon的朋友,并且知道對方的手機號。Betty不知道Elon的號碼。如果Arthur想要向Betty證明他知道,但又不想泄露號碼,應該怎么實現呢?
知識證明
一種不成熟的方案是,Elon發布自己電話號碼的哈希,Arthur通過一個程序輸入哈希的原像,程序進行運算并檢查結果。這個方法有一些致命的缺陷:
根據哈希,Betty可以通過暴力破解的方式得到原像,能破解出來的概率是不可忽略的,而且得到的結果幾乎是確定性的。
數據:3000萬枚MATIC從未知錢包轉移到Polygon Staking:金色財經報道,據Whale Alert監控數據顯示,3000萬枚 MATIC(32,719,715 美元)于今日 19:01(北京時間)從未知錢包轉移到 Polygon Staking。[2023/4/9 13:53:35]
Arthur必須向該程序輸入原像。如果程序在Arthur的電腦上,Betty就會對此有疑問:我怎么知道你有沒有作弊,你的電腦也許會一直聲稱你的證明是對的?
如果程序在Betty的電腦上運行,Arthur也會擔心,自己輸入的信息會不會被竊取,即使程序肉眼可見的代碼中并沒有竊取信息的命令。
因為無法將程序分開在不同的環境中運行,這個信任問題是難以解決的。
常規的方法在這里碰壁了,是時候讓零知識證明出場了!
基于密碼學的零知識證明的實現方案
在此我會用零知識證明中的SigmaProtocol來解決問題,因為它比較簡單。并且,為了簡潔和易于理解,這里不會使用嚴格的密碼學和數學中的定義、術語及推導過程等。
安全團隊:獲利約900萬美元,Moola協議遭受黑客攻擊事件簡析:10月19日消息,據Beosin EagleEye Web3安全預警與監控平臺監測顯示,Celo上的Moola協議遭受攻擊,黑客獲利約900萬美元。Beosin安全團隊第一時間對事件進行了分析,結果如下:
第一步:攻擊者進行了多筆交易,用CELO買入MOO,攻擊者起始資金(182000枚CELO).
第二步:攻擊者使用MOO作為抵押品借出CELO。根據抵押借貸的常見邏輯,攻擊者抵押了價值a的MOO,可借出價值b的CELO。
第三步:攻擊者用貸出的CELO購買MOO,從而繼續提高MOO的價格。每次交換之后,Moo對應CELO的價格變高。
第四步:由于抵押借貸合約在借出時會使用交易對中的實時價格進行判斷,導致用戶之前的借貸數量,并未達到價值b,所以用戶可以繼續借出CELO。通過不斷重復這個過程,攻擊者把MOO的價格從0.02 CELO提高到0.73 CELO。
第五步:攻擊者進行了累計4次抵押MOO,10次swap(CELO換MOO),28次借貸,達到獲利過程。
本次遭受攻擊的抵押借貸實現合約并未開源,根據攻擊特征可以猜測攻擊屬于價格操縱攻擊。截止發文時,通過Beosin Trace追蹤發現攻擊者將約93.1%的所得資金 返還給了Moola Market項目方,將50萬CELO 捐給了impact market。自己留下了總計65萬個CELO作為賞金。[2022/10/19 17:32:31]
核心流程
Cameo CEO擁有的Bored Ape NFT被盜,僅以13萬美元賣出:金色財經報道,名人視頻問候服務公司Cameo首席執行官Steven Galanis上周六成為加密貨幣黑客的受害者,他損失了幾個NFT(包括一個Bored Ape)以及超過7萬美元的加密貨幣。記錄顯示,Gelanis的Bored Ape在1月以319,000美元買入,被盜后立即以130,000美元賣出。Gelanis在Twitter上表示,他的加密錢包是通過他的Apple iCloud帳戶被黑客入侵的。(CNET)[2022/8/8 12:09:50]
使用零知識證明證明一個人有特定的知識,我們采取如下辦法:
Sigma協議
定義一個P階的有限群及其生成元g。我們可以暫時忽略這些奇怪的名詞具體什么意思。
根據上面的定義,某個擁有知識或能接觸到知識的第三方,將知識通過h=g^w(modP)的方式加密后,將h發布出去。
證明者啟動零知識證明流程。生成一個隨機數r,計算a=g^r,并將a發送給驗證者。
驗證者生成一個隨機數e并發送給證明者。
證明者計算z=r+ew并發送給驗證者。
驗證者檢查g^z==a·h^e(modP)。如果為真,則驗證者確實掌握其聲稱的知識。
好啦,該證明協議到此就結束了!非常簡短,但你仍可能對上面的一些數學運算感到困惑,但這不要緊,我們先有個大概印象再深入理解。
數學原理
這套流程背后的核心數學原理是離散對數難題:當P是一個很大的質數時,對于給定的h,很難找到滿足h=g^w(modP)的w。該原理適用于上面所有類似的式子。
我們來一步一步解析下:
經過加密的知識h=g^w(modP),是難以被暴力破解的。由于求余運算的特點,即使被破解了也不具備單一確定解。這意味著對證明者而言,通過暴力破解來作弊,欺騙驗證者,是不可行的。
然后我們將3,4,5步作為一個整體來看一下他們為什么要交換這些隨機數:
I.證明者并不想暴露其秘密,所以他必須用隨機數包裹一下將其隱藏起來。而驗證者也需要通過添加一些隨機數,讓該知識可被自己驗證的同時防止證明者作弊,而且不會窺探到證明者的秘密。
II.如果驗證者先發送了隨機數e,很明顯,證明者可以通過編造a=g^z·h^-e來在最終檢查中欺騙驗證者,即使沒有知識也可以通過。所以證明者必須先手發送一個承諾(a=g^r),但非r本身,來避免可作弊場景,同時不讓驗證者通過w=(z-r)/e提取到秘密。
III.在收到承諾后,驗證者向證明者發送隨機數e。由于其本身或者其衍生物無法泄露任何一方的信息,這個數不需要加密。之后證明者計算z=r+ew并將z發送給驗證者。驗證者最終通過檢查g^z=g^(r+ew)=g^r·(gw)^e=a·h^e來確定證明者是否掌握知識。
通過這種往返交錯的結構,我們收獲了三個性質:
完備性:當且僅當證明者輸入正確知識,驗證才能通過。
可靠性:當且僅當證明者輸入錯誤知識,驗證才會失敗。
零知識性:驗證者無法在驗證過程中獲取任何知識。
上述三點即零知識證明的核心特性。通過數學和密碼學,我們構建出了一套光怪陸離的證明體系。恭喜你一路走了這么遠,現在應該已經可以說正式邁入了富麗堂皇又奧妙無窮的ZKP圣殿。
Havefun!
進一步了解
模擬器和零知識性
我們現在來考慮一些魔幻場景。如果一個證明者具有預言或篡改驗證者生成的隨機數的超能力,我們稱其為模擬器。
模擬器vs驗證者
設想,模擬器在驗證者的隨機數e生成前就對其進行了篡改,確保其生成后是自己預設的值。根據上面II所說,這種能力使模擬器能編造承諾a來欺騙驗證者。不論模擬器的輸入是什么,驗證者總會得出結論模擬器具有知識,然而實際上他并沒有。
顯然,經過這種思想實驗我們可以得出結論,驗證者無法在該零知識證明協議中獲取任何知識,也即其零知識性是成立的:
零知識性<==?模擬器S,使得S(x)與真實的協議執行不可區分,其中S(x):選擇隨機的z和e,令a=g^z·h^-e,其中(a,e,z)的分布與真實的隨機數環境一致并滿足g^z=a·h^e。
抽取器和可靠性
再來想象一下另一種超能力者——抽取器,具有時光倒流的能力。不過這次是抽取器作為驗證者,面對一個正常的證明者。
當協議結束時,抽取器發起時間倒流,回到協議的起點,并持有上一輪得到的(z,e,a)。現在,協議重新執行一遍。由于證明者沒有超能力無法進行時間旅行只能在固定的時間線上做確定的事,他又生成了一個一模一樣的隨機數r以及承諾a=g^r,而抽取器則可以生成新的隨機數e'給證明者。
證明者vs抽取器
現在,抽取器獲得了:g^z=a·h^e,g^z'=a·h^e=>g^(z-z')=h(e-e')=>加密后的知識h=g^((z-z')/(e-e'))=>知識w=(z-z')/(e-e').
顯然,只要證明者真的掌握了知識,抽取器總是可以將其抽取出來,也即完備性成立:完備性<==?抽取器E,對給定的任何h,在掌握(a,e,z),(a,e',z')且e≠e'的情況下,都能輸出ws.t.(h,w)∈R.
完備性
完備性不需要任何特殊角色來證明,因為:g^z=g^r+ew=g^r·(g^w)^e=a·h^e.
原作者:Crypto@Stanford原標題:《HaseebQureshi》 編譯:餅干,鏈捕手 DragonflyCapital是一家擁有超過20億美元資產管理規模的加密資產投資公司.
1900/1/1 0:00:00來源:ScrollTech?? 編譯:餅干,鏈捕手 概述 zk-Rollup是一種非常便宜且安全的以太坊二層擴展解決方案.
1900/1/1 0:00:00撰文:湯圓,蜂巢Tech公鏈大戰之后,市場已形成以以太坊為首多鏈并存的格局,鏈與鏈之間的資產轉移、智能合約的跨鏈交互已成為鏈上活動的日常,作為實現區塊鏈之間信息互通的底層基礎設施.
1900/1/1 0:00:00原作者:JocelynnPearl,labDAO原標題:《AGuidetoDecentralizedBiotech》 編譯:餅干,鏈捕手 從傳統意義上來說,美國生物技術是一個中心化的行業.
1900/1/1 0:00:00鏈捕手消息,總投資約5億元的天河匯高鏈半導體產業基地項目宣布落戶湖南長沙經開區星沙區塊鏈產業園,為國內首個“區塊鏈+半導體裝備產業園”項目.
1900/1/1 0:00:00原文標題:《Realmverse來了!顛覆游戲理念的Loot潛能將被打開》 作者:D1Intern 作為Loot生態的衍生品項目,D1Ventures認為.
1900/1/1 0:00:00