陳麗燕
(上海財經大學浙江學院經濟與信息管理系,金華 321003)
近年隨著區塊鏈技術的不斷發展,區塊鏈技術應用到其他領域的可行性越來越高。目前,各個領域都在緊鑼密鼓地針對區塊鏈技術展開研究。黃克振等將區塊鏈應用于網絡安全威脅情報共享領域,建立了一個網絡安全共享模型。陳麗燕等將區塊鏈應用于商業數據領域,建立了一個商業數據共享模型;在研究了區塊鏈智能合約的基礎上建立了個人征信的隱私方案保護模型。孫嘉豪等將區塊鏈技術應用于知識保護領域,建立了區塊鏈的知識保護模型。關于區塊鏈的應用研究近年呈現的成果頗多,這里就不一一列舉。
大數據時代,商業價值往往來自于對商業數據的挖掘,數據的維度越多、體量越大,能夠挖掘的價值就越高。長期以來,對數據的挖掘難度在于如何評估數據價值,如何利用數據進行價值交換,如何保護數據的安全性。區塊鏈技術為解決這些問題提供了可行性,利用區塊鏈共識機制,建立合理的區塊鏈智能合約,可以提升商業數據的使用效率和安全性。
區塊鏈是近年興起的熱點,還處于早期發展階段,并沒有形成公認的定義。有代表性的觀點主要有三個:
第一個觀點認為,區塊鏈是持續增長的、采用密碼學方法鏈接的區塊列表。每一區塊列表都包含上一區塊列表的密碼學哈希值、時間戳、交易數據等。
第二種觀點認為,區塊鏈是將密碼學簽名的交易分組封裝入區塊而形成的分布式數字賬本。每個區塊在經過驗證和共識決策后都會以密碼學的方式與前一區塊相連接。
第三種觀點認為,區塊鏈是一種按照時間順序將數據區塊以鏈條的方式組合成特定數據結構,并以密碼學方式保證的不可篡改和不可偽造的去中心化的共享賬本。
從以上三種觀點,我們可以發現,區塊鏈離不開密碼學,因此,安全技術在區塊鏈中占據非常重要的地位。區塊鏈有各種技術的加持,讓它具有包括去中心化、極難篡改、可追溯性、可編程性和安全可信等特點。
數據安全是區塊鏈的基本安全目標。區塊鏈的去中心特性,需要存儲的數據包括用戶信息、交易信息、智能合約協議、中間過程記錄等等大量數據。這些數據的安全非常重要,因此是區塊鏈安全防護的重點。
共識算法是區塊鏈的核心技術,共識機制的安全性對區塊鏈的數據安全來說至關重要。Pow共識算法建模定義了共識算法的評價和衡量標準為一致性和活性。一致性要求無法篡改記錄在區塊鏈上的共識和交易;活性則要求區塊鏈服務能夠正常使用,避免節點遭受拒絕服務等攻擊。
隱私保護安全是對參與交易的節點信息、身份信息等用戶不愿意公開的信息進行保護,涉及到身份信息和交易信息的隱私保護。
智能合約安全重點在于保障智能合約運行標準模塊化,能夠抵擋攻擊,防止攻擊方通過智能合約存在的漏洞對區塊鏈進行攻擊。
智能合約的定義最早由Nick Szabo 提出,定義為一套以數字形式指定的承諾,比如合約參與方執行承諾的協議。智能合約可以看作是區塊鏈中運行在分布式賬本上的各種規則的計算機程序,這些規則可以包括設置規則、狀態、響應、交換記錄、價值信息等。
當前支持智能合約的平臺主要有以太坊和超級賬本。其中以太坊支持多種智能合約編程語言,在隱私保護、數據安全、供應鏈等區塊鏈的去中心化中得到了廣泛的應用。在以太坊中,智能合約是一段計算機代碼,其中包含計算機程序代碼和數據狀態,在沒有第三方參與的情況下執行數據傳輸、執行和驗證。因此智能合約具有計算機程序性、自行驗證性、自動化執行性、防篡改性等四大特點。
在這個數據化的大時代,商業數據變得愈加重要,數據存在著巨大的價值,商業數據的使用安全至關重要,將智能合約應用在商業數據具有商業價值,在實現上具有可行性。本文結合智能合約,設計商業數據的智能合約模型,從商業數據模型、智能合約設計做簡單介紹。
本文設計的商業數據模型包括商業數據提供方、商業數據使用方、商業數據區塊鏈系統三個模塊。
2.1.1 商業數據提供方
在商業活動中能夠產生非常多的數據,數據提供方并不是單一的個體,可以包含個人、企業、機構等所有參與到商業活動的主體。商業數據也不是單一對象,可以包含的數據信息也是非常的豐富,可以包括用戶需求、購買信息、瀏覽信息、訂單信息,在商業活動中的各個環節產生的數據都可能成為我們模型關注的數據信息。
2.1.2 商業數據使用方
商業數據的使用方也不是單一的主體,在這個區塊鏈系統上,對商業數據有需求的各方都可能成為使用主體,可以包括個人、企業等。
2.1.3 商業數據區塊鏈系統
商業數據模型以區塊鏈技術為基礎,整合所有資源和各方主體,其中包括區塊鏈各環節的內部節點,比如驗證合法性的投票節點就是作為內部節點參與到系統中的。

