官术网_书友最值得收藏!

3.2 零知識證明使用場景案例

3.2.1 場景一:萬圣節糖果

故事是這樣的:一年一度的萬圣節到來,小麗和小明分別領取到了一定數量的糖果。他們想知道他們是否收到了相同數量的糖果,卻不想透露糖果的數量,因為他們不想彼此分享。

現在我們假設,他們袋子里可能裝有10、20、30個或40個糖果,如圖3-1所示。

圖3-1 萬圣節糖果

這時小明想了個辦法,為了比較他們擁有的糖果數量,小明拿到4把鑰匙和盒子,盒子上分別寫上10、20、30、40,分別對應糖果的數量。小明最后只保留了自己糖果數量跟盒子數字一樣的鑰匙,其他3把鑰匙就丟棄了(假設小明只保留了寫著20的盒子的鑰匙)。

然后,小麗在4張紙條上,其中一張寫上“+”,另外三張寫上“-”。然后,把寫有“+”的紙條放到跟自己糖果數量是相同數字的盒子里,其余紙條放到其他盒子(假設小麗把“+”放到寫著30的盒子)。

這時,小明回來后打開他有鑰匙的那個盒子(寫著20),然后看它是否包含“+”或“-”的紙條。

(1)如果紙條上寫著“+”,說明兩個人的糖果數量一致。

(2)如果紙條上寫著“-”,說明兩個人糖果數量不一致,但是并不知道對方糖果的具體數量。

(3)這里小明看到紙條上寫著“-”,意味著兩人的糖果數量不一樣,但是小明無法知道小麗的糖果數量。這時候,小麗看到小明手上拿著一張寫“-”的紙條,那她也知道兩人的糖果數量不一樣,但是也無法知道對方擁有糖果的確切數量。

上面這個過程,就是一個零知識證明。

ZKP(“零知識證明”的英文縮寫)允許我們證明自己在通信的另一“端”知道某個人的某個秘密(或許多秘密),而沒有實際透露出秘密。術語“零知識”源于以下事實:第一方沒有透露有關機密的信息(“零”),但是第二方(被稱為“驗證者”)確信第一方(被稱為“證明者”)知道有關機密。

主站蜘蛛池模板: 新田县| 临沭县| 海盐县| 开远市| 岳西县| 新邵县| 来凤县| 栖霞市| 虎林市| 南华县| 通江县| 曲麻莱县| 贵阳市| 洛南县| 卢湾区| 杭锦旗| 阿巴嘎旗| 霸州市| 芦山县| 塔城市| 上杭县| 阳城县| 双峰县| 寻甸| 南陵县| 建水县| 禄丰县| 杂多县| 阿尔山市| 乌审旗| 临猗县| 拜泉县| 岑巩县| 于田县| 哈巴河县| 武安市| 突泉县| 洪洞县| 崇礼县| 永寿县| 宁陕县|