日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何既不泄密,又能取信于人?非玄學(xué),是零知識(shí)證明

先來看一張圖:

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)貴州,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

顯而易見,圖中有無數(shù)企鵝。不過,其中藏著一只與企鵝相似的海鸚(如下圖)。

現(xiàn)在的情況是,我知道這個(gè)海鸚藏的地方,但是我不想告訴你具體的位置。問題在于:我要怎么做才能在不泄露具體位置的情況下,向你證明我的確知道海鸚的位置呢?一個(gè)簡單辦法是,我拿一塊塑料板,上面留個(gè)孔,把整張圖放到板子后面,并且讓海鸚對(duì)準(zhǔn)那個(gè)孔。

只要你通過洞往里邊看,你就可以看到海鸚。

回顧一下這個(gè)過程,你可以發(fā)現(xiàn):雖然我沒有指出海鸚的具體位置,也沒有給出任何明示或暗示信息,但你能肯定圖中確實(shí)有一只海鸚,而且你也相信我知道這個(gè)位置。

這就是“零知識(shí)證明(zero-knowledge proof)”。

  奇怪的定義

零知識(shí)證明指的是證明者能夠在不向驗(yàn)證者提供任何有用信息的情況下,使驗(yàn)證者相信某個(gè)論斷是正確的。其實(shí)質(zhì)是一種涉及兩方或更多方的協(xié)議,即兩方或更多方完成一項(xiàng)任務(wù)所需采取的一系列步驟。簡言之,零知識(shí)證明系統(tǒng)要完成的任務(wù)是“證明某一個(gè)事實(shí)并且不泄露知識(shí)”。

官方定義比較拗口,可以再舉個(gè)通俗易懂的經(jīng)典例子加以說明。

假設(shè):現(xiàn)在你的手里有紅綠兩個(gè)小球,面對(duì)一個(gè)有紅綠色盲的朋友,你不能告訴他你兩個(gè)球分別是什么顏色,但是你要讓他相信那的確是兩個(gè)不同顏色的球。這種情況下,你要怎么做?

方案:先將兩個(gè)球分別放在他的兩只手中,并記住最初左右手中球的顏色;讓他將手放背后,隨機(jī)決定是否在背后交換手中的球,然后將手中的球展示給你并讓你判斷他是否在背后交換了手中的球。

從結(jié)果來說,你通過對(duì)比他手中球的顏色就可以直接判斷出他是否在背后換了球。你的朋友知道換球的次數(shù),可以證明你的判斷正確與否。同時(shí)為了排除偶然性,可以進(jìn)行反復(fù)多次試驗(yàn),只要你的判斷每次都是正確的,基本就可以說明這兩個(gè)球的確是不同色的。

在證明的整個(gè)過程中,你(證明者)并沒有向他(驗(yàn)證者)透露任何有關(guān)球的顏色的具體信息,他也無法自行判斷球的顏色,因此在這個(gè)過程中并沒有傳遞任何關(guān)于被證明消息的有用的信息,同時(shí)他也確實(shí)相信了“兩個(gè)球是不同色”的論斷。

零知識(shí)證明的研究最早始于1985年,由MIT教授 Shafi Goldwasser,Silvio Micali 和密碼學(xué)大師Charles Rackoff在《The Knowledge Complexity of Interactive Proof-Systems》論文中提出。這篇文章提出了“零知識(shí)證明”這一概念,并逐步成為了現(xiàn)代密碼學(xué)理論的根基之一。

一個(gè)正常工作的零知識(shí)證明系統(tǒng)必須包含三個(gè)屬性:

  • 完備性(completeness):在證明者與驗(yàn)證者都是誠實(shí)的情況下,證明過程符合規(guī)則并且正確,那么這個(gè)證明一定是成功的,證明者最終會(huì)說服驗(yàn)證者。
  • 可靠性(Soundness):只有證明者能夠做出證明,且證明者只能說服驗(yàn)證者該陳述是否屬實(shí),證明者沒有辦法通過欺詐的手段讓驗(yàn)證者相信他。
  • 零知識(shí)性(Zero-knowledgeness):證明過程執(zhí)行完之后,驗(yàn)證者只獲得了“證明者擁有這個(gè)知識(shí)”這條信息,而沒有獲得關(guān)于這個(gè)知識(shí)本身的信息。

  應(yīng)用:從象牙塔走到區(qū)塊鏈

