999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區塊鏈的知識共享機制的設計

2021-10-19 03:14:18黃鄭正張曉蝶趙金輝
關鍵詞:智能模型

黃鄭正,張曉蝶,趙金輝,鄒 惠

(1.河北地質大學 信息工程學院, 石家莊 050031;2.河北地質大學網絡信息安全實驗室, 石家莊 050031)

知識是符合文明方向的,是人類對物質世界以及精神世界探索的結果總和。如今知識被賦予了更多的含義,我們所指的知識是一個被新發現或新定義的事物的解釋。互聯網的快速發展,人們獲取新知識的途徑變多,但如何保護知識所有者的知識產權成為一個亟需解決的問題。知識共享這個概念的提出可以較好地解決這個問題。劉琳等[1]采用委托代理模型對顧客知識共享激勵機制進行建模,該模型對企業之間的知識共享激勵機制的制定具有重要意義。在此基礎上,張艷霞等[2]考慮了員工動態激勵機制設計了知識共享模型,楊湘浩等[3]構建了企業隱性知識共享的激勵模型。匡霞等[4]運用演化博弈的方法研究了有限理性下逆向供應鏈企業間的知識共享行為的動態演化過程。韓正濤等[5]采用演化博弈理論建立農業科技協同創新中涉農企業間的知識共享演化博弈模型,得出知識共享所需要花費的成本和知識共享過程中所帶來的風險會降低涉農企業之間知識共享的意愿,而企業之間知識互補的程度和知識共享所帶來的利潤則會增加企業之間的知識共享意愿。唐澤威等[6]基于Agent 技術構建了供應鏈企業合作學習模型,為供應鏈的各個用戶之間構建的有效知識共享機制提供較為合適的參考。

區塊鏈技術是被認為繼移動互聯網后的下一代顛覆性核心技術,區塊鏈技術在數據共享方面也有人作了一些研究。Lvan等[7]提出了一種基于區塊鏈安全存儲病人醫療記錄的方法,這種方法允許病人更好地訪問和控制自己的健康數據,使用現有的有意義的使用標準,授權實體接收患者數據的副本。薛騰飛等[8]基于區塊鏈的醫療數據共享模型,使用醫療機構聯盟服務器群(medical institution federate servers,MIFS)和審計聯盟服務器群(auditing federate servers,AFS)的設計并與其改進后的股份授權證明機制(delegate proof of stake,DPOS)共識機制的有效結合,構建了醫療數據共享的基礎平臺。翟社平等[9]設計了一種多中心的類型和身份的代理重加密(type-and-identity-based proxy re-encryption,TIB-PRE)方案作為區塊鏈的數據共享協議,可以有效防止用戶的數據被惡意節點進行惡意攻擊而造成的損失,為用戶加密數據之間的共享提供了可靠的機制并由此構建了基于區塊鏈的電子病歷共享模型。

分析可見,大多數的學者都采用博弈論的方法對知識共享的框架進行搭建和改進;數據共享更多地用在醫療方面,對于知識共享在區塊鏈技術中使用的研究成果較少。本文中在分析實際知識共享流程的基礎上,基于區塊鏈技術構建了一個切合實際的知識共享模型。結合知識的存儲方式設計了智能合約的結構體與智能合約的實現算法,并在實驗中驗證了該模型的可行性、有效性。

1 關鍵技術

1.1 區塊鏈技術

區塊鏈技術具有高度透明、去信任、去中心化、匿名、可追溯等特性,能夠通過區塊之間分布式共識機制使節點之間無需第三方信任即可實現基于去中心化信用的點對點數據共享。為解決中心化機構普遍存在的高成本、低效率和數據存儲不安全等問題提供了解決途徑[10]。區塊鏈系統一般由應用層、合約層、激勵層、共識層、網絡層、數據層等6 個部分組成[11]。區塊鏈是一個鏈式分布式存儲結構,每一塊中包括了交易的信息以及前一塊的 hash值[12],區塊之間通過每個區塊都存儲其前一區塊的hash值使區塊之間首尾相連,若區塊信息被篡改,則當前區塊的hash值會改變,由區塊的存儲結構可知,當一個區塊hash值被篡改,所有的區塊的hash值都會隨之改變,這其中的工作量巨大且不易實現,使得區塊鏈擁有了其不可篡改的特性。區塊鏈的鏈式存儲結構[13]如圖1所示。