圖1 商業數據模型
在商業數據模型中,所有的商業數據都存放在區塊鏈系統的數據中心中,該模型將對稱加密密鑰和商業數據提供方、商業數據使用方的部分信息存放到區塊鏈當中,商業數據提供方可以通過區塊鏈智能合約技術獲取自己商業數據訪問權限,通過智能合約技術獲取加密密鑰對自己的商業數據進行解密。投票節點通過聯盟鏈Quorum算法來判斷新節點的合法性。
下面舉個具體的例子來說明,商業數據模型的建立過程會根據長期的商業活動收集數據,商業數據提供方的商業活動會通過數據接口將數據匯總到區塊鏈系統中。比如個人用戶和企業用戶簽訂了一個訂貨合同,這時個人用戶和企業用戶都成為商業數據提供方,系統會將個人的訂貨信息作為個人數據記錄,同時將企業的訂貨記錄也記錄下來,這是商業數據的數據收集過程。當企業想要通過這個商業數據來幫助決策信息的時候,需要獲取相應的權限,此時,該企業就成為商業數據的使用方。
商業數據模型的智能合約由共識合約、分類合約、歷史記錄合約、所有權合約、權限合約組成。

圖2 數據模型結構
共識合約由投票節點地址Address,投票節點Id,以及驗證模塊組成。共識基于聯盟鏈算法,通過驗證模塊驗證節點的合法性,可以降低惡意攻擊的情況,避免重復注冊。
分類合約由節點的類別信息組成,節點類型由商業數據雙方信息,包括雙方的ID、類型標識和以太坊地址Address。通過類型標識來區分節點類型,是屬于商家、個人提供方還是使用方。
歷史記錄合約存儲合約信息以及與節點有關的其他節點數據,包括所有權合約地址。
所有權合約主要用于判斷節點的使用權限,包括商業數據提供權限,防止惡意虛假數據攻擊;包括商業數據使用權限,防止非法使用。保存歷史操作記錄,能夠建立完整的數據映射保證安全性。
權限合約由節點權限信息、節點類型、數據地址組成。根據商業數據模型實際使用情況設置了三個級別權限:
(1)讀取權限,商業數據使用方具有商業數據的讀取權限。
(2)寫入權限,商業數據提供方具有商業數據的寫入權限。
(3)盲讀取權限,是指商業數據使用方只能讀取商業數據的密文,只能獲取商業數據情況,而無法獲取具體參與商業數據的雙方,由此來保障用戶的數據安全,又不影響商業數據的使用。
本文對區塊鏈技術進行了研究,分析了區塊鏈在安全領域的應用、介紹了區塊鏈的安全技術,區塊鏈智能合約的相關研究,提出了基于區塊鏈的商業數據模型,并設計了區塊鏈智能合約模型,借助于區塊鏈的特性,該模型使商業數據的應用具有安全性。本文對區塊鏈智能合約的設計分析無法克服在消息交換環節的安全泄露,因此后續的研究可對其進一步改進。