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

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

主站蜘蛛池模板: 嘉鱼县| 镇远县| 五大连池市| 通州区| 钦州市| 巢湖市| 潞西市| 东乌珠穆沁旗| 松原市| 利川市| 宁南县| 古浪县| 类乌齐县| 曲松县| 栖霞市| 阿克陶县| 台北县| 临桂县| 兴国县| 嘉黎县| 霸州市| 德格县| 丹东市| 苍梧县| 鄂温| 二连浩特市| 江油市| 长武县| 得荣县| 龙山县| 张家界市| 绥宁县| 徐汇区| 丹凤县| 察雅县| 祁阳县| 阿拉善盟| 萨迦县| 万荣县| 蒲城县| 无为县|