白話複製證明

白話複製證明

進?7?以後,IPFS明顯加快了研究進程。斯坦福?學協議實驗室的Ben Fisch在7?15?推 了他的新作「PoReps: Proofs of Space on Useful Data」[1],?五?多頁的篇幅系統分析了復 制證明(PoRep)的安全性和具體實現?案。這篇?章專業堡壘太強,筆者不敢說完全理 解了作者的思路,只是根據個?理解簡單談?談IPFS代幣Filecoin系統中必須?到的複製 證明:它是?什麼?的?怎麼樣具體的實現它?需要說明的是我?的例?很多犧牲了數學 的嚴謹性,僅僅是幫助理解。如果有不恰當的地?,還請專業??指正。

IPFS作為分散式存儲的明星項?,創造性地?區塊鏈系統Filecoin記錄礦?(也就是存儲 和檢索?件的提供?)的?作量,?代幣獎勵引導礦?幫助?戶存儲數據。很?然的,作 為礦?,如果沒有系統的監督,?乎?定會作弊,誇???存儲的數據量從?拿到不該屬 於??的報酬。這就是為什麼Filecoin系統?定需要?個複雜的檢查機制,來搞清楚每個 礦?是不是存儲了真實有?的數據,以及這些數據的數量是不是礦?聲明的那麼多。複製 證明(PoRep)就是其中的?種檢查機制。 ?般來說,礦?作弊的?段有三種。第?種是?巫攻擊(Sybil Attack)。舉例來說就是? 個礦?偽造了?個?份證,?每個?份證分別拿到了?個存儲業務(?如說存儲電影星球 ?戰的?個副本),然後他只需要存?個副本就可以拿到存儲?個副本的代幣獎勵了。第 ?種是外部數據源攻擊(Outsourcing Attack)。就是作弊礦?在收到系統檢查要求,查驗 是否存儲了數據時,臨時從其他礦?處拿來數據,偽裝???直存儲了數據騙取代幣。第 三種是?成攻擊(Generation Attack)。這?種作弊是最難檢查出來也是複製證明最需要 對付的情況。舉例說作弊礦?有能?以某種?式?成數據(?如把原始??為1.5G的?件 壓縮到1G??),當需要接受系統檢查時重新?成數據(把壓縮?件解壓恢復到1.5G), 以證明??完成了存儲1.5G的?作量。這樣就可以冒領存儲1.5G?件的代幣獎勵了。 看到這??伙應該明?了,要防?礦?作弊,必須要做的是系統對礦?是否存儲?件做檢 查的速度?定要快,快到讓作弊的礦?來不及臨時抱佛腳,臨時?成?份存儲?件的副本 應付檢查。?術語說,礦?複製存儲?件的副本的過程需要編碼(encode),系統檢查礦 ?的?件副本的過程需要解碼(decode),複製證明需要的?具應該是編碼慢?且解碼快 的編碼系統。IPFS使?的就是具有這樣性質的,學名叫做可驗證延時編碼(veri?able timedelay encoding)。Ben Fisch的這篇?章回顧了兩種可驗證延時編碼的具體執??案,它們 都具有編碼速度慢?且解碼速度快的性質。下?我們來看看原理上如何做到的。 對於諸如?頁紙??字的??件,本?存儲費?沒多少,?個惡意的礦?犯不著費??去 作弊。對於??件做檢查是有講究的。?如你有?份?萬頁的?本要存到IPFS系統中。? 些數據預處理過程會把?件按照頁分成?萬個?塊(block),每個?塊就是?頁紙(嚴格地說?個?塊??固定為512k,不?定是?頁紙)。然後分別對每?頁編碼,得到該頁的 ?件副本(標記為id),存到礦?提供的存儲空間?。這就是最簡單的複製過程,見圖 1。

