比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > MEXC > Info

EFI:科普 | IPFS中MFS以及GC機制

Author:

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

概述

IPFS的介紹在《IPFS文件存儲詳解》已經詳細介紹過,本文主要介紹IPFS中的文件系統MFS以及文件的GC機制。

MFS和傳統的文件系統一樣使用目錄對文件進行管理,區別在于MFS中的目錄和文件都有哈希,該哈希由文件內容或者目錄下面所有目錄以及文件的內容唯一確定,如果目錄下面的文件或者目錄有變化則該目錄的哈希也會變化,所以根據哈希可以判斷該文件或者目錄下面的內容是否有修改。

文件的GC機制主要介紹IPFS是如何進行文件刪除的。

本文所述的IPFS的版本為v0.6.0。

MFS

本版塊主要介紹IPFS的文件系統,即文件及目錄結構是如何生成、組織和存儲。

MFS中文件及目錄結構如下圖所示,最上層是root目錄,表示該文件系統的根目錄,所有文件夾以及文件都在該目錄下面,MFS中用Root,Directory,File這三種類型分別表示root目錄,文件夾,文件。root目錄通過link鏈接到文件夾或者文件,文件夾又通過link鏈接到文件夾或者文件。

歐易OKEx將于3月18日推出DeFi系列科普視頻:據歐易OKEx官方消息顯示,歐易OKEx將正式推出DeFi系列科普視頻《歐易DeFi20講》,本系列節目由歐易OKEx亞太區CEO馬克金主講。該視頻首期將于3月18日11:00(HKT)推出,用戶可以在歐易OKEx官方學院、金色財經觀看。

《歐易DeFi20講》主要包含DeFi入門指南、全景解讀DeFi生態及如何參與DeFi三個篇章,可以輕松使用戶了解DeFi原理,洞察DeFi價值,掌握DeFi熱點,更多詳情請關注歐易OKEx官方學院。[2021/3/18 18:55:59]

其中,root目錄、文件夾都會存儲在IPFS的DAG中進行持久化,另外root目錄的CID存儲在IPFS內置的LevelDB中,當IPFS啟動的時候從LevelDB中取出root目錄的CID,然后在IPFS的DAG中取出根目錄,最后加載出整個目錄結構。

TRON數字錢包科普資料《波場錢包的現在過去與未來》已上線:據最新消息顯示,由TokenPocket聯合波場TRON官方,以及 TokenPocket 社區志愿者共同撰寫的《波場錢包的現在過去與未來》已正式上線。《波場錢包的現在過去與未來》又稱為波場錢包小白書,詳細介紹了當前TRON錢包與TRON生態密切結合的實例,是目前市面上最為詳細的TRON數字錢包科普資料。波場錢包作為波場公鏈生態中極為重要的入口,是波場生態的重要構成要素。波場錢包從一開始只提供權限管理、轉賬收款、節點投票等基礎功能,到如今不僅可以為用戶提供法幣交易、閃兌和去中心化交易所等方便快捷的交易服務,還能讓用戶直接在錢包上體驗波場上DApp,挖礦、DeFi、Staking等資產增值服務。詳情見原文鏈接。[2020/8/20]

人大附中物理老師李永樂科普拜占庭將軍問題和區塊鏈:5月14日,人大附中物理老師、科普視頻網紅李永樂在其公眾號發布視頻《拜占庭將軍問題是什么?區塊鏈如何防范惡意節點?》。李永樂老師在視頻中對拜占庭將軍問題和區塊鏈進行了講解,他表示,拜占庭將軍問題本質上指的是,在分布式計算機網絡中,如果存在故障和惡意節點,是否能夠保持正常節點的網絡一致性問題。在近40年的時間里,人們提出了許多方案解決這一問題,稱為拜占庭容錯法。例如蘭波特自己提出了口頭協議、書面協議法,后來有人提出了實用拜占庭容錯PBFT算法,在2008年,中本聰發明比特幣后,人們又設想了通過區塊鏈的方法解決這一問題。區塊鏈通過算力證明來保持賬本的一致性,也就是必須計算數學題,才能得到記賬的權力,其他人對這個記賬結果進行驗證,如果是對的,就認可你的結果。與拜占庭問題比起來,就增加了叛徒的成本。[2020/5/14]

下面詳細介紹創建文件夾和增加文件的過程:

動態 | 報告:區塊鏈等熱點詞促使童書科普百科類成交額同比增速最高:近日,京東圖書與艾瑞咨詢聯合發布了《2019中國圖書市場報告》。報告指出,AI、5G、區塊鏈、機器人、VR、智能家居、AR這些熱點詞,不斷點燃科技熱潮,科技在改變大眾生活的同時,也吸引了越來越多家長的關注,從小培養孩子對科技的興趣和熱愛。因此童書中科普百科類成交額同比增速最高,占比將近40%。[2020/1/8]

創建文件夾的過程如下圖所示:

1.新建文件夾;

2.將該文件夾的父文件夾添加一條link,link包含該文件夾的Name、CID和Size;

3.調用該文件夾的update函數,通過parent遞歸更新父級文件夾的狀態,逐級向上層文件夾更新,直到更新root結束遞歸過程。

刪除文件夾和創建文件夾類似,只需要unlink和遞歸update即可。

財政部副部長朱光耀:數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展:今日,在中國發展高層論壇2018年會上,財政部副部長朱光耀表示:“數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展。也要關注數字經濟的其他影響,包括稅收征管、反洗錢監管措施等要跟上。”[2018/3/25]

增加文件的過程如下圖所示:

1.?上傳文件

