以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > Gateio > Info

ALI:簡明理解零知識證明歷史、原理與發展現狀

Author:

Time:1900/1/1 0:00:00

原文標題:《零知識證明最簡介紹:歷史、原理、實現》

密碼學可以說是區塊鏈技術的基石,而其中的零知識證明更是因為深度契合區塊鏈的技術特點,而得到了廣泛的應用和關注。

本文旨在用最簡單的語言和形式,向大家介紹零知識證明相關的歷史、概念、原理、技術實現以及發展現狀。

那么讓我們開始吧。

歷史和起源

密碼學是一門可以追溯到2000多年前的古老學問,其發展歷史主要可以劃分為以下幾個階段:

古典密碼學

這一時期的密碼學主要被應用于軍事領域,如何有效的傳遞密文,又能防止被敵人截獲后破解,是其主要考量。16世紀由法國人發明的「維吉尼亞密碼」是古典密碼理論發展上的一個重要里程碑,它使用一個詞組作為密鑰,詞組中每一個字母都將確定一個替換表,「維吉尼亞密碼」循環的使用每一個替換表完成明文字母到密文字母的變化。

明文:ilovebitcoin

密鑰:satoshi

對于第一個字母i,取第i行第s列,得到A;第二個字母l,取第l行第a列,得到L…依次循環,最后得到密文:ALHJWIQLCHWF。可見,在不知道密鑰的前提下,不借助計算機已經非常難以破解這樣的密碼。

近代密碼學

這一階段真正的開始源于香農在20世紀40年代末發表的一系列論文,特別是1949年的「CommunicationTheoryofSecrecySystems」,把已有數千年歷史的密碼學推向了基于信息論的科學軌道,密碼學終于從藝術轉向科學。

這一時期的重要突破是DES的出現,直至今日也只能用窮舉法對其進行破解。DES加密算法風行世界,并在金融等商業領域得到了廣泛的應用。

Web3游戲工作室Pomerium獲得2000萬美元天使投資:5月26日消息,Web3游戲工作室Pomerium宣布其已從一位未公開的投資者那里獲得了2000萬美元的天使投資。這筆資金將使該公司能夠擴大其基于區塊鏈的游戲組合,并推動Web3游戲創新。

據悉,Pomerium成立于2022年2月,是一個專注于移動游戲的Web3多游戲平臺。該平臺的代幣經濟旨在創建可持續的移動游戲生態系統。Pomerium計劃在未來幾年擴大其在GameFi市場的服務。[2023/5/26 10:41:05]

現代密碼學

1977年,麻省理工學院的RonRivest、AdiShamir、LeonardAdleman提出的非對稱加密算法RSA,有效的解決了密鑰傳送的問題,標志著密碼學進入了百家爭鳴的現代階段。

1989年,由麻省理工學院研究人員Goldwasser、Micali及Rackoff提出了「零知識證明」的概念,當時的他們一定不曾想到,若干年后出現的區塊鏈技術徹底激活了零知識證明的應用,而零知識證明則為區塊鏈技術提供了一種絕佳的解決方案。零知識證明的方法特點和區塊鏈技術的系統特點達成了完美的契合。

零知識證明及zkSNARK

零知識證明是指,在不揭曉我所知道或擁有的某樣東西的前提下,向別人證明我有很大概率確實知道或擁有這樣東西。

zkSNARK則是在區塊鏈中應用最廣泛的一種零知識證明,其全稱是「zero-knowledgeSuccinctNon-InteractiveArgumentsofKnowledge」。

光聽定義,大家一定一頭霧水,本節將借用一個例子,盡可能接地氣的向大家介紹這兩個概念。

價值約3906萬美元的ETH轉入Coinbase:金色財經報道,2.7萬枚ETH于今日08:56從未知錢包轉入Coinbase,價值約3906萬美元,交易哈希為0x925e62c5dbc45f085706d084773348559a5f210b0575dc5111ac0a571d71ff0e。[2023/3/12 12:57:50]

Alice、Bob和Charlie都是數獨愛好者,所謂數獨是這樣一種游戲,玩家需要根據9×9盤面上的已知數字,推理出所有剩余空格的數字,并滿足每一行、每一列、每一個粗線宮的數字均含1到9,且不重復。

有一天Alice設計了一道巨難的數獨題目來考Bob和Charlie,Bob苦思冥想了幾天也做不出,便向Alice抱怨這肯定是道無解的題目。Alice不想將實際的解告訴Bob,但是又需要證明她確實知道解,于是她設計了一種巧妙的「零知識證明」的方式。

證明(TheProof)

Alice拿出81張空白的卡片,并在每張紙上寫上1-9中的一個數字,接著她將代表謎面的卡片數字面朝上、代表謎底的卡片數字面朝下都放在桌上,并組成了9x9的矩陣。