圖1: 對存儲?件做簡單的編碼(編碼)。由於存儲?件體積?,需要把它分成若?塊(block),對每?塊分 別編碼(encode)得到相應塊的?件副本頁塊。?件副本具有標?符(identi?er),在圖中標為id。這些?件 副本頁塊被存儲到礦?提供的礦機上(即存儲空間)。

圖1中的複製過程有?個缺點,就是對?件的每?頁分別獨?的編碼,所以這個?萬頁的 ?件複製過程是可以在不同的機器上同時進?的。也就是說?個礦?如果有很多台機器, 他完全可以在系統檢查時臨時複製?件作弊。要讓作弊的成本提?,可以在編碼得到的不 同的頁塊之間引?鏈式相互依賴關係(chained dependencies)。IPFS采?了學名叫密碼塊 鏈接(Cipher Block Chaining ,簡稱CBC)的編碼構造,原理見圖2。在CBC中,對?件的 每?頁編碼不是獨?的,需要?第?頁?本編碼後的密?副本id加?到第?頁?本(做了 XOR邏輯運算之後),再做編碼得到第?頁的副本。以此類推。這樣,礦?如果在系統檢 查時臨時?成這個?萬頁的密?副本,因為每?頁密?副本都和之前頁的副本有關聯,需 要按照頁?順序逐頁加密?萬次,這樣所需要的編碼時間就很長。相?之下,系統檢查所 需要的時間要短得多。?如說系統要求檢查第?頁的副本是不是被礦?存儲了,只需要知 道第?頁和第?頁的加密副本id,通過解碼得到第?頁的原始?本。不需要把?萬頁的加 密?本都解碼。???話打個??說就是,礦?複製的是?本線裝書,每?頁都?繩?串 起來了,這個過程需要很長時間。所以當系統檢查時,如果礦?之前沒有複製這本書,那 么在檢查時間內根本來不及?繩?把書頁串好。當然我講的只是構造的原理,實際構造過 程要複雜得多,Ben Fisch在?章中?了?段篇幅描述了這個?件複製的構造過程,叫做 Basic-VDE-PoRep。 為了讓礦?更加難作弊,每?頁副本不?定需要??根鏈來連接,完全可以??個更複雜 的結構(也就是有向?環圖,可以是?個樹狀結構)來連接副本。這種構造?法叫做 DRG-PoRep。我就不仔細說了。

圖2:密碼塊鏈接(Cipher Block Chaining )的編碼構造?意圖。 我試圖???話來解釋為什麼需要複製證明,如何構造執?複製證明。希望對?家理解 IPFS的項?進展有幫助。不當錯誤之處在所難免,請不吝指正。 索引: 【1】Ben Fisch. PoReps: Proofs of Space on Useful Data. Cryptology ePrint Archive Report 2018/678, eprint.iacr.org/2018/67. 本次尤浩博士解析的論文原文為長60頁英文論文,IPFS原力區也將此論文進行了整理打包,對原文有需要的朋友可以關注IPFS原力區公眾號,回復:PoReps來獲得原文的下載地址


IPFS原力區

IPFS原力區是全球第一大IPFS價值生態社區,總部位於上海,聚集了眾多技術大咖和IPFS愛好者;IPFS原力區秉持:價值,共建,共贏,榮耀的文化理念;提供全面、精細、優質的IPFS諮詢和技術支持,將生態中的愛好者轉化為IPFS支持者和參與者。

未來,IPFS原力區做好價值文化基因傳播、緊盯人工智慧,量子計算,大數據等前沿科技,把IPFS區塊鏈技術隨時架設在最新的技術基礎之上,推動IPFS生態的健康發展。


推薦閱讀:

【戒邪淫必看】壽康寶鑒白話
大智度論 白話譯(第二冊37)
《大佛頂首楞嚴經》白話(上)
白話詳解:「色女」面相的特點
集福消災之道— 感應篇彙編白話節本 (卷七)

TAG:文言文 | 白話 | 古文 |