區塊鏈
挖礦,比特幣,EOS,以太坊

ipfs什么時候開始挖礦 欲搶占天時的IPFS激勵層Filenet中文版白皮書

350

 


File Network白皮書 V1.0?Filenet.io
前言
自人類社會進入互聯網時代以來,為保障網絡世界的自由、平等、開放,實現信息的充分流動,科學、技術、工程人員通過不間斷的創新或技術變革來突破種種人為的管制與分割。
早在90年代末期,IBM、微軟等即開始研發基于內容而不是基于地址的文件尋址方案,用于解決http協議中存在的弊端。
2014年,胡安·貝尼特(Juan Benet)提出了全新的IPFS構想,旨在創建一個持久且分布式存儲和共享文件的網絡傳輸協議。
一直到2017年,隨著區塊鏈技術的發展,Siacoin、Storj、再到Filecoin等一系列去中心化存儲項目的涌現,這一理想才在工程層面露出了勝利的曙光。
Filenet是一個IPFS社區開發者發起的全新IPFS激勵層,它的目標是與IPFS形成商業閉環,創建出低成本且高效率的數據分發網絡,成為未來區塊鏈網絡世界的技術基石。
它尊重互聯網用戶“免費”的行為習慣,無需支付任何代幣即可獲得存儲資源,保證早期開發者能免費開發出各種Dapp。
它通過代幣流轉,鼓勵用戶創造內容、分享內容,解決去中心化文件分發貢獻度問題。
整個網絡生態,通過使用者在使用環節“燃燒”代幣的模式,實現經濟生態的自平衡,獲得長久的生命力。1. Filenet 介紹
1.1Filenet 是什么
Filenet 是構建在 IPFS(星際數據系統)之上的一個激勵層,以獎勵礦工共享自己的存儲資源和網絡資源,Filenet 同時是一個令牌,它運行在分發證明機制上,是一種基于 IPFS 提供內容共享的超級云系統,致力于存儲和分發有價值內容。
1.2Filenet 技術背景
1.2.1 共識機制
區塊鏈的核心技術是共識機制,目前比較常用的共識機制有 PoW(Proof-Of-Work,工作量證明),PoS(Proof-Of-Stake,權益證明),DPoS(Delegated-Proof-of-Stake,委托權益證明),PoC(Proof-of-Contribution,貢獻證明)。PoW 機制,需要礦工解決復雜的密碼數學難題,依賴計算能力,優點是系統安全可靠,缺點是消耗能源和計算能力,有 51%算力攻擊可能,吞吐量小。
PoS 機制,根據權益選舉礦工打包數據,優點是不消耗資源,缺點是安全性較低,股權越多的人話語權越高。
DPoS 機制,多數有投票權的人將投票權委托給少數節點來代理,優點是系統效率高,吞吐量和并發數高,缺點是話語權掌握在少數節點手上不安全。
PoC 機制,根據節點所做的貢獻來分配打包權,優點是不浪費資源,按勞分配,缺點貢獻計算方法要根據具體的場景來定。區塊鏈 3.0 時代,共識機制朝著不浪費資源,適當考慮安全性,提高吞吐量和并發數方向發展。
1.2.2 有向無環圖
圖 1 有向無環圖
比特幣的區塊鏈結構是一個單向鏈表,這種結構是區塊鏈早期采用的,存在很多問題,如區塊存儲容量小,交易速度慢,數據總量大,單節點存儲壓力大,每秒交易數少。DAG(Directed Acirclic Graph,有向無環圖)是一種新型的區塊鏈數據結構。
DAG 和鏈表結構都能由上一個節點來確定下一個節點,所不同的是,鏈表結構只能是一對一,而 DAG 支持一對多,多對一,只要不產生回環就行,也就是通過前面節點來驗證后面節點二者一致,但鏈表結構同一時間只能有一個分支,而 DAG 結構可以有多個分支,所以 DAG 結構并發數更高,同時存儲的數據更多。同時,DAG 記賬是一個異步的過程,數據是弱同步,可以接受一定程度的數據差異,在后續異步確認過程中再來修正。這樣可以大大節省確認時間,提高交易速度。
1.2.3 默克爾樹
圖 2 默克爾樹
默克爾樹是快速驗證數據的一種方式,在比特幣中有采用,在點對點數據傳輸等領域也廣泛采用。默克爾樹將數據分成很多小塊,每一塊計算出一個 hash 值,多個數據塊合并生成一個 hash 值(一般是兩個),最終生成匯集到一個根節點,生成一棵樹(一般是二叉樹)。由于數據分塊,并且提供了 hash 值索引,在數據很大,或者是點對點系統中,不用得到所有數據,再驗證數據是否正確。哪怕只得到了一小塊數據,
只需要在這棵樹上找到數據所在的位置,確定樹上關鍵位置上的數據和 hash 值,就能驗證數據是否正確。
1.2.4 星際文件系統
IPFS(Interplanetary File System,星際文件系統)是一種點對點的分布式文件系統,旨在連接所有有相同的文件系統的計算機設備。在某些方面,IPFS 類似于 web,但 web 是中心化的,而 IPFS 是一個單一的 Bittorrent 集群,用 git 倉庫分布式存儲。
換句話說,IPFS 提供了高吞吐量的內存尋址塊存儲模型,具有內容尋址的超鏈接。這形成了一個廣義的 Merkle DAG 結構,可以用這個結構構件版本文件系統,區塊鏈,甚至是永久性網站。IPFS 結合了分布式哈希表,帶有激勵機制的塊交換和自我認證命名空間。IPFS 沒有單故障點,節點不需要相互信任。
未來,IPFS 將會在 WEB,文件系統,區塊鏈三個領域發揮巨大的作用。
首先,在互聯網中用 IPFS 取代傳統的 http 協議,IPFS 的優勢在于節省存儲與帶寬資源,大幅度節省成本,同時還提高傳輸效率。分布式 web 站點的設計讓 IPFS 更安全,更穩定,更開放。
其次,IPFS 將構建一個面向全球的分布式文件系統,它將全人類公開的文件全部組織起來,并且通過版本管理,使文件各個歷史版本得以保留,形成一個非常全面的文件寶庫。
再次,IPFS 將與區塊鏈技術緊密結構,將區塊鏈帶入一個全新的時代。IPFS 的底層數據結構完美兼容區塊鏈數據結構,目前常見的區塊鏈數據都能表示成統一的 IPFS底層數據結構。各種異構的區塊鏈都可以選擇 IPFS 作為存儲媒介,從而解決目前區塊鏈技術面臨的最大難題,數據存儲問題。在此基礎上,各種性能更好,更方便的區塊鏈產品應運而生。

