前言
關注區塊鏈的朋友,經常會在圈子里面看到有關零知識證明的信息,而zksync、mina等知名項目都是使用到了零知識證明的相關技術。
而實際上,這并不是什么新技術,早在1985年,由MIT教授ShafiGoldwasser,SilvioMicali和密碼學大師Charles在《TheKnowledgeComplexityofInteractiveProof-Systems》論文中提出。
正是這篇文章提出了零知識證明這個偉大概念,并逐步成為了現代密碼學理論的根基之一,而ShafiGoldwasser和SilvioMicali也于2012年獲得了有“計算機界諾貝爾獎”之稱的圖靈獎。
什么是零知識證明
零知識證明指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。或許這樣的描述還不夠通俗,其實在我們日常生活中,也經常會有零知識證明的身影。
MolochDAO推出基于零知識證明的“隱私池”加密混合服務:3月7日消息,為以太坊基礎設施項目提供資金支持的去中心化自治組織MolochDAO推出基于零知識證明的“隱私池”加密混合服務,旨在保護鏈上交易時的隱私,同時還允許用戶證明他們遵守當地法規。
據悉,MolochDAO的隱私池(Privacy Pools)將利用零知識證明這一隱私保護技術,使用戶能夠證明他們正在將受制裁的錢包列入黑名單,同時無需透露他們是誰,也無需披露全部交易歷史。(The Defiant)[2023/3/7 12:46:33]
例1:
比如我有一個車子,我要向你證明我有車子的鑰匙能打開車門。
在這里,我要證明的論題是:我有這個車子的鑰匙,第一種做法是,我直接當你的面用車鑰匙打開車門,還有一種做法是,我直接拿出車里面的東西給你看。
波卡生態零知識證明項目Starks Network與KILT Protocol達成合作:據官方消息,2020年12月18日,波卡生態零知識證明項目Starks Network與來自德國柏林的KILT Protocol項目達成戰略合作協議。雙方將在中歐Web3數字身份實驗室的合作框架下,圍繞“自主權數據”與“自證明計算”的主題,并通過波卡區塊鏈的跨鏈功能進行功能交互與應用組合,在去中心化數字身份、可驗證數字憑證、零知識證明與數據隱私保護等方面展開全面合作。[2020/12/19 15:46:29]
第一種方法你直接看到鑰匙開門的過程,這不算零知識證明,因為你看到了鑰匙。
第二種方法,驗證者并不需要知道我用鑰匙開門的過程,也能判斷出我有這個車子的鑰匙,整個過程我們認為驗證者對于鑰匙是零知識的。
例2:
StarkWare零知識證明驗證程序ethSTARK已通過PeckShield安全審計:8月11日消息,區塊鏈安全公司PeckShield官方宣布,StarkWare公司零知識證明驗證程序ethSTARK已通過其全面安全審計服務。
ethSTARK是一個以太坊基金會支持的,由StarkWare公司開發的零知識證明(ZKP,Zero Knowledge Proof) 驗證程序,它實現了比現有ZKP算法更快的驗證速度,進一步提升了StarkWare在零知識證明領域的技術影響力。[2020/8/11]
A是紅綠色盲,B是正常人,現在有一個紅球和一個藍球,除了顏色,其他大小質地等其他因素完全一樣,因為A是色盲,他看到的這兩個球是一樣的,那B如何才能讓A相信這兩個球是不一樣的顏色呢?具體要怎么來做呢?
很簡單,B可以把兩個球都給A,A分別一只手拿一個球,并藏在自己身后,A自己決定要不要交換兩只手的球。
公告 | 安永發布第三代零知識證明區塊鏈技術 可通過批量處理降低交易成本:據安永官網今日公告,安永已在以太坊公共區塊鏈上的公共領域發布第三代零知識證明(ZKP)區塊鏈技術。第三代ZKP區塊鏈技術可通過在一次交易中將多個私人轉讓批量處理來顯著降低交易成本,有助于使公共區塊鏈上的私人交易更具可擴展性。[2019/12/19]
然后A再把兩只手的球拿給B看,B只需要判斷是否交換球即可,當然一次并不能證明,但如果我們猜100次呢,1000次呢,如果100次,甚至1000次B都能正確猜對是否交換兩個球,那A就可以推斷出這兩個球的顏色是不一樣的了。
在整個過程中,A都不知道球的正確顏色,所以我們認為A對于球的顏色是零知識的,但是A卻通過這樣的方式正確推斷出這兩個球的顏色不一樣。
零知識證明的性質
動態 | 荷蘭國際銀行推出區塊鏈隱私零知識技術:據coindesk消息,荷蘭國際銀行(ING Bank)本周在Sibos銀行會議上宣布,將發布其零知識集員(ZKSM)解決方案,將零知識技術應用于區塊鏈隱私。ZKSM允許在指定集合內驗證字母數字數據。實際上,這意味著從數字轉移到其它類型的數據,比如證明維度和地理位置。[2018/10/22]
上面的兩個例子著重強調了零知識證明的“零知識”這個特性,但零知識證明作為一種證明手段,它也應該具備證明的基本性質:一是足夠有說服力,而是無法作假。
具體而言,一種零知識證明的方法需要具備如下三個性質:
完備性:若證明方確實掌握了某論斷的答案,則他肯定能找到方法向驗證方證明他手中掌握的數據的正確性,即真的假不了。
可靠性:若證明方根本不掌握某論斷的答案,則他無法說服驗證方他手中所謂答案的準確性,即假的真不了。
零知識性:驗證方除了知道證明的結果外,對其他信息一無所知。
當然,現實生活中,還有很多這樣的例子,我們不一一列舉,用到零知識證明的項目很多,這里我們一起來了解一下zkSync,zkSync是基于ZKRollup架構的低成本擴容協議,主要通過零知識證明和數據可用性保障用戶資產安全。
zkSync的整體架構工作過程
Watcher負責監控zkSync合約交易,Sender發送zkSync智能合約的交易,而MemPool負責收集交易。
整個過程會產生兩種交易:L1交易和L2交易。
BlockProposer將交易打包,并更改世界狀態(PlasmaState)。在世界狀態更改后,通過BlockCommitter生成證明需要的信息。具體到存款和轉賬流程如下:
存款
1、用戶調用L1zkSync智能合約存儲資金,該交易發生在L1;
2、Watcher監控L1存款交易,當交易發生時則會放入Mempool中,該過程一般會經過10個區塊確認,但實際使用中,可能需要更長時間L1的充幣交易才會在L2中生效;
3、BlockProposer處理Mempool交易打包,并提交StateKeeper更新賬本,充幣交易的狀態隨之變化。
轉賬
1、當用戶想要使用L2低成本快速轉賬時,調用zkSyncAPI提交轉賬交易;
2、交易同樣會按照流程Mempool-->BlockProposer-->StateKeeper進行流轉;
3、最終StateKeeper通知BlockCommiter收集生成零知識證明所需信息,調用PlonK證明系統生成零知識證明后,借助Sender將存款和轉賬等交易數據,以及將對應的零知識證明提交到L1的zkSync智能合約驗證,等待L1交易確認后,Watcher會通知L2更新交易狀態為最終確認。
zkSync采用PlonK零知識證明系統,其中包括ProverServer和ProvingClient,在電路設計上,非常巧妙的將交易分割成一個個小的通用處理單元。
一個Operation對應的證明電路邏輯支持所有可能交易的Operation邏輯。多個有關聯的Operation電路組成交易電路。
多個交易的電路再組合成區塊電路。從而,在固定大小的區塊中也能包含不同組合的交易。zkSync開源了PlonK算法的驗證電路,能進行多個PlonK證明。
相關代碼鏈接如下:
https://github.com/matter-labs/recursive_aggregation_circuit
而在整個充幣和轉賬過程中,zkSync并不需要獨立生成新賬戶,zkSync的L2賬戶和L1賬戶是一一對應的,“共享”一份私鑰,準確的說,L1的私鑰的ECDSA簽名的結果作為L2賬戶的私鑰。
這樣在使用的時候很方便,我們直接使用L1的地址就可以在L2上完成充幣,轉賬或者提幣的操作。
總結
截止目前,imToken和gitcoin已經深度集成了zkSync,后面還會有更多的項目接入,而隨著ETH交易量的高速增長,交易的擁堵和高昂的礦工費必將促進Layer2賽道的競爭,zkSync作為零知識證明系統應用的先行者,或許值得期待。
吳說作者|廣東廣強律師事務所李澤民律師韓武斌律師本文獨家授權吳說發布與編輯十部門發布的《關于進一步防范和處置虛擬貨幣交易炒作風險的通知》,其中的重磅條款.
1900/1/1 0:00:00作者:必查客 今年夏天GameFi、NFTFi迎來爆發期,而SocialFi的概念也隨之重啟。其實SocialFi的概念,在去年時AndreCronje、Bitmex創始人等都曾提到過,并且與G.
1900/1/1 0:00:00吳說作者|談叔 本期編輯|ColinWu比特幣現貨ETF最后期限被拒絕11月12日,SEC拒絕了VanEck的比特幣現貨ETF申請.
1900/1/1 0:00:00“雙11”,又稱“光棍節”,是世界上最大的網絡購物節,比黑色星期五和網絡星期一的總和還要大,自2009年以來,每年都在不斷刷新令人震驚的商品總價值記錄.
1900/1/1 0:00:009月15日,MantaNetwork先行網CalamariNetwork以218,247KSM鎖倉投票贏得Kusama第7個平行鏈插槽競拍,已接入Kusama網絡成為平行鏈出塊.
1900/1/1 0:00:00在近年來區塊鏈技術概念越來越火爆的情況下基于金融行業的相關技術平臺大量出現,吸引了很多的金融理財人事.
1900/1/1 0:00:00