圖1 區塊鏈結構框圖

1.2 區塊鏈智能合約

智能合約是“執行合同條款的計算機協議”,由Nick Szabo[14]在1994 年首次提出。2003年,Mark S.Miller 等[15]指出智能合約需要用代碼編寫,它是一段布置在區塊鏈上的會在滿足特定條件下自動執行的程序代碼,用計算機程序來執行。雖然智能合約被提出來的時間比較早,但是一直沒能應用到實際問題中,直至區塊鏈的產生,為智能合約的發展提供了技術和平臺的支撐。

1.3 區塊鏈共識機制

當前,區塊鏈共識機制主要分為工作量證明(proof of work,PoW)機制[16]、權益證明(proof of stake,PoS)機制[17]和拜占庭容錯(byzantine fault tolerance,BFT)機制[18]。工作量證明是在系統中的每個節點都對系統提供自己的計算能力,能夠完成相應的計算工作的節點就會獲得新區塊的記賬權并獲得相應的獎勵。權益證明則是根據用戶錢包中貨幣的數目及貨幣存在的時間來確定一個新的權衡節點優先級的度量單位,“幣齡”因此而出現。每個幣每天產生1幣齡,如你持有100個幣,這100個幣你一共持有10天,那么你的幣齡就是1 000。若此時,你發現了一個新的PoS塊,這個區塊的記賬權就歸你所有,與此同時你在發現該區塊之前所持有的所有幣齡則會被清空為0。即不管你持有多少幣齡,只要新發現了一個區塊,那么累計的幣齡就會清空。PoS與PoW相比,用戶發現新區塊的資源消耗明顯降低。在BFT機制中,若惡意節點想要做出惡意行為,其節點數必須超過節點總數的1/3,否則其惡意行為就不會發生。在PoS和BFT機制中,所有的驗證節點本身是不具有信任度的,它們之間按照“少數服從多數”的規則進行交互[19]。

1.4 知識數據存儲技術

IPFS 是由網絡中節點構成的一個分布式文件系統,提供數據的永久性分布式存儲[20],按內容尋址的塊存儲模型,由文件內容計算出加密的哈希值[21-24]。當要查詢一個文件時,運行著IPFS節點的計算機會詢問其所有對等點是否存在這個特定哈希值的文件,若存在,則只需輸入存儲文件時返回的hash值,IPFS系統就會根據文件檢索表和內部的路由表自動查找并合并各文件塊組成原始文件[25-26],擁有該文件的節點將會返回整個文件。在IPFS網絡中上傳的每個文件及其所有數據塊,都會根據內容返回唯一一個固定的散列字符串哈希指紋,也稱為內容標識符(content identifier,CID),上傳知識數據文件到IPFS網絡中,會生成該知識數據唯一的哈希值,知識數據發生任何變化,輸出的哈希值都會完全不同,由此可以判斷知識原始數據是否被篡改過。當文件大小超過數據塊容量大小時,會被網絡分塊上傳[27]。區塊鏈與IPFS的特點相結合[28-31],提供了解決數據匯集面臨各類問題的可能。

IPFS具有以下優點:① 下載速度快。它使用的BitTorrent協議,使數據在IPFS網絡上的傳輸速度更快。② 安全性高。它去中心化的特性,讓知識存儲更加安全,不會因為一個節點出現故障而導致數據文件無法下載或上傳。③ 低冗余。IPFS是按內容尋址的塊存儲模型,根據內容尋址在全局命名空間中明確地識別每個文件,降低了網絡存儲的冗余。