1.3 優勢
建立一個去中心化的文件存儲和分享網絡,這是一個非常有吸引力和激動人心的愿景[2]。然而,沒有激勵的驅動,誰來提供這些存儲?如何防止垃圾文件耗費系統資源?文件如何才能得到最高效率的分發?這些問題不回答,這個網絡就難以真正發揮它本來應該具有的價值。這些問題的答案,在于一個合理的激勵層。
時至今日,不止一種激勵層已經被提出,其中有相當多的項目是要求系統使用者付費的。付費當然是問題可能的解決方案之一,但是難道必須要付費嗎?畢竟絕大多數網絡使用者在使用時并沒有準備好付費,互聯網帶給人們的習慣也是免費使用大多數基礎服務,很難想象用戶瀏覽個普通網頁還得從自己賬戶中扣款。
Filenet 提出了一個創新的激勵層,解決了這個問題。其要旨在于:首先,用戶可以自由向網絡中上傳文件,但存儲的文件缺省得不到獎勵也得不到分發,即使被分發,如果不能持久也無法長期占據網絡資源,如此解決了垃圾文件的問題;其次,文件被檢索時會被分發和保存到更多節點,且這些節點會得到獎勵,解決了誰來提供存儲和分發的問題;再次,系統對文件上傳者不但免費,而且在文件被檢索量足夠大時,還會給予文件上傳者獎勵,解決了費用的問題。免費且具有良好的激勵機制,是 Filenet的優勢所在。
我們堅信,Filenet 的上述優勢,將帶給它巨大的實用價值和廣闊的想象空間。

