當(dāng)前,全球處在一個由工業(yè)時代逐步過渡到信息時代的階段,數(shù)據(jù)正在成為世界上最有價值的資源。伴隨人類的各種行為,產(chǎn)生了龐大的數(shù)據(jù),如何存儲這些數(shù)據(jù)并進(jìn)一步利用好數(shù)據(jù),這個問題變得越來越重要。從內(nèi)部部署存儲遷移到云存儲是過去十年的主題,而且這一趨勢正在加速。另一方面,大量的存儲空間在世界各地的人們的硬盤上未被使用,很多資源在無形中被浪費(fèi)了。
區(qū)塊鏈技術(shù)的誕生,為軟件定義存儲的發(fā)展開辟了新的道路。它創(chuàng)造了一種可能:在技術(shù)層面和經(jīng)濟(jì)體系層面重新思考云存儲并解決行業(yè)困境。首先,存儲的池化可以在更廣闊的空間,以更豐富的形態(tài)來實(shí)現(xiàn)。其次,區(qū)塊鏈的 Token 激勵機(jī)制,可以驅(qū)動大家將企業(yè)級存儲、服務(wù)器、PC、移動存儲等的剩余存儲空間貢獻(xiàn)出來。最后,每個節(jié)點(diǎn)實(shí)際存放的數(shù)據(jù)只是數(shù)據(jù)的一些切片,而且這些切片還以加密的方式保存起來。數(shù)據(jù)能夠更安全地保護(hù)起來,即使提供存儲節(jié)點(diǎn)的用戶有機(jī)會查看這些切片,看到的也是沒有實(shí)際意義的數(shù)據(jù)段。區(qū)塊鏈的DAO這種分布式商業(yè)模式,有機(jī)會借助全球的資源和人才,類似眾人拾柴火焰高一樣,加速分布式存儲產(chǎn)業(yè)的發(fā)展。與現(xiàn)有云存儲解決方案相比,基于區(qū)塊鏈的分布式存儲更安全、更快、成本更低、更具審查性,并且分布更廣。它創(chuàng)造了一個允許人們把他們備用存儲空間貨幣化的市場,全球存儲市場的涌入的供應(yīng)將降低存儲價格。區(qū)塊鏈能夠保證以安全、去信任、點(diǎn)對點(diǎn)的方式做到這一點(diǎn)。從中心化存儲到去中心化存儲。從中心化互聯(lián)網(wǎng)到去中心化互聯(lián)網(wǎng)。我們正站在歷史的轉(zhuǎn)折點(diǎn)。
基于區(qū)塊鏈的分布式存儲優(yōu)勢:
1)分布式存儲真正發(fā)揮了共享經(jīng)濟(jì)的優(yōu)勢。用戶可以將硬盤的空余空間充分的利用起來,并且獲得收益。
2)數(shù)據(jù)被切割成小塊后,需要經(jīng)過加密后才會分散到眾多節(jié)點(diǎn)上。即避免了中心化存儲“竊取”文件的事件,同時即便解鎖某一塊數(shù)據(jù),也只是部分?jǐn)?shù)據(jù),并非全部。另外,也不用擔(dān)心中心化服務(wù)器因?yàn)楣收显斐傻臄?shù)據(jù)泄露等風(fēng)險。
3)文件在下載的過程中,碎片會進(jìn)行重組,并行的速度會遠(yuǎn)大于中心化存儲。
4)通過智能合約,網(wǎng)絡(luò)可以自動判定使用情況以及使用獎勵等。
什么是IPWeb?
在此基礎(chǔ)上構(gòu)建的分布式存儲服務(wù)平臺,比中心化存儲更快捷、更安全、成本更低。將文件分割成多個小的部分(保證一定的冗余性),分散存儲在網(wǎng)絡(luò)眾多節(jié)點(diǎn)上,只要一定數(shù)量節(jié)點(diǎn)的正常運(yùn)轉(zhuǎn),就能保證文件的安全和完整。
當(dāng)用戶輸入一個 URL 在網(wǎng)頁瀏覽器來獲取網(wǎng)上信息時,URL 會解析到一個 IP 地址。這個 IP 地址會找到存儲著用戶所需要尋找的信息的那臺服務(wù)器。網(wǎng)上的幾乎每個發(fā)布者,供應(yīng)商和服務(wù)都會把信息存在他們控制的特定的數(shù)據(jù)中心的服務(wù)器里,這就讓我們今天的網(wǎng)絡(luò)變得中心化。
IPWeb 網(wǎng)絡(luò)協(xié)議本身能確保用戶的文件得到存儲。作為 IPWeb 挖礦過程中產(chǎn)生的副產(chǎn)品,創(chuàng)新的加密證明給客戶創(chuàng)造了一套有用且有價值的服務(wù)。礦工被激勵去用他們的硬盤空間在 IPWeb 的可驗(yàn)證的存儲市場上賺錢,他們將會得到等量的獎勵:礦工存儲的量越大,他們將會賺取更多的權(quán)益證明 -Token。
我們相信,這些新增的去中心化的儲存空間供應(yīng)會讓客戶減低網(wǎng)絡(luò)存儲花費(fèi)且享受到更優(yōu)質(zhì)的存儲服務(wù)。作為一個去中心化的協(xié)議,網(wǎng)絡(luò)上儲存的數(shù)據(jù)和與這些數(shù)據(jù)的鏈接不會被一個中央點(diǎn)所控制,這種設(shè)置能提高牢靠性。比起現(xiàn)在單一集中的服務(wù)器和大型內(nèi)容分發(fā)網(wǎng)絡(luò),在 IPWeb 礦工間被大規(guī)模傳送的信息會被儲存在更靠近用戶的地方,使信息搜索更加快捷。在 IPWeb 上通過加密算法被編入檢索的數(shù)據(jù)能夠使客戶更加高效地管理和更新龐大的數(shù)據(jù)。最后,作為一個開源項(xiàng)目,不同于今天大多數(shù)的云存儲與分發(fā)平臺,IPWeb 軟件本身公開接受檢查,驗(yàn)證和提升。隨著 IPWeb 的不斷升級與新功能不斷地被加入,我們希望 IPWeb 的網(wǎng)絡(luò)可以成為一個面向大眾(即使不是所有人)的網(wǎng)絡(luò)信息存儲和分發(fā)的平臺。
IPWeb的基礎(chǔ)設(shè)施
IPWeb 將為所有生態(tài)參與者提供多種基礎(chǔ)設(shè)施,包括:
· 基于共享經(jīng)濟(jì)模式的 P2P 云存儲服務(wù);
· 連接全球數(shù)據(jù)的 P2P 數(shù)據(jù)交易平臺;
· P2P 去中心化互聯(lián)網(wǎng):IPWeb 協(xié)議下的域名系統(tǒng)、瀏覽器;
· 去中心化服務(wù)和內(nèi)容平臺;
· 區(qū)塊鏈:高性能公有鏈、自定義側(cè)鏈;
· 基于去中心化互聯(lián)網(wǎng)生態(tài)的數(shù)字貨幣。
IPWeb的技術(shù)體系
1. 總體架構(gòu)設(shè)計(jì)
IPWeb計(jì)算文件的哈希值作為系統(tǒng)中對象的唯一標(biāo)識,文件進(jìn)行加密、編碼后產(chǎn)生的碎片為對象數(shù)據(jù)。存儲節(jié)點(diǎn)將對象數(shù)據(jù)存儲在自己的存儲單元中,超級節(jié)點(diǎn)負(fù)責(zé)維護(hù)對象數(shù)據(jù)到存儲節(jié)點(diǎn)的映射關(guān)系。其中存儲節(jié)點(diǎn)是完全對等的,通過一套 P2P傳輸協(xié)議,存儲節(jié)點(diǎn)間可相互傳輸數(shù)據(jù)。超級節(jié)點(diǎn)作為調(diào)度者,接受存儲節(jié)點(diǎn)的信息,并根據(jù)廣播更新存儲對象的實(shí)時信息,以便用戶訪問存儲對象時可快速的返回對象位置。
1.1 雙層網(wǎng)絡(luò)設(shè)計(jì)
IPWeb將存儲和檢索兩層網(wǎng)絡(luò)分離,提高了網(wǎng)絡(luò)效率,也降低了挖礦門檻。存儲和檢索對于礦機(jī)的要求是不一樣的。檢索需要昂貴的算力和能源消耗,而存儲需要存閑置的存儲資源和帶寬資源。存儲和檢索分離更有助于以低成本的礦機(jī)為IPWeb貢獻(xiàn)。
1.2 多鏈結(jié)構(gòu)(主側(cè)鏈設(shè)計(jì):多鏈多共識)
IPW Chain主鏈采用PoRep(復(fù)制證明)、PoE(提取證明)。IPW Chain提供Consensus接口,提供POW、POS、DPOS等實(shí)裝。開發(fā)者可以通過主鏈提供的Consensus接口創(chuàng)建并完成自己節(jié)點(diǎn)的部署。對性能要求高的側(cè)鏈可以采用DPOS,對去中心化要求高的可以采用POW。
2. 存儲網(wǎng)絡(luò)
2.1 DHT
P2P 的本質(zhì)即是一種新的網(wǎng)絡(luò)傳播技術(shù)。這種新的傳播技術(shù)打破了傳統(tǒng)的架構(gòu),逐步地去中心化,扁平化,從而達(dá)到節(jié)點(diǎn)平等的未來趨勢。P2P 文件分享的應(yīng)用(BTs/eMules 等 ) 是 P2P 技術(shù)最集中的體現(xiàn)。IPWeb 是以 P2P 文件分享網(wǎng)絡(luò)作為入口,圍繞一個文件網(wǎng)絡(luò)系統(tǒng),將其可操作性結(jié)合區(qū)塊鏈的公式算法設(shè)計(jì)出新型扁平化,去中心化的云存儲網(wǎng)絡(luò)。同時保留了區(qū)塊鏈公開,透明的特性。
分布式哈希表 DHT(Distributed Hash Table)是一種分布式存儲方法。在 DHT中,一類可由鍵值來唯一標(biāo)示的信息按照某種約定 / 協(xié)議被分散地存儲在多個節(jié)點(diǎn)上,可以有效地避免“中央集權(quán)式”的服務(wù)器(比如:Tracker)的單一故障而帶來的整個網(wǎng)絡(luò)癱瘓。和中心節(jié)點(diǎn)服務(wù)器不同,DHT 網(wǎng)絡(luò)中的各節(jié)點(diǎn)并不需要維護(hù)整個網(wǎng)絡(luò)的信息,而是只在節(jié)點(diǎn)中存儲其臨近的后繼節(jié)點(diǎn)信息,大幅減少了帶寬的占用和資源的消耗。DHT 網(wǎng)絡(luò)還在與關(guān)鍵字最接近的節(jié)點(diǎn)上備份冗余信息,避免了單一節(jié)點(diǎn)失效問題。
實(shí)現(xiàn) DHT 的技術(shù) / 算法有很多種,如 Chord、CAN、Pastry、Kademlia 等。考慮技術(shù)成熟度以及市場運(yùn)用情況,IPWeb 使用 Kademlia 算法。Kademlia 通常又被稱為第三代 P2P 技術(shù),是一種 P2P 通用協(xié)議,適用于所有的分布式點(diǎn)對點(diǎn)計(jì)算機(jī)網(wǎng)絡(luò)。Kademlia 定義了網(wǎng)絡(luò)的結(jié)構(gòu),規(guī)劃了節(jié)點(diǎn)之間的通訊以及具體的信息交互過程。在Kademlia 中,網(wǎng)絡(luò)節(jié)點(diǎn)之間使用 UDP 進(jìn)行通信,通過一種分布式哈希表來存儲數(shù)據(jù),每個節(jié)點(diǎn)都會有一個自己的 ID,在用來標(biāo)識節(jié)點(diǎn)本身的同時,也用以協(xié)助實(shí)現(xiàn)Kademlia 算法和流程。
2.2 KAD 網(wǎng)絡(luò)
KAD DHT 存儲網(wǎng)絡(luò)中的節(jié)點(diǎn)(Node)包括如下特性:
· NodeID 在 KAD 中需要是 160bits 或者 20bytes;
· Contact 包含 NodeID(NodeID),Address(string),UDP Port Number;
· Bucket[VaugeKConst]*Contact 用在 Node 的 Routing 中,一個 Bucket 能包含的 k 個Node,所有的 Node 在 60 分鐘后消失;
· VaugeKConst 統(tǒng)計(jì)上設(shè)為 20;
· Router 包含 Contact 和 KBucket,KBucket 是在 ID 的每一個 bit 中,都有一個 Bucket。
Kademlia使用鍵值來確認(rèn)在KAD網(wǎng)絡(luò)上的節(jié)點(diǎn)和數(shù)據(jù)。KAD的鍵值是不透明的,長度160個比特。參加進(jìn)來的電腦每一個都會擁有一個鍵值,稱為NodeID,填充在160比特的鍵值空間中。由于KAD存儲內(nèi)容的時候是由KV(key-value)對來存儲的,每一個在KAD DHT中的Data也都是獨(dú)立于160位鍵值中的key對應(yīng)的空間的。在開始時,一個Node不了解任何其他的Nodes。當(dāng)新的Nodes注冊后,找到這個節(jié)點(diǎn)的鏈接,然后將新的NodeID存起來。當(dāng)存儲滿溢,Contact會被選擇性去掉,然后在bucket內(nèi)部被組織。從一個Node找一個NodeID的方式,是從一個已知的路由表中,從一個Node找到另一個最近的Node,直到找到RequestNode。
每個KAD節(jié)點(diǎn)都有160比特的NodeID,每個數(shù)據(jù)的鍵值也是一個160位的標(biāo)識符。想要確定KV對存在哪個節(jié)點(diǎn)中,KAD用了兩個標(biāo)識符間距離的概念。在給定兩個160位標(biāo)識符,x和y下,KAD通過他們兩個的“異或”來確定他們之間的距離,并表達(dá)為一個整數(shù)d(x,y)=x⊕y。XOR(異或)獲得到的是系統(tǒng)二叉樹框架中對距離的定義。在一個完全的160位ID二叉樹ID中,兩個ID距離的大小是最小的包含兩個節(jié)點(diǎn)的子樹。當(dāng)樹不是一個完全二叉樹的時候,距離IDx最近的葉是與x共享最長公共前綴的葉。舉例來說,在0011和1001之間的距離則是0011⊕1001=1010,1010通過整數(shù)表達(dá)則是10,所以在這兩個節(jié)點(diǎn)的距離則是10。
2.3 節(jié)點(diǎn)身份ID
對等節(jié)點(diǎn)身份信息的生成以及路由規(guī)則是通過Kademlia協(xié)議生成制定, KAD協(xié)議實(shí)質(zhì)是構(gòu)建了一個分布式松散Hash表,簡稱DHT,每個加入這個DHT網(wǎng)絡(luò)的人都要生成自己的身份信息,然后才能通過這個身份信息去負(fù)責(zé)存儲這個網(wǎng)絡(luò)里的資源信息和其他成員的聯(lián)系信息。如果新節(jié)點(diǎn)A需要尋找另外一個節(jié)點(diǎn)B的聯(lián)系信息,而A節(jié)點(diǎn)沒有節(jié)點(diǎn)B的聯(lián)系方方式,那么節(jié)點(diǎn)A可以通過聯(lián)系任意和節(jié)點(diǎn)B有聯(lián)系的節(jié)點(diǎn)來獲取節(jié)點(diǎn)B的聯(lián)系信息。
2.4 查找算法
在KAD里面的節(jié)點(diǎn)查找過程是通過KAD根據(jù)給定的鍵值去定位k個最近節(jié)點(diǎn)的。KAD在節(jié)點(diǎn)查找中選擇采用的是遞歸算法。發(fā)起查找的一方首先從非空k-bucket中找到一個節(jié)點(diǎn)(或者,如果那個bucket有比 α 少的鍵值對數(shù)組,那他就只能通過鍵值得到 α 個最近節(jié)點(diǎn))。發(fā)起方通過并行異步方式發(fā)送FIND_NODERPC給選到的 α個節(jié)點(diǎn)。 α 是一個系統(tǒng)的并發(fā)參數(shù)。在遞歸的階段,發(fā)起方重新發(fā)送FindNode給之前發(fā)過RPC的節(jié)點(diǎn)。無法迅速回應(yīng)的節(jié)點(diǎn)就會被移除,除非直到這些節(jié)點(diǎn)回復(fù)。
如果一輪下來尋找節(jié)點(diǎn)沒有找到任何比最近觀察節(jié)點(diǎn)更近的節(jié)點(diǎn),發(fā)起方會重新發(fā)送FindNode給那些沒有被請求過的節(jié)點(diǎn)中尋找k個最近的。當(dāng)發(fā)起者請求后得到k個最近觀察節(jié)點(diǎn)的回復(fù)后,查找過程就會結(jié)束。每一個節(jié)點(diǎn)至少知道它每個子樹中的一個節(jié)點(diǎn),每一個節(jié)點(diǎn)都可以通過NodeID定位到其他節(jié)點(diǎn)。要存一個KV對,節(jié)點(diǎn)需要通過鍵值定位對應(yīng)k個最近節(jié)點(diǎn)然后發(fā)送STORERPC。要找一個KV對,節(jié)點(diǎn)需要查找到對應(yīng)鍵值最近的k個節(jié)點(diǎn)。但是,值(value)的查找會使用FIND_VALUE而不是FIND_NODE,而且這個過程當(dāng)任何節(jié)點(diǎn)返回值的時候立刻停止。
2.5 存儲爭議解決
在分布式存儲網(wǎng)絡(luò)中,數(shù)據(jù)節(jié)點(diǎn)分散在不可信任的邊緣網(wǎng)絡(luò)中,需要確保數(shù)據(jù)存儲在數(shù)據(jù)節(jié)點(diǎn)上,并可抵擋女巫攻擊、外包攻擊、代攻擊等作弊手段。在考慮存在惡意節(jié)點(diǎn)情況下,分布式存儲系統(tǒng)需要防范各種攻擊,IPWEB通過零知識證明(zkSNARK)和封裝(Seal)來實(shí)現(xiàn)復(fù)制證明(PoRep)和提取證明(PoE),實(shí)現(xiàn)占用資源少并且效率極高的存儲證明。
復(fù)制證明(PoRep – Proof of Replication)
存儲證明區(qū)別于工作量證明、權(quán)益證明等,存儲證明是一種用于分布式存儲領(lǐng)域的共識算法。是根據(jù)用戶對分布式云存儲平臺貢獻(xiàn)的存儲空間,并結(jié)合流量、帶寬、在線時長等因素進(jìn)行激勵。證明允許存儲提供用戶通過提供副本證明(π)來說服驗(yàn)證者,在驗(yàn)證者發(fā)出隨機(jī)挑戰(zhàn)時,提供證明:證明數(shù)據(jù)X相對于證明者的特定副本Y已經(jīng)存儲在唯一的專用物理存儲區(qū)了。PoRep算法可以保證每份數(shù)據(jù)的存儲都是獨(dú)立的,可以防止女巫攻擊,外源攻擊和生成攻擊。
PoRep的三個構(gòu)建階段 :
·PoRep.setup()--》副本 Y,副本 Hash 樹根 Merkel root of Y,封裝證明πSEAL。
·PoRep.prove()--》存儲證明πPoRep。
·PoRep.Verify()--》bit b (存儲有效性證明 b1(πPoRep)^封裝有效性證明b2(πSEAL))。
提取證明(PoE – Proof of Extract)
為了避免一遍遍的檢索存儲節(jié)點(diǎn)是否按照要求正確的存儲了數(shù)據(jù),造成算力資源的浪費(fèi),IPWeb設(shè)計(jì)了新的證明算法提取證明(Proof of Extract),通過通證經(jīng)濟(jì)的利益驅(qū)動,當(dāng)存儲節(jié)點(diǎn)響應(yīng)用戶的檢索及下載需求時,存儲節(jié)點(diǎn)主動提供一個證明信息返給檢索礦工。IPWeb不需要再頻繁地檢索某個存儲節(jié)點(diǎn)是否正確存儲文件,只有當(dāng)文件能被成功檢索到時,網(wǎng)絡(luò)會執(zhí)行一個獎勵智能合約,該存儲節(jié)點(diǎn)才能獲得獎勵。
整個流程如下:
·IPWeb和存儲節(jié)點(diǎn)先簽訂一個存儲合約,比如存儲節(jié)點(diǎn)拿出100G的空間用于存儲挖礦;
·存儲節(jié)點(diǎn)開始儲存文件;
·用戶檢索文件時,檢索節(jié)點(diǎn)根據(jù)存儲合約發(fā)送請求給到存儲節(jié)點(diǎn);
·存儲節(jié)點(diǎn)收到檢索請求后,返回一個存儲證明給到檢索節(jié)點(diǎn);
·檢索節(jié)點(diǎn)驗(yàn)證存儲節(jié)點(diǎn)反饋的證明信息;
·用戶成功從驗(yàn)證的存儲節(jié)點(diǎn)列表調(diào)用該節(jié)點(diǎn)的文件;
·存儲節(jié)點(diǎn)獲取存儲到本次檢索的存儲獎勵。
2.6 冗余處理
如果一個節(jié)點(diǎn)巡查失敗或者不可到達(dá),系統(tǒng)就發(fā)起一個網(wǎng)絡(luò)復(fù)制過程,通過把網(wǎng)絡(luò)上一個現(xiàn)有的副本轉(zhuǎn)移到一個新的節(jié)點(diǎn)上。因此,網(wǎng)絡(luò)就能在每次巡查之后恢復(fù)正常。每個碎片都是唯一加密的。這意味著,當(dāng)惡意用戶只有一個文件副本時,不能假裝擁有多個冗余副本。我們可以通過在集中加密碎片時,加入確定性的混淆值來完成。即使解密密鑰是一個已知的特定文件,惡意用戶也不能完成他們沒有被分配到的碎片的審核。這樣,我們可以證明一個特定的碎片的冗余,因?yàn)槊恳粋€冗余副本是獨(dú)一無二的。
另外,用戶和應(yīng)用都被K-M糾刪碼技術(shù)的參數(shù)和分布式的冗余控制。對于簡單的數(shù)據(jù)存儲,用戶可以選擇推薦的文件存儲級別設(shè)置。如果數(shù)據(jù)特別重要,用戶可以選擇高級別的文件存儲設(shè)置,把數(shù)據(jù)分散到多個存儲節(jié)點(diǎn)(含多個超級節(jié)點(diǎn))中,這能保護(hù)數(shù)據(jù)免受特殊情況的侵?jǐn)_(如自然災(zāi)害等)。
2.7 文件分發(fā)網(wǎng)絡(luò)
其核心思路是避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使文件傳輸?shù)母臁⒏€(wěn)定。通過在網(wǎng)絡(luò)各處放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò),CDN系統(tǒng)能夠?qū)崟r地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時間等綜合信息將用戶的請求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。其目的是使用戶可就近取得所需內(nèi)容,解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度。
3. 加密安全(可搜索加密/IP隱蔽)
在數(shù)據(jù)保護(hù)中,個人信息的隱私性是需要得到優(yōu)先考慮的,其次要支持的就是動態(tài)數(shù)據(jù)的改動,也就是Dapp對于去中心化數(shù)據(jù)存儲的修改。IPWeb基于業(yè)務(wù)場景,使用可搜索對稱加密(SSE: SearchableSymmetricEncryption)方法,SSE由五個算法組成:
K=KeyGen(k):輸入安全參數(shù)k,輸出隨機(jī)產(chǎn)生的密鑰K。該操作通常在數(shù)據(jù)擁有者端本地執(zhí)行。
(I,C)=Enc(K,D):輸入密鑰K和明文文件集D=(D1,D2,…,Dn),輸出索引和密文文件集。該操作在數(shù)據(jù)擁有者端本地執(zhí)行。
TW=Trapdoor(K,W):輸入密鑰K和關(guān)鍵詞W,輸出關(guān)鍵詞對應(yīng)的陷門。該操作在數(shù)據(jù)擁有者端本地執(zhí)行。
D(W)=Search(I,TW):輸入索引I和待搜索關(guān)鍵字的陷門TW,輸出包含關(guān)鍵字W的文件的標(biāo)識符集合。Search操作在Genaro中由密鑰分發(fā)控件執(zhí)行。
Di=Dec(K,Ci):輸入密鑰K和密文文件Ci,輸出解密后對應(yīng)的明文文件Di。該操作在數(shù)據(jù)擁有者端本地執(zhí)行。
另外,IPWeb將存儲和檢索兩層網(wǎng)絡(luò)分離,提高了網(wǎng)絡(luò)效率,提升了用戶體驗(yàn)。但檢索節(jié)點(diǎn)是整個P2P網(wǎng)絡(luò)最容易被尋找和攻擊的部分,需要對檢索節(jié)點(diǎn)有額外保護(hù),通過對檢索節(jié)點(diǎn)的IP地址加密保護(hù),用戶無法通過IP直接查詢,實(shí)現(xiàn)對節(jié)點(diǎn)的保護(hù)。
4. 其他技術(shù)創(chuàng)新
4.1 分散存儲
把文件分散成碎片能更好的保證數(shù)據(jù)的安全性,以致于只要存儲的文件是標(biāo)準(zhǔn)碎片大小,就沒有用戶擁有一個完整的副本。我們把出租他或者她的硬盤空間給網(wǎng)絡(luò)的用戶定義為用戶。定義標(biāo)準(zhǔn)碎片大小為字節(jié)的倍數(shù)(8KB/16KB/32KB/256KB/1024KB,根據(jù)文件大小,智能篩選分散標(biāo)準(zhǔn))。這些都是保持在預(yù)先設(shè)定的大小,以阻止試圖惡意存儲小文件(對于大文件,大數(shù)量的碎片切割更有優(yōu)勢。對于小文件,特別是對小于一定大小(如64M)的文件,小文件的P2P傳輸效率很低,對網(wǎng)絡(luò)容易造成額外負(fù)擔(dān))。
4.2 Peer評級/節(jié)點(diǎn)分級
在Filecoin里所有節(jié)點(diǎn)都是同級的,這帶來了更多的去中心化,但犧牲了效率。IPWeb會把存儲節(jié)點(diǎn)按可靠性分級。初步?jīng)Q定把存儲節(jié)點(diǎn)分為手機(jī)、個人計(jì)算機(jī)、專業(yè)礦機(jī)、企業(yè)級節(jié)點(diǎn)、超級節(jié)點(diǎn)。超級節(jié)點(diǎn)和企業(yè)級節(jié)點(diǎn)會有非常高的可靠性,所有文件的碎片會首先在超級節(jié)點(diǎn)和企業(yè)級節(jié)點(diǎn)備份,以提高IPWeb網(wǎng)絡(luò)的效率和可靠性。
4.3 存儲級別設(shè)置
用戶可以根據(jù)自己的需要對文件存儲級別進(jìn)行設(shè)置。比如將文件丟失恢復(fù)比設(shè)置為1/3、1/2、2/3。級別越高,安全性越高(丟失的風(fēng)險越小)。
4.4 防作弊機(jī)制
存儲節(jié)點(diǎn)A和用戶B可能會串通作弊騙取存儲獎勵。比如存儲節(jié)點(diǎn)A謊稱自己存儲了1T的文件F,而用戶B謊稱自己成功檢索到了存儲在A的文件F。對于這種作弊行為,我們有多重防范。首先,我們會采取動態(tài)IP機(jī)制(防刷機(jī)作弊、檢索作弊、存儲作弊)(每次換Peer)。其次,大文件更容易用于作弊,但是大文件也會被分成更多數(shù)量的文件存在很多節(jié)點(diǎn)。用戶B可能會付出檢索費(fèi)用卻只能A節(jié)點(diǎn)獲得了很少的獎勵,而其他節(jié)點(diǎn)獲得了絕大多數(shù)存儲獎勵。這同樣能有效抑制刷機(jī)套利作弊的行為。
4.5 IPWeb瀏覽器
IPWeb瀏覽器是可以訪問IPWeb協(xié)議網(wǎng)絡(luò)的瀏覽器,同時也兼容HTTP協(xié)議。不僅如此,用戶還可以通過瀏覽器設(shè)置個人設(shè)備的存儲空間用于挖礦。瀏覽器將能極大地增長IPWeb用戶數(shù)和社區(qū)。更多的人能為IPWeb網(wǎng)絡(luò)做貢獻(xiàn),也能成為IPWeb生態(tài)的消費(fèi)者。IPWeb還將自帶錢包功能。所有瀏覽器裝機(jī)用戶也會有自己的錢包。在必要的時候,IPWeb瀏覽器也可以兼容IPWEB協(xié)議,成為IPWEB生態(tài)的流量入口。
IPWeb 的經(jīng)濟(jì)模型是一套激勵生產(chǎn)者(服務(wù)提供者)和消費(fèi)者參與到 IPWeb 體系的經(jīng)濟(jì)激勵機(jī)制,是一套激勵數(shù)據(jù)存儲和檢索的經(jīng)濟(jì)激勵機(jī)制。IPWeb 有簡潔明確的底層激勵模型,和豐富、可拓展的多層激勵模型。
從基礎(chǔ)設(shè)施到 C 端內(nèi)容消費(fèi) / 服務(wù)提供,互聯(lián)網(wǎng)生態(tài)中有豐富的生產(chǎn) - 消費(fèi)關(guān)系。多層次的、豐富的生產(chǎn)消費(fèi)關(guān)系才能刺激了生態(tài)的蓬勃發(fā)展。在互聯(lián)網(wǎng)最初誕生的時候,互聯(lián)網(wǎng)的生態(tài)是很簡單、單薄的,只有大型科學(xué)項(xiàng)目和大企業(yè)在使用互聯(lián)網(wǎng)。甚至很多時候生產(chǎn)者和消費(fèi)者是同一批人,互聯(lián)網(wǎng)是他們工作的工具。后來,有了一些人在互聯(lián)網(wǎng)上創(chuàng)造了一些內(nèi)容,另一部分人需要一個入又瀏覽這些內(nèi)容。這個時候,瀏覽器應(yīng)運(yùn)而生。生產(chǎn)者和消費(fèi)者開始分化。除了內(nèi)容的生產(chǎn)者以外,第一層工具(瀏覽器)的生產(chǎn)者也開始出現(xiàn)。再往后,網(wǎng)站日益變多,Yahoo一類的門戶網(wǎng)站成為了互聯(lián)網(wǎng)生態(tài)的新入又。互聯(lián)網(wǎng)的生產(chǎn)者和消費(fèi)者進(jìn)一步增加,第二層工具(門戶網(wǎng)站)的生長者也出現(xiàn),生產(chǎn) - 消費(fèi)關(guān)系進(jìn)一步豐富。我們可以看到只有多層次的、豐富的生產(chǎn) - 消費(fèi)關(guān)系才能支持一個偉大的生態(tài)體系。
在底層經(jīng)濟(jì)模型里,IPWeb 的生產(chǎn)者主要是存儲節(jié)點(diǎn)和檢索節(jié)點(diǎn),消費(fèi)者主要是發(fā)起數(shù)據(jù)存儲和檢索請求的用戶。消費(fèi)者在 IPWeb 發(fā)起數(shù)據(jù)存儲請求和數(shù)據(jù)檢索請求,并支付代幣 IPW 作為存儲 Gas 和檢索 Gas。存儲節(jié)點(diǎn)貢獻(xiàn)閑置的存儲空間和帶寬,為消費(fèi)者提供 P2P 分布式數(shù)據(jù)存儲服務(wù),并獲得存儲 Gas 作為獎勵。檢索節(jié)點(diǎn)則貢獻(xiàn)閑置的算力和帶寬,為消費(fèi)者提供 P2P 分布式數(shù)據(jù)檢索服務(wù),并獲得檢索 Gas 代幣。除了存儲獎勵和檢索獎勵以外,部分超級節(jié)點(diǎn)還可以參與 IPW Chain 的記賬,獲得區(qū)塊產(chǎn)生獎勵。
單純的存儲和檢索服務(wù)只是一個去中心化數(shù)據(jù)存儲和檢索平臺。這是一種可以對標(biāo)中心化云存儲服務(wù)的平臺。但是這樣的基礎(chǔ)設(shè)施也類似于互聯(lián)網(wǎng)的第一個階段,只有大企業(yè)和大項(xiàng)目(比如視頻影像公司)會考慮到 P2P 存儲成本成為企業(yè)付費(fèi)用戶。只有底層設(shè)施,沒有豐富的應(yīng)用層生產(chǎn)者和消費(fèi)者,IPWeb無法支撐去中心化互聯(lián)網(wǎng)的偉大構(gòu)想。 所以 IPWeb 還設(shè)計(jì)了建立于底層經(jīng)濟(jì)模型之上的高層次經(jīng)濟(jì)模型。
第二層經(jīng)濟(jì)模型里,IPWeb 瀏覽器作為 IPWeb網(wǎng)絡(luò)的流量入又的承載了。IPWeb瀏覽器會內(nèi)置存儲挖礦和 IPW 錢包兩大功能。用戶可以在瀏覽器里設(shè)置把閑置的存儲空間貢獻(xiàn)出來進(jìn)行存儲挖礦。得到了存儲獎勵會直接到用戶的 IPW 錢包里。瀏覽器挖礦能讓幾乎所有用戶都能成為生產(chǎn)者獲得 IPW 激勵。用戶也可以便捷地在瀏覽器中進(jìn)行支付和轉(zhuǎn)賬等操作。錢包里擁有 IPW 的用戶會更容易參與到高層的經(jīng)濟(jì)活動中。
第三層經(jīng)濟(jì)模型里,我們有一套經(jīng)濟(jì)機(jī)制來鼓勵開發(fā)者開發(fā)基于 IP-Web 的網(wǎng)站和應(yīng)用。在這一層的生態(tài)中,去中心化互聯(lián)網(wǎng)生態(tài)與中心 化互聯(lián)網(wǎng)生態(tài)已經(jīng)趨于接近。IPWeb 的目標(biāo)就是塑造一個去中心化版的互聯(lián)網(wǎng)應(yīng)用生態(tài),并讓 IPW 成為這個應(yīng)用生態(tài)的通貨。讓開發(fā)者可 以用 IPW 支付技術(shù)成本,可以從消費(fèi)者手里獲得 IPW 的盈利。IPWeb 通過多層次的、不斷完善的經(jīng)濟(jì)模型激勵更多節(jié)點(diǎn)和用戶加入到去中心化存儲和去中心化互聯(lián)網(wǎng)的技術(shù)浪潮中來。這是共享經(jīng)濟(jì)和區(qū)塊鏈技術(shù)帶來的嶄新時代。
IPWeb的應(yīng)用場景
1. 分布式文件存儲
IPWEB 分布式存儲云能夠提供基礎(chǔ)的云存儲服務(wù)。通過 OpenAPI,客戶可以很容易的接入和使用 IPWEB 云存儲服務(wù)。分布式存儲云能夠提供更安全、更可靠和具有極高性價比的云存儲服務(wù)。
2 分布式文件共享
分布式共享云是利用分布式存儲云一共的存儲服務(wù)作為基礎(chǔ),用戶可以把他們擁有的一些文件(數(shù)字媒體或其他有價值的內(nèi)容)進(jìn)行共享。共享時可以根據(jù)具體的內(nèi)容設(shè)定一定額度的IPW打賞要求。如果其他用戶希望能夠完整的下載或觀看該文件,就需要支付相應(yīng)額度的 IPW 作為打賞給上傳者。作為一種文件共享服務(wù),IPWEB 將嚴(yán)格按照運(yùn)營所在地的法律要求對用戶的上傳內(nèi)容進(jìn)行審核和管理。
3 多媒體應(yīng)用
目前傳統(tǒng)在線視頻網(wǎng)站采用的是中心化存儲服務(wù),這需要高額的儲存費(fèi)用和帶寬費(fèi)用,相關(guān)的費(fèi)用會轉(zhuǎn)化為:觀看長時間的廣告及限制非會員觀看等。而使用了IPWeb 作存儲服務(wù),將大大降低了相同資源的冗余,同時節(jié)約了大量用戶播放視頻時產(chǎn)生的帶寬成本,使得觀看視頻更加高效和低廉。
4 數(shù)字內(nèi)容交易
由于采用了區(qū)塊鏈和分布式存儲技術(shù),IPWEB 存儲云非常適合為長尾內(nèi)容的版權(quán)交易提供存儲能力。分布式賬本能夠?yàn)榻灰滋峁┕_、透明和不可篡改的交易記錄。也能為數(shù)字內(nèi)容作品在區(qū)塊鏈上留下不可篡改的、唯一的數(shù)字簽名作為版權(quán)所有的標(biāo)識。在IPWEB平臺的支持下,大量的長尾視頻、音頻和攝影創(chuàng)作能夠有了一個低成本、可持續(xù)運(yùn)作的交易平臺。
5 社交應(yīng)用
使用IPWeb技術(shù)創(chuàng)建一個去中心化的社交網(wǎng)絡(luò)。作為一個去中心化的應(yīng)用程序,IPWeb 網(wǎng)絡(luò)可以讓社交應(yīng)用可以在沒有任何中心點(diǎn)的情況下工作,完全點(diǎn)對點(diǎn)。
IPWeb的生態(tài)建設(shè)
1 存儲生態(tài)
存儲礦工為網(wǎng)絡(luò)提供數(shù)據(jù)存儲,存儲礦工通過提供磁盤空間和響應(yīng)客戶請求來參與 IPWeb 運(yùn)作。要想成為存儲礦工,用戶需要提供存儲空間及帶寬資源。礦工將用戶的數(shù)據(jù)片段存儲到扇區(qū),并以此賺取 IPW。存儲礦工通過在特定時間內(nèi)存儲數(shù)據(jù),來響應(yīng)用戶的存儲請求。存儲礦工生成證明并提交到區(qū)塊鏈網(wǎng)絡(luò),來證明他們在特定時間內(nèi)存儲了數(shù)據(jù)。如果數(shù)據(jù)失效或丟失,存儲礦工將被罰沒部分抵押的 IPW。存儲礦工工作流程:
· 存儲礦工在區(qū)塊鏈中存放抵押的 IPW,來保證向網(wǎng)絡(luò)提供穩(wěn)定的存儲。抵押品為了保證服務(wù)而存在,如果礦工為所存儲的數(shù)據(jù)生成了存儲量證明,抵押品就會被退回。如果沒有成功生成存儲量證明,礦工將失去抵押品。
· 一旦抵押交易在區(qū)塊鏈中出現(xiàn),礦工就可以在存儲市場中提供存服務(wù)。
· 一旦訂單匹配,客戶就將數(shù)據(jù)發(fā)給存儲礦工。存儲礦工數(shù)據(jù)接收完成后,礦工和客戶簽署交易訂單并提交到區(qū)塊鏈。
· 當(dāng)存儲礦工被分配了數(shù)據(jù)時,必須重復(fù)生成存儲量證明來確保他們正在存儲數(shù)據(jù)證明被發(fā)布在區(qū)塊鏈中,并由網(wǎng)絡(luò)來驗(yàn)證。
· 驗(yàn)證成功后,存儲礦工將會獲得相應(yīng)的存儲獎勵。
2 檢索生態(tài)
檢索礦工為網(wǎng)絡(luò)提供數(shù)據(jù)檢索服務(wù),檢索礦工通過提供用戶檢索請求所需要的數(shù)據(jù)來參與 IPWeb 運(yùn)作。和存儲礦工不同,他們不需要抵押品,不需要提交存儲數(shù)據(jù),也不需要提供存儲證明。
3 應(yīng)用開發(fā)者生態(tài)
IPWeb 需要更多的商業(yè)來繁榮整個生態(tài),需要有相應(yīng)的應(yīng)用開發(fā)商來經(jīng)營業(yè)務(wù),讓更多的存儲需求進(jìn)來。
4 應(yīng)用服務(wù)生態(tài)
IPWeb 為用戶提供文件存儲及檢索服務(wù),用過通過 IPWeb 瀏覽器使用 IPWeb提供的各項(xiàng)服務(wù)。
評論
查看更多