知識共享中對于知識的保護通常是用來保護知識提供者對于知識的所有權,保護知識提供者的知識產權,知識通常都是在沒有被保護的情況下被其他人使用,這對知識的提供者產生了較大的影響,并沒有得到作為知識原始提出者所應得到的權益。知識的保護與共享的工作大致可以分為兩類:知識數據的上傳與下載、通過智能合約和簽名實現的數據的保護。如圖2所示。

圖2 數據的上傳與下載示意圖

由于區塊鏈是去中心化的結構,節點之間沒有可信的第三方,因此本文中知識提供者與知識使用者之間是沒有可信第三方的。鑒于有的知識使用者在獲取知識之后可能會惡意使用所獲得的知識,因此在知識提供者為知識使用者提供知識的有效授權及簽名之前需要對知識使用者進行風險信任評估,根據評估結果決定是否給予其對于知識的授權和簽名。

2 知識共享的框架模型

知識共享在當今社會具有舉足輕重的作用,隨著國家對保護公民知識產權的重視,讓人們更愿意去創造新知識和改進新知識,為新知識的產生創造了一個良好的法律環境。知識共享中知識的創造產生是一個自上而下的過程,這也就讓知識共享過程成為了一個去中心化且分散的過程。知識共享過程需要一個去中心化的大環境,由于區塊鏈技術具有的高度去中心化與知識共享的相對社會化的過程的理念如出一轍。因此在知識共享的技術上不再受約束,可以讓知識共享的價值最大化。由此,本文中設計了基于區塊鏈的知識共享框架,如圖3所示。

圖3 知識共享框架

框架由知識上傳與存儲、知識共享、授權驗證、智能合約與訪問控制組成。整個框架的功能如下:

知識提供者:提供知識的原始數據并將知識的原始數據上傳至IPFS集群。可以決定是否授權其他人使用其知識。

知識使用者:通過獲取的知識使用授權簽名來訪問具體知識。

IPFS:存儲原始知識數據及相應的Hash值。知識提供者將加密后的知識和提取簽名一并上傳至IPFS,轉變為Hash值后輸出。

聯盟鏈:存儲IPFS所生成的Hash值。執行相應的操作與訪問控制。

本框架各步驟說明如下:

1) 知識提供者將自己的知識原始數據及知識提取簽名上傳至IPFS網絡上,得到知識數據的唯一hash值,并將其上傳至聯盟區塊鏈上。同時,知識提供者、知識使用者和知識保護與共享中心這3個部分會記錄本系統中知識數據的使用、訪問等信息,并將記錄的信息上傳至聯盟區塊鏈中。

2) 知識使用者需要訪問知識時,會先向知識提供者請求訪問知識的授權,若得到授權,知識提供者會發送知識數據的驗證簽名給知識使用者。知識使用者通過得到的驗證簽名去獲取知識,若驗證簽名與存儲在IPFS網絡中該知識的提取簽名一致,則返回知識數據給知識使用者。

3) 知識提供者制定訪問其知識數據的智能合約與訪問控制。當知識使用者向區塊鏈發起一個知識數據訪問請求,區塊鏈節點會驗證知識使用者的身份是否符合訪問條件,若不符合,系統不會執行任何操作,否則,智能合約會自動觸發,執行知識數據訪問的操作。

盡管知識共享模型具有較高的執行效率,對于知識的管理也有較高的安全性,但其本身也存在一些潛在的安全風險:① 知識使用者可能在獲得授權得到知識后對知識進行非法使用,在非法使用的過程中不受監督。② 知識提供者對于知識使用者之間的信任是沒有第三方機構提供信任機制的,對于知識使用者的可信程度只能依靠主觀的判斷,不能了解知識的使用者對于獲取知識后的使用情況。由于知識的使用者和知識的提供者之間是不存在任何信任度的,這便會造成非法的知識使用者去非法獲取知識并由此產生了不可信的服務,使知識提供者和知識使用者之間的交互產生嚴重的安全問題。

針對上述問題,對區塊鏈的知識共享關鍵技術進行研究。

3 智能合約結構體設計

