
為了很好的維護PoC貢獻量證明機制的生態運作,保障日益增長需求旺盛的“云儲存”功能的安全,CyberVein技術團隊提出了驗證檔案可用性和完整性的基本方法——PDP資料完整性驗證協議,是將多個加密位元組“哨兵”插入到資料塊中進行“保衛”,集合嚴密的PDP檢測機制,致使資料塊處于半加密但又不可讀、不可入侵,整個程序的每一步操作都會被寫入區塊鏈中,防篡改、可溯源,接下來,我將根據官方發布的相關資料對此進行決議,或許你只需花這3分鐘仔細閱讀,便能對PDP有一定的了解,

PDP是天書嗎?只是你沒讀對罷了
相信不少人會覺得技術原理像天書,如CVT在其PDP機制中的一段描述:“PDP能檢查遠程云服務器是否保留一個檔案,該檔案由n個塊的集合組成,資料所有者處理資料檔案以生成一些元資料以在本地存盤它,然后將該檔案發送到服務器,并且所有者洗掉該檔案的本地副本,所有者在質詢回應協議中驗證檔案的擁有,”以上這段話的意思大概是在CVT中PDP方案,當你在鏈上存盤了檔案,云服務器會用N個“塊”分別存盤這份檔案,本地磁盤即可刪掉原來的檔案以騰出更多的空間給你,也不必擔心檔案會丟失,因為眾節點會共同記錄和監督,
現在就說說人話,如果你可以操作這個PDP資料完整性驗證協議,你該怎么做
PDP已經問世20年,是目前分布式儲存領域最廣泛使用也是最成熟的存盤完整性證明機制,它能快速判斷遠程節點上資料是否完整,主要用于檢測大資料檔案的完整性,CVT的PDP機制的一個應用場景如下:
舉例一個PDP應用場景:
1.Arthur要求Bobo存盤一組資訊;
2.Arthur本身并不會存盤這組資訊,原因有很多,可能記憶體不足,或者自己電腦存盤不安全;
3.過了一陣子,Arthur請Chloe來確認Bobo是否還存盤這組資訊;
4.當然,Chloe并不了解這組資訊的內容,只是個見證人
注:為了方便理解,我們對這些角色進行代換:Arthur即是用戶,Bobo即為存盤礦工,Chloe即為第三方審核者(以下簡稱TPA),
這個應用場景的完成,有以下兩個方面:
一、setup階段(你得先擁有一個完成任務的工具):
1、初始化階段
Arthur往電腦里插入她的硬碟,電腦和硬碟同時讀寫PDP的軟體,把變數賦為默認值,把控制元件設為默認狀態,注冊成功后Arthur會有自己的密鑰,
2、用戶運行密鑰生成演算法生成密鑰對(pk,sk)
Arthur按照使用說明,運行密鑰,會生成演算法和密鑰對(pk,sk)
3、對存盤的檔案進行分塊F=(m1,m2,…,mn)
分塊是指分類,方便日后搜索,檔案F是存盤進PoC系統中的塊(block)里,這些塊有固定的存盤量(視礦工貢獻的空間而定),它們還可以鏈接其他塊,如果存的檔案小,只需放在一個塊內即可,存的檔案大,多的部分就會被分到其他塊里,并創建一個空塊,該塊將鏈接到檔案的所有其他部分,這個空塊就類似于一個大信封,里面會涵蓋整個檔案的所有部分,
4、運行資料塊標簽生成演算法,為檔案中每一個資料塊生成同態標簽集合Φ
即Arthur對存盤的檔案分類完畢,會對她所存塊的檔案標記,同時這個標記會廣播到所有資料塊當中留底
5、Arthur將資料檔案F和簽名集合Φ同時存入云中,洗掉本地的{F,Φ}
Arthur所存盤的檔案F有了身份認證后Φ就上傳到“云資料庫”中,并通過系統檢索找到了有足夠存盤空間的Bobo,即檔案存入了“云資料庫”中的Bobo,
此時就不會占用Arthur的本地磁盤空間,因為已經由Bobo來存盤檔案F了,而Bobo根據存盤檔案F的大小(178MB),會獲得相應的Token獎勵,
二、Challenge階段(如果你想找到這個檔案)
1、用戶或TPA作為驗證者,周期性的發起完整性驗證請求,
Arthur想查看檔案F是否還完整地存在云上,或是需要重新下載這份檔案時,可發起驗證請求,當然Arthur也可委托Chloe來驗證檔案F是否老實完整地存在Bobo那,
2、從檔案F分塊索引集合[1,n]中隨機挑取c個塊索引{s1,s2,…,sc},并且為每一個索引si選取一個亂數vi,將兩者組合一起生成挑戰請求challenge發送給服務器,
這時候,Arthur隨PDP操作了一翻(別怕,有相關指令和步驟,基本上是不用動腦),系統會自動生成“搜查令”發送到“云資料庫”中,
3、服務器作為證明者,根據存盤在其服務器上的資料檔案{F,Φ},呼叫證據生成演算法和完整性證據P,回傳給驗證者,
服務器會快速索引檔案F,若檔案完整,會將“在云證明P”實時反饋給Arthur,以此確認Bobo還完整地存盤著檔案F,沒有丟失也沒有洗掉,
4、驗證者接受證據后,執行證據檢測演算法驗證證據是否正確,
若是由Chloe代查,并代收了“在云證明P”,Arthur依舊不放心,還能通過證據檢測演算法來驗證這個“在云證明P”的真實性和有效性,
PDP資料完整性驗證協議的極簡主義
傳統的檔案上傳和下載或瀏覽網頁方式,都需要基于位置的尋址方式,一次一次從服務器上獲取資料,一旦服務器出現故障、被限制或是被攻擊,就會出現檔案丟失或者網頁無法打開的情況(錯誤404)又或是IP被刪、服務器關閉,都會導致用戶無法使用該檔案,如果這個檔案是很多人都需要的,那么每個人都得去下載才能使用,造成很大的存盤空間浪費問題,PDP既去中心化的還是極簡的,你往后需要上傳或下載檔案,不再需要跑到中心服務器上,也不存在資訊丟失或者被篡改的問題,就能實作檔案共享,并節省存盤空間,PDP實則是重構了我們傳遞、獲取、存盤資訊的方式,徹底改變我們看待資訊的方式,成為我們日常生活的一部分,
歡迎大家加入并關注CyberVein其他自媒體社交平臺,獲取最新動態!
官方微博
weibo.com/CyberVein
官方CSDN
blog.csdn.net/CyberVein
官方GitHub
https://github.com/CyberVein-official
官方電報群
t.me/CyberVeinCommunity
官方推特
twitter.com/cyberveingroup
最新動態
twitter.com/cyberveingroup/status/1349952968955555841?s=21
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/253535.html
標籤:區塊鏈
上一篇:HTML、CSS、JavaScript、PHP之間的聯系與區別
下一篇:2021-01-27
