作者:陳致佳、蒙繹澤、謝倩、江澤武報告摘要:零知識證明是一種基于概率的驗證方式,驗證的內容包括“事實類陳述”和“關于個人知識的陳述”。驗證者基于一定的隨機性向證明者提出問題,如果都能給出正確回答,則說明證明者大概率擁有他所聲稱的“知識”。Zerocoin將零知識驗證用于鑄造零幣和贖回零幣過程中,以隱藏了一筆交易對應的發送方和接收方信息,Zerocash采用更新穎的zkSNARKs技術,將需要驗證的交易內容轉換成證明兩個多項式乘積相等,結合同態加密等技術在保護隱藏交易金額的同時進行交易驗證。缺點在于若網絡收到攻擊超發零鈔,則無法發現或采取措施;Zerocoin和Zerocash均需要進行預先的“信任設置”,沒有達到真正的“去信任”。英特爾SGX、zkSTARKs等新技術有可能解決上述問題,但仍需經過實踐的檢驗。一、零知識證明原理零知識證明是一種加密方案,最初在20實際80年代由MIT研究人員在論文中提出。“零知識協議是一方可以向另一方證明某事是真實的方法,除了這一具體陳述是真實的事實以外,不透露任何額外的信息。例如對于現在登錄網站而言,在Web服務器上存儲了客戶的密碼的哈希值,為了驗證客戶實際上知道密碼,目前大部分網站采用的方式是服務器對客戶輸入的密碼進行哈希計算,并與已存結果對比,但是這種方式的弊病在于服務器在計算時就可以知道客戶的原始密碼,一旦服務器被攻擊,用戶的密碼也就泄露了。如果能夠實現零知識證明,那么就可以在不知道客戶密碼的前提下,進行客戶登錄的驗證,即使服務器被攻擊,由于并未存儲客戶明文密碼,用戶的賬戶還是安全的。基本的零知識證明協議是交互式的,需要驗證方向證明方不斷詢問一系列有關其所掌握的“知識”的問題,如果均能夠給出正確回答,那么從概率上來講,證明方的確很有可能知道其所聲稱的“知識”。例如某人聲稱知道一個數獨難題的答案,一種零知識證明的方式是驗證方隨機指定這一次按列、按行還是按九宮格來檢測,每次檢測不需要看到數字擺的具體位置,只需要檢測出來是否包含了1-9個數字即可,只要驗證的次數足夠多,那么可以大概率相信證明方是知道數獨題目的解的。但是這樣簡單的方式還不能讓人相信證明方和驗證方均沒有作假,在數獨的案例中,兩者有可能事先串通好,從而使得證明方在不知道答案的前提下通過驗證。如果他們想讓第三方信服,驗證方必須也要證明自己每次的檢測方案是隨機的且自己沒有和證明方串通。由于第三方觀察者難以驗證交互式零知識證明的結果,因此當我們向多人證明某些內容時,我們需要付出額外的努力和成本。而非交互式的零知識證明顧名思義,不需要互動過程,避免了串通的可能性,但是可能會額外需要一些機器和程序來決定試驗的序列:例如在數獨的例子中,通過程序的方式來決定哪一次按行、哪一次按列來檢測,但是這個試驗序列必須保密,否則驗證方預先知道了試驗的序列就有可能利用這個信息,提前準備,在并不知道真實“知識”的情況下通過驗證。零知識證明的內容可以概括為兩類:“事實”類陳述:例如證明“一個特定的圖可以進行三著色。”或者“一個數N是合數”;關于個人知識的陳述:例如“我知道這個特定圖的染色方案”或者“我知道N的因式分解”。但并不是所有的問題都有零知識證明的加密方案,Goldreich,Micali和Wigderson給出了理論上存在零知識證明解的有效范圍。他們發現對于在多項式時間內可以驗證解的決策問題,存在已知的零知識證明方案。只需要在這樣NP問題中找到想要證明的論述,并轉化為三色問題的一個實例,那么就可以利用已有的協議實現零知識證明。由于三色問題屬于NPC問題,任何其他的NP問題都可以轉化為這個問題的實例。二、區塊鏈中的零知識證明應用在區塊鏈上的交易中,如比特幣和以太坊網絡網絡,除了使用地址來替換交易雙方的真實身份,使得交易具有部分匿名性以外,發送、接收地址和金額都是已知的,別人有可能通過網絡上的各種信息、和現實世界發生的交互記錄等將比特幣地址和真實身份對應起來,也因此具有隱私暴露的隱患。Zerocoin設計了一種全新的思路,無法通過交易歷史分析來獲得用戶真實身份。Zerocoin里需要消耗一定價值的要交易的貨幣,以生成具有獨特序列號的一枚零幣。零知識證明可以在不透露花費了具體哪個貨幣的基礎上,驗證出你的確花了這筆錢。為了將這筆錢轉給他人,邏輯上需要我們使得這枚零幣不能再被別人花費,零幣的辦法是大家共同維護一個作廢列表,存著所有已經花費的零幣的序列號。礦工在驗證這筆花費交易時運用零知識證明的方法,不需要知道具體花掉哪一個零幣,也可以驗證零幣的序列號是否在作廢列表里。由于花費交易并沒有輸入地址和簽名的信息,整個交易過程中,礦工也并不知道這個零幣的來源,因此也就難以對交易歷史進行分析而獲取用戶身份。在零幣里,交易的金額是可以知道的,而采用zkSNARKs技術的Zerocash連交易金額都可以隱密,賬本唯一公開記錄的唯一內容就是交易的存在性。可以證明對于NP中的所有問題存在zkSNARKs。它引入了多項創新技術,使它們可以在區塊鏈中使用。最重要的是,zkSNARKs減少了證明的大小和驗證它們所需的計算量。它的過程可以簡述為。1.將要驗證的程序拆解成一個個邏輯上的驗證步驟,將這些邏輯上的步驟拆解成由加減乘除構成的算數電路。2.通過一系列的變換將需要驗證的程序轉換成驗證多項式乘積是相等的,如證明th=wv。3.為了使得證明更加簡潔,驗證者預先隨機選擇幾個檢查點s,檢查在這幾個點上的等式是否成立。4.通過同態編碼/加密的方式使得驗證者在計算等式時不知道實際的輸入數值,但是仍能進行驗證。5.在等式左右兩邊可以同時乘上一個不為0的保密的數值k,那么在驗證hk)等于vk)時,就無法知道具體的t、h、w、v,因此可以使得信息得到保護。不同于Zerocoin的密碼學原語RSA累加器,zkSNARKs技術較新,未經廣泛驗證,存在風險,同時由于更強的匿名性,Zerocash的漏洞也更難發現,和Zerocoin相比,Zerocash由于交易金額信息也是未知的,所以如果有攻擊者無限制地發行零鈔,這樣的情況是無法檢測的。除此以外Zerocoin和Zerocash均需要提前內置生成參數,用戶在使用這些網絡的時候必須信任這些參數沒有被泄露,但是一旦這些參數被泄露,整個網絡將面臨毀滅性打擊。復雜的信任設置使得Zerocash存在爭議,即使他們設計了一套“儀式”來證明自己。可能的解決辦法包括利用像英特爾SGX和ARMTrustZone這樣的現代“可信執行環境”。就英特爾的SGX技術而言,即使應用程序、操作系統、BIOS或VMM遭到了破壞,私鑰也是安全的。除此以外,最新提出的zkSTARKs技術不需要進行信任設置。根據zkSTARKs白皮書中所述,zkSTARKs是首次實現既可以不依賴任何信任設置來完成區塊鏈驗證,同時計算速度隨著計算數據量的增加而指數級加速的系統。它不依賴公鑰密碼系統,更簡單的假設使得它理論上更安全,因為它唯一的加密假設是散列函數是不可預測的,因此也使其具有抗量子性。作為一種新穎的技術,和zkSTARKs一樣,它也需要經過時間的檢驗。參考文獻:1.Zcoin中文社區,《Zcoin和Zcash:相似性和不同處》.http://www.zcoinchina.org/zcoin-and-zcash/2.Zcash團隊,《Whatarezk-SNARKs?》https://z.cash/technology/zksnarks.html.3.零幣技術白皮書《一種通過使用零幣協議(zerocoinprotocol)來保障賬務隱私的加密貨幣》4.ChristianReitwiessner,《zkSNARKsinanutshell》,https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell/5.MatthewGreen,《ZeroKnowledgeProofs:Anillustratedprimer》,https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/6.老錢,《一個數獨引發的慘案:零知識證明》,http://www.sohu.com/a/224915382_117959文章版權為哈希未來所有,如需轉載,請聯系哈希未來工作人員。哈希未來以科普小白區塊鏈知識,“協議層—技術層—應用層”三位一體的區塊鏈資產交易平臺,解決資產上鏈與跨鏈流通,聚焦底層技術與應用場景的研究平臺,致力于打造可信的數字時代。
零知識證明初創公司RISC Zero完成1200萬美元種子輪融資:8月9日消息,零知識證明初創公司 RISC Zero 宣布完成 1200 萬美元種子輪融資,Bain Capital Crypto 領投,Geometry 、D1 Ventures 和 Cota Capital 等參投。本輪所融資金將用于構建對開發人員友好的可擴展區塊鏈。今年 3 月,RISC Zero 推出了零知識證明虛擬機,該虛擬機使開發人員能夠構建零知識證明,并使用各種編程語言在任何計算機上執行。(The Block)[2022/8/9 12:13:26]
DoraHacks平臺開始支持基于零知識證明的隱私二次方資助:據官方消息,DoraHacks開發者激勵平臺HackerLink已經完成整合Dora Factory隱私投票模塊MACI,并開始支持基于零知識證明的二次方投票和二次方資助輪次。
MACI(最小化抗共謀基礎設施)是Dora Factory以太坊工廠的核心模塊之一,通過對投票進行加密以及對結果提供零知識證明,實現隱私投票,將鏈上和鏈下治理的投票過程轉化為非合作博弈,以達到抗共謀的目的。
DoraHacks對MACI代碼中的安全性和效率問題進行了系統性優化。ETH Denver 2022將于2月20日與DoraHacks共同推出第一個中等規模的MACI二次方資助輪次,超過2,000名開發者和10,000名參會者將通過DoraHacks平臺進行零知識二次方投票,這是MACI和鏈上隱私投票的第一次中等規模應用。[2022/1/28 9:19:46]
零知識證明系統Bulletproofs+代碼獲準可在門羅幣協議中使用:12月30日,門羅幣發推宣布,零知識證明系統Bulletproofs+的代碼現已獲得許可,可在Monero協議中使用,以替代現有的Bulletproofs零知識證明系統。新系統將使得門羅交易結構變得更小,錢包交易速度更快以及網絡驗證速度更快。此外,官方表示,該代碼具有功能性并包括對基礎算法的測試,若考慮將來在門羅幣網絡升級中進行部署,則應該由第三方進行審核。[2020/12/30 16:04:23]
動態 | 0x 協議推出基于零知識證明技術的 StarkDEX 測試版,每秒可處理逾 550 筆交易:去中心化交易協議 0x 宣布推出去中心化交易基礎設施 StarkDEX,并提供了 Alpha 測試版供模擬交易。StarkDEX 由 0x 與零知識證明技術開發公司 StarkWare 合作開發,目的是使用 STARKs 技術突破非監管交易的無形限制,使加密貨幣交易所為用戶提供大規模而無對手風險的交易。0x 表示目前 StarkDEX 每區塊最多可批量處理 8000 筆交易,每秒可處理逾 550 筆交易,手續費成本則降低 200 倍。[2019/6/4]
動態 | 摩根大通正在測試零知識隱私解決方案:據coindesk報道,摩根大通(JPMorgan Chase)正在測試一種名為AZTEC的零知識隱私解決方案。該協議由倫敦創業公司AZTEC開發,旨在以更低的成本和更高效的方式對區塊鏈數據進行加密。摩根大通內部人士證實,該銀行的Quorum團隊正在關注AZTEC,并且一直希望將Quorum的零知識證明工業化。[2019/3/1]
在數千億美元的數字貨幣市場中,服務機構占了多大份額?這很難統計。但一些從業者估計,平均每個代幣項目會將20%的代幣用于市場營銷.
1900/1/1 0:00:00據TrustNode消息,V神稱以太坊最新擴容方案Plasma“基本準備好了”,但是沒有透露具體時間規劃。另外,他相信在Plasma部署完成后,法定數字貨幣可以立馬或者在短期內上線以太坊網絡.
1900/1/1 0:00:00上周,Odaily星球日報發表“麥當勞發行MacCoin代幣,會與“巨無霸指數”掛鉤嗎?”后,立刻在我們吃貨“云集”的作者群中引起騷動.
1900/1/1 0:00:00此前的報道中,我們介紹過IOTEX、COT、CPChain、IOTA等將物聯網與區塊鏈結合的項目.
1900/1/1 0:00:007月5日,區塊鏈社交平臺YeeCall宣布完成數千萬元戰略融資,由上市公司利歐股份旗下利歐數字領投,什馬金融、靜遠資本、旌閣投資等機構以及老股東跟投.
1900/1/1 0:00:00幣圈入冬已有一段時間,這些日子里,即使是最狂熱的比特幣信仰者,也漸漸感到了沮喪。從當前市場表現上看,熊市還會持續很長一段時間。既然當下誰也說不準春天什么時候能夠到來,那我們更應該做好過冬的準備.
1900/1/1 0:00:00