智能合約是整個知識共享框架中最重要的部分之一,它可以使知識提供者和知識使用者之間的交互在滿足特定的條件下自動執行,而不需要知識的使用者每次都向知識的提供者請求對知識的授權。智能合約也為知識數據的存儲服務提供了支持,在滿足智能合約的情況下可以完成知識數據的上傳、存儲與調用等操作。在模型中用戶有兩類:知識提供者和知識使用者。智能合約將知識提供者和知識使用者之間的交互操作轉換成區塊鏈中的交易,并將這些交易完整地存儲在以太坊網絡當中。結構體(struct)在智能合約中用來記錄和存儲知識共享的各種信息。在智能合約結構體中主要包括知識數據結構體,知識提供者數據結構體,普通用戶(知識使用者)數據結構體三類。

3.1 知識數據結構體

知識提供者創造新知識并將知識類型、知識摘要及知識產權的取得日期等數據一并上傳至IPFS,然后將得到的唯一的hash值記錄在知識所在的區塊鏈當中。通過用戶之間的交互會形成相應的區塊交易,區塊交易會觸發智能合約的交易狀態。節點達成共識后會將這些區塊交易更新到聯盟鏈的節點上,知識數據結構體設計如表1所示。

表1 知識數據結構體

3.2 知識提供者結構體

知識提供者上傳自己的知識數據及訪問知識所需的數字簽名,系統為其產生唯一標識ID。在知識使用者請求授權訪問知識時決定是否給予知識使用者訪問權及是否簽發相應的數字簽名。知識提供者結構體設計如表2所示。

表2 知識提供者結構體

3.3 知識使用者結構體

知識提供者和知識使用者之間的知識授權服務交易是智能合約功能的主要體現,知識使用者需要提供自己的賬戶地址,發出請求授權后需要等待知識提供者是否提供數字簽名,若知識提供者提供數字簽名則使用得到的數字簽名去訪問該知識的數據。通過這個過程可以有效地保證知識授權服務的安全性,知識使用者結構體設計如表3所示。

表3 知識使用者結構體

3.4 智能合約的具體設計

在本文中所使用的智能合約都是基于Truffle框架編寫的,實現了知識數據在區塊鏈上被知識使用者和知識提供者進行共享的操作。

3.4.1知識提供者上傳知識模塊

知識的提供者擁有唯一的Hash地址,可以通過調用智能合約的方法addKnowledgeToBlockchain()在區塊鏈中上傳知識的產生時間、知識種類、知識摘要等在內的知識的原始數據,在上傳的過程中會在以太坊中消耗一定數量的Gas,故知識的提供者在上傳知識之前要保證自己的以太坊賬戶是有一定的余額的,否則會導致知識原始數據上傳失敗。

3.4.2知識查詢模塊

知識的提供者和知識的使用者都可以通過知識的名稱和知識在區塊鏈中唯一的ID編號對知識進行查詢,知識的名稱可能在區塊中會有重復,但由于知識的ID編號是唯一的,所以當使用知識ID去查詢知識的時候是不會出現查詢錯誤,從而保證了查詢的準確性。由于查詢的過程只調用了智能合約的getKnowledge()方法,不需要對知識的數據進行修改操作,因此沒有產生任何區塊鏈的交易,故不需要消耗任何Gas。

3.4.3知識溯源模塊

在知識提供者將其知識的原始數據上傳到IPFS后,IPFS返回的Hash值、知識信息、時間戳等一并被存儲到區塊鏈上。由于區塊鏈具備的防篡改和可追蹤的功能,為知識的溯源提供技術保障,在當今社會知識被濫用的行為屢禁不止,這導致了很多知識提供者的知識產權沒有得到有效保護。在引入了區塊鏈技術的知識共享模型中,知識提供者可通過知識溯源算法1返回的Result 結果集查詢存儲在區塊鏈中當前正在被調用的知識的數據,包括知識名稱、知識提供者、知識種類、知識產權取得的日期、知識的摘要、取得知識使用權所需要支付的價格、知識的hash地址等知識數據。整個溯源過程同樣沒有任何交易的數據,因此也不需要消耗Gas。溯源過程的智能合約算法如下:

