解密DxBox: 基於區塊鏈的安全儲存應用

買賣虛擬貨幣

本文簡要討論了雲端儲存產品的現有缺陷,以及基於區塊鏈的儲存應用將如何為資料儲存問題提供更佳解決方案。此外,本文將詳細介紹由DxChain Network開發的區塊鏈儲存應用Dapp - DxBox,及其架構設計和經濟模型。

簡介

隨著當今科技的迅速發展,區塊鏈技術被當作是解決包括雲端儲存問題在內的許多現有系統問題的熱門方法。雲端儲存是一種運用了分散式資料中心和虛擬技術的資料儲存系統。因為自身的便利性和高效性,雲端儲存收到了大量個人和商業組織的關注:使用者可以在任何時間,任何地點,透過網路去訪問儲存在雲端的資料。然而,雲端儲存的某些弱點,例如資料安全性和資料隱私性,一直未得到有效解決。

當使用者上傳資料到雲端時,資料會首先被系統的“大腦”(主控資料伺服器)接收。然後,資料會被備份儲存在不同的資料中心,以防止源資料損壞後資料無法訪問的現象。當資料上傳完成後,其安全性就完全取決於資料中心的可靠性。如果資料中心因為自然災害或人為因素導致損壞,那麼資料就有可能完全丟失。近年來,資料損壞和丟失的問題在包括谷歌在內的科技公司層出不窮。例如2015年,谷歌位於比利時的資料中心被閃電擊中4次,導致部分資料的永久性丟失。

除了對資料安全的擔憂之外,中心化的儲存方式及資料加密的缺乏,也是目前雲端儲存技術難以解決的問題。大多數雲端儲存服務只提供資料傳輸之間的加密方法,例如,SSL/TLS。 然而,這種加密方法是很容易被攻擊的。除此之外,因為中心化,伺服器管理員有許可權直接訪問使用者上傳的資料。即使大部分公司對保護使用者隱私有著很嚴格的條例,但是隻要有人為的干預,就永遠有資訊洩露的風險。

為了解決上述問題,我們設計了DxChain,並研發實現了一款基於DxChain Testnet的區塊鏈儲存應用 - DxBox。

架構設計 

DxBox是一款執行於DxChain Testnet v0.3.6的演示應用,為使用者提供簡單明瞭的檔案上傳下載功能。這款應用運用了委託方和供應商的模型來進行檔案的傳輸。更詳細來說,委託方是一個節點,它會消耗基於DxChain的原生通證(DX Token),來獲取資料的傳輸以及儲存服務。而供應商則是用閒置的磁碟儲存空間來提供資料儲存服務的節點,並以此來賺取佣金(DX Token)。要成為一個供應商,節點必須要進行廣播,廣播的內容會儲存在區塊鏈上。委託方會從區塊鏈上得到廣播資訊,存入自身的資料庫中。

在進行檔案上傳之前,委託方必須要找到符合條件的供應商,與他們簽訂合約。委託方會不間斷的向每一個存入資料庫的供應商詢問他們的引數,例如合約生成,檔案上傳、下載及儲存的費用。根據這些資訊,委託方會自動選取排名靠前的供應商與之簽訂合約。每一個合約中都包含了合約截止的區塊高度,儲存檔案的大小等資訊。當合約成功簽訂後,使用者就可以透過委託方上傳和下載檔案了。為了簡化體驗過程,目前DxBox應用中的所有供應商引數都已提前設定完畢。

如圖一所示,當使用者開始上傳檔案時,檔案會被分成不同的資料塊。每一個資料塊會透過委託方節點產生的私鑰進行加密,然後透過糾刪碼演算法進行分片。糾刪碼演算法透過擴充套件和編碼原有資料來進行資料保護,能有效提升儲存系統的可靠性。當供應商節點下線或者一些資料片發生損壞時,原檔案只需要透過部分資料片就可以被還原。

