比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > MANA > Info

如何將交互式的零知識證明(zk proof)協議改造為非交互式_IDX

Author:

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

密碼學當中的零知識證明技術在 web3 世界有著廣泛的應用,包括進行隱私計算、zkRollup 等等。其中 Layer2 項目 FOX 所使用的 FOAKS 就是一個零知識證明算法。在上述的一系列應用當中,對于零知識證明算法而言,有兩方面屬性極為重要,那就是算法的效率以及交互性。

算法效率的重要性不言而喻,高效的算法可以明顯的降低系統運行時間,從而降低客戶端延遲,顯著的提高用戶體驗和效率,這也是 FOAKS 致力于實現線性證明時間的一個重要原因。

另一方面,從密碼學的角度來講,零知識證明系統的設計往往依賴證明者和驗證者的多輪交互。例如在許多介紹零知識證明的科普文章當中都會使用的“零知識洞穴”的故事當中,證明的實現就依賴于阿里巴巴(證明者)和記者(驗證者)多輪的信息傳遞交互才能實現。但是事實上,在許多應用場景當中,依賴交互會使得系統不再可用,或者極高的增加延遲。就像在 zkRollup 系統當中,我們期望證明者(也就是 FOX 當中的 folder)能夠在本地,不依賴于和驗證者交互的情況下就計算出正確的證明值。

從這個角度說,如何將交互式的零知識證明協議改造為非交互式,就是一個很有意義的問題。在這篇文章當中,我們將介紹 FOX 使用經典的 Fiat-Shamir 啟發式(heuristic)來生成 Brakedown 中的挑戰從而實現非交互式協議的過程。

零知識證明算法隨著應用的鋪開而變得異常火爆,近些年也誕生了包括 FOAKS、Orion、zk-stark 等在內的各種算法。這些算法,以及密碼學界早期的 sigma 協議等的核心證明邏輯都是證明者(Prover)先將某個值發送給驗證者(Verifier),驗證者通過本地隨機數產生一個挑戰(Challenge),將這個隨機產生的挑戰值發給證明者,證明者需要真的有知識才能以大概率做出通過驗證者的響應。例如在零知識洞穴當中,記者拋一個硬幣,告訴阿里巴巴從左側出來還是從右側出來,這里的“左和右”就是對阿里巴巴的挑戰,他如果真的知道咒語,就一定可以從要求的方向走出來,否則就有一半的概率失敗。

中央紀委國家監委網站發文《元宇宙如何改寫人類社會生活》:12月23日消息,中央紀委國家監委網站于今日發文《元宇宙如何改寫人類社會生活》,文中解釋了什么是元宇宙,元宇宙為什么能出圈,并且提到要“理性看待元宇宙帶來的新一輪技術革命和對社會的影響,不低估5-10年的機會,也不高估1-2年的演進變化”。[2021/12/23 7:59:46]

這里我們注意到,Challenge 的生成是一個很關鍵的步驟,它有兩個要求,隨機和不可被證明者預測。第一點,隨機性保證了它的概率屬性。第二點,如果證明者可以預測挑戰值那就意味著協議的安全性被破壞了,證明者沒有知識也可以通過驗證,可以繼續類比,阿里巴巴如果能預測記者要求他從哪邊出來,他即使沒有咒語也可以提前進入那一邊,結果表現出來一樣可以通過協議。

所以我們需要一種辦法,能夠讓證明者自己本地生成這樣一個不可預測的隨機數,同時還能夠被驗證者驗證,這樣就可以實現非交互式的協議。

哈希函數的名字對我們來說或許并不陌生,無論是在比特幣的共識協議 POW 當中擔任挖礦的數學難題,還是壓縮數據量,構造消息驗證碼等等,都有哈希函數的身影。而在上述不同的協議當中,其實是運用了哈希函數的各種不同性質。

具體來講,安全的哈希函數的性質包括以下幾點:

壓縮性:確定的哈希函數可以將任意長度的消息壓縮成為固定長度。

有效性:給定輸入 x,計算輸出 h(x)是容易的。

維珍銀河董事長:PayPal消息傳出后各大銀行討論如何支持比特幣:維珍銀河董事長Chamath Palihapitiya今晨發推表示,PayPal消息傳出后,各大銀行都在開會討論如何支持比特幣。它不再僅作為一個選項。[2020/10/22]

抗碰撞性:給定一個輸入 x1,希望找到另一個輸入 x2,x1x2,h(x1)= h(x2),是困難的。

