背景
在中心化系統中,用户對自己的數據沒有支配權。Facebook、Twitter和谷歌等中心化系統擁有用户數據的所有權。他們可以掌控,處理和售賣中心服務器中的用户數據。在你不知情的情況下,中心化系統可以將你的隱私和公開數據賣給第三方公司。
所有中心化系統容易受黑客攻擊,因為它們只有單一故障點。任何中心化服務器都無法100%避開黑客攻擊。據估計,僅在2018年上半年,就有大約450萬個數據記錄被攻破。最近的“劍橋分析”(Cambridge Analytica)醜聞曝光了Facebook利用了數百萬用户數據,一個典型的中心繫統無法保護用户數據的案例。據估計,到2020年,每年的數據泄露成本將達到2.1萬億美元。
在基於以太坊的區塊鏈中,數據所有權和安全性大為改觀,沒有擁有註冊和保存用户數據的中心化機構網絡,因此用户的數據歸實際用户所有。根據設計,基於以太坊的區塊鏈生態系統在數學上也不受黑客攻擊的影響。要攻擊像以太坊這樣著名的區塊鏈協議,黑客必須超過整個區塊鏈網絡的51%算力。以太坊大約有25,000個分散節點,因此攻擊以太坊網絡的成本很高,而且不切實際,因為黑客必須超過整個以太坊網絡至少51%的算力。目前,還沒有出現針對一個成熟的區塊鏈網絡發起51%攻擊的。
真正基於許可的數據架構
系統要做到始終保護用户的隱私權,使用數據必須經過用户同意,讓用户控制誰能讀取和使用他們的數據。不是所有數據都必須公開。例如,如果用户不希望與任何人共享個人信息,那麼該用户的個人信息很可能對所有人有害無利。
為了保護用户對數據的所有權,在設計基於以太坊的生態系統時,我們必須考慮用户許可。可以在智能合約的不同層上建立許可權,這些智能合約會強制執行查看和處理用户數據的權限。經過許可,用户可以決定是否將其數據共享給第三方公司。公司也可以在用户提供自己的數據做處理和分析,給與一定獎勵。這樣,用户可以出售自己的數據獲得報酬。
實現真正的基於許可的數據架構,我們必須避開中心化服務器。如果我們真的想實現數據的完全自主權,就不能有中心化機構管理用户數據。通過基於以太坊的區塊鏈,我們可以構建一個永久層,在點對點存儲系統(如IPFS)中註冊和管理用户數據。
方法
我建議在基於以太坊的區塊鏈地址上註冊數據,通過諸如IPFS之類的鏈下存儲方式存儲數據。通過定義一個永久層來解決在基於以太坊的區塊鏈地址上註冊數據問題。永久模型由負責數據管理與許可的智能合約層組成。
基於以太坊的區塊鏈開發永久模型的方法有永久層智能合約。永久層將處理單個用户地址註冊以及鏈下點對點的存儲網絡,例如IPFS。我們將借鑑在上篇中討論的可靠且真實的關係數據庫原則來實現穩定的數據管理。
架構
永久層由三種智能合約組成,每一種合約都有不同的責任集。所有商業智能合約都需要與永久層合約交互,從而存儲和檢索信息。流程如下圖。
註冊表-數據接口-數據集-用户地址
永久層一覽
永久層合約
企業圖示
永久層將支持5大用户:數據主體、數據分析師、數據提供者、數據管理員和數據消費者(即數據使用者)。這些角色根據自己特定的需求,以各自的方式與基於以太坊的區塊鏈生態系統交互。數據生態系統將與不同的應用程序和管理系統交互。以下是他們的職責描述。
數據管理員
數據管理員來自IT團隊,他們將管理基於以太坊的區塊鏈基礎設施。數據管理員將通過數據管理系統和工具與區塊鏈交互,管理和維護基礎設施。通過兩個應用程序來管理基礎設施:
1. 數據管理系統:提供管理區塊鏈數據的CRUD功能。此外,數據管理系統將以表格的形式提供可視化數據和模式,方便數據管理。
2. 數據分析工具:提供監測和審計交易的能力。區塊鏈交易的所有標記和分類器都將進行不對稱加密,以防數據泄漏。
組件
數據管理員有3大組件:管理應用程序、基於Web3的庫和數據層。
1. 管理系統和工具:開發的應用程序,如數據管理系統和數據分析工具,以方便管理的基礎設施。
2. 基於Web3的庫:用於與基於以太坊的區塊鏈交互的庫。將根據用於開發管理系統和工具的編程語言而有所不同。
3.永久層:數據管理。
數據提供商
數據提供商是為數據對象收集數據集的機構。比如醫院、金融機構、學校、特殊利益集團等。數據提供商將通過連接到基於以太坊的區塊鏈的第三方管理系統,與區塊鏈進行交互。
組件
數據提供商有4大組件:管理應用程序、基於Web3的庫、數據層和鏈下存儲。
1. 管理應用程序:為數據對象收集數據的第三方應用程序。
2. 基於Web3的庫:與基於以太坊的區塊鏈交互的庫,根據用於開發管理系統和工具的編程語言而有所不同。
3.永久層:數據管理,將數據鏈接到鏈下存儲。
4. 鏈下存儲:任何可以被解析的存儲或數據庫系統。
數據使用者(數據消費者)
數據消費者是利用數據主體的數據,向數據主體提供特定服務的服務提供者。比如醫療保健提供商、金融機構、教育提供商、特殊利益集團等。數據使用者將使用其終端應用程序與區塊鏈交互,終端應用程序將調用商業智能合約來處理基於以太坊的區塊鏈上的數據。
組件
數據消費者主要有6個組件:終端應用、基於Web3的庫、商業智能合約、數據層、預言機和鏈下存儲。
1. 終端應用程序:調用商業智能合約服務的應用程序。
2. 基於Web3的庫:用於與基於以太坊的區塊鏈交互的庫。根據用於開發管理系統和工具的編程語言而有所不同。
3.商業智能合約:執行服務從而處理數據的智能合約。
4. 數據層:數據管理,將數據鏈接到鏈下存儲。
5. 預言機:擔當區塊鏈和鏈下存儲之間的橋樑
6. 鏈下存儲:任何可以被解析的存儲或數據庫系統。
數據對象
數據對象是數據所有人。他們的數據由像Enigma一樣的基於以太坊的隱私保護區塊鏈來管理和保護。不同的服務提供商充當數據消費者,可以利用數據對象的數據來為他們呈現特定的服務。由於數據對象擁有自己的數據所有權,服務提供者在處理他們的數據前,必須先徵得當事人的同意。
組件
數據對象有6大組件:消費者應用、基於Web3的庫、商業智能合約、數據層、預言機和鏈下存儲。
1. 消費者應用程序:連接到基於以太坊網的區塊鏈的應用程序,訪問所有者的數據。
2. 基於Web3的庫:用於與基於以太坊的區塊鏈交互的庫。根據用於開發管理系統和工具的編程語言而有所不同。
3.商業智能合約(可選)執行服務的智能合約。
4. 數據層:數據管理,它將數據鏈接到鏈下存儲。
5. 預言機 :擔當區塊鏈和鏈下存儲之間的橋樑。
6. 鏈下存儲:任何可以被解析的存儲或數據庫系統。
數據分析師
數據分析師研究數據對象的數據。他們是數據科學家,為數據消費者分析數據,為數據對象提供準確的服務。數據分析師在研究數據之前需要得到數據對象的同意。
組件
數據分析師有5大組件:Jupyter Notebook、基於Web3的庫,數據層和鏈下存儲。
1. Jupyter Notebook:基於python的數據科學家平台。
2. 基於Web3的庫:用於與基於以太坊的區塊鏈交互的庫。根據用於開發管理系統和工具的編程語言而有所不同。
3.數據層:數據管理,將數據鏈接到鏈下存儲。
4. 預言機:擔當區塊鏈和鏈下存儲之間的橋樑
5. 鏈下存儲:任何可以被解析的存儲或數據庫系統。
鏈下存儲
鏈下存儲用於存儲用户的原始數據。注意:不限於以下的鏈下存儲選項
用於許可的永久層模塊
添加許可到基於以太坊的區塊鏈的永久層,將構成第二層用於調用者和所有者註冊數據的智能合約。調用者是得到數據所有者同意的人。調用者用自己的以太坊地址在註冊中心智能合約中註冊。所有者是擁有數據的人(數據所有者)。它們也通過以太坊地址在註冊中心智能合約中註冊。
總結
上篇探索了數據管理經過實踐檢驗的原則歷史,還探索了基於以太坊的區塊鏈作為永久數據存儲,釋放數據經濟的侷限性和潛力。本文探討了如何在基於以太坊的區塊鏈中創建一個永久層,使基於以太坊的區塊鏈成為數據經濟的永久存儲解決方案。