隨機挑戰

接下來怎么讓Bob確認這就是正確的解呢?很簡單,由Bob隨機選擇行、列或是粗線宮中的一種進行驗證,假如選擇行,則將這81張卡片按9行分別放到9個麻布袋中,搖勻并確保卡片次序打亂。

1999枚BTC從幣安轉移至未知錢包:金色財經報道,Whale Alert數據顯示,1999枚BTC(價值33670962 美元)從幣安轉移至未知錢包。[2022/12/24 22:05:32]

驗證

簡潔

雖然數獨游戲有3種情況需要驗證,但每次驗證時Bob實際只需要驗證其中的一種,這有效減少了驗證工作量,提供給驗證者的實際是一個比原命題小的多的證明,這就是所謂的簡潔。

重復

之后重復這個隨機驗證步驟,我們假設Alice運氣很好,每次都能提前猜中Bob會選擇哪種驗證方式,并以此來模擬一個解,那么她通過1次驗證的概率為1/3,通過2次驗證的概率為1/9,通過10次驗證概率就只有1/59049了。在不厭其煩的進行了20次驗證之后,Bob無奈的承認,Alice是真的知道這個答案的解,因為Alice憑運氣通過驗證的概率只有35億分之一!

模擬

這個時候,Charlie也來向Alice抱怨這個題目的無解,Alice和Bob又重復了剛才的證明,沒想到卻沒有得到Charlie的認可。Charlie提出了這個證明中的漏洞,如果Bob和Alice是一伙的,每次Bob都會提前告訴Alice他要選擇的驗證方式,那么Alice就可以很容易的在沒有解的情況下模擬出一個證明來通過這些測試。

非交互式證明

不可能讓每個持有這種懷疑的人都重復一遍Bob進行的隨機驗證,于是三個小伙伴設計了一臺神奇的機器,Alice只需要提交一次卡片,這臺機器就可以按照初始設置好的驗證序列,自動化的對這些卡片進行重復驗證。驗證從交互式的,變成了非交互式的。這里我們要注意,并不是說非交互式證明就沒有重復隨機實驗這個過程。實際上,只不過是隨機點不由驗證者給出,而是由一個可信的第三方在初始化階段就給出,這樣一來,證明者就可以直接給出證明,驗證者只需要驗證證明即可,驗證者和證明者之間不再需要交互。

風投基金Financial Venture Studio第二支基金完成4000萬美元融資:金色財經報道,風險投資基金Financial Venture Studio (FVS) 旗下第二支基金完成4000萬美元融資,旨在召集整個金融服務行業的合作伙伴與 FVS 創始人互動來幫助早期創業公司,并將數字金融服務擴展到更多的經濟領域。此前,FVS創始人Ryan Falvey表示“我們迫切希望進行加密交易”,金融科技可能與其他一些類別不同,該風投基金將探索加密貨幣和區塊鏈行業。該公司主要專注于瞄準美國市場的初創公司,其中包括希望在當地推出業務或拓展國際市場的初創公司,自推出以來FVS 已投資 50 家公司,[2022/8/10 12:14:06]

可信設置儀式

其中最有趣也最重要的環節就是驗證序列的初始設置。在機器啟動前,會有一排設置旋鈕,通過這些旋鈕可以選定每一輪的驗證方式。在設置這些旋鈕時,每個人依次進入放置機器的房間,選擇一個旋鈕并設置好,之后就用一個鐵盒子徹底焊死這個旋鈕,讓其他人無法看見也無法改變這個旋鈕的選擇。為了讓初始設置盡可能的可信,小伙伴們邀請了鎮長、小學校長和警察局長這三位小鎮上最德高望重的長者來參加設置儀式,大家都相信他們絕對不可能參與作假,因此他們稱之為「可信任的初始設置儀式」。

一臺數獨游戲的簡潔非交互式零知識證明機,誕生了!

zkSNARK的技術實現

通過上一節我們已經弄明白了零知識證明和zkSNARK的基本概念和原理,這一節我們再來一窺zkSNARK的技術實現。可以說整個實現過程相當的繁瑣晦澀,且需要一定的背景知識,因此本小節只力圖講清楚其核心思想,而不拘泥于過分復雜的數學推導。

Solana:Slope用戶或曾在Slope導入助記詞的設備或存在被盜風險:據官方消息,Solana發布8月2日Slope錢包事件更新:從UTC時間2022年8月2日22:37開始并持續約4小時,一個或多個惡意攻擊者盜取了9231個錢包中共計價值約410萬美元的資產。鏈上交易顯示,受影響錢包的私鑰已被泄露,并被用于簽署惡意交易。