2.Filenet 構成和運行機制
2.1 架構圖 3 Filenet 架構圖
Filenet 與 IPFS 一起構成一個完整的產品。分布式數據存儲、P2P 網絡傳輸、分布式計算等底層功能由 IPFS 協議和 Mine 物理設備一起完成。
在 IPFS 中,包含兩種類型的節點:普通節點和專屬節點。各節點通過 P2P 網絡互聯互通。專屬節點一般是用戶的私有節點,上傳數據時,數據首先被存儲于專屬節點,待數據被多次檢索至一定閾值,專屬節點上的數據才能進入 IPFS 網絡中的任意節點,即數據晉級制度。
在我們的設計中,數據流入節點沒有代幣獎勵,數據流出節點才有代幣獎勵。數據流出節點的目標既可以是 DApp,也可以是 IPFS 中其它節點。
Filenet 作為激勵層,需要完成區塊管理、共識機制、智能合約。DApp 運行在IPFS 及 Filenet,User 可以直接通過 Filenet 和 DApp 上傳數據。
圖 4 Filenet 存儲管理示意
Filenet 去中心化存儲網絡(Decentralized File Network)(DFN),提供數據晉級制度。當用戶通過一個設備上傳數據,此數據存儲在本地,當數據被檢索次數越來越多,數據就會逐步進入公開網絡,成為熱門數據,此數據才可以參與挖礦。
2.2 數據結構
Filenet 區塊保存所有數據痕跡參數,上傳至 Filenet 數據種類多,數量多。傳統的鏈表結構會使區塊冗余,表達非常麻煩,而 Filenet 采用 Merkle 樹和 DAG(有向無環圖)結構的區塊鏈數據結構。DAG 結構比傳統區塊鏈鏈式結構更靈活,性能更高,速度更快,極大的提高了區塊打包的效率,從而提高了 Filenet 網絡的性能。
Merkle樹不需要完整的區塊信息,只需要關鍵的 Merkle 節點信息,就能對區塊鏈數據進行驗證,從而讓節點變得更輕巧,更多精力用于業務處理和為 Filenet 網絡提供服務。同時 Merkle 樹也能簡化驗證流程,進一步提高網絡性能。
具體的區塊結構我們會在黃皮書中詳細說明。
2.2.1 賬本
用戶的數據、礦工狀態表和信任表,我們稱之為賬本,在任何時間內都可以訪問,賬本是一個按照時間推進不斷增加的數據鏈。
2.2.2 表格
a? 數據的檢索量表格檢索量表格是比較復雜的數據關系,里面涉及的數據類型、數據被訪問的時間、數據訪問量、且這些數據都是不斷的變化的,不過我們采用 DAG 結構來保存這張表格,變化的參數不會前后相互受影響。
b? 礦工運行狀態表格儲存和檢索數據的話,礦工運行狀態、空間閑置量、網絡環境會存儲在當前的區塊中,這種表格是公開可查的。
2.3 角色
2.3.1 使用者
使用者即使用客戶端上傳文件的用戶。用戶可以通過 Filenet 客戶端(DApp)直接參與數據存儲和檢索。用戶的存儲和檢索操作均是免費。
2.3.2 服務者
服務者即礦工。礦工提供存儲資源,存儲數據,為用戶提供數據檢索分發,通過被檢索使用獲取收益。
礦工存儲了用戶的數據,根據特定的時間生成分發證明并提交到區塊鏈網絡來證明在這段時間內數據分發量即活躍度。根據分發量在全網占比獲得 Filenet 獎勵,如果不能提供證明或者無效即不能獲得獎勵。
礦工存儲了用戶數據間斷性向區塊鏈網絡上報自己的運行狀態,當用戶檢索數據時,Filenet 會依照網絡狀態和設備狀態去檢索數據,如果礦工不能在規定的時間內上報自己的狀態或者自己狀態有虛假,可能會影響礦工的收益。
礦工要獲取數據資源時,要不間斷提供自己的空間、帶寬、運行狀態、這些參數共同保存一個表格里,我們稱之礦工的信任表。Filenet 會依照信任情況來分配數據,如果數據容量小但是使用頻次很高,我們會將它保存在網絡環境穩定礦工設備中,如果數據容量大但是使用頻次低,我們會將它保存在空間很大的設備中,如果礦工設備出現故障或者環境不穩定,Filenet 就會減少數據派發量。
2.4 協議
我們把用戶和礦工抽象成兩種實例,實例均有屬性和狀態。用戶和礦工遵守共同的 Filenet 協議規則。
2.5 挖礦(mining)
Filenet 為高頻數據提供更好的存儲和分發,同時也不會讓低頻數據占用系統的存儲資源,所有的用戶都是通過 DApp 將自己原文件發布,這些文件隨著逐漸被用戶檢索,流傳到 Filenet 網絡中而分配到礦機中,這些 DApp 可能會是一個云盤、社交軟件、新聞客戶端等等,上傳的文件的同時將其 hash 值記錄到 Filenet 網絡。
2.5.1 概述
用戶存儲的數據可以分為低頻數據和高頻數據。Filenet 挖礦的一種方式是共享高頻數據來獲得,通過 Filenet 的激勵機制,讓這些高頻數據在其生命周期內,極大限度的傳播,進而獲得增益的財富,同時也因其共享,讓數據成為人們共有的財富資源。
2.5.2 資格獲取與保證金
服務者錢包里必須持有一個以上 Filenet 代幣,才能作為實際賬戶,獲得挖礦資格。我們采用一種“保證金”模式,鼓勵服務者認真維護自己的節點,保障節點穩定可靠地工作。這可以看作一種抵押模式,但是不會因為節點的斷電斷網而扣罰押金。
2.5.3 收益
IPFS 出礦的概率與活躍度成正比。上傳的數據必須要有其他用戶下載使用才能確定其為有共有數據,下載的用戶越多活躍度越高,就能獲得相對應更多挖礦獎勵。
2.5.4 硬件Filenet 志在連接一切閑置存儲空間,理論上凡是可以連接上網的存儲空間都可以參與到挖礦之中,包括不限于云服務、數據服務中心、電腦、筆記本、手機,甚至車載電腦、智能手環等各類移動終端,都可以通過網絡參與貢獻數據,獲得收益。