最初關(guān)于零知識(shí)證明的研究基本只在學(xué)術(shù)界進(jìn)行,研究人員把主要精力都放在塊加密、流加密和公鑰體系的密碼學(xué)研究上。但隨著互聯(lián)網(wǎng)尤其移動(dòng)互聯(lián)網(wǎng)的發(fā)展,大量涉及隱私性的信息在聯(lián)網(wǎng)設(shè)備上存儲(chǔ)、交換和計(jì)算,不可避免地造成大量的隱私信息泄露和互聯(lián)網(wǎng)詐騙事件盛行。

在隱私安全備受關(guān)注的今天,零知識(shí)證明有了更大的“用武之地”。比如:

保護(hù)隱私數(shù)據(jù):購買保險(xiǎn)的時(shí)候,只想證明自己沒有家族病史,而不想暴露病例的所有信息。不管是哪種信息,都可以把不想暴露的部分換成一個(gè)很像隨機(jī)數(shù)字的零知識(shí)證明,在證明數(shù)據(jù)真實(shí)可信的同時(shí)也保護(hù)了其他隱私。

身份認(rèn)證:在使用網(wǎng)站時(shí),用戶可以向網(wǎng)站證明他擁有私鑰,或者知道某個(gè)只有自己才知道的答案,網(wǎng)站不用知道密鑰,但可以通過零知識(shí)證明確認(rèn)用戶身份,通過去中心化存儲(chǔ),服務(wù)器可以向用戶證明數(shù)據(jù)被妥善保存下來且不被泄露。

計(jì)算壓縮與區(qū)塊鏈擴(kuò)容:在傳統(tǒng)的區(qū)塊架構(gòu)中,同樣的計(jì)算被重復(fù)多次,比如簽名校驗(yàn),交易的合法性校驗(yàn),智能合約執(zhí)行等一些其他的地方,因?yàn)橛辛擞?jì)算的證明,同一個(gè)計(jì)算就不需要多次重復(fù)了,計(jì)算過程可以被零知識(shí)技術(shù)證明壓縮。

  4個(gè)主流的零知識(shí)證明開發(fā)庫推薦

理論上,凡是今天存儲(chǔ)的數(shù)據(jù)必然都會(huì)在未來泄露,泄露的早晚只是一個(gè)時(shí)間的問題。技術(shù)上能做的只是在這個(gè)數(shù)據(jù)泄露上增加一個(gè)難度,讓其泄露時(shí)缺乏即時(shí)性和完整性,降低其利用價(jià)值。針對(duì)這一方面,設(shè)計(jì)良好的零知識(shí)協(xié)議實(shí)際是一個(gè)比較有前景的方案。推薦4 個(gè)主流的零知識(shí)證明開發(fā)庫,希望對(duì)讀者有所幫助。

libsnark:SCIPR Lab開發(fā)的zkSNARK方案實(shí)現(xiàn),開發(fā)語言為C++,應(yīng)用于zcash等多個(gè)項(xiàng)目。

snarkjs:zkSARNK方案的javascript實(shí)現(xiàn)庫。利用snarkjs你可以進(jìn)行可信設(shè)置、生成證據(jù)并驗(yàn)證證據(jù)。

bellman:用于開發(fā)zk-SNARK電路的Rust庫,它提供電路接口、基礎(chǔ)結(jié)構(gòu)以及一些基本電路實(shí)現(xiàn),例如布爾和數(shù)值抽象。

pysnark:用Python開發(fā)的zk-snark方案實(shí)現(xiàn),支持Pinocchio協(xié)議,支持生成用于以太坊的智能合約用于驗(yàn)證零知識(shí)證據(jù)。

參考資料:

??  https://zhuanlan.zhihu.com/p/421087406??

??  https://www.bilibili.com/video/BV1tF411p73s/??


網(wǎng)站欄目:如何既不泄密,又能取信于人?非玄學(xué),是零知識(shí)證明
文章轉(zhuǎn)載:http://m.5511xx.com/article/dhpiohj.html