對於DxBox應用來說,每個資料塊會被分成10個資料片。其中,一個資料塊只需要5個資料片就可以進行還原,剩餘的5個作為備份。一個檔案被分成資料塊的個數,取決於檔案大小、恢復資料塊所需資料片的個數和資料片的大小(預設為 4 MB)。他們之間的關係可以用下面的公式來表示:

比如,當使用者透過DxBox上傳一個大小為10MB的檔案時,檔案會被分成3個資料塊,30個資料片。當資料塊的每一個資料片都上傳成功後,檔案的上傳過程便完成了。在此過程中,資料塊加密和糾刪碼演算法的應用,確保了檔案儲存系統的安全性和可靠性。由於每一個供應商只能拿到資料片,對他們來說,拿到所有需要的資料片並還原資料基本是一項不可能的任務。即使在最壞的情況下,攻擊者拿到了所有的資料片以用來還原資料塊,但資料塊已被委託方進行私鑰加密,原檔案的內容仍舊無法被讀取。

檔案下載與檔案上傳是完全相反的過程。如圖二所示,當使用者傳送了下載請求後,委託方節點會從隨機挑選的五個供應商那裡拿到資料片。檔案下載時,所需的供應商數量是根據以下公式來計算的:

當所需資料片都成功從供應商處下載後,資料片會被轉換成為加密過後的資料塊。當資料塊被成功解密並還原成原檔案後,使用者便可以從委託方節點下載到本地裝置。

經濟模型 

在生成新的儲存合約的時候,供應商和委託方都需要存放一定數量的金額(DX通證)到合約中。其中:

1)委託方放入合約中的金額將用於所有檔案儲存、合約生成、檔案上傳以及檔案下載所需要的費用;
2)供應商放入合約中的金額為押金。

當簽訂合約的時候,委託方需支付一筆手續費,此後,每次的檔案上傳、下載及檔案儲存,委託方都要支付給供應商一筆費用。這些費用都將取決於供應商的設定。委託方每一次的花費,都會被記錄在儲存合約中,也就是修訂儲存合約。然而,為了儲存合約的不可抵賴性以及不在區塊鏈上存入過多的資料,只有最新的一個修訂儲存合約才會被供應商提交併記錄在區塊鏈上。

在合約截止時供應商會自動提交儲存證明,並得到合約收益和返還的押金。委託方放入合約的存款中,未被使用的部分將被返還給委託方。若供應商無法證明其為委託方儲存了有效檔案,那麼押金中的一部分通證會被扣除。

DxBox採用了自動續約機制,即在合約截止前委託方會嘗試與每一個供應商建立一份新的合約。當新合約生效後,即使舊合約還沒有截止,所有檔案的儲存、上傳以及下載的花費,都會被記錄在新合約中。

結論 

如今,雲端儲存因為其便利性和高效性變得越來越受歡迎。然而,人們在使用它的同時,對它的安全性和隱私性問題的擔憂也在日益增長。隨著區塊鏈技術的發展,像DxBox這樣基於區塊鏈技術的儲存產品的誕生,可以為儲存的安全和隱私問題提供更好的解決方案:檔案被分塊、加密,並透過糾刪碼演算法進一步編碼及分片,確保了儲存系統的安全性與可靠性。再加上DxBox使用了DxChain的原生通證及經濟模型,能夠鼓勵更多儲存供應商和個人使用者共享他們的閒置硬碟空間,在獲得有效經濟收益的同時也提高了整體生態的資源利用率。

DxBox只是基於DxChain Testnet研發的一款Demo Dapp,它仍不完美,還存在很多可提升的空間和可增加的功能,例如最佳化註冊系統,允許有區塊鏈經驗的使用者能夠手動除錯委託方的節點設定等。

歡迎大家來體驗DxChain釋出的首款區塊鏈儲存應用,我們期待收到更多寶貴的想法和建議!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;