3. 共識機制
3.1 檢索分發證明
分發證明 Podt(Proof-of-distribution)是一種新型的證明方式,我們提出方案減少了技術實現難度,無須構建復雜機制防止攻擊難題,分發證明只要證明數據分發的頻次和使用度,分發證明與挖礦結合是一個完整方案。
在 Filenet 中有兩種證明,來證明礦工在認認真真工作且真實反映出自己的付出,證明礦工有能力繼續服務價值數據,一種是檢索量證明(Proof-of- retrieval)、一種是狀態證明(Proof-of-state)。
Proof-of-retrieval 簡稱 Pore 協議,匯總礦工數據分發的次數,間接反映 CDN的消耗,每個周期定時檢測 CDN 的消耗,但是這種方法是單向的,沒有相互檢查礦工的真實情況,這些協議依賴零知識證明機制(Zero-Knowledge Proof),證明者(被驗證者)能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
3.1.1 Pore 協議
用戶將數據發到 Filenet 網絡,Filenet 跟蹤和考核發送給礦工,礦工存儲了用戶數據。以下是 Filenet 對檢索進行驗證的過程:
1.Send:輸入:Prover Key pair(M,D)證明者的鑰匙對數據參數產生的公鑰Prover send key PksendParameter P,礦工的數據參數Date D,礦工提供的數據Relation P&D→N輸出Replice R 數據的參數 P 的一個副本。DAG Root rt of R 對副本產生有向無環的 hash 根Proof πseed 副本分發證明過程:1.計算數據的 hash 值 HN:=CH(N);2.封裝 R:=seal(N,skM);3.計算 R 的 hash 根 rt:=DAG CH(N);4.》X:=(pk HN,rt);5.》W:=(skP,N);6.計算 R 的分發證明 πsend:=SCIP.prove(pkseed ,X,W);7.輸出結果 R rt πseedProve輸入:Prove proof-of-distribute key pkPodt 數據的分發公鑰。Replica RRandom challenge C 檢查隨機數,代表 hash 子節點。輸出:πPodt 分發證明
3.2 信用度度量
Filenet 網絡選舉礦工執行數據檢索、數據分發、區塊打包的任務時,依據的是各礦工的信用度值。為保證各信用度等級的礦工都有機會被選中,同時發揮信用度的作用,我們采取了如下策略:信用度分等級,首先按照信用度等級進行初次選舉,信用度等級越高,被選中的概率越高;初次選舉后,即對同一級信用度的礦機實行等概率選舉。礦工的信用度值計算公式:
T:信用度值m:持幣量c:調節因子

