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

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

主站蜘蛛池模板: 大足县| 芷江| 武川县| 灵璧县| 凤台县| 万宁市| 桃园市| 萝北县| 江北区| 双流县| 民权县| 荣成市| 嵊州市| 普陀区| 乌拉特前旗| 兴化市| 玛多县| 巴中市| 梅河口市| 五常市| 垫江县| 鄂托克旗| 鲁甸县| 黑龙江省| 龙川县| 永昌县| 嘉荫县| 曲阳县| 新丰县| 调兵山市| 雅江县| 定西市| 扎鲁特旗| 兴国县| 灌阳县| 大洼县| 宣恩县| 隆昌县| 伊宁县| 博乐市| 柯坪县|