以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > AVAX > Info

如何將交互式證明改造為非交互式?_PRO

Author:

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

原文作者:康水躍,FoxTechCEO;孟鉉濟,FoxTech首席科學家

前言

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

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

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

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

調查:大部分數字資產持有者擔心死后資產如何被處理:2019年10月到2020年6月的調查顯示,大部分數字資產持有者擔心死后如何處理資產,但是其中很大一部分不會使用遺囑、信托或者其它工具。89%的受訪者不同程度上表示他們很擔憂數字資產在他們死后能否傳遞給家人或者朋友,沒有人說完全不擔心。(Cointelegraph)[2020/7/8]

零知識證明中的Challenge

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

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

大咖零距離 | 半年收益38倍教你如何成就自己的交易系統:3月10日18:00,金色盤面邀請實盤大V以太坊大手子做客金色財經《大咖零距離》直播間,將分享《半年收益38倍教你如何成就自己的交易系統》,敬請關注,欲進群觀看直播掃描下圖二維碼報名即可![2020/3/10]

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

哈希函數

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

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

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

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

抗碰撞性:給定一個輸入x?1?,希望找到另一個輸入x?2?,x?1?x?2?,h=h,是困難的。

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

大咖零距離 | 減產在即 如何把握接下來的行情節奏:2月13日16:00,金色盤面邀請幣圈KOL幣姥爺做客金色財經《大咖零距離》直播間,將分享《減產在即,如何把握接下來的行情節奏》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可![2020/2/13]

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

Fiat-Shamir啟發式

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

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

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

聲音 | 埃森哲報告:銀行目前正評估如何使用區塊鏈支付:據bitcoinexchangeguide消息,埃森哲(Accenture)最近進行的一項調查發現,近90%受訪銀行高管表示,他們各自的銀行目前正在評估使用區塊鏈技術執行支付的想法。大多數高管認為區塊鏈必須提供的長處包括:降低加工成本、錯誤數量減少、業務處理速度更快。報告還指出,中國26家上市銀行中有12家已經在治理框架內實施了區塊鏈技術,其中包括中國銀行和招商銀行等大銀行。[2018/11/3]

非交互式FOAKS

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

首先我們看到,在Brakedown生成證明的步驟當中,需要挑戰的步驟是“近似性檢驗”以及MerkleTree的證明部分。對于第一點原本的過程是證明者在這里需要驗證者產生的一個隨機向量,計算過程如下圖所示:

圖2:非交互證明FOAKS中的BrakedownChecks

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

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

金色財經獨家整理 貿易戰對比特幣走勢影響如何?貿易戰避險,比特幣“效果不錯”:

今日凌晨,中美史上最大貿易戰打響,全球股市重挫,數字資產比特幣走勢如何再被討論。重溫早在3月2日Brian Kelly在CNBC的關于貿易戰的言論:貿易戰將加強美元貶值、物價上漲的預期,由于普遍擔憂通脹,人們愿意投資比特幣這樣的“新黃金”、 “硬資產”(避險),“在貿易戰中,比特幣效果不錯”。

Brian Kelly的觀點發表于300億美元貿易戰規模預測下,而今600萬“變本加厲”。中國已于今晨展開“反擊”,外媒也普遍預測美國為長期輸家。股市下跌將支撐黃金,金價在昨日由于加息和貿易戰擔憂下收于兩周最高點,而比特幣為何反而下跌?據CNBC稱:比特幣未守住9000美元關口或因日本對加密數字貨幣加強監管力度的政策可能。金色財經認為,由于政策目前仍為影響比特幣的主要因素,在最晚今年7月份國際監管措施出臺、政策逐步趨穩后,數字貨幣價格將逐漸與黃金漲跌保持相似的變動。[2018/3/23]

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

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

functionPC.Commit(?):

Parsewasak×kmatrix.TheproverlocallycomputesthetensorcodeencodingC1?,C2?,C1?isak×nmatrix,C2?isan×nmatrix.