圖 5 信用度曲線
Filenet 的去中心化存儲網絡可以建立在諸多共識協議上,只要能證明分發證明的驗證即可。
3.3 通過 Podt 方式計算礦工的算力
因為在每個周期都會產生一個區塊,礦工 Yn 都會被要求生產一個分發證明到網絡,只有網絡中的大多數驗證通過,分發證明才會被添加到區塊鏈中,然后所有的 Filenet全節點更新礦工的空間信息,并將失效的記錄刪除,因此礦工的 Yn 的算力可以通過累加并檢驗礦工的分配情況確定。對于大節點,通過累計從創世區塊到當前區塊的關于Yn 的所有分發記錄計算出 Yn 的算力。
對于小節點可以通過信任的大節點讀取 Yn 的所有分發記錄,一個關于最新區塊的hash 樹路徑和一個創世區塊到當前區塊的區塊頭信息。通過這個方式小節點可以把驗證 Podt 證據的工作委托給網絡。
如果礦工要惡意偽造自己的算力,就需要偽造自己分發證明。如果要偽造自己的分發證明就需要執行 send 操作。在 send 操作中就要偽造虛假證明到區塊鏈上,send 有校驗過程,如果能偽造 send 操作那么 Filenet 就認為是真實的證明,因此Filenet 完全是依靠 Podt 協議維護真實性。在分發證明章節已經證明了 Podt 是安全的。
Filenet 通過算力達成共識,把分發量貢獻度簡稱 PoC(Proof ofContribution), 把信任度和保證金量和時長做股份因此是改進版的 POS,采用PoC+PoS 機制,然后每一個周期概率選舉出多名個礦機共同出塊,被選舉的礦工會增值信任分。
POC+POS 是一種隨機選舉,無法預測,選舉出礦工作用就是在一個區塊周期創建區塊并廣播到全網,數據塊以 DAG 的數據結構管理,因此區塊越多主鏈越安全。
3.4 共識機制算法
T:某一出塊周期的結算時刻。Random(t):隨機數P J t :在出塊周期內礦工的算力。L:H(Yn)是一個 hash 函數 L 是其中長度。<Yn>msn:礦機 Yn 對消息 msn 的簽名。<Yn>msn=((Yn)SIGmsn(H(Yn))) ————–1Mine:YnComputeH(<t||random(t)>Yn)*2 L ≦Pt/∑ P J tj————–2π=<t.r>iverifier Node: Verfy(π,t,Yn) ————–31.π is valid signature。2 P J t : is Power of Yn at time t3. check H(π)/2 L = Pt/∑ P J tj
礦工通過上面的不等式來確認自己是否是當選出塊者,其中公式 1 表達當前出塊的時間生成一個隨機數。根據時間生成一個隨機數 hash,Yn 對 hash 值簽名,然后再做一次 hash2 將 hash2 除以 2 的 L 次方,得到一個 0~1 之間的數字。
表達式 2 是本礦機在全網的算力比例。
此共識機制是公平的。
每個參與者在一個出塊周期內只有一次選舉機會,所有選舉都為隨機選舉。
Random(t)是無法預測的。計算是無法并行且不能被惡意操控。
惡意礦工無法偽造其他礦工簽名,因為 Yn 不能獲得其他 Yn 的私鑰。
同時是可公開驗證的,礦機計算出自己為勝出者,那么他需要向全網提交驗證證據,而任何時候都可以驗證礦機的算力和他產生的隨機數 hash 值。

