陳麗燕
(上海財經(jīng)大學(xué)浙江學(xué)院經(jīng)濟與信息管理系,金華 321003)
近年隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,區(qū)塊鏈技術(shù)應(yīng)用到其他領(lǐng)域的可行性越來越高。目前,各個領(lǐng)域都在緊鑼密鼓地針對區(qū)塊鏈技術(shù)展開研究。黃克振等將區(qū)塊鏈應(yīng)用于網(wǎng)絡(luò)安全威脅情報共享領(lǐng)域,建立了一個網(wǎng)絡(luò)安全共享模型。陳麗燕等將區(qū)塊鏈應(yīng)用于商業(yè)數(shù)據(jù)領(lǐng)域,建立了一個商業(yè)數(shù)據(jù)共享模型;在研究了區(qū)塊鏈智能合約的基礎(chǔ)上建立了個人征信的隱私方案保護模型。孫嘉豪等將區(qū)塊鏈技術(shù)應(yīng)用于知識保護領(lǐng)域,建立了區(qū)塊鏈的知識保護模型。關(guān)于區(qū)塊鏈的應(yīng)用研究近年呈現(xiàn)的成果頗多,這里就不一一列舉。
大數(shù)據(jù)時代,商業(yè)價值往往來自于對商業(yè)數(shù)據(jù)的挖掘,數(shù)據(jù)的維度越多、體量越大,能夠挖掘的價值就越高。長期以來,對數(shù)據(jù)的挖掘難度在于如何評估數(shù)據(jù)價值,如何利用數(shù)據(jù)進行價值交換,如何保護數(shù)據(jù)的安全性。區(qū)塊鏈技術(shù)為解決這些問題提供了可行性,利用區(qū)塊鏈共識機制,建立合理的區(qū)塊鏈智能合約,可以提升商業(yè)數(shù)據(jù)的使用效率和安全性。
區(qū)塊鏈是近年興起的熱點,還處于早期發(fā)展階段,并沒有形成公認的定義。有代表性的觀點主要有三個:
第一個觀點認為,區(qū)塊鏈是持續(xù)增長的、采用密碼學(xué)方法鏈接的區(qū)塊列表。每一區(qū)塊列表都包含上一區(qū)塊列表的密碼學(xué)哈希值、時間戳、交易數(shù)據(jù)等。
第二種觀點認為,區(qū)塊鏈是將密碼學(xué)簽名的交易分組封裝入?yún)^(qū)塊而形成的分布式數(shù)字賬本。每個區(qū)塊在經(jīng)過驗證和共識決策后都會以密碼學(xué)的方式與前一區(qū)塊相連接。
第三種觀點認為,區(qū)塊鏈是一種按照時間順序?qū)?shù)據(jù)區(qū)塊以鏈條的方式組合成特定數(shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的去中心化的共享賬本。
從以上三種觀點,我們可以發(fā)現(xiàn),區(qū)塊鏈離不開密碼學(xué),因此,安全技術(shù)在區(qū)塊鏈中占據(jù)非常重要的地位。區(qū)塊鏈有各種技術(shù)的加持,讓它具有包括去中心化、極難篡改、可追溯性、可編程性和安全可信等特點。
數(shù)據(jù)安全是區(qū)塊鏈的基本安全目標。區(qū)塊鏈的去中心特性,需要存儲的數(shù)據(jù)包括用戶信息、交易信息、智能合約協(xié)議、中間過程記錄等等大量數(shù)據(jù)。這些數(shù)據(jù)的安全非常重要,因此是區(qū)塊鏈安全防護的重點。
共識算法是區(qū)塊鏈的核心技術(shù),共識機制的安全性對區(qū)塊鏈的數(shù)據(jù)安全來說至關(guān)重要。Pow共識算法建模定義了共識算法的評價和衡量標準為一致性和活性。一致性要求無法篡改記錄在區(qū)塊鏈上的共識和交易;活性則要求區(qū)塊鏈服務(wù)能夠正常使用,避免節(jié)點遭受拒絕服務(wù)等攻擊。
隱私保護安全是對參與交易的節(jié)點信息、身份信息等用戶不愿意公開的信息進行保護,涉及到身份信息和交易信息的隱私保護。
智能合約安全重點在于保障智能合約運行標準模塊化,能夠抵擋攻擊,防止攻擊方通過智能合約存在的漏洞對區(qū)塊鏈進行攻擊。
智能合約的定義最早由Nick Szabo 提出,定義為一套以數(shù)字形式指定的承諾,比如合約參與方執(zhí)行承諾的協(xié)議。智能合約可以看作是區(qū)塊鏈中運行在分布式賬本上的各種規(guī)則的計算機程序,這些規(guī)則可以包括設(shè)置規(guī)則、狀態(tài)、響應(yīng)、交換記錄、價值信息等。
當前支持智能合約的平臺主要有以太坊和超級賬本。其中以太坊支持多種智能合約編程語言,在隱私保護、數(shù)據(jù)安全、供應(yīng)鏈等區(qū)塊鏈的去中心化中得到了廣泛的應(yīng)用。在以太坊中,智能合約是一段計算機代碼,其中包含計算機程序代碼和數(shù)據(jù)狀態(tài),在沒有第三方參與的情況下執(zhí)行數(shù)據(jù)傳輸、執(zhí)行和驗證。因此智能合約具有計算機程序性、自行驗證性、自動化執(zhí)行性、防篡改性等四大特點。
在這個數(shù)據(jù)化的大時代,商業(yè)數(shù)據(jù)變得愈加重要,數(shù)據(jù)存在著巨大的價值,商業(yè)數(shù)據(jù)的使用安全至關(guān)重要,將智能合約應(yīng)用在商業(yè)數(shù)據(jù)具有商業(yè)價值,在實現(xiàn)上具有可行性。本文結(jié)合智能合約,設(shè)計商業(yè)數(shù)據(jù)的智能合約模型,從商業(yè)數(shù)據(jù)模型、智能合約設(shè)計做簡單介紹。
本文設(shè)計的商業(yè)數(shù)據(jù)模型包括商業(yè)數(shù)據(jù)提供方、商業(yè)數(shù)據(jù)使用方、商業(yè)數(shù)據(jù)區(qū)塊鏈系統(tǒng)三個模塊。
2.1.1 商業(yè)數(shù)據(jù)提供方
在商業(yè)活動中能夠產(chǎn)生非常多的數(shù)據(jù),數(shù)據(jù)提供方并不是單一的個體,可以包含個人、企業(yè)、機構(gòu)等所有參與到商業(yè)活動的主體。商業(yè)數(shù)據(jù)也不是單一對象,可以包含的數(shù)據(jù)信息也是非常的豐富,可以包括用戶需求、購買信息、瀏覽信息、訂單信息,在商業(yè)活動中的各個環(huán)節(jié)產(chǎn)生的數(shù)據(jù)都可能成為我們模型關(guān)注的數(shù)據(jù)信息。
2.1.2 商業(yè)數(shù)據(jù)使用方
商業(yè)數(shù)據(jù)的使用方也不是單一的主體,在這個區(qū)塊鏈系統(tǒng)上,對商業(yè)數(shù)據(jù)有需求的各方都可能成為使用主體,可以包括個人、企業(yè)等。
2.1.3 商業(yè)數(shù)據(jù)區(qū)塊鏈系統(tǒng)
商業(yè)數(shù)據(jù)模型以區(qū)塊鏈技術(shù)為基礎(chǔ),整合所有資源和各方主體,其中包括區(qū)塊鏈各環(huán)節(jié)的內(nèi)部節(jié)點,比如驗證合法性的投票節(jié)點就是作為內(nèi)部節(jié)點參與到系統(tǒng)中的。
圖1 商業(yè)數(shù)據(jù)模型
在商業(yè)數(shù)據(jù)模型中,所有的商業(yè)數(shù)據(jù)都存放在區(qū)塊鏈系統(tǒng)的數(shù)據(jù)中心中,該模型將對稱加密密鑰和商業(yè)數(shù)據(jù)提供方、商業(yè)數(shù)據(jù)使用方的部分信息存放到區(qū)塊鏈當中,商業(yè)數(shù)據(jù)提供方可以通過區(qū)塊鏈智能合約技術(shù)獲取自己商業(yè)數(shù)據(jù)訪問權(quán)限,通過智能合約技術(shù)獲取加密密鑰對自己的商業(yè)數(shù)據(jù)進行解密。投票節(jié)點通過聯(lián)盟鏈Q(jìng)uorum算法來判斷新節(jié)點的合法性。
下面舉個具體的例子來說明,商業(yè)數(shù)據(jù)模型的建立過程會根據(jù)長期的商業(yè)活動收集數(shù)據(jù),商業(yè)數(shù)據(jù)提供方的商業(yè)活動會通過數(shù)據(jù)接口將數(shù)據(jù)匯總到區(qū)塊鏈系統(tǒng)中。比如個人用戶和企業(yè)用戶簽訂了一個訂貨合同,這時個人用戶和企業(yè)用戶都成為商業(yè)數(shù)據(jù)提供方,系統(tǒng)會將個人的訂貨信息作為個人數(shù)據(jù)記錄,同時將企業(yè)的訂貨記錄也記錄下來,這是商業(yè)數(shù)據(jù)的數(shù)據(jù)收集過程。當企業(yè)想要通過這個商業(yè)數(shù)據(jù)來幫助決策信息的時候,需要獲取相應(yīng)的權(quán)限,此時,該企業(yè)就成為商業(yè)數(shù)據(jù)的使用方。
商業(yè)數(shù)據(jù)模型的智能合約由共識合約、分類合約、歷史記錄合約、所有權(quán)合約、權(quán)限合約組成。
圖2 數(shù)據(jù)模型結(jié)構(gòu)
共識合約由投票節(jié)點地址Address,投票節(jié)點Id,以及驗證模塊組成。共識基于聯(lián)盟鏈算法,通過驗證模塊驗證節(jié)點的合法性,可以降低惡意攻擊的情況,避免重復(fù)注冊。
分類合約由節(jié)點的類別信息組成,節(jié)點類型由商業(yè)數(shù)據(jù)雙方信息,包括雙方的ID、類型標識和以太坊地址Address。通過類型標識來區(qū)分節(jié)點類型,是屬于商家、個人提供方還是使用方。
歷史記錄合約存儲合約信息以及與節(jié)點有關(guān)的其他節(jié)點數(shù)據(jù),包括所有權(quán)合約地址。
所有權(quán)合約主要用于判斷節(jié)點的使用權(quán)限,包括商業(yè)數(shù)據(jù)提供權(quán)限,防止惡意虛假數(shù)據(jù)攻擊;包括商業(yè)數(shù)據(jù)使用權(quán)限,防止非法使用。保存歷史操作記錄,能夠建立完整的數(shù)據(jù)映射保證安全性。
權(quán)限合約由節(jié)點權(quán)限信息、節(jié)點類型、數(shù)據(jù)地址組成。根據(jù)商業(yè)數(shù)據(jù)模型實際使用情況設(shè)置了三個級別權(quán)限:
(1)讀取權(quán)限,商業(yè)數(shù)據(jù)使用方具有商業(yè)數(shù)據(jù)的讀取權(quán)限。
(2)寫入權(quán)限,商業(yè)數(shù)據(jù)提供方具有商業(yè)數(shù)據(jù)的寫入權(quán)限。
(3)盲讀取權(quán)限,是指商業(yè)數(shù)據(jù)使用方只能讀取商業(yè)數(shù)據(jù)的密文,只能獲取商業(yè)數(shù)據(jù)情況,而無法獲取具體參與商業(yè)數(shù)據(jù)的雙方,由此來保障用戶的數(shù)據(jù)安全,又不影響商業(yè)數(shù)據(jù)的使用。
本文對區(qū)塊鏈技術(shù)進行了研究,分析了區(qū)塊鏈在安全領(lǐng)域的應(yīng)用、介紹了區(qū)塊鏈的安全技術(shù),區(qū)塊鏈智能合約的相關(guān)研究,提出了基于區(qū)塊鏈的商業(yè)數(shù)據(jù)模型,并設(shè)計了區(qū)塊鏈智能合約模型,借助于區(qū)塊鏈的特性,該模型使商業(yè)數(shù)據(jù)的應(yīng)用具有安全性。本文對區(qū)塊鏈智能合約的設(shè)計分析無法克服在消息交換環(huán)節(jié)的安全泄露,因此后續(xù)的研究可對其進一步改進。