注意,如果哈希函數滿足抗碰撞性,那么必然滿足單向性,也就是說給定一個輸出 y,要找出 x 滿足 h(x)= y 是困難的。在密碼學當中,還不能構造出理論上絕對滿足單向性的函數,但是哈希函數在實際應用當中可以基本視作單向函數。

這樣一來,可以發現上述的幾種應用分別對應于哈希函數的幾點不同的性質,同時我們說,哈希函數還有一個很重要的作用是提供隨機性,雖然密碼學理論當中要求的完美的隨機數生成器目前也無法構造,但是哈希函數在實際當中同樣可以充當這個角色,這就為我們后文介紹的 Fiat-Shamir 啟發式(Heuristic)的技巧提供了基礎。

事實上,Fiat-Shamir 啟發式(Heuristic)就是利用哈希函數來對前面生成的腳本進行哈希運算,從而得到一個值,用這個值來充當挑戰值。

因為將哈希函數 H 視作一個隨機函數,挑戰是均勻隨機的被選擇,獨立于證明者的公開信息和承諾的。安全分析認為 Alice 不能預測 H 的輸出,只能將其當作一個 oracle。在這種情況下,Alice 在不遵循協議的情況下做出正確響應的概率 ( 特別是當她不知道必要的秘密時 ) 與 H 的值域的大小成反比。

現場丨中央美術學院副教授陳卓:我們該思考如何讓加密藝術品擁有傳統藝術品特性:金色財經現場報道,10月17日,BCA NFT藝術沙龍于京舉辦,在圓桌討論環節,中央美術學院副教授陳卓表示,如今在藝術領域,用媒介去區分藝術,邊界越發模糊,藝術正在向經典形態向新形態轉變的趨勢,媒介的轉變和社會的變化會推動一波變遷。傳統的藝術品有神秘感,但區塊鏈是透明的,藝術展有儀式感,但線上藝術品會缺少儀式感。我們該思考如何讓加密藝術具備傳統藝術特性。例如藝術收藏的儀式感、藝術品生產過程的創造藝術。[2020/10/17]

圖 1: 利用 Fiat-Shamir Heuristic 實現非交互式證明

在本節,我們具體展示 Fiat-Shamir 啟發式在 FOAKS 協議當中的應用,主要是用來產生 Brakedown 部分的挑戰,從而實現非交互式的 FOAKS。

首先我們看到,在 Brakedown 生成證明的步驟當中,需要挑戰的步驟是“近似性檢驗”以及 Merkle Tree 的證明部分(讀者可以參考之前的文章《一文了解 FOAKS 當中的多項式承諾協議 Brakedown》)。對于第一點原本的過程是證明者在這里需要驗證者產生的一個隨機向量,計算過程如下圖所示:

掌柜調查署 | 競爭之下平臺幣會如何發展?:4月14日16:00,AAX交易所CEO Thor Chan將攜帶新上線的平臺通證AAB做客金色財經掌柜調查署,一起來看競爭之下,平臺幣會如何發展。更多詳情點擊原文鏈接查看。[2020/4/14]

圖 2: 非交互證明 FOAKS 中的 Brakedown Checks

現在我們使用哈希函數,讓證明者自己產生這個隨機向量。

令γ0=H(C1,R, r0,r1),對應的,在驗證者的驗證計算當中,也需要增加這個計算出γ0的步驟。根據這樣的構造,可以發現,在生成承諾之前,證明者并不能提前預測挑戰值,于是不能提前根據挑戰值來對應的“作弊”,也就是對應的生成假的承諾值,同時,根據哈希函數輸出的隨機性,這個挑戰值也滿足隨機性。

對于第二點,令 ? =H(C1,R, r0,r1,c1,y1,cγ0,yγ0)。

我們使用偽代碼給出改造后非交互式的 Brakedown 多項式承諾當中的證明和驗證函數,這也是 FOAKS 系統當中使用的函數。

function PC. Commit(?):

Parse was a k × k matrix. The prover locally computes the tensor code encoding C1,C2 ,C1 is a k × n matrix,C2 is a n × n matrix.

環球銀行金融電信協會與七家中央證券存管機構簽署一項協議備忘錄,以研究區塊鏈如何用于交易后流程:環球銀行金融電信協會(SWIFT)與七家中央證券存管機構簽署了一項協議備忘錄,以研究區塊鏈如何用于交易后流程,如代理投票等。這七家機構分別是美國納斯達克 Nasdaq Market Technology、俄羅斯國家結算存管公司(National Settlement Depository)、瑞士SIX Securities Services,南非Strate,阿布扎比證券交易所,阿根廷的Caja de Valores和智利的Depores de Central Valores。[2018/1/16]

