一篇文章讲清什么是零知识证明
作用
抽象領域
零知識證明是打通鏈上數據與鏈下計算的關鍵技術,也是實現鏈上數據隱私保護的重要途徑。
零知識證明技術可以解決數據的信任問題,計算的信任問題!
?
具體領域
數據的隱私保護:在一個數據表格中,多多少少都有一些信息不想被暴露,比如當年我的成績單,我只想向人證明,我的成績及格了,但是我不想讓別人知道我到底考了61分還是62分,這會很尷尬。我沒有心臟病,但是保險公司需要了解這一點,但是我不想讓保險公司知道我的隱私信息。那我可以證明給保險公司看,我沒有心臟病,但是病歷的全部并不需要暴露。我是一家企業,我想向銀行貸款,我只想向銀行證明我具備健康的業務與還款能力,但是我不想讓銀行知道我們的一些商業秘密。
計算壓縮與區塊鏈擴容:在眾多的區塊鏈擴容技術中,Vitalik 采用 zkSNARK 技術能夠給現有的以太坊框架帶來幾十倍的性能提升。因為有了計算的證明,同樣一個計算就沒必要重復多次了,在傳統的區塊鏈架構中,同樣的計算被重復多次,比如簽名的校驗,交易合法性校驗,智能合約的執行等等。這些計算過程都可以被零知識證明技術進行壓縮。
端到端的通訊加密:用戶之間可以互相發消息,但是不用擔心服務器拿到所有的消息記錄,同時消息也可以按照服務器的要求,出示相應的零知識證明,比如消息的來源、與發送的目的地。
身份認證:用戶可以向網站證明,他擁有私鑰,或者知道某個只要用戶自己才知道的秘密答案,而網站并不需要知道,但是網站可以通過驗證這個零知識證明, 從而確認用戶的身份
去中心化存儲:服務器可以向用戶證明他們的數據被妥善保存,并且不泄露數據的任何內容。
信用記錄:信用記錄是另一個可以充分發揮零知識證明優勢的領域,用戶可以有選擇性的向另一方出示自己的信用記錄,一方面可以有選擇的出示滿足對方要求的記錄分數,同時證明信用記錄的真實性。
構造完全公平的線上數字化商品的交易協議。
零知識證明核心概念
許多介紹零知識證明的文章中都能看到這樣三個性質:
Completeness —— 完備性
Soundness —— 可靠性
Zero-Knowledge —— 零知識
反映到一個交互系統(安全協議)的三個性質:「完備性」、「可靠性」與「零知識」。
可靠性(Soundness):Alice 在沒有知識的情況下不能通過 Bob 的驗證。
完備性(Completeness):Alice 在有知識的情況下可以通過 Bob 的驗證。
零知識(Zero-knowledge):Alice 在交互的過程中不會泄露關于知識的任何信息。
我們可以看出來「可靠性」和「完備性」有一種「對稱性」。可靠性保證了惡意的 Alice 一定失敗,而完備性保證了誠實的 Alice 一定成功。
參考
初識「零知識」與「證明」 - 簡書
百度安全驗證
探索零知識證明系列(二)【轉】 – Ryan's Blog
詳細講解:零知識證明 之 ZCash 完整的匿名交易流程 - 指尖下的幽靈 - 博客園
總結
以上是生活随笔為你收集整理的一篇文章讲清什么是零知识证明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: srsLTE安装、运行及测试
- 下一篇: 网络通端口映射工具