【開發智能合約 - 密碼學系列】零知識證明Ep.1 - 益智又有趣的機制

更新於 發佈於 閱讀時間約 4 分鐘

什麼是零知識證明(Zero-knowledge proof)

是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄!
「我必須向你證實我是誰,但我又不能直接告訴你我是誰...」、「傳統的證明與零知識證明,兩者都在證明一件事情,但過程卻很不一樣...」。
這些邏輯就是在詮釋零知識證明(Zero-knowledge proof)。
甚至我們之前介紹的「【認證與授權】曇花一現的OTP如何保護我們的資產」當我們收到驗證碼之後,系統根據這組驗證碼間接的識別了身分,這也是零知識驗證概念中的一種案例。
其實零知識證明早在密碼學就已經存在的一種技術,隨著區塊鏈的發展熱度而被關注,加上區塊鏈的特性,這項技術正好補足這一塊。

運作流程

經典的色盲遊戲

假設有一個色盲遊戲,其中遊戲主持人選擇一個顏色,然後玩家需要通過提問來猜測該顏色是什麼,玩家可以問主持人關於顏色的特性,例如:這個顏色是紅色的嗎?這個顏色比另一個顏色深嗎?...等問題。
這裡就可以應用零知識證明的概念。假設主持人知道答案是紅色,但玩家是色盲的,無法正確識別顏色。主持人可以使用零知識證明來證明自己確實知道答案是紅色,而不需要直接告訴玩家答案。
在這種情況下,主持人可以使用零知識證明的協議,例如zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge),通過生成證明來向玩家展示自己知道答案是紅色的事實,而不洩露任何有關答案的具體信息。
這樣,主持人可以在不揭示答案的情況下,向玩家證明自己確實知道答案是紅色,同時玩家也可以驗證主持人的證明的有效性,確信主持人並非瞎猜。
這個例子展示了零知識證明如何應用於一個經典的色盲遊戲,以證明一個事實而不揭示具體細節,從而保護隱私並確保證明的可靠性。

什麼樣的特性推進「區塊鏈」呢?

隱私性

在Web3.0的發展之下,零知識證明帶來了隱私性的特點,如果我們擁有某個數字資產但我們又不想暴露我們擁有什麼,此時就能夠用到零知識的技術,在不透漏重要關鍵訊息的前提下證明我們對資產的所有權。

擴展性

擴展性也是很重要的一環,當區塊鏈進行擴容時需要成千上萬臺機器重複進行計算工作,以達成共識協議,我們可以將一些計算工作交給零知識證明,在區塊鏈網路外部完成,而區塊鏈本身只負責共識與安全,大幅度降低了區塊鏈網路的成本,

有什麼缺陷?

● 計算量大:生成和驗證零知識證明需要大量計算,可能導致效能問題。
● 可信度問題:證明的可信度依賴於使用的庫或協議的正確性和安全性。
● 隨機性需求:某些協議需要可靠的隨機性,若不符合要求可能影響安全性。
● 特定假設限制:某些協議基於特定數學假設,若假設被破解,可能影響證明的可靠性。
● 隱私風險:在設計和實現過程中,可能存在隱私泄露的風險。
● 限制應用場景:某些場景下,證明過程可能過於耗時,限制了實用性。

結語

