區塊鏈解讀 零知識證明

2021-09-11 02:10:17 字數 1226 閱讀 9736

前段時間聽到有朋友談到,區塊鏈發展技術中的零知識證明,這幾天翻閱了下資料看了下這一塊內容,看完之後深深覺得自己數學知識和數學理解能力的不足,大概寫下零知識證明的理論,也不深究,其實具體很多東西也沒看懂,就當是乙個知識名詞的解釋。

「零知識證明」-zero-knowledge proof,是由s.goldwasser、s.micali及c.rackoff在20世紀2023年提出的。和筆者年紀一樣大,筆者還去網上找了這個**試圖看下,結果**找到了,實在沒能力去理解。有興趣的朋友可以搜尋下圖是**截圖:

說了不少那麼零知識證明的優點:

1.在使用零知識證明的時候,不降低安全性。

2.零知識證明工作高效,計算過程量小,雙方交換資訊少。

簡單歸納,既安全、又有良好的隱私、又減少計算量。

那麼區塊鏈中,zcash數字貨幣就是使用零知識證明,在整個交易過程中,完全匿名。他不同於位元幣的交易,他同樣也有utxo,但是這個是完全封閉,

在zcash交易過程中,不同位元幣,在a轉賬給b的時候,他會當b的面utxo會作廢,但是zcash中,a轉賬給b,新建乙個utxo,原先的會傳送到乙個作廢列表,但是這個列表記錄的是之前的序號或者代號,證明之前的utxo失效。在這個過程中b是看不到a之前的資訊,但是確實交易還是發生了,同樣道理,礦工也看不到之前的a的交易資訊,只是能確定之前的交易序號或者代號存在於作廢列表了。

證明方和驗證方擁有相同的某乙個函式或一系列的數值。零知識證明的一般過程如下:

● 證明方向驗證方傳送滿足一定條件的隨機值,這個隨機值稱為「承諾」;

● 驗證方向證明方傳送滿足一定條件的隨機值,這個隨機值稱為「挑戰」;

● 證明方執行乙個秘密的計算,並將結果傳送給驗證方,這個結果稱為「響應」;

● 驗 證方對「響應」進行驗 證,如果驗證失敗,則表明證明方不具有其所謂的「知識」,並退出此過程。否則,繼續從第一步開始,重複執行此過程t次。

如果每一次驗證方均驗證成功,則驗證方相信證明方擁有某種知識。而且此過程中,驗證方沒有得到關於這個知識的一點資訊,成功地保護了證明方的隱私。

參考文章:

區塊鏈解讀 零知識證明

解讀區塊鏈,零知識證明 zero knowledge proof 前段時間聽到有朋友談到,區塊鏈發展技術中的零知識證明,這幾天翻閱了下資料看了下這一塊內容,看完之後深深覺得自己數學知識和數學理解能力的不足,大概寫下零知識證明的理論,也不深究,其實具體很多東西也沒看懂,就當是乙個知識名詞的解釋。零知識...

區塊鏈與零知識證明

零知識證明 zero knowledge proof 是這樣的乙個過程,證明者在不向驗證者提供任何額外資訊的前提下,使驗證者相信某個論斷 statement 是正確的。證明過程包括互動式 interactive 和 非互動式 non interactive 兩種。零知識證明 零知識,即在證明的過程中...

讀懂區塊鏈 零知識證明(一)

網上有乙個被很多人引用的例子,即 阿里巴巴的零知識證明 可以幫助我們理解 零知識證明 的原理。一天,阿里巴巴被強盜抓住了,強盜向阿里巴巴拷問進入山洞的咒語。面對強盜,阿里巴巴是這麼想的 如果我把咒語告訴了他們,他們就會認為我沒有價值了,就會殺了我省糧食 但如果我死活不說,他們也會認為我沒有價值而殺了...