在復雜的密碼學領域,零知識證明為一項看似矛盾的任務提供了獨特的解決方案:在不透露信息本身的情況下證明知道某一信息。這種加密方法涉及兩方:證明者及驗證者。證明者的目的是證明他們擁有某一信息(我們稱之為x),而不透露任何關于x本身的數據。驗證者則從交流中了解到的只是證明者擁有這種知識的簡單事實。最重要的是,驗證者并沒有獲得關于x的額外信息。
比如當小零與小十在玩密室逃脫,此時小零告訴小十他已經破解了某“寶箱”的密碼。但是小零不愿意直接分享現成的“答案”,也不愿當著小十的面將寶箱打開。那么怎樣證明給小十,他真的破解了迷題并且知道寶箱密碼呢?
于是他讓小十在一張紙上寫一段只有自己知道的字符串,同時簽上自己名字,將紙張從寶箱的縫隙中塞了進去。
隨后小零打開寶箱取出了小十放進去的紙張,并展示給了小十看,小十核對字符串和簽名無誤。這證明了小零確實知道寶箱密碼,而且這張紙確實是寶箱里拿出來的。
該解密過程既沒有被小十知曉,同時小零又證明了他已破解了寶箱密碼。
零知識證明
密碼學中,零知識證明(Zero Knowledge Proof,也稱ZKP)或零知識協議是一種方法,該方法可令證明者在不透露信息本身或其他任何信息的情況下,讓驗證者相信或證明給驗證者某個陳述或論斷的真實性。
聲音 | 肖颯:區塊鏈技術在民營企業融資增新支持體系建設上將發揮作用:中國銀行法學研究會理事肖颯今日發表題為《“民企意見”將如何影響法律市場?》的分析文章。文章中表示,昨天《關于營造更好發展環境支持民營企業改革發展的意見》(以下簡稱:“民企意見”)正式公布。“民企意見”中提到“完善民營企業直接融資支持制度”,除了創業板、新三板之外,還提到依法合規前提下,支持“資管產品”“保險資金”通過投資“私募股權基金”等方式積極參與民營企業紓困,意見已經提出方向,具體如何操作,確實需要投融資律師的聰明才智,打通合規渠道,讓民營企業放開手腳。同時,肖颯認為當下最火的技術“區塊鏈技術”,除了在數字法幣中發揮重大作用,在民營企業融資增新支持體系的建設上,會寫下濃墨重彩的一筆。[2019/12/23]
零知識證明最初是于由麻省理工教授Shafi Goldwasser、Silvio Micali以及密碼學大師Charles Rockoff三位作者在《The Knowledge Complexity of Interactive Proof Systems》論文中提出的。該一算法概念為現代密碼學奠定了一定基礎。
零知識證明有兩個額外的屬性:簡明性和零知識。簡明性允許驗證者接受一個大型計算的正確性,而無需自己計算該語句或陳述。而零知識保證了沒有任何關于輸入的數據被泄露。
聲音 | 浪潮集團執行總裁:當前區塊鏈等新技術融合疊加 企業數字化轉型進入深水區:據中國新聞網報道,第七屆管理會計論壇16日在上海國家會計學院舉行。浪潮集團執行總裁王興山指出,當前云計算、5G、區塊鏈、AI等新技術融合疊加,產業革命持續深入,企業數字化轉型進入深水區。[2019/11/18]
零知識證明對于確保許多加密協議的隱私和安全至關重要。它們是防止潛在信息泄露的保障,是Crypto世界的隱形防彈衣。該知識的應用可延伸至不同領域,包括區塊鏈技術和安全認證系統,其中敏感數據的保護是最重要的。
應用領域廣泛
區塊鏈及加密技術:像Zcash這樣的區塊鏈技術使用了零知識證明來保護交易隱私。一個人可以證明他們有足夠的Cypto貨幣來進行交易但又不透露其資金的確切數額。這保證了隱私的同時確保了交易的完整性。身份驗證及認證:零知識證明還可以在不透露不必要的信息同時,用于確認身份。例如,一個人可以在不提供確切的出生日期的情況下證明他們已經超過18歲,或者在不分享密碼等敏感數據的情況下證明他們的身份。這最大限度地減少了盜取身份或未經授權訪問的風險。
安全多方計算(SMPC):零知識證明可以促進多方之間的復雜互動,其中每一方都可以證明他們遵循商定的協議,而不透露其輸入的具體內容。這在如保護隱私的數據挖掘、安全投票系統等諸多方面都十分有效。網絡安全:零知識證明可以提供改進的安全協議,如安全密碼政策。其可以驗證用戶提出的密碼是否符合某些安全標準,而不讓服務器知曉或記錄實際密碼。因為密碼不會被儲存在任何地方,因此可以防止潛在的違規行為。保護隱私的同時共享數據:零知識證明可以用來證明某些數據符合特定的要求,而不透露數據本身,這在醫療或金融等領域尤其重要。這些領域對數據隱私的規定很嚴格,但以安全、保護隱私的方式分享信息或許會帶來巨大收益,比如促進醫療事業的發展等等。零知識證明已經在區塊鏈中釋放了新的技術可能性。這可以從ZKSync和Polygon的zkEVM等各種Layer 2中看到。然而,這僅僅是零知識證明創建的區塊鏈的一個子集。
金色財經現場報道 云鏈科技CEO:區塊鏈中的四不信:金色財經現場報道,在2018大數據產業峰會上,中國物流與采購聯合會區塊鏈應用分會執行秘書長云鏈科技CEO潘海洪表示,區塊鏈中要有四不信,只談幣不談鏈的不要信、毫無信用痛點不要信、非多方參與不要信、未降本增效不要信。[2018/4/19]
如何表示一個證明
在這一節以及文章的其余部分,我們將重點討論為基于PLONK證明系統構建的證明。
PLONK是一種零知識證明系統,其全稱是:
“Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge”,即“基于拉格朗日基數的全局非交互式知識證明排列”。
從本質上講,PLONK是一個通用的、可更新的加密證明系統,這一創新允許在區塊鏈系統和其他分布式網絡中進行有效的驗證和擴展。PLONK背后的想法是構建一個通用的且可更新的證明系統。在零知識證明系統的背景下,“通用”意味著它可以被用于任何類型的計算;“可更新”則意味著加密參考字符串(用于生成和驗證證明的一段數據)可以隨著時間的推移安全地更新。
韓國移動社交應用Kakao成立區塊鏈子公司: 韓國移動社交公司Kakao今日透露,正準備建立一個子公司來提供基于區塊鏈的服務,具體細節尚未決定。目前已經通過支付結算公司“Kakao Pay”運行基于區塊鏈接的授權認證服務。[2018/3/5]
PLONK因其高效和簡單性而引人注目,也因此成為了對安全、私密交易系統有需求的項目及公司的熱門選擇。與其他系統相比,它每個gate(計算的基本單位,我們下文統稱“門”)使用的約束條件更少,這使得計算速度更快且可擴展性更高。Vitalik Buterin已經發表了關于PLONK的更全面的描述。[復制下鏈接至瀏覽器即可查看原文https://vitalik.ca/general/2019/09/22/plonk.html]
證明
在證明某個陳述前,我們先將該陳述用電路表示。一個電路將計算中的值與另外兩種類型的數據一起編碼:
1. 操作:比如對輸入數據進行的乘法和加法計算2. 操作執行的順序
為了編碼這些數據,PLONKish電路會被表示為一組向量和約束條件。約束條件是向量中單元必須遵守的關系,其中約束類型有:門約束和復制約束,他們分別表示電路中的操作和操作的順序。
萬向區塊鏈:與“萬象交易所(或平臺)”及“CCEC”項目完全無關:近期,市場上出現公開宣傳以“萬象集團”、“萬象平臺”或“萬象交易所”名義發行的“CCEC”幣項目,并以“萬象區塊鏈實驗室”的名義進行宣傳。萬向區塊鏈公司知悉后,對上述內容深表關注,并于今日發布聲明稱:上海萬向區塊鏈股份公司及關聯公司與任何聲稱為“CCEC”項目的個人或實體及其任何業務或活動完全無關。“CCEC”項目的宣傳具有極大的誤導性,萬向區塊鏈提醒投資者和社會公眾切勿將該公司與“CCEC”項目宣傳的“萬象集團”、“萬象平臺”、“萬象交易所”、“萬象區塊鏈實驗室”相混淆及誤認。萬向區塊鏈同時強調,該公司及其關聯公司從未與“CCEC”項目進行過任何形式的合作,并且從未以任何形式授權、同意、或允許“CCEC”以任何形式使用該公司及其關聯公司的名稱進行宣傳。萬向區塊鏈就“CCEC”項目侵犯該公司及其關聯公司之合法權益,包括惡意混淆并使用任何侵犯公司名稱、商標的行為,謹此保留一切采取法律行動之權利。如發現任何其他相關的誤導或欺詐行為,萬向區塊鏈公司將立即報案,以維護公司的合法權益。[2018/2/12]
采用不同的門和電路架構,有多種方法來表達電路。
將陳述表示為一個電路
假設我們有兩個門:一個乘法門和一個加法門。乘法門被表示為一個長度為3的向量|a|b|c|。如果這個門被選中,那么它將約束c等于a*b。同樣,加法門表示為一個長度為3的向量,如果選擇加法門,則c等于a+b。使用這些門,讓我們表示兩個向量(a,b)和(c,d)之間的點積。要做到這一點,我們需要完成以下計算:1. 使用乘法門計算a*b2. 用乘法門計算c*d3. 用加法門計算ab+cd這可以用向量來表示。
注意,第一個和第二個乘法門的輸出是加法門的輸入值。這個數據在我們的電路中是和門的約束條件分開編碼的。這被稱為復制約束。那么,為什么電路約束很重要呢?如果沒有約束,那么惡意驗證者就可以在電路中輸入他們喜歡的任何數值。例如,驗證者可以用aba*b替換ab+cd。與智能合約類似,約束條件在使用前必須通過證明系統得到驗證。
證明陳述
現在我們可以用電路來表示陳述,那么證明者如何說服驗證者證明是有效的呢?對于PLONK系統來說,證明者必須讓驗證者相信門的約束和復制約束得到了實現。對于復制約束來說,這是通過進行排列組合檢查來實現的。
替換檢查是由Bayer-Groth首先提出的,然后由Gabizon、Williamson和Ciobotaru在PLONK論文中得到了進一步發展。為了證明門的約束,需要計算某個quotient polynomial(商的多項式)。
直觀地說,置換檢查表明,如果復制約束的條目被置換,電路仍然是相同的。 置換檢查
如果對于b的所有第i個位置,存在與a相等的σ(i)位置,我們就說一個矢量a與矢量b之間是通過置換σ來關聯的。我們將其表示為σ(a)=b。給定兩個向量a=(a,b,...,c), b=(a',b',...,c')$, 和置換σ,我們想確定σ(a)=b。這可以按以下方法進行:
將向量表示為a'=((a,1),(b,2),...,(c,n))和b'=((a',σ(1),(b',σ(2)),...,(c',σ(n)) )。這是對關于置換σ的向量進行編碼。
將向量重寫為多項式向量:a''=((a+1X),(b+2X),...,(c+nX))和b''=((a'+σ(1)X), (b'+σ(2)X),..., (c'+σ(n)X))
檢查a''和b''作為多集是否等價,可以通過隨機選擇gamma來完成,從而顯示$(a+1X+γ)(b+2X+γ)....(c+nX+γ) = (a'+σ(1)X)+γ)(b'+σ(2)X+γ)....(c'+σ(n)X+γ)$ 。
通過隨機選擇一個β,我們可以通過Schwartz-Zippel lemma檢查這些多項式是否等價。如果它們作為多項式是等價的,那么集合a''和b''作為多集則是等價的。如果它們不是等價多項式,那么a''和b''就不是等價的多集。
寫在最后
雖然零知識證明是一個復雜的主題,但其應用率卻在不斷攀升。本文我們已經對零知識證明的工作原理進行了直觀的解釋。日后,CertiK團隊將與大家一起深入探討零知識證明的應用以及團隊如何為新的用例優化其電路。
CertiK中文社區
企業專欄
閱讀更多
區塊律動BlockBeats
曼昆區塊鏈法律
Foresight News
GWEI Research
吳說區塊鏈
西柚yoga
ETH中文
金色早8點
金色財經 子木
ABCDE
0xAyA
作者:比推BitpushNews Mary Liu盡管圍繞 Ordinals NFT 和BRC-20 的熱度已經有所平息,比特幣擴容卻將迎來新一輪的顛覆浪潮.
1900/1/1 0:00:00目錄 一、項目簡介 二、項目愿景 三、特色和優勢 1.特色 (1)模塊化 (2)架構 (3)解耦執行 2.
1900/1/1 0:00:00區塊鏈游戲正在創造一種新的現狀——一種由開放經濟、用戶所有權和玩家是重要參與方這三個特點所定義的現狀。這些下一代游戲具有通證化的游戲內物品、角色和貨幣,使玩家能夠在彼此之間自由交易.
1900/1/1 0:00:00最近幣安在泰國獲得數字資產運營商牌照,這是幣安在東南亞的首張牌照。該許可證授予了他們的新合資企業Gulf Binance,該公司將作為數字資產交易所和數字資產經紀人運營,由 Binance 的技.
1900/1/1 0:00:00作者:美國眾議院官方網站;編譯:PANews6月1日,香港《適用于虛擬資產交易平臺營運者的指引》正式生效,短短兩天后.
1900/1/1 0:00:00作者:@Hercules_Defi;編譯:Web3地圖探尋未知,展望未來,這篇深入解析"超級鏈"(Superchains)演變之路的文章提供了一次絕佳的機會.
1900/1/1 0:00:00