fori∈do

ComputetheMerkletreerootRoott=Merkle.Commit(C2?)

ComputeaMerkletreerootR=Merkle.Commit(),?andoutputRasthecommitment.

functionPC.Prover(?,X,R)

Theprovergeneratesarandomvectorγ0?∈Fkbycomputing:γ0=H(C1?,?R,r0?,?r1?)

Proximity:

Consistency:

Proversendsc1?,?y1?,?cγ?0?,?yγ?0?totheverifier.

Provercomputesavector?aschallenge,inwhich?=H(C1?,?R,r0?,?r1?,?c1?,?y1?,?cγ?0?,?yγ?0?)

foridx∈?do

ProversendsC1?andtheMerkletreeproofofRootidxforC2?underRtoverifier

functionPC.VERIFY_EVAL(ΠX,?X,?y=?(X),?R)

Proximity:?idx∈?,Cγ?0==<γ0?,C1?>andEc(yγ?0?)==Cγ?0?

Consistency:?idx∈?,C1?==<γ0?,C1?>andEc(y1?)==C1?

y==1?,y1?>

?idx∈?,Ec(C1?)?isconsistentwithROOTidx,andROOTidx’sMerkletreeproofisvalid.

Outputacceptifallconditionsaboveholds.Otherwiseoutputreject.

結語

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

參考文獻

1.Fiat,Amos;Shamir,Adi(?1987)."HowToProveYourself:PracticalSolutionstoIdentificationandSignatureProblems".AdvancesinCryptology—CRYPTO'86.LectureNotesinComputerScience.SpringerBerlinHeidelberg.263:186?–?194.doi:?10.1007/3-540-47721-7?_?12.ISBN978-3-540-18047-0.

2.https://www.cnblogs.com/zhuowangy?2?k/p/12246575.html

Tags:PROCOM比特幣PUTStream ProtocolComodo Coin比特幣最高市值是多少億PUT幣

AVAX
比特幣(BTC)如何打開通往30000鎂的道路并結束加密寒冬_比特幣

隨著比特幣價格和幾種山寨幣對美聯儲3000億美元的大規模流動性注入做出反應,加密貨幣市場正在經歷顯著上漲,此舉被一些人解釋為量化寬松(QE)的復蘇.

1900/1/1 0:00:00
由于多頭主導市場,以太坊(ETH)飆升至 1,815 美元_以太坊

今天以太坊價格分析看漲ETH/USD的阻力位在1,835美元對加密貨幣的支持目前為1,756美元今天以太坊價格分析看漲,因為代幣繼續上漲至1,800美元上方.

1900/1/1 0:00:00
AC談“DefiLlama面臨內部分裂”:創始人Charlie此前自己支付所有費用,試圖止血不是貪婪_LAMA

3月19日消息,針對“DefiLlama面臨內部分裂”,AndreCronje表示,當你不買單的時候,很容易產生意識形態.

1900/1/1 0:00:00
Solana 價格預測:SOL 會保持上漲勢頭嗎?_SOL

Solana目前為21.84美元,盤中交易時段下跌1.99%。SOL的24小時低點為21.14美元,SOL的24小時高點為22.28美元。當前的Solana代幣價格在100到200天EMA之間.

1900/1/1 0:00:00
這就是加密貨幣上漲的原因_加密貨幣

公眾號:財圈小風 加密貨幣市場最近一直在飆升,而且這種勢頭似乎還在繼續。比特幣是加密貨幣市場的領導者,僅在過去24小時內就漲幅超過6%,達到令人印象深刻的26,900美元高位.

1900/1/1 0:00:00
ZT創新板即將上線DBL_DIV

親愛的ZT用戶: ZT創新板即將上線DBL,並開啟DBL/USDT交易對。具體上線時間如下:交易:2023年3月20日17:00(UTC8); DBL 項目簡介:</article>.

1900/1/1 0:00:00
ads