算法1:tracebackKnowledge

Input:Knowledge ID,Knowledge hash

Output:Result

1:if knowledge.knowledgeprovider.addr == knowledge.users.sender then

2: if knowledge.knowledgeHash != knowledgeHash then

3: break;

4: else display knowledge information;

5: return ture;

6: end if

7: end if

8:end if

3.4.4知識使用者申請使用知識模塊

知識使用者申請使用知識的前提條件是其以太坊的賬戶中擁有一定數量的以太幣以供交易的過程中消耗,并且使用者不是知識提供者本身。知識使用者在申請使用知識之前需要先查詢鏈中是否有自己需要使用的知識,若有則發出使用申請,若得到知識提供者的授權并獲得相應的數字簽名則是成功申請到了知識的授權使用,若知識使用申請被拒絕則不能訪問使用相應的知識。知識使用者在成功獲得知識提供者的授權后通過算法2中返回的Providing Result結果集得到系統返回的知識提取簽名及知識數據。提供知識過程的算法如下:

算法2:provide knowledge

Input:Knowledge ID

Output:Providing Result

1:if knowledge.users.RequestAuthorization==false then

2: break;

3: else if knowledge.users.RequestAuthorization==true then

4: if knowledge.provider[knowledge.users.sender].addr==0 then

5: knowledge.provider.addr=knowledge.users.sender;

6: knowledge.users.signature=knowledge.provider.

signature;

7: return knowledgeContent;

8: end if

9: end if

10:end if

4 系統的設計實現

采用Python語言和IPFS集群模擬的知識共享過程中交易和區塊鏈的存儲模型,通過Python可以實現知識共享過程中每個用戶之間的交互行為,并將用戶提供的數據通過hash值的形式存儲在IPFS集群當中。區塊鏈記錄了知識共享過程中用戶的操作數據。

4.1 區塊鏈創世區塊的創建

用Python來模擬的區塊鏈創世區塊的創建,并且給予了初始值,之后知識共享在區塊鏈中的操作將會產生新的區塊,并且會將前一個區塊的hash值記錄在新生成的區塊當中,再通過區塊鏈的共識算法生成新的hash值。這樣可以保證每個區塊都擁有其前一個區塊的hash值,若有其中一個區塊的hash值被惡意篡改也可以被后面的區塊發現。

區塊的創建代碼如下:

def generate_block(oldblock,bpm,address):

newblock={

"Index":oldblock["Index"]+1,

"BPM":bpm,

"Timestamp":str(datetime.now()),

"PrevHash":oldblock["Hash"],

"Validator":address

}

newblock["Hash"]=calculate_hash(newblock)

return newblock

表4為區塊創建的示例。

表4 區塊示例

4.2 知識共享在區塊鏈中的交易

在進行知識共享的交易過程中,需要用戶輸入需要訪問的知識提供者的地址和自己的地址,同時需要輸入要訪問的知識的ID,這樣可以保證自己訪問的知識是自己需要訪問的知識。并且在訪問時需要得到訪問授權,即是否得到了知識提供者所簽發的數字簽名,系統會通過本機的地址自動查詢是否獲得了數字簽名并對數字簽名進行比對。這樣可以保證若有用戶虛假提供數字簽名可以被系統識別出來。

知識交易過程的部分智能合約代碼如下:

contract KnowledgeSharing{

//Knowledge users use Knowledge

function use Knowledge (uint knowledge_id,bytes 32 knowledge_catagory,uint price){

balances[msg.sender] -=price;

balances[provider] +=price;

transactionRecord[knowledge_id]= msg.sender;

} }

智能合約采用solidity語言進行編寫,將編譯成功之后的智能合約通過客戶端部署到區塊鏈上,智能合約的部署結果如圖4所示,知識上傳過程如圖5所示,知識數據共享過程如圖6所示。

圖4 智能合約的部署

圖5 知識上傳過程

圖6 知識數據共享過程