for i ∈ [n] do

Compute the Merkle tree root Roott=Merkle.Commit(C2[:,i])

Compute a Merkle tree root R=Merkle.Commit([Root0,......Rootn-1]),and output R as the commitment.

function PC. Prover(?, X, R)

The prover generates a random vector γ0 ∈ Fk by computing: γ0 =H(C1,R, r0,r1)

Proximity:

Consistency:

Prover sends c1,y1,cγ0,yγ0 to the verifier.

Prover computes a vector ? as challenge, in which ? = H(C1,R, r0,r1,c1,y1,cγ0,yγ0)

for idx ∈ ? do

Prover sends C1 [:,idx] and the Merkle tree proof of Rootidx for C2 [:,idx] under R to verifier

function PC. VERIFY_EVAL(ΠX,X,y= ? (X),R)

Proximity: ?idx ∈ ?, Cγ0 [idx] == and Ec(yγ0) == Cγ0

Consistency: ?idx ∈ ?, C1 [idx] == and Ec(y1) == C1

y==1, y1>

?idx ∈ ?, Ec ( C1[:,idx]) is consistent with ROOTidx, and ROOTidx’s Merkle tree proof is valid.

Output accept if all conditions above holds. Otherwise output reject.

許多的零知識證明算法在設計之初都依賴證明者和驗證者雙方的交互,但是這種交互式證明協議不適合用在追求高效,網絡通訊開銷大的應用場景下,比如鏈上數據隱私保護和 zkRollup 等等。通過 Fiat-Shamir 啟發式(Heuristic),可以在不破壞協議安全性的條件下讓證明者本地生成隨機數“挑戰”,并且可以被證明者驗證。根據這種方法,FOAKS 同樣實現了非交互式的證明,并應用在系統當中。

1.Fiat, Amos; Shamir, Adi (1987). "How To Prove Yourself: Practical Solutions to Identification and Signature Problems". Advances in Cryptology — CRYPTO' 86. Lecture Notes in Computer Science. Springer Berlin Heidelberg. 263: 186–194. doi:10.1007/3-540-47721-7_12. ISBN 978-3-540-18047-0.

2.https://www.cnblogs.com/zhuowangy2k/p/12246575.html

撰文:康水躍,Fox Tech CEO;孟鉉濟,Fox Tech 首席科學家

來源:DeFi之道

DeFi之道

個人專欄

閱讀更多

金色財經 善歐巴

金色早8點

白話區塊鏈

Odaily星球日報

MarsBit

歐科云鏈

深潮TechFlow

Arcane Labs

BTCStudy

Tags:PROIDXCOMVERDEIP ProtocolIDXM幣WCOM幣FlameMetaverse

MANA
新聞周刊 | 當前距離下一次比特幣減半只有413天_區塊鏈

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、礦業信息、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.

1900/1/1 0:00:00
2023年Web3領域將帶來哪些新變化?_WEB

編譯:Dali@Web3CN.Pro基于技術進步和有利的經濟條件,區塊鏈行業在2021年迎來大發展,但隨后由于一系列毀滅性的金融事件,區塊鏈市場在2022年遭受重創.

1900/1/1 0:00:00
為什么公共產品對 Web3 至關重要?_WEB3

撰文:Azeem Khan編譯:aididiaojp.eth,Foresight News公共產品和新所有權模式的結合將推動互聯網的下一次迭代.

1900/1/1 0:00:00
美聯儲副主席:面對加密貨幣 應該怎樣平衡創新與保護_NBS

作者 :美聯儲副主席 Michael S. Barr編譯 :Carol 吳說區塊鏈 原文鏈接: https://www.federalreserve.

1900/1/1 0:00:00
2023香港Web3嘉年華及周邊活動參會指南_BSP

內容整理:金色財經 2023香港Web3嘉年華將于4月12日至4月15日正式舉辦,我們不僅能在現場看到Vitalik、趙長鵬等業內大咖的精彩演說,又因參與機構眾多,許多活動都是值得期待的.

1900/1/1 0:00:00
硅谷最有名的銀行崩了 幣圈的蝴蝶終于引發了美國銀行業的風暴?_TRA

一場巨大的公關失誤。 昨夜,美國銀行股全線崩盤,KBW銀行指數收跌7.7%,創2020年6月以來最大日跌幅;硅谷第一大銀行SVB重挫60%,市值一夜蒸發96億美元,創1988年上市以來以來最大跌.

1900/1/1 0:00:00
ads