2.將該文件的父文件夾添加一條link,link包含該文件夾的Name,CID和Size;

3.調用該文件的flush函數,通過parent遞歸更新父級文件夾的狀態,逐級向上層文件夾更新,直到更新root結束遞歸過程。

刪除文件和增加文件的過程類似,只需要unlink和flush即可。

文件GC機制

IPFS中刪除文件時并不會立即刪除掉該文件,而是將該文件的CIDunpin,下次GC的時候則可以真正的刪除該文件。

下圖是IPFS的配置文件,其中紅色部分是GC相關的配置。

StorageMax是存儲文件的最大容量,默認是10GB,可以根據項目需要進行修改,當存儲的文件超過該最大容量時會有warning,文件還是可以繼續存儲的。

StorageGCWatermark是GC的閾值,默認是90,即90%,觸發GC的閾值容量為10GB*90%=9GB。

另外,GCPeriod是GC的間隔,默認是1h。GC觸發的機制是每一個GC間隔時間,觸發GC的檢查,當存儲容量超過閾值時則開始GC,將需要刪除的文件或者塊進行刪除。

文件或者塊的Pin模式如下圖所示,文件的Pin模式是recursive,即遞歸Pin文件的所有的塊。

如下圖所示,pinner是塊的GC管理器,其中recursePin是遞歸的pin的集合,里面存儲所有文件的根CID:

每次觸發GC時會進行ColoredSet,如下面兩張圖所示,將所有recursePin中的CID依次遍歷,深度遍歷該CID所有的links,這些links的CID都會存儲到gcs這個集合中:

然后通過bs.AllKeysChan(ctx)可以獲得所有的塊的CID集合,最后遍歷這些CID集合,判斷gcs中沒有的該CID的塊都需要刪除掉,具體見下圖,從而實現了所有unpin的塊GC觸發的時候都會刪除的效果。

注意:GC的時候會lock,此時上傳文件和刪除文件都會阻塞,GC需要占用的時間和文件存儲量以及刪除的文件大小有關系,可以將GC時間固定在每天用戶操作最少的時間點,例如每天的凌晨3點,減少用戶操作和GC的沖突。

總結

IPFS中MFS提供了一套基于CID的文件系統,目錄結構也存儲在IPFS的DAG中,目錄的樹狀結構和DAG的結構本身是很類似的,所以將目錄結構存儲在DAG中巧妙地解決了文件系統目錄結構地存儲問題,最后只需要存儲文件系統的根目錄的CID從而可以方便地加載整個文件系統的目錄。

IPFS中的文件GC機制目前不是很高效,通常文件存儲10GB容量左右時,觸發GC可能就需要幾分鐘到十幾分鐘的時間,由于IPFS是一個面向公網的一個用戶一個IPFS節點的模式,所以該問題對于IPFS項目本身并不明顯,但是如果將IPFS的存儲以及GC機制作為投產項目使用,則需要對GC機制進行優化,減少GC占用的時間間隔。

另外IPFS本身每隔一段時間觸發GC也不是很合理,針對項目的用戶使用情況可以將GC觸發時間固定在每天的凌晨某個時間,然后每24小時的GC觸發間隔也是一種比較簡單的解決IPFS的GC沖突問題的辦法。

作者簡介

姚文豪

來自數據網格實驗室BitXMesh團隊,數據平臺架構師

Tags:EFIDEFDEFILINKGlobal DeFiUnidefWorld of Defishtronlink官網

MEXC
區塊鏈:觀點 | 促流通、降成本、提效率,區塊鏈技術賦能公共資源配置

本文來源:中國金融信息網,原題《利用區塊鏈等技術解決公共資源高效合理配置》作者:陳曉華,北京郵電大學國家大學科技園金融科技研究所所長、中國移動通信聯合會區塊鏈專業委員會主任委員公共資源是指自然生.

1900/1/1 0:00:00
EOS:BM:比特幣不是理想的加密貨幣 沒有解決其需要解決的問題

今日,EOS創始人BM發帖稱,比特幣和以太坊的先動優勢給它們帶來了遠遠超過其相對原始、低性能設計的技術缺陷的網絡效應。自我實現對資本收益和流動性的追求助長了這些網絡效應.

1900/1/1 0:00:00
FIN:觀察 | FinCEN新規涉虛擬貨幣限制,或永遠將窮人排除在金融系統之外

根據FinCEN現有規定,金融機構禁止向無家可歸、沒有固定住所的人和難民提供開戶服務,因為這些人沒有實體郵寄地址.

1900/1/1 0:00:00
比特幣:追加6.5億美元投資后,MicroStrategy成為第五大比特幣持有機構

KevinRooke網站數據顯示,MicroStrategy在對市值最大的加密貨幣追加投資6.5億美元后,目前已成為第五大比特幣持有機構,擁有70,470枚比特幣,當前價值超16億美元.

1900/1/1 0:00:00
區塊鏈:聯盟分析-行業熱點 | ??區塊鏈技術如何助力疫苗監管?

|合規聯盟原創出品?| 近期,位于塞浦路斯的地中海醫院宣布為100名醫生和護士接種了COVID-19疫苗,并在基于VeChain的E-HCert應用程序上記錄了他們的數字證書.

1900/1/1 0:00:00
比特幣:山寨季爆發?92%的加密代幣在過去七天里的表現優于比特幣

在一輪令人矚目的牛市之后,比特幣價格在過去一周開始出現下滑。截至本文發稿時間,比特幣兌美元匯率在過去七天里已經下跌了近12%.

1900/1/1 0:00:00
ads