上述實驗在網絡上完成,說明了知識共享在基于以太坊的區塊鏈上可以保護知識的數據安全具有可行性。與傳統的知識共享相比,基于區塊鏈的知識共享系統主要通過智能合約來部署和執行,不需要耗費額外的人力,提高了知識共享的效率也節省了大量的人力。

5 結論

提出了一種基于區塊鏈的知識共享模型,該模型是基于以太坊的一個去中心化的知識共享交易服務系統。知識提供者將知識的原始數據上鏈后打包進入區塊中保證了知識數據的可追溯性,鏈下的數據存儲到IPFS集群中降低了知識交易過程的成本。整個知識共享的過程都在區塊鏈中進行,保證了知識數據信息的不可篡改,讓交易雙方都能彼此信任。通過使用智能合約減少了知識交易過程步驟,減少了相應的人力資源的投入。實驗結果表明:本文的知識共享的溯源方案具有可行性,鏈上數據具有可溯源、防篡改等特性。正確的使用區塊鏈技術可以大大增加2個互不相關的個體之間的信任,有助于知識共享在各個地方、各個人群中的共享。下一步將繼續完成智能合約的一些具體功能以實現較大規模的知識共享數據的區塊鏈管理。

猜你喜歡
智能模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
智能制造 反思與期望
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
智能制造·AI未來
商周刊(2018年18期)2018-09-21 09:14:46
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲国产天堂久久综合226114| 草逼视频国产| 自慰网址在线观看| 亚洲午夜福利精品无码不卡| 思思99热精品在线| 欧美区日韩区| 91视频99| 日本少妇又色又爽又高潮| 亚瑟天堂久久一区二区影院| 黄色一及毛片| 欧美日韩国产精品va| 日韩国产综合精选| 亚洲日韩在线满18点击进入| 精品乱码久久久久久久| 国产一区二区三区精品久久呦| 亚洲综合九九| 国产97公开成人免费视频| 婷婷六月天激情| 欧美精品另类| 九色在线视频导航91| 国产精品开放后亚洲| 中文成人在线| 伊人久久影视| 久久精品人人做人人爽97| 99久久婷婷国产综合精| 国产精品漂亮美女在线观看| 亚洲国产天堂在线观看| 亚洲成a∧人片在线观看无码| 日本精品视频一区二区| 啪啪啪亚洲无码| 欧美全免费aaaaaa特黄在线| 国产内射一区亚洲| A级毛片无码久久精品免费| 午夜视频在线观看免费网站| 久久精品国产免费观看频道 | 亚洲swag精品自拍一区| 亚洲精品不卡午夜精品| 亚洲精品视频网| 国产青青操| 亚洲人成网站色7799在线播放| 亚洲不卡网| 真实国产乱子伦视频| 亚国产欧美在线人成| 日韩中文无码av超清| 亚洲伊人天堂| 国产精品亚洲一区二区三区在线观看| 四虎免费视频网站| 国产xxxxx免费视频| 国产精品第一区在线观看| www.亚洲色图.com| 亚洲伦理一区二区| 999福利激情视频| 欧美成人精品一区二区| 久久国产免费观看| 久久久噜噜噜久久中文字幕色伊伊| 免费a级毛片视频| 青青青国产精品国产精品美女| 亚洲中文字幕手机在线第一页| 久久99国产乱子伦精品免| 极品av一区二区| 亚洲久悠悠色悠在线播放| 亚洲浓毛av| 亚洲国产亚洲综合在线尤物| 亚洲精品色AV无码看| 四虎国产成人免费观看| 日韩精品一区二区深田咏美| 国产毛片久久国产| 亚洲男人天堂2018| 中文字幕波多野不卡一区| 黄色网站不卡无码| 毛片在线播放网址| 在线a网站| 1级黄色毛片| 成人无码一区二区三区视频在线观看| 毛片基地视频| 欧美在线一级片| 91精品人妻互换| 国产成人狂喷潮在线观看2345| 欧美成人日韩| 亚洲三级影院| 成人福利免费在线观看| 亚洲bt欧美bt精品|