4.智能合約
Filenet 是面向開發者的一條公鏈,面向 DApp 或私鏈開發者采用是凍結釋放模式,凍結釋放時長比例依據流通量占比,釋放算法在智能合約已經寫入,無法修改。
礦工持幣模式均在合約表現出來。我們所開發的智能合約可能會采用 Ethereum技術來快速實現。
Filenet 本身具有實現智能合約機制的潛力,它的某個未來版本會實現相應的功能并充分利用 Filenet 本身的優勢。

5.生態應用開發
目前大部分區塊鏈項目都是基于 Ethereum 開發,但是在面對大數據并發和大存儲的應用時束手無策,比如需要開發去中心化的視頻、游戲、直播平臺,以及更廣闊的物聯網應用時,而基于 Filenet 的技術特點,則能提供有效的解決方案。
我們開發這條公鏈是希望開發者能輕松開發自己的超級應用,踐行自己改變世界的夢想,公鏈將持續優化開發語言,并提供 DApp 運行必要的存儲空間和網絡。圖 6 生態應用開發

6.后續關注
本文檔為 Filenet 白皮書(初版),主要是想闡述我們當下的思考及技術規劃,技術 Filenet 黃皮書會在后續工作中公布。
開發小組的技術實現方案,會采用社區化的開發方式,后續的技術問題我們將在Filenet.io 或者社區公開征集。
Filenet.io 項目采用社區自治方式,任何開發者都可以參與,只要你愿意加入并付出自己的時間。
感謝 IPFS 社區開發者朋友提供的眾多技術指導意見。
目前,Filenet 所有的信息和公告只有一個通知窗口 Filenet.io,請廣大社區支持者關注 Filenet.io 網站。

參考文獻
[1]Filecoin: A Decentralized Storage Network, Protocol Labs[2]IPFS – Content Addressed, Versioned, P2P File System, JuanBenet[3]Disrete Mathematics and Applications Seveth Edition,ChineseAbridgement[4]Computer Networking A Top-Down Approach Sixth Edition,James F.Kurose Keith W.Ross[5] Peter J. Braam. The Coda Distributed File System, Schoolof Computer Science,Carnegie Mellon University,http://www.coda.cs.cmu.edu[6] Lustre File System White Paperhttp://www.sun.com/software/products/lustre/index.xml[7] The Google File System, SOSP’03, Sanjay Ghemawat,HowardGobioff, Shun-Tak Leung[8] Network File System, http://www.faqs.org/rfcs/rfcl094.html

IPFS是一個底層的協議,就好比最基礎的區塊鏈技術,誰規定了區塊鏈上面只有一個比特幣?IPFS上面只有一個Filecoin?
只要任何有想法、有野心的團隊都可以在上面建立激勵層,開發屬于自己的分布式存儲項目。
Filenet就是這樣一個有野心的項目。
如果你有興趣了解歡迎掃下面的二維碼加小助手領取Filenet白皮書PDF班加入Filenet社群還有機會獲得Filenet初期的測試資格哦

 

贊(0)

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
p3试机号99