鄧文麗,方 歡,2
(1.安徽理工大學(xué) 數(shù)學(xué)與大數(shù)據(jù)學(xué)院,安徽 淮南 232001;2.安徽省煤礦安全大數(shù)據(jù)分析與預(yù)警技術(shù)工程實(shí)驗(yàn)室,安徽 淮南232001)
區(qū)塊鏈[1],顧名思義,是一種數(shù)據(jù)以區(qū)塊為單位進(jìn)行生產(chǎn)和存儲(chǔ),并按照時(shí)間順序首尾相連形成鏈?zhǔn)浇Y(jié)構(gòu),具有去中心化、不可篡改、可溯源、多方共同維護(hù)等特點(diǎn)的分布式數(shù)據(jù)庫[2-].它主要通過對(duì)等計(jì)算機(jī)網(wǎng)絡(luò)存儲(chǔ)資產(chǎn)和交易的注冊表,并充當(dāng)所有權(quán)和交易的公共注冊表,由密碼學(xué)[5]保護(hù)并由共識(shí)機(jī)制管理,以驗(yàn)證交易并確保交易的合法性.目前區(qū)塊鏈的應(yīng)用場景主要有:金融、物聯(lián)網(wǎng)和物流、公共管理、保險(xiǎn)、能源、交通、醫(yī)療等領(lǐng)域.
區(qū)塊鏈有兩種類型:狀態(tài)區(qū)塊鏈與無狀態(tài)區(qū)塊鏈[6],狀態(tài)區(qū)塊鏈中的每個(gè)節(jié)點(diǎn)根據(jù)歷史區(qū)塊建立狀態(tài)信息,并利用狀態(tài)信息來驗(yàn)證交易的合法性[7].如圖1所示,當(dāng)新區(qū)塊產(chǎn)生后,根據(jù)區(qū)塊中的具體交易,對(duì)狀態(tài)進(jìn)行實(shí)時(shí)更新.
圖1 狀態(tài)區(qū)塊鏈系統(tǒng)結(jié)構(gòu)
狀態(tài)區(qū)塊鏈的優(yōu)點(diǎn)在于,用戶不需要保存任何狀態(tài)就可以發(fā)起交易.然而,狀態(tài)區(qū)塊鏈存在一些缺陷:
1)存儲(chǔ)冗余度高:由于區(qū)塊鏈需要保存所有的狀態(tài)數(shù)據(jù),而且系統(tǒng)狀態(tài)信息會(huì)隨著新區(qū)塊的產(chǎn)生而不斷更新[8],隨著產(chǎn)生的數(shù)據(jù)量越來越大,區(qū)塊體存儲(chǔ)的數(shù)據(jù)就越多,從而導(dǎo)致存儲(chǔ)設(shè)備成本增加.
2)處理速度慢:由于交易要求區(qū)塊鏈上所有節(jié)點(diǎn)參與,且節(jié)點(diǎn)之間還需要經(jīng)過網(wǎng)絡(luò)的加密傳輸,這就使得交易的速度非常慢.
3)易出故障:由于區(qū)塊鏈的交易需要鏈上所有節(jié)點(diǎn)的參與,任意一個(gè)節(jié)點(diǎn)出現(xiàn)故障,都會(huì)影響交易的進(jìn)行.
與狀態(tài)區(qū)塊鏈不同的是,無狀態(tài)區(qū)塊鏈只保存狀態(tài)的簡要信息,而所有的狀態(tài)信息都保存在健康數(shù)據(jù)庫中,每當(dāng)需要具體數(shù)據(jù)信息時(shí),只需調(diào)用健康數(shù)據(jù)庫中的數(shù)據(jù)即可.它是通過減少節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)存儲(chǔ)量對(duì)節(jié)點(diǎn)進(jìn)行壓縮來減少存儲(chǔ)負(fù)載[9]的.如圖2所示,每個(gè)區(qū)塊頭包含當(dāng)前狀態(tài)的摘要信息,每個(gè)節(jié)點(diǎn)只保存歷史區(qū)塊頭,并根據(jù)用戶提交的有效性證明對(duì)交易進(jìn)行驗(yàn)證.
圖2 無狀態(tài)區(qū)塊鏈系統(tǒng)結(jié)構(gòu)
無狀態(tài)區(qū)塊鏈存在的問題有:
1)無狀態(tài)區(qū)塊鏈雖然解決了節(jié)點(diǎn)存儲(chǔ)率低的問題,使得配置較低的節(jié)點(diǎn)能夠運(yùn)行完整的驗(yàn)證節(jié)點(diǎn).但由于信息更新慢,無法適用于吞吐率高的環(huán)境下.
2)現(xiàn)有的文獻(xiàn)對(duì)無狀態(tài)區(qū)塊鏈的研究僅停留在對(duì)無狀態(tài)區(qū)塊鏈的性能改進(jìn)層面,未對(duì)其應(yīng)用在具體的案例上進(jìn)行分析.
隨著電子健康記錄、電子病歷、可穿戴設(shè)備、傳感器和醫(yī)療物聯(lián)網(wǎng)數(shù)量的不斷增加,健康數(shù)據(jù)正以指數(shù)的速度增長.為了有效地記錄、跟蹤和管理大量健康數(shù)據(jù),挖掘海量健康數(shù)據(jù)背后的價(jià)值,為個(gè)人、醫(yī)療機(jī)構(gòu)和公共政府提供有價(jià)值的信息,Dodd在1997提出了健康數(shù)據(jù)庫(Health Data Bank,HDB)的概念,HDB不承擔(dān)健康數(shù)據(jù)的“所有權(quán)”,并在委托代理模式下運(yùn)營健康數(shù)據(jù),即被視為一種健康數(shù)據(jù)服務(wù)機(jī)構(gòu),其目標(biāo)是提供精準(zhǔn)醫(yī)學(xué)服務(wù)和個(gè)人醫(yī)療保健管理服務(wù)(包括預(yù)防性干預(yù)和臨床干預(yù))[10],如圖3所示.
圖3 HDB概念模型
HDB由數(shù)據(jù)集成、知識(shí)發(fā)現(xiàn)、專家知識(shí)等模塊組成,通過收集大量的個(gè)人健康數(shù)據(jù),生成標(biāo)準(zhǔn)的醫(yī)學(xué)知識(shí)數(shù)據(jù).其中,醫(yī)學(xué)知識(shí)數(shù)據(jù)庫由新知識(shí)和專家知識(shí)組成.新知識(shí)是指科學(xué)知識(shí),是在數(shù)據(jù)挖掘、知識(shí)發(fā)現(xiàn)和知識(shí)提煉中通過應(yīng)用大數(shù)據(jù)分析技術(shù)從個(gè)人健康數(shù)據(jù)中生成的.專家知識(shí)是指醫(yī)學(xué)專家的臨床經(jīng)驗(yàn),如完整的患者治療過程記錄和有效的臨床指南.HDB可以分析和更新數(shù)據(jù)庫里的基本信息、健康指數(shù)、健康日記和遺傳病史.根據(jù)個(gè)人和機(jī)構(gòu)的需要,檢索醫(yī)學(xué)知識(shí)數(shù)據(jù)包,為他們提供有價(jià)值的信息.此外,HDB可以在醫(yī)療機(jī)構(gòu)之間共享專業(yè)的醫(yī)學(xué)知識(shí),從而增加提供精準(zhǔn)醫(yī)療保健服務(wù)的能力,例如準(zhǔn)確的風(fēng)險(xiǎn)預(yù)測,疾病的精確診斷,疾病的準(zhǔn)確分類,藥物的精確應(yīng)用以及療效的準(zhǔn)確評(píng)估.
然而,HDB雖然可以有效的管理健康數(shù)據(jù),但無法避免數(shù)據(jù)被攻擊的風(fēng)險(xiǎn),即,健康數(shù)據(jù)的隱私保護(hù)和互操作性無法得到保證;數(shù)據(jù)生產(chǎn)者、使用者、管理者、受益人的個(gè)人產(chǎn)權(quán)無法得到確定.針對(duì)此問題,文獻(xiàn)[10]利用區(qū)塊鏈的分布式賬本技術(shù)、密碼算法、智能合約、共識(shí)機(jī)制等特性與HDB相結(jié)合從而保證數(shù)據(jù)的隱私泄露問題,然而由于區(qū)塊鏈存儲(chǔ)量高,吞吐率低等缺陷,無法保存與日俱增的海量數(shù)據(jù)成了研究難題.
針對(duì)無狀態(tài)區(qū)塊鏈的缺點(diǎn),本文采用文獻(xiàn)[9]的方法利用RSA累加器的思想,將無狀態(tài)區(qū)塊鏈與HDB相結(jié)合,可以有效解決區(qū)塊鏈信息更新慢、存儲(chǔ)成本高、吞吐量低以及無狀態(tài)條件下智能合約驗(yàn)證執(zhí)行問題.并將無狀態(tài)區(qū)塊鏈應(yīng)用在醫(yī)療保健上通過實(shí)際案例采用DMN模型形式化對(duì)無狀態(tài)區(qū)塊鏈的落地進(jìn)行分析,以期對(duì)日后相關(guān)研究人員運(yùn)用無狀態(tài)區(qū)塊鏈技術(shù)提供一定的參考.
無狀態(tài)區(qū)塊鏈技術(shù)可以提供一種有效的范式來解決健康數(shù)據(jù)管理和隱私保護(hù)等問題,為醫(yī)療領(lǐng)域解決數(shù)據(jù)存儲(chǔ)問題帶來了曙光.無狀態(tài)區(qū)塊鏈在醫(yī)療領(lǐng)域的優(yōu)勢如下.
1)哈希算法加密技術(shù)[11]為醫(yī)療數(shù)據(jù)保駕護(hù)航
哈希算法是現(xiàn)代密碼學(xué)的一個(gè)重要組成部分.通過哈希算法,可以將任意長度的原始數(shù)據(jù)轉(zhuǎn)換成一個(gè)固定長度的二進(jìn)制數(shù)據(jù)[8].只要有節(jié)點(diǎn)惡意篡改,哈希值就會(huì)發(fā)生變化,即使攻擊者能控制系統(tǒng)中51%以上的節(jié)點(diǎn),但其付出的代價(jià)是遠(yuǎn)高于收益的,這對(duì)攻擊者來說并不明智.因此區(qū)塊鏈的數(shù)據(jù)穩(wěn)定性和可靠性極高[12].
2)基于RSA累加器的合約有效性證明技術(shù)保證醫(yī)療數(shù)據(jù)可追溯
與傳統(tǒng)區(qū)塊鏈的智能合約不同,無狀態(tài)區(qū)塊鏈只存儲(chǔ)各合約的有效證明,不存儲(chǔ)智能合約的所有狀態(tài)數(shù)據(jù),即只存儲(chǔ)智能合約的狀態(tài)數(shù)據(jù)的摘要,并利用RSA累加器的思想,即將有限集合累加為一個(gè)簡潔的值.對(duì)于每個(gè)元素,都能夠有效地計(jì)算出其證據(jù),來證明元素[4].完成各智能合約摘要的累加與合約有效性證明的創(chuàng)建,從而降低系統(tǒng)及系統(tǒng)中單個(gè)節(jié)點(diǎn)的存儲(chǔ)量.此外,無狀態(tài)區(qū)塊鏈將區(qū)塊共識(shí)與區(qū)塊執(zhí)行分離,共識(shí)節(jié)點(diǎn)不再需要保存區(qū)塊數(shù)據(jù)而只需保存合約累加值及合約有效性證明,有效降低磁盤和內(nèi)存的負(fù)擔(dān)[2].因此,只需要將HBD相對(duì)應(yīng)的hash摘要信息存儲(chǔ)在無狀態(tài)區(qū)塊鏈中,并利用可驗(yàn)證計(jì)算技術(shù)檢測和監(jiān)視調(diào)用HDB數(shù)據(jù)的過程,以確保數(shù)據(jù)可追溯并提高系統(tǒng)吞吐量.
3)非對(duì)稱加密算法[13]為醫(yī)療數(shù)據(jù)驗(yàn)證身份信息
非對(duì)稱加密算法是一種通過密鑰加密保護(hù)信息的一種方法.非對(duì)稱加密算法包括兩個(gè)密鑰:公開密鑰(簡稱公鑰)和私有密鑰(簡稱私鑰).公鑰和私鑰無法相互逆推,公鑰用于加密數(shù)據(jù),私鑰用于解密數(shù)據(jù).區(qū)塊鏈中的任何節(jié)點(diǎn)都可以獲取公鑰,而私鑰則必須由用戶私密保存.利用非對(duì)稱加密算法的公私密鑰對(duì)[5],可以保障HDB信息的安全性和驗(yàn)證信息發(fā)送者的身份.
本節(jié)通過中山大學(xué)附屬腫瘤醫(yī)院就醫(yī)案例并結(jié)合圖4系統(tǒng)模型和圖5DMN模型進(jìn)行闡述無狀態(tài)區(qū)塊鏈在醫(yī)療領(lǐng)域的具體應(yīng)用.
圖4 系統(tǒng)模型
圖5 DMN模型
首先,患者在網(wǎng)上填寫個(gè)人信息、病情嚴(yán)重情況并預(yù)約就診時(shí)間,后臺(tái)將患者的醫(yī)療數(shù)據(jù)保存到健康數(shù)據(jù)庫中同時(shí)將患者個(gè)人篩選存入無狀態(tài)區(qū)塊鏈節(jié)點(diǎn)中生成區(qū)塊,并利用無狀態(tài)區(qū)塊鏈的有效性證明對(duì)信息進(jìn)行驗(yàn)證;然后,患者攜帶病例等資料去醫(yī)院就醫(yī),醫(yī)生根據(jù)查看患者本人狀況,并申請(qǐng)查看病人之前網(wǎng)上記錄的就醫(yī)信息對(duì)病人做出診斷.
在醫(yī)生申請(qǐng)查看網(wǎng)上病人信息階段,首先要經(jīng)過無狀態(tài)區(qū)塊鏈的身份驗(yàn)證,核實(shí)身份后再調(diào)用健康數(shù)據(jù)庫相關(guān)具體信息,在將數(shù)據(jù)傳送給醫(yī)生之前,對(duì)數(shù)據(jù)進(jìn)行加密、合約有效性證明技術(shù)等技術(shù),防止攻擊者獲取病人信息;最后再將處理后的信息發(fā)送給醫(yī)生并時(shí)刻監(jiān)控?cái)?shù)據(jù)流向,以防止數(shù)據(jù)被濫用.
為了更清楚地闡述無狀態(tài)區(qū)塊鏈在醫(yī)療領(lǐng)域的落地,本文借助決策模型(DMN)來描述無狀態(tài)區(qū)塊鏈在醫(yī)療領(lǐng)域應(yīng)用的好處.
決策模型(DMN)的好處是為分析人員提供一種工具,用于將業(yè)務(wù)決策邏輯與業(yè)務(wù)流程分離,降低業(yè)務(wù)流程模型的復(fù)雜性,允許業(yè)務(wù)流程或業(yè)務(wù)規(guī)則在不相互影響的情況下進(jìn)行更改[14].DMN模型由兩個(gè)部分組成:1)決策需求圖(DRD);2)決策邏輯表[15].本文利用DRD可視化決策圖對(duì)圖4的具體流程進(jìn)行展示,如圖5所示.
由于現(xiàn)有區(qū)塊鏈存儲(chǔ)能力低,無法存儲(chǔ)大量數(shù)據(jù),本文提出了無狀態(tài)區(qū)塊鏈的概念,通過利用無狀態(tài)區(qū)塊鏈減少節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)存儲(chǔ)量和合約有效性證明等特點(diǎn)將無狀態(tài)區(qū)塊鏈與HDB相集成解決存儲(chǔ)量高和數(shù)據(jù)隱私保護(hù)等問題,并研究了無狀態(tài)區(qū)塊鏈在醫(yī)療保健的應(yīng)用,為相關(guān)人員研究區(qū)塊鏈在醫(yī)療上的應(yīng)用提供一種思路.無狀態(tài)區(qū)塊鏈設(shè)計(jì)雖然減少了節(jié)點(diǎn)執(zhí)行交易驗(yàn)證的存儲(chǔ)負(fù)擔(dān),但由于在每個(gè)交易有效負(fù)載中添加了成員資格證明,因此增加了網(wǎng)絡(luò)通信,加上現(xiàn)有相關(guān)人員關(guān)于無狀態(tài)區(qū)塊鏈在醫(yī)療保健中的研究較少,缺乏相關(guān)技術(shù)支持,未來對(duì)基于HDB的無狀態(tài)區(qū)塊鏈的進(jìn)一步研究將需要考慮區(qū)塊鏈應(yīng)用的潛在技術(shù)的挑戰(zhàn).