零知识证明:从入门到入土
零知識(shí)證明:從入門到入土
文章共8000字,預(yù)計(jì)閱讀時(shí)間30-35分鐘。
這篇博客的靈感來(lái)源于我的好朋友Kokii(Joey),感謝他通俗、詳盡且充滿趣味的介紹 !
在談?wù)摗噶阒R(shí)證明」之前 ,首先需要明確其定義 :證明(Prover)向驗(yàn)證者(Verifier)證明一個(gè)命題成立 ,同時(shí)「不泄露其他任何知識(shí)」 ,這種就被稱為「零知識(shí)證明」 。鑒于「零知識(shí)證明」這個(gè)詞太長(zhǎng),簡(jiǎn)稱「zk」。文章是個(gè)人對(duì)于zk的理解 ,歡迎討論。
為什么要zk
隱私
一個(gè)用戶如果用過(guò)加密貨幣,就會(huì)發(fā)現(xiàn),它并不像傳說(shuō)中的那么「保密」?!覆槐C堋沟脑蝻@然 ,加密貨幣的信息都在區(qū)塊鏈上 ,任何人都查詢的到 。雖然比特幣等一部分加密貨幣出于隱私考慮,會(huì)給用戶分配一個(gè)隨機(jī)的地址,但這更像是「假名」,而不是號(hào)稱的「匿名」,一旦用戶到交易所將加密貨幣換成了法幣 ,「假名」就和現(xiàn)實(shí)中的人對(duì)應(yīng)上了 ?!讣倜咕拖瘛革L(fēng)清揚(yáng)」,初看無(wú)意義 ,但如果某次偶然 ,你發(fā)現(xiàn)「風(fēng)清揚(yáng)」對(duì)應(yīng)著馬云,之后再看到署名「風(fēng)清揚(yáng)」的郵件你就能想到那張大臉。「匿名」像大專院校的「校園墻」 ,墻上所有消息都是不署名的 ,對(duì)隱私的保護(hù)也更強(qiáng) 。如果我們需要證明自己在「校園墻」上發(fā)過(guò)消息,但不想透露發(fā)的是什么消息,這時(shí)候該怎么辦 ?如果還記得上面zk的定義 ,會(huì)發(fā)現(xiàn)zk完美地契合這種需求。
這就揭露了zk在區(qū)塊鏈領(lǐng)域的第一個(gè)主要用途——隱私 ,如果需要證明自己擁有某類賬戶的私鑰但不想透露具體的賬戶地址,如果需要證明自己持有某種NFT一定時(shí)間但不想透露持有哪個(gè)NFT,這時(shí)就需要用到zk 。
擴(kuò)容
以太坊的開發(fā)者和用戶常常抱怨主鏈過(guò)慢的交易速度和過(guò)高的gas fee,為了解決這些問(wèn)題,以太坊發(fā)展出了Layer 2,當(dāng)前主流的Layer 2有兩種:Optimism roll-up和ZK roll-up。
Optimism roll-up目前最為常用,它默認(rèn)對(duì)交易不執(zhí)行任何計(jì)算 ,但為了防止欺詐,如果有人能夠發(fā)現(xiàn)交易中的欺詐 ,可以進(jìn)行證明并提出異議,如果異議被核實(shí),欺詐者會(huì)受到懲罰,證明者會(huì)收獲獎(jiǎng)勵(lì)。因?yàn)榭赡苄枰却愖h,Optimism roll-up中交易的等待時(shí)間會(huì)比較長(zhǎng)。

ZK roll-up顧名思義,是使用到zk的擴(kuò)容方式 。ZK roll-up會(huì)打包數(shù)百個(gè)交易生成SNARK(簡(jiǎn)潔的非交互式知識(shí)論證)或 STARK(可擴(kuò)展的透明知識(shí)論證)形式的有效性證明。ZK roll-up Layer 2的狀態(tài)轉(zhuǎn)移只需要提供有效性證明