會介紹零知識證明主要是為了奠定未來的區塊鏈與AI訓練的基礎, 這些皆包含零知識驗證的影子, Zero-Shot Learning、Zero-Shot Classification…等興起的模型訓練方法皆提倡零知識的基礎下可以適應各個領域。
原來密碼學是如此有趣的一門章節,很多概念其實都出現在我們生活周遭,包括益智遊戲、桌遊...都可能包含密碼學的影子,甚至到了區塊鏈更是離不開它,如果我們能夠更懂它,相信除了開發軟體之外,也能帶來生活上的一些啟發,進而發展出另類的創新想法。
喜歡撰寫文章的你,不妨來了解一下:
歡迎加入一起練習寫作,賺取知識!
為什麼會看到廣告
avatar-img
118會員
265內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
一套大型的智能合約通常都會拆分成許多小合約,並且透過匯入的方式拼裝而成,而這樣的匯入在Solidity世界中就是「Import」,就讓我們來看看「Import」到底怎麼運用吧! 假設目錄結構如下 example.sol other.sol 我們引入的方式就會是: import ‘./other.so
Mapping(映射)就像是字典表一樣,鍵入「什麼樣的標題」對應到「什麼樣的內容」,而標題就是從內容提煉出來的一種簡短快速識別的標的,透過這種方式,我們未來找尋內文時,只要先透過標題來查找,絕對會比直接找內文快上好幾倍,因此Mapping常常應用在查找事物上,它有點像一般程式語言的HashTable
雲時代的來臨, 我們過往使用的桌面版應用程式逐漸搬上雲端, 但也帶來了極大的挑戰, 因為一但上雲就代表著需要面臨著四面八方的使用者, 我們並不知道這些使用者是否都是君子, 一個不小心如果出現漏洞就可能被攻擊, 導致系統損壞, 進而影響商譽、營收, 對企業來說是極大的傷害, 為了避免這樣的狀況發生,
文章會根據以下議題進行說明與介紹,從幾個大面向延伸發展小議題並逐一說明。 去中心化:打破集中化權力造成的失衡與巨嬰壟斷現象,這也是Web 3.0發展的主軸。 2. 反壟斷和隱私保護: 個人資訊掌控於個人手中,中間不會經過平台,因此對個人隱私更為保障。 3. 數據所有權: 我們可以自行掌握數據,並決定
簡單的來說就是把同類型常用的功能打包在一起,讓其他開發者能夠重複使用,達到資源有效利用的效果,以軟體開發來說就是減少多餘的程式碼,而Solidity語言中,Library可以視為物件導向中的靜態類別,不需要產生實體就能使用,因此能有效的減少Gas。 當我們剛完成一份合約時難免因為設計尚未考慮周全而導
我們在前幾篇有介紹到介面的用途,都知道介面可以制定規格,建議可以先複習一下這一篇「【開發智能合約 — Solidity系列】實作篇Ep.10 — 標準化的介面(Interfaces)」,而這次來介紹一個非常抽象的概念,名為「抽象化合約」,果然如其名! 不太容易理解,這種合約跟介面非常相似,都可以用來
一套大型的智能合約通常都會拆分成許多小合約,並且透過匯入的方式拼裝而成,而這樣的匯入在Solidity世界中就是「Import」,就讓我們來看看「Import」到底怎麼運用吧! 假設目錄結構如下 example.sol other.sol 我們引入的方式就會是: import ‘./other.so
Mapping(映射)就像是字典表一樣,鍵入「什麼樣的標題」對應到「什麼樣的內容」,而標題就是從內容提煉出來的一種簡短快速識別的標的,透過這種方式,我們未來找尋內文時,只要先透過標題來查找,絕對會比直接找內文快上好幾倍,因此Mapping常常應用在查找事物上,它有點像一般程式語言的HashTable
雲時代的來臨, 我們過往使用的桌面版應用程式逐漸搬上雲端, 但也帶來了極大的挑戰, 因為一但上雲就代表著需要面臨著四面八方的使用者, 我們並不知道這些使用者是否都是君子, 一個不小心如果出現漏洞就可能被攻擊, 導致系統損壞, 進而影響商譽、營收, 對企業來說是極大的傷害, 為了避免這樣的狀況發生,
文章會根據以下議題進行說明與介紹,從幾個大面向延伸發展小議題並逐一說明。 去中心化:打破集中化權力造成的失衡與巨嬰壟斷現象,這也是Web 3.0發展的主軸。 2. 反壟斷和隱私保護: 個人資訊掌控於個人手中,中間不會經過平台,因此對個人隱私更為保障。 3. 數據所有權: 我們可以自行掌握數據,並決定
簡單的來說就是把同類型常用的功能打包在一起,讓其他開發者能夠重複使用,達到資源有效利用的效果,以軟體開發來說就是減少多餘的程式碼,而Solidity語言中,Library可以視為物件導向中的靜態類別,不需要產生實體就能使用,因此能有效的減少Gas。 當我們剛完成一份合約時難免因為設計尚未考慮周全而導
我們在前幾篇有介紹到介面的用途,都知道介面可以制定規格,建議可以先複習一下這一篇「【開發智能合約 — Solidity系列】實作篇Ep.10 — 標準化的介面(Interfaces)」,而這次來介紹一個非常抽象的概念,名為「抽象化合約」,果然如其名! 不太容易理解,這種合約跟介面非常相似,都可以用來
你可能也想看
Google News 追蹤
Thumbnail
最近國泰世華CUBE App推出的「美股定期定額」功能,讓使用者可以方便地進行跨境理財(但讀者仍需根據自身需求審慎考量),除了享有美股定期定額的新功能,也同時享有台股定期定額的功能,可以一站滿足我們理財的需求! 透過國泰世華CUBE App線上開台股證券戶+複委託戶,流程最快僅需要5分鐘。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
零知識證明(Zero-Knowledge Proof, ZKP)是一種能夠證明自己知道某個信息,但又不透露該信息本身的方法。這個概念聽起來有點抽象,用尋寶的例子來解釋:
Thumbnail
Staking也可以稱為質押,但與傳統意義的質押Pledge不同,虛擬貨幣的質押可以被簡單說明為「將持有的虛擬貨幣鎖倉提供鏈上驗證的挖礦行為」,即第一章提到的POS權益證明。
因為直觀現象視於本質,再無語言定義,但一個人若未能入此狀態,語言名相還是需要存在去輔助,但需要一直輔助的人就是執念太重,幾乎變成掛著收藏學識,另外,作為師者空性二字是方便使用,因為包含難以說明的巨量涵義。我會增加這段說明其實是為了閱文者,我自己不需要這種額外的解釋,因為我在描述的主意是「破認知相
Thumbnail
問:在這個夢境當中,我們總是站在小我的立場來"確定"一些事情,而真我遠離所有的概念,白話講就是遠離所有的確定,既然一切都是不確定的才是我們的本質。那麼你怎麼看待確定這件事情? 答:確定,從小我的角度來看,是一種安全感的來源。小我習慣於通過確定來掌控生活,尋求穩定和預測性。然而,這種確定本質上是一種
Thumbnail
區塊鏈有什麼特色? 所有交易(操作資訊)紀錄會儲存在各個節點,因此具有公開性 每個節點遵守一套共識機制,基於這套機制來信任讀取的數據 透過密碼學演算法確保交易紀錄無法被串改 不會有資料中心遭受攻擊導致系統癱瘓問題 可能會對使用者喪失隱私 區塊鏈如何運作的? 節點主要可以被區分為兩種類型
Thumbnail
可能包含敏感內容
透過古聖賢的主張與反應,覺察到「無為」與「四大皆空」的本質,原來一直都是擔心著我們怯懦的走走停停,說「無」講「空」,原來是在為我們的自我設限做準備。
Thumbnail
可能包含敏感內容
這是一般人沒聽過的文字,敝人唸科學的背景,終於讓我搞懂無知之幕。也就是說大家都想好,但誰要去衝第一名?第一名的人可能就是犧牲的人。無知之幕是一種思想實驗,用以探討共生社會下的道德問題。其概念在1955年被經濟學家約翰·夏仙義提出,並為政治哲學家約翰·羅爾斯在1971年於著作《正義論》
Thumbnail
「明文」聽起來超像《神鬼傳奇》這類電影會出現的用詞,我一開始接觸到「明文」這詞,一直覺得眼睛看到會卡住的,困在那格,後來理解他的對應面「密文」才比較好理解,「明」是清楚透明,延伸意思為「已知」,對應到「密」的「未知」。
Thumbnail
凡夫如果沒有足夠因緣,很難覺察到,自己經歷的一切,都只是夢幻泡影。 我未覺醒前也是如此,直到開始覺修,才漸漸從醉夢中醒來,明白自己只是在一個紅塵等級的遊戲平台,所感所受一切,如露亦如電。 然而,每個人的因緣和根器不同,或許有人過去累劫,沒有因緣修行,所以今生無法從醉夢中醒來,但只要有機會多接
Thumbnail
最近國泰世華CUBE App推出的「美股定期定額」功能,讓使用者可以方便地進行跨境理財(但讀者仍需根據自身需求審慎考量),除了享有美股定期定額的新功能,也同時享有台股定期定額的功能,可以一站滿足我們理財的需求! 透過國泰世華CUBE App線上開台股證券戶+複委託戶,流程最快僅需要5分鐘。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
零知識證明(Zero-Knowledge Proof, ZKP)是一種能夠證明自己知道某個信息,但又不透露該信息本身的方法。這個概念聽起來有點抽象,用尋寶的例子來解釋:
Thumbnail
Staking也可以稱為質押,但與傳統意義的質押Pledge不同,虛擬貨幣的質押可以被簡單說明為「將持有的虛擬貨幣鎖倉提供鏈上驗證的挖礦行為」,即第一章提到的POS權益證明。
因為直觀現象視於本質,再無語言定義,但一個人若未能入此狀態,語言名相還是需要存在去輔助,但需要一直輔助的人就是執念太重,幾乎變成掛著收藏學識,另外,作為師者空性二字是方便使用,因為包含難以說明的巨量涵義。我會增加這段說明其實是為了閱文者,我自己不需要這種額外的解釋,因為我在描述的主意是「破認知相
Thumbnail
問:在這個夢境當中,我們總是站在小我的立場來"確定"一些事情,而真我遠離所有的概念,白話講就是遠離所有的確定,既然一切都是不確定的才是我們的本質。那麼你怎麼看待確定這件事情? 答:確定,從小我的角度來看,是一種安全感的來源。小我習慣於通過確定來掌控生活,尋求穩定和預測性。然而,這種確定本質上是一種
Thumbnail
區塊鏈有什麼特色? 所有交易(操作資訊)紀錄會儲存在各個節點,因此具有公開性 每個節點遵守一套共識機制,基於這套機制來信任讀取的數據 透過密碼學演算法確保交易紀錄無法被串改 不會有資料中心遭受攻擊導致系統癱瘓問題 可能會對使用者喪失隱私 區塊鏈如何運作的? 節點主要可以被區分為兩種類型
Thumbnail
可能包含敏感內容
透過古聖賢的主張與反應,覺察到「無為」與「四大皆空」的本質,原來一直都是擔心著我們怯懦的走走停停,說「無」講「空」,原來是在為我們的自我設限做準備。
Thumbnail
可能包含敏感內容
這是一般人沒聽過的文字,敝人唸科學的背景,終於讓我搞懂無知之幕。也就是說大家都想好,但誰要去衝第一名?第一名的人可能就是犧牲的人。無知之幕是一種思想實驗,用以探討共生社會下的道德問題。其概念在1955年被經濟學家約翰·夏仙義提出,並為政治哲學家約翰·羅爾斯在1971年於著作《正義論》
Thumbnail
「明文」聽起來超像《神鬼傳奇》這類電影會出現的用詞,我一開始接觸到「明文」這詞,一直覺得眼睛看到會卡住的,困在那格,後來理解他的對應面「密文」才比較好理解,「明」是清楚透明,延伸意思為「已知」,對應到「密」的「未知」。
Thumbnail
凡夫如果沒有足夠因緣,很難覺察到,自己經歷的一切,都只是夢幻泡影。 我未覺醒前也是如此,直到開始覺修,才漸漸從醉夢中醒來,明白自己只是在一個紅塵等級的遊戲平台,所感所受一切,如露亦如電。 然而,每個人的因緣和根器不同,或許有人過去累劫,沒有因緣修行,所以今生無法從醉夢中醒來,但只要有機會多接