在開發人員、分析公司和安全審計員的調查中,受影響的地址似乎曾在iOS和Android上的Slope錢包應用程序(由Slope Finance創建和發布)中創建、導入或使用。這些Slope用戶的私鑰資料被Slope無意中傳輸到應用程序監控服務,但黑客獲取或截獲這些信息的途徑仍在調查中。

此次攻擊沒有涉及與Solana Labs、Solana基金會或任何與Solana協議本身相關的核心代碼,這不是協議級別的漏洞。

這一漏洞似乎孤立于支持Solana和以太坊地址的一個錢包提供商,但其他軟件錢包(如Phantom和Solflare)上受影響的用戶可能是用戶重復使用在Slope中生成或存儲的助記詞的結果。

目前官方認為這不是與Slope以外的任何特定錢包實現直接相關的問題。由于以太坊和Solana都使用BIP39助記符,因此對使用以太坊錢包用戶的任何影響也可能是由于重復使用了助記詞。

無論是否使用Slope的硬件錢包沒有受到影響,任何從助記詞生成的從未被導入(或被Slope錢包使用)的錢包都沒有受到影響。然而,用戶只要將他們的助記詞導入Slope應用程序,就有受攻擊的風險。

Solana官方強調,Slope錢包用戶或者之前曾將助記詞導入Slope的設備,即使沒有資產被轉移,錢包也可能會被盜用。因此建議:

- 在另一個錢包應用程序中生成一個新的助記詞;

- 將所有資產(代幣和NFT)轉移到這個新錢包;

- 放棄舊地址,因為它可能會受到攻擊。

用戶不應該重復使用以前在Slope移動應用中使用過的助記詞衍生的錢包。[2022/8/9 12:11:42]

我們從一個方程式開始,X^3+X+5=35,顯然解是3。那么現在,證明者如何向驗證者證明自己知道方程的解是3,而又不告訴驗證者這個解呢?

首先,我們將方程轉化為計算機語言,這很容易實現:

y=x*3returnx+y+5

接著,我們將上面的代碼拍平。所謂將代碼拍平,是指讓代碼一次只做一件事,形如x=yopz。

拍平后,代碼變成以下語句:

sym_1=x*xy=sym_1*xsym_2=y+x~out=sym2+5

然后,我們引入R1CS一階約束系統,R1CS是一個由三向量組組成的序列,同時有一個解向量s,s滿足s·a*s·b-s·c=0。

在本例中,s的結構為,可見其由一個特殊的~one、方程的解x、方程的輸出~out和一系列中間變量構成,其順序不重要,只要保證有序即可。

我們把語句變換成如下形式,來方便我們求解abc:

x*x-sym_1=0sym_1*x-y=0y+x-sym_2=0sym_2+5-~out=0

我們很容易得出第一個式子對應的三個向量:

a=b=c=

推導過程其實很簡單,我們知道要滿足s·a*s·b-s·c=0,那么對應第一個式子x*x-sym_1=0,只需要s·a=x、s·b=x、s·c=sym_1即可,而s=,那么a只要在x的位置等于1,其余位置等于0,即得出。

大家可能對上面一系列眼花繚亂的變換感到莫名其妙,我們究竟在做什么?這里要揭曉謎底了,我們對每個式子驗證s·a*s·b-s·c=0,其本質是在驗證每一步都得到了正確的計算,也即如果我們可以驗證每一步都是正確的,那么最終結果也一定是正確的。

以上的每一步,看似都在舍近求遠,因為s里本身就包含了方程的解x,驗證者只需把x代入就能進行驗證。但從另一個角度看,通過這一系列的轉換,我們構建了一種將證明和驗證分離的方式。在證明過程中,證明者需要知道解并生成一系列中間結果,而驗證者則只需要驗證其一系列結果構成的解向量是否滿足一系列約束,而不需要關心這個解到底是多少。

現在只剩一個問題留待解決,就是能否通過一種方式,讓驗證者看不到裸著的解x,同時依然可以進行驗證過程。答案是肯定的,借由橢圓曲線、雙線性對運算和指數知識假設這一系列數學手段我們就可以做到這一點,因為其推導過程過于復雜,本文不做贅述。整個zkSNARK的技術實現流程參見下圖,需要了解更多細節的同學可以閱讀參考資料中給出的Vitalik的文章。

零知識證明發展現狀

零知識證明協議

零知識證明目前有如下幾種協議,每個協議代表一條實現零知識證明的道路,不同道路最后會產生不一樣的效果。

其中,安全性最高的是STARKs算法,其不依賴數學難題假設,具有抗量子性,并實現了透明通用字符串;Proofsize最小的snarks協議是groth16算法;Plonk是SNARK協議中的一個算法,Proofsize和安全性處于適中狀態。

SNARKs協議算法

作為區塊鏈技術中應用最廣泛的SNARKs,已經發展出了諸多各具特點的協議算法:

