文 | 葉先生的魚
本文由【區(qū)塊鏈研習(xí)社】優(yōu)質(zhì)內(nèi)容計(jì)劃支持痹雅,更多關(guān)于區(qū)塊鏈的深度好文,請(qǐng)點(diǎn)擊【區(qū)塊鏈研習(xí)社】
一、什么是零知識(shí)證明假残?
零知識(shí)證明(Zero—Knowledge Proof)并不是一個(gè)全新概念,也不是伴隨著區(qū)塊鏈的流行而誕生的新技術(shù)炉擅。零知識(shí)證明在我們以往的日常生活中隨處可見辉懒,我舉一個(gè)最簡單的例子,張三在逛商場的時(shí)候把錢包弄丟了坑资,李四撿到了錢包耗帕,交給了商場的管理處值班員王五,王五通過商場廣播尋找失主前來認(rèn)領(lǐng)袱贮。丟失錢包的張三聽到廣播后來到管理處認(rèn)領(lǐng)錢包仿便,那么問題來了,王五怎么確認(rèn)失主就是張三呢攒巍?或者張三怎么向王五證明這個(gè)錢包就一定是自己的呢嗽仪?
為了確保萬無一失,王五不能向任何人泄露有關(guān)錢包的任何信息柒莉,通常闻坚,我們運(yùn)用零知識(shí)證明就可以完美解決確認(rèn)失主身份的問題。
第一:王五不能讓張三看到錢包兢孝,更不能讓他看到錢包里有什么東西窿凤;
第二:張三必須提供準(zhǔn)確無誤的信息,證明錢包就是自己的跨蟹;
于是雳殊,王五問了張三幾個(gè)問題——
1、錢包的顏色窗轩、大小夯秃、品牌分別是什么?
2、錢包里有什么東西仓洼?比如多少錢介陶?什么證件?證件信息是什么色建?
如果張三全部答對(duì)了哺呜,則確認(rèn)張三就是失主。這種信息驗(yàn)證的手段其實(shí)就是零知識(shí)證明镀岛。
二弦牡、零知識(shí)證明的價(jià)值
在區(qū)塊鏈中使用零知識(shí)證明有什么好處?或者說零知識(shí)證明可以帶來什么價(jià)值呢漂羊?
我們再來看一個(gè)例子驾锰。
假設(shè)A要向B證明A有打開一扇門的密碼(假設(shè)是密碼鎖),A在證明的過程中為了保證密碼不被別人竊取走越,要求B不能在場圍觀自己輸入密碼并打開門椭豫,那么最后B如何確認(rèn)A真的有打開這扇門的密碼呢?通過零知識(shí)證明旨指,可以有很多不同的解決方案赏酥,比如,A在B在不場的情況下(絕對(duì)安全的環(huán)境下)谆构,輸入門鎖密碼裸扶、找開房門、拿出房間里的一樣?xùn)|西(前提是這樣?xùn)|西是B認(rèn)同是鎖在房間內(nèi)的)搬素、鎖上房門呵晨、用這樣?xùn)|西來給B證明自己用密碼打開過房門。
通過這個(gè)例子很容易就得出一個(gè)結(jié)論——零知識(shí)證明是一種更加安全的信息驗(yàn)證或者身份驗(yàn)證機(jī)制熬尺。安全性和隱私性就是零知識(shí)證明的價(jià)值所在摸屠。
三、零知識(shí)證明的三個(gè)基本特性
1粱哼、完備性季二。如果證明方和驗(yàn)證方都是誠實(shí)的,并遵循證明過程的每一步揭措,進(jìn)行正確的計(jì)算胯舷,那么這個(gè)證明一定是成功的,驗(yàn)證方一定能夠接受證明方绊含。
2需纳、合理性。沒有人能夠假冒證明方艺挪,使這個(gè)證明成功。
3、零知識(shí)性麻裳。證明過程執(zhí)行完之后口蝠,驗(yàn)證方只獲得了“證明方擁有這個(gè)知識(shí)”這條信息,而沒有獲得關(guān)于這個(gè)知識(shí)本身的任何一點(diǎn)信息津坑。
四妙蔗、零知識(shí)證明的典范Zcash
Zcash是一個(gè)數(shù)字貨幣,交易過程完全匿名是ZCash最大的亮點(diǎn)疆瑰,這一亮點(diǎn)使得ZCash自提出以來便備受關(guān)注眉反,Zcash能夠完全匿名化實(shí)現(xiàn)交易過程正是得益于使用了零知識(shí)證明這一“神秘”武器。
那么Zcash是如何利用零知識(shí)證明的呢穆役?
先看一下沒有采用零知識(shí)證明的普通的交易是如何進(jìn)行的寸五,假設(shè)A有3個(gè)BTC,要給B轉(zhuǎn)賬1個(gè)BTC耿币,那么在賬本上就會(huì)記錄著:A轉(zhuǎn)出了兩筆BTC梳杏,一筆為1BTC,轉(zhuǎn)給了B淹接;另一筆為2BTC十性,轉(zhuǎn)給了自己。這樣每一筆交易塑悼,由誰發(fā)起劲适,是誰接收都一目了然,在一些特定的場景之下厢蒜,交易者雙方并不希望把自己的交易信息公布于眾霞势,顯然這種交易方式是不滿足這些特定需求的。
那么利用了“零知識(shí)證明”的ZCash是怎么做到的所謂匿名呢郭怪?
ZCash的代幣為ZEC支示。同樣假設(shè)A有3個(gè)ZEC,要給B轉(zhuǎn)賬1個(gè)ZEC鄙才。
首先颂鸿,A會(huì)將自己的1個(gè)ZEC分成若干份隨機(jī)投入一系列的“混合容器”中,指定接收方B的地址攒庵,同時(shí)混入的時(shí)候還有其他交易方輸出的若干份ZEC嘴纺。這些ZEC又被混合容器隨機(jī)拆分,再從這些被拆分生成的所有的ZEC中取出合計(jì)為1ZEC的若干份浓冒,轉(zhuǎn)移到B的地址中栽渴,同時(shí)在發(fā)送的時(shí)間上也可以設(shè)置一定的延遲。
其中的“混合容器”稳懒,就是一條“公有鏈”闲擦。經(jīng)過這條公有鏈一系列的“混幣”過程,就使得包括交易地址和具體金額在內(nèi)的交易信息變得無從考證了。
當(dāng)然墅冷,雖然ZCash以其匿名性使其市場熱度一度很高纯路,但其仍面臨諸多障礙與“原罪”。
首先寞忿,要實(shí)現(xiàn)匿名性驰唬,其所需要的證明信息所花費(fèi)的計(jì)算資源就非常多,帶來了大量的資源浪費(fèi)腔彰,也導(dǎo)致了其可擴(kuò)展性面臨巨大挑戰(zhàn)叫编。
另外,匿名性會(huì)帶來大量的額外監(jiān)管問題霹抛,一旦有不法份子利用其用戶黃搓逾、賭、毒等違法領(lǐng)域上炎,將會(huì)給追蹤與監(jiān)管帶來非常大的挑戰(zhàn)恃逻,造成一系列社會(huì)問題。
五藕施、總結(jié)
在2017年12月3日舉辦的亞太以太坊技術(shù)交流會(huì)上寇损,以太坊創(chuàng)始人V神發(fā)表了主題為“以太坊區(qū)塊鏈中的隱私保護(hù)”的演講,在演講中裳食,V神為在場聽眾介紹了四種適用于以太坊區(qū)塊鏈的兼顧隱私性和安全性的解決方案——通道(Channels)矛市、混合器(Mixers)、環(huán)簽名(Ring Signature)及零知識(shí)證明(Zero knowledge proofs)诲祸。
其中浊吏,他特別提到,零知識(shí)證明是“最為強(qiáng)大”的解決方案救氯,盡管技術(shù)實(shí)現(xiàn)難度最高找田,但在保護(hù)在以太坊網(wǎng)絡(luò)的隱私性和安全性上,其效果最佳着憨。
V神還認(rèn)為墩衙,零知識(shí)證明能夠被應(yīng)用于以太坊區(qū)塊鏈上幾乎所有的場景。他透露甲抖,在以太坊未來的升級(jí)優(yōu)化中漆改,以太坊零知識(shí)證明的生成證明效率將得到大幅改善,削減到七秒准谚。
零知識(shí)證明雖然面臨著諸多的障礙和“原罪”挫剑,但仍舊無法遮擋其價(jià)值所帶來的光芒,至少零知識(shí)證明給交易安全帶來了一種可靠的選擇柱衔,值得學(xué)習(xí)和關(guān)注樊破。