區塊鏈研究實驗室|如何在區塊鏈上實現去中心化資料倉儲共享-part1

買賣虛擬貨幣

本文主要討論使用區塊鏈智慧合約和資料倉儲安全共享去中心化資料。

背景

Alice和Bob想雙方相互共享資料,但不是以傳統集中的模式進行。集中資料儲存在一個位置或一個公司,這就使資料面臨著不安全,公開,不受控制(簡而言之被濫用)的風險。

集中資料共享:面臨資料可能丟失、被盜、出售等風險

相反Alice和Bob希望以去中心化的方式共享資料。去中心化的資料是由多個地點由多個公司持有。這可能會使資料更安全、更私密、更可控。

去中心化的資料共享:降低濫用風險

本文的其餘部分討論了此重要問題的解決方案。

討論

Alice和Bob希望共享資料,包括訊息、郵件、文件、影象和任何其他分散在雲端中某處的檔案。

共享資料包括儲存資料和控制誰有權訪問哪些資料以及何時訪問。

解決這個問題的方法之一是將資料訪問控制與資料儲存分開。

我們想在區塊鏈上使用智慧合約來控制對資料的訪問,因為智慧合約非常擅長控制誰在何時何地做什麼,何時何地執行,並且它們存在於去中心化平臺上。

然而由於儲存成本非常高的原因,區塊鏈並不適合儲存資料。儲存一小部分位元組的開銷已經足夠大了,儲存一個檔案的開銷往往高得讓人望而卻步,有時甚至不可能。

我們認為,安全地儲存共享資料的最佳位置是隻有使用者可以在資料保險儲存伺服器上訪問這些資料,並且由使用者決定使用哪個資料倉儲儲存伺服器(或資料倉儲儲存伺服器的組合)。

因此Alice和Bob都想在他們選擇的資料倉儲伺服器上共享他們的資料,使用者訪問由智慧合約控制,所有這些都透過網際網路連線在一起。

智慧合約和資料倉儲必須提供哪些功能才能啟用此解決方案?

組合功能

所需的使用者角色,計算機狀態和物件取決於所部署的特定智慧合約。但是當智慧合約與資料倉儲互動時,雙方必須指定和實現可能的物件和操作。

為此需要智慧合約和資料倉儲儲存介面規範。

智慧合約功能

智慧合約對可以在哪些物件上執行哪些操作,透過哪些角色以及在哪種計算機狀態下進行編碼。

某些智慧合約功能可以由使用者直接呼叫,而某些可以由資料倉儲呼叫。

智慧合約匯出一個公共介面,該介面提供檢查和更改當前機器狀態的使用者功能。

智慧合約中可能的角色和機器狀態包括:

ExampleUserRolescontractOwnerdataOwnerdataRequesterregulatoretcExampleMachineStatesinitialisingawaitingsomethingactivatedauditingterminatedetc

智慧合約還匯出符合介面規範的公共介面,從而為資料倉儲提供檢查在當前機器狀態下是否允許角色對物件執行操作的功能。

因此資料倉儲操作的控制被編碼在智慧合約中。

資料倉儲功能

資料庫儲存加密的檔案,並且必須要清楚智慧合約的區塊鏈上介面規範的地址。

每當使用者向資料儲存庫發出對物件執行操作的請求時,資料儲存庫將與智慧合約一起檢查使用者是否具有執行該操作的許可權(考慮到智慧合約的計算機狀態),如果有,則執行該操作。

資料倉儲與智慧合約一起檢查是否允許使用者請求

資料倉儲儲存具有以下操作的物件:

ObjectPossibleOperationsfileread,write,appendfolderread,write,append

智慧合約和資料倉儲操作

合約所有者建立智慧合約並將其部署在區塊鏈上,然後建立一個將使用它的資料倉儲。這兩個元件都必須符合介面規範。

使用者可以向智慧合約或資料倉儲發出請求。

智慧合約請求檢查或更改合約的機器狀態。

當其中一個使用者發出資料倉儲請求時,資料倉儲會在執行之前與智慧合約檢查是否允許該操作。

只有智慧合約所有者可以終止智慧合約,並且他們可以在智慧合約允許的任何時間終止智慧合約。終止的合約會將所有剩餘資金釋放給合約所有者,最終將導致資料保管庫被刪除。

示例解決方案

我們將提供一個有效的解決方案,使用datona-cli提供針對此問題的可行解決方案。下一章節會涉及到。

結 論

Alice和Bob以及其他許多人都希望能夠以分散的方式共享資料。這可能會使資料更安全、更私密、更可控。

結合使用智慧合約和符合介面規範的資料倉儲來做到這一點是很實際的。

--------------------------------------------

原文作者:Julian Goddard

譯者:鏈三豐

譯文出處:http://bitoken.world

---------------------------------------------

相關文章閱讀:

區塊鏈研究實驗室|加密區塊鏈資料庫詳解(第一部分)

加密區塊鏈資料庫詳解(第二部分)

區塊鏈研究實驗室和|Hyperledger Fabric最佳實踐-使用Chaincode加密狀態資料庫

免責聲明:

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

推荐阅读

;