Groth16:Groth16是目前最快、數據量最小的zk-SNARK,被用于Zcash等。Groth16的CRS不是通用的,其設置需要綁定到一個特定的電路。由于其速度和證明的小數據量,因此常常被新的zk-SNARK拿來比較性能。

Groth16論文鏈接

Sonic:Sonic是一種早期的通用zk-SNARK協議,支持通用、可升級的參考字符串,論文發表于2019年1月。Sonic的證明大小固定,但是驗證成本高,理論上可以將多個證明分批驗證以獲得更好的性能。下面列舉的許多新的zk-SNARK都是基于Sonic。

Sonic論文鏈接

Fractal:Fractal是一種允許遞歸的zk-SNARK。通過對電路的預處理實現了透明設置。證明最大250KB,這比其他構建生成的證明都要大的多。

Fractal論文鏈接

Halo:Halo支持遞歸證據組織,無需可信設置,與其他新的zk-SNARK構建不同,Halo的驗證時間是線性的。

Halo論文鏈接

SuperSonic:Sonic的改進版,是第一個在驗證時間和證明數據量方面實用化的透明zk-SNARK。

SuperSonic論文鏈接

Marlin:Sonic的改進版,證明時間縮短10倍,驗證時間縮短4倍。

Marlin論文鏈接

Plonk:Sonic的改進版,證明時間縮短5倍。

Plonk論文鏈接

硬件成本

當前零知識證明缺乏專用硬件,導致硬件成本偏高,租用云服務器滿負荷下成本約為0.002元/筆,有空載情況下約為0.02元/筆。Vitalik曾提出一個設想,當以太坊共識機制改為PoS,不需要那么多挖礦硬件后,這些算力可以經改造后轉向支持零知識證明,這可能有效降低零知識證明的運行成本。

寫在最后

如今,零知識證明已經在區塊鏈領域大放異彩,包括第一個實現zkSNARK的匿名加密貨幣Zcash、Layer2的主要解決方案zkRollup等等。

DeGate團隊也將在產品實現中大量應用零知識證明,藉由其強大特性,我們將Orderbook的撮合交易轉到MatchNode中進行,使用戶可以實時的掛單、撤單和成交,且其中掛單撤單免費;之后再將訂單批量結果生成證明,傳回Layer2上進行驗證,這讓DeGate在繼承以太坊安全性的同時,既可以隱藏下單關鍵信息又可以有效降低Layer2上的Gas費消耗。而我們的最終目標是,無論在操作體驗上,還是手續費消耗上,都使DeGate達到媲美中心化交易所的水平。

Tags:NARARKALISLOPENARUTOetherarkALI幣SLOPE幣

Gateio
NFT:NFT選擇哪些城市落地?

隨著NFT產業的發展,其與游戲行業的結合也引發關注。對于NFT行業的興起與發展,各方給予厚望。那么,到哪些省市發展NFT更有優勢,帶著這個問題,我們查找了國內現有產業政策和促進意見,發現對于NF.

1900/1/1 0:00:00
NFT:一周必讀10篇 | 以太坊的單點登錄 開啟web3的重要一步

1.以太坊的單點登錄開啟web3的重要一步brantly.eth是一位以太坊社區用戶,他最近提到“使用以太坊單點登錄”概念。以太坊的單點登錄可以為所有dApp或App提供登錄服務.

1900/1/1 0:00:00
ALI:如何利用虛擬通道來創建狀態通道網絡

在本文中,我們介紹了一種叫作虛擬通道的新型狀態通道結構。虛擬通道不僅使得付費文件流等新型應用場景成為可能,還可以簡化去中心化的Graph查詢支付、Filecoin內容檢索、帶有經濟激勵機制的狀態.

1900/1/1 0:00:00
ETH:以太坊正在蓄力爆發?交易所存放的以太坊降至近 3 年內低點

隨著投資者急于將他們的以太坊代幣存入ETH2.0存款合約,交易所的代幣數量已經下降至近3年內的低點。交易所持有的以太坊數量繼續減少,已經達到近三年來的最低位置.

1900/1/1 0:00:00
以太坊:歷史罕見大遷移:50%比特幣礦工“離線” 從數據看他們在做什么?

過去的一周中,礦機大遷徙正在進行,因為估計有50%的比特幣礦工在離線和遷移中。我們根據觀測到的鏈上數據對此次大遷移事件的程度進行了評估:盡管交易量仍在5約中旬以來建立的交易范圍內,本周比特幣交易.

1900/1/1 0:00:00
GAS:EIP-1559是以太坊Gas的救星嗎?

EIP-1559前以太坊gas費是怎么算的?在以太坊中,交易所需的gas費計算方式是:TransactionFee=GasPrice×GasLimit其中GasLimit代表你愿意為這筆交易支付.

1900/1/1 0:00:00
ads