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

基于Fabric區塊鏈的智能合約協同開發系統

2019-05-30 23:00:15楊曉宙董學文
南京信息工程大學學報 2019年5期

楊曉宙 董學文

摘要 針對傳統協同開發系統普遍采用“中心化”存儲架構帶來的單點故障、數據不可信、故障難以追責等安全問題,以及傳統協同辦公系統僅支持單一企業內部辦公的問題,本文借助超級賬本Fabric區塊鏈技術以及業務流程管理和服務組合技術實現了一款基于Fabric區塊鏈的智能合約協同開發系統.系統架構中首先結合傳統中心化存儲技術和區塊鏈去中心化存儲技術,通過將系統核心業務數據信息存儲在區塊鏈分布式賬本中而把業務流程管理等不重要的數據存儲在傳統數據庫中解決了“中心化”存儲管理帶來的安全信任問題.其次系統通過結合超級賬本聯盟鏈技術提供的企業聯盟的特點使得系統可以應用于企業聯盟辦公中,解決了單一辦公的問題.

關鍵詞 Hyperledger;Fabric;區塊鏈;智能合約;協同開發

中圖分類號 TP39

文獻標志碼 A

0 引言

協同辦公系統作為當今時代各企業組織方便快捷辦公的最有效方案,在經過十幾年的發展和完善之后,現已是國內以及全世界普遍使用的辦公技術[1].隨著世界諸多公司對其的投資和研發,辦公系統得到了質的飛躍.目前辦公系統的類型大致可以分為2類:第1類是20世紀八九十年代由紙質方式的辦公轉向的智能設備比特數據流方式辦公[2];第2類是就是結合互聯網技術并擁有自動化辦公流程的協同辦公.第2類辦公方式也是目前最流行的辦公系統類型.但是我們通過對現有協同辦公系統的分析,發現有許多不足之處需要改進,主要有:

1)系統針對性過強.現有辦公系統都屬于企業定制,功能單一架構固定,不適用于企業聯盟的辦公環境.

2)系統過度中心化,缺乏信任.現有辦公系統幾乎都是中心化的存儲架構,缺乏信任[3].

3)系統數據信息容易丟失和被篡改.現有協同辦公系統使用的傳統架構存儲單一,系統數據容易遭到人為惡意破壞或者系統故障導致系統數據丟失或篡改,系統安全不能保證.

近幾年,隨著中本聰提出的比特幣應用的火爆,區塊鏈技術迅速的進入到人們的視野中.現在,區塊鏈技術[4-7]除了應用于數字貨幣應用以外,還可以應用到其他領域的研究當中.區塊鏈技術本身是使用現有諸多技術的組合,但它們組合起來的新的技術足以顛覆傳統系統體系.區塊鏈是分布式存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式,它的最大特點就是其去中心化分布式賬本特點[8].目前已有眾多領域通過結合區塊鏈的這一特性應用到他們傳統的應用架構當中解決了許多安全信任問題.

為了解決現有協同辦公系統存在的以上安全和信任的問題,本文通過使用超級賬本聯盟鏈技術、業務流程管理技術以及服務組合技術提出了基于Fabric區塊鏈的智能合約協同開發系統.系統結合區塊鏈的去中心存儲、信息不可篡改、公開透明以及交易可追溯等特性解決了傳統辦公系統的安全和信任等問題.系統利用Hyperledger Fabric聯盟鏈特有的聯盟鏈特點實現了協同辦公系統可以應用與企業聯盟辦公環境.

1 超級賬本Hyperledger技術

超級賬本Hyperledger是2015年由Linux基金會主辦的開源協作區塊鏈開發平臺項目,致力于推動跨行業區塊鏈技術的發展[9].項目自起步以來就吸引了眾多領域的領軍者,其中包括金融、銀行、物聯網、供應鏈以及制造等.目前為止項目成員已經突破200個,其中18個高級會員中有中國企業百度,在100多個一般會員中包含了大量中國企業,如華為、小米等.在全球眾多企業和組織的共同努力下,超級賬本項目得到了飛速發展.

Hyperledger項目孵化了很多如區塊鏈分布式賬本架構、智能合約執行引擎、客戶端庫、圖形界面、實用程序庫等一系列區塊鏈技術框架和工具.目前推出的Hyperledger[10]框架有Fabric、Burrow、Grid、Indy、Iroha以及Sawtooth.目前推出的Hyperledger工具有Caliper、Cello、Composer、Explorer、Quilt以及Ursa.下面著重介紹Hyperledger Fabric框架和Hyperledger Composer工具.

1.1 Hyperledger Fabric框架

Hyperledger Fabric是超級賬本的第一個項目,致力于打造一個全社會共同維護的開源區塊鏈的底層框架,它克服了目前公有鏈項目中吞吐量低、共識效率低等缺陷,使得用戶能夠方便的開發商業應用.Fabric項目采用分層模塊化設計、支持插拔式共識算法以及成員管理的模塊化架構的區塊鏈實施方案.目前Fabric支持Go、NodeJs、Python以及Java多種語言的鏈碼開發,Fabric目前已經發布了最新的1.4版本.為了系統穩定性,本文使用Fabric1.0進行開發.其系統邏輯架構如圖1所示,Hyperledger Fabric1.0的設計具有模塊插件化、充分利用容器技術、可擴展性以及安全性4個特點.

圖1的Fabric系統邏輯架構分別從不同的角度進行了劃分,架構上層是從應用程序的角度對區塊鏈進行分析,而底層是對區塊鏈服務進行了細化.上層在封裝了APIs接口的基礎上又向上封裝了Golang、Node.js以及Java等語言的SDK,這樣應用開發人員就可以利用SDK進行應用程序的開發.由于區塊鏈節點的信任共識時延比較長,事件模塊可以通過回調函數實現異步模式的應用程序開發.從應用上層的角度可以分為身份管理、賬本管理、交易管理和智能合約.

1.2 Hyperledger Composer組件

Hyperledger Composer是超級賬本項目的子項目,是一個廣泛的開放式工具集和框架,開發人員使用Composer可以更加輕松高效的開發區塊鏈應用程序而不需要考慮Fabric底層的各種細節問題.有了Composer開發工具集后,應用開發人員就可以花更多的時間去考慮應用程序的業務邏輯實現.Hyperledger Composer支持現有的Fabric區塊鏈的基礎架構和運行環境,并且可以與現有系統、數據進行集成.

Hyperledger Composer的整體架構如圖2所示,超級賬本項目對Composer的定位就是在Fabric的上層,該架構上層部分就是Composer應用開發的4個組件,分別是域模型文件、交易邏輯腳本文件、訪問控制規則文件以及查詢文件.域模型文件用于定義業務網絡中的所有資產、參與者、交易處理以及事件.交易處理邏輯文件用于細化域模型文件中定義的交易處理,對具體交易的業務邏輯進行實現,即智能合約中的邏輯處理.訪問控制規則文件使用Hyperledger Composer提供的訪問控制語言來約束用戶、參與者對于區塊鏈業務網絡、資源、域模型實例的訪問權限.查詢定義文件使用Hyperledger Composer提供了類似SQL的Query Language來進行符合特定條件的查詢.

業務網絡通過4個組件實現之后打包成業務網絡歸檔文件部署到Fabric網絡中,然后業務網絡中定義的業務邏輯就可以在區塊鏈中穩定調用執行.業務網絡歸檔文件最終會在Fabric底層編譯轉換成智能合約運行在區塊鏈網絡中.

2 基于Fabric區塊鏈的智能合約協同開發系統架構設計

根據現有區塊鏈應用系統架構并結合現有協同辦公系統的平臺架構,設計了去中心化群智合約協同開發系統,其整體架構如圖3所示.系統架構分為3層,上層為界面層也稱用戶交互層,中層是業務網絡開發的業務邏輯層,底層則是最重要的數據存儲訪問層.系統采用如此的分層架構是為了把用戶交互與數據存儲分離開來,用戶交互過程中的用戶體驗與傳統中心化架構一樣,只需要通過瀏覽器登錄訪問即可而無需考慮底層數據如何存儲等.這種結構劃分使的整個系統結構清晰、層次分明,可以借鑒到其他的區塊鏈應用系統的設計中.

系統界面層也即用戶交互層,主要包含系統各功能模塊業務邏輯的瀏覽器端頁面,用戶在瀏覽器端操作就可以實現底層的業務邏輯服務.用戶交互層可以將用戶在瀏覽器端操作的數據轉換成虛擬資產或者交易等存儲在底層區塊鏈賬本中.用戶在頁面的增刪改操作對應底層數據的增刪改,但是操作記錄會被永久保存;用戶在頁面的查找操作則是通過系統底層接口獲取底層存儲信息在前端進行展示.

系統中間的業務邏輯層是系統平臺的核心業務層,界面層展示的所有功能模塊的業務邏輯需要在該層進行實現.該層主要涉及到兩個方面,業務流程管理和區塊鏈業務網絡.本層首先基于底層Fabric網絡使用Hyperledger Composer的一系列組件工具對底層業務網絡進行設計最終向上提供REST APIs服務接口,然后再使用傳統業務流程管理以及服務組合技術對業務網絡服務接口進行服務編排組合以及流程管理等業務的實現.整個系統屬于異構的系統,是Fabric區塊鏈與Web Service技術等的異構系統.

系統底層是數據存儲訪問層.DataBase用于存儲系統協同流程管理數據的傳統中心化數據庫,它可以存儲管理不重要的系統工作流程數據,為Fabric區塊鏈層減少數據存儲壓力并提高系統辦公效率.Fabric區塊鏈層主要包括聯盟節點的部署以及利用其去中心化存儲特性存放系統主要業務數據信息等.

系統用戶擁有兩種訪問區塊鏈的方式,第一種方式是通過Web應用平臺進行智能合約協同開發操作,這些操作可以實現將智能合約存儲在區塊鏈中以及對智能合約的增刪改查等;第二種方式可以通過使用Hyperledger Composer工具提供的RESTFul API服務接口進行操作區塊鏈底層.本系統平臺通過對RESTFul API服務接口進行集成,為用戶提供統一的Web系統平臺進行區塊鏈操作.

3 基于Fabric區塊鏈的智能合約協同開發系統功能模塊設計與實現

通過對智能合約協同開發系統業務功能需求的分析,本節對系統業務功能模塊進行劃分,智能合約協同開發系統的功能結構如圖4所示.

協同開發系統有4個核心功能模塊:系統成員模塊、協同流程模塊、智能合約模塊和系統管理模塊,其中系統成員模塊、智能合約模塊和系統管理員模塊關聯底層Fabric區塊鏈存儲機制而協同流程模塊關聯傳統中心化數據庫存儲協同流程資源信息.

1)系統用戶模塊主要用來向系統中添加系統管理員、項目負責人員和項目開發人員的個人基本信息,包括用戶ID、姓名、所屬組織、電話、郵箱以及地址等,同時系統通過設置訪問控制規則對系統各類用戶進行權限控制.

2)協同流程模塊主要用于設計、部署、啟動和結束協同開發智能合約的流程,整個系統的協同特性就體現在該模塊,系統流程管理數據存儲在傳統數據庫中為系統減壓.

3)智能合約模塊是系統功能實現的重點,該模塊結合協同流程模塊實現項目負責人員創建智能合約、發布智能合約的開發任務、項目開發人員更新智能合約以及項目開發人員審核驗收智能合約,智能合約模塊主要實現智能合約的功能需求完善工作.

4)系統管理模塊的功能主要是對系統注冊用戶進行身份管理、當系統出現問題追責時對系統歷史交易信息進行檢索查詢以及對業務網絡進行版本升級等.

通過以上4個模塊的功能實現了智能合約協同開發系統,整個系統的核心目的就是在各企業組織組成的企業聯盟環境中由不同的工作人員組成一個智能合約開發項目組,可以實現協同開發智能合約的任務.通過分析智能合約協同開發系統的整體業務流程,歸納出的系統業務功能用例圖如圖5所示.

根據以上系統業務功能用例圖,系統功能可以歸納如下:

1)系統用戶可以通過輸入用戶賬戶信息進行系統登錄.

2)系統業務網絡管理員可以注冊添加項目負責人或者開發人員等系統用戶.

3)業務管理員可以對系統用戶、系統資源等區塊鏈中數據進行增刪改查,同時這些操作記錄也會記錄到區塊鏈中.

4)管理員或者項目負責人用戶可以設計、部署或者啟動智能合約協同開發流程.

5)項目負責人可以創建智能合約、指定智能合約設計要求以及可以啟動一個協同開發流程來發布智能合約開發任務.

6)開發人員通過登錄系統查看自己當前開發任務,如果有任務就要根據智能合約詳細需求進行合約的開發.

7)項目負責人需要隨時查看當前任務并進行任務審核.如果開發人員均按照合約設計要求完成了協同開發任務,則審核通過并且任務完成;如果沒有符合要求,則審核不通過并繼續協同開發流程.

智能合約系統平臺的開發過程廣義上分為兩部分.第一部分是區塊鏈網絡中業務網絡的設計,同使用Composer工具集實現業務網絡定義文件并提供出RESTFul API如圖6所示,該部分主要實現功能模塊中的系統用戶模塊、智能合約模塊以及系統管理模塊的服務接口.第二部分是使用Web應用程序開發框架結合業務流程管理技術和服務組合技術封裝組合業務網絡REST API接口實現系統平臺,該部分串聯整個系統功能并完成了協同管理模塊功能.協同開發智能合約工作流如圖7所示.

4 系統測試

本文通過對智能合約協同開發功能和流程進行測試并且對Fabric區塊鏈網絡運行情況進行監測和分析,最終證明了本文實現的智能合約協同開發系統的完整性.

4.1 系統功能測試

本節通過模擬實例場景對智能合約協同開發系統的功能協同開發智能合約進行功能和流程測試.如圖8所示,首先本系統在部署區塊鏈網絡時分別設置了3個組織(組織可以動態添加),同時在每個組織中部署了Peer節點供用戶接入;然后通過系統可以由管理員為各組織中的員工進行用戶信息注冊,圖中展示了3個組織Org1、Org2和Org3,Org1中注冊了2個用戶a和b,Org2中注冊了3個用戶c、d和e,Org3中注冊了兩個用戶f和g.由于不同用戶對系統具有不同的訪問權限,而且在智能合約協同開發過程中需要有兩種角色,一種是協同開發項目負責人,另一種是智能合約開發人員.圖中展示的Org1中的用戶a是項目負責人,3個組織中的其他用戶均為開發人員.

智能合約協同開發流程實例以及功能通過圖8中的編號表示,智能合約協同開發步驟如下;

1)Org1中的項目負責人a新建智能合約c1,然后設置開發者人員列表為(Org1-b,Org2-c,Org2-e,Org3-g),指定合約開發詳細規則并發布智能合約啟動智能合約協同開發流程實例.如圖8中步驟1所示.

2)開發者人員列表中的Org1-b、Org2-c、Org2-e、Org3-g分別根據合約c1開發詳細規則更新屬于自己開發部分的智能合約代碼.如圖8中步驟2所示.

3)當所有開發者用戶更新完智能合約c1的代碼之后就需要Org1中的項目負責人a對開發完成的合約c1進行功能以及漏洞等審核驗證.如圖8中步驟3所示.如果審核通過則智能合約c1開發完成可以部署到區塊鏈網絡中運行,如果審核未通過則需要項目負責人a重新執行智能合約開發流程.

通過對智能合約協同開發功能流程以及其他輔助功能的測試,最終驗證了系統的功能完整性.

4.2 Fabric網絡監測

智能合約協同開發系統是基于Fabric區塊鏈實現的,Fabric區塊鏈網絡中各節點組成大的組織,組織再組成一個聯盟.隨著系統的運行會伴隨著區塊鏈交易的產生,通過在Fabric網絡之上部署一個Fabric區塊鏈瀏覽器,測試開發人員可以隨時查看區塊鏈中的各種信息,例如節點運行信息、區塊數量、成功的交易以及區塊鏈網絡中部署的智能合約等,圖9展示了Fabric區塊鏈瀏覽器界面圖,測試開發人員可以根據瀏覽器上的不同標簽查看區塊鏈網絡中的信息,對Fabric 網絡進行監測.

5 結束語

隨著比特幣應用的出現以及近幾年來區塊鏈技術的發展,區塊鏈已經深入到各行各業的應用當中.目前區塊鏈應用的領域有金融、醫療、物聯網、供應鏈、法律、教育等,但由于區塊鏈技術的發展處于起步階段,短期內存在落地困難的問題,但長期而言,區塊鏈技術會深刻變革現有的生產關系.當下國內外已經存在了不同領域的區塊鏈應用,它們充分的結合了區塊鏈技術的去中心化、信息不可篡改、公開透明、可追溯等特性,使得應用產品也具有了相關特性,提高了安全可靠性等.本文在國家重點研發計劃項目的驅動下提出基于Fabric區塊鏈的智能合約協同開發系統,將區塊鏈技術與協同辦公系統結合,避免了傳統協同辦公系統中心化結構帶來的諸多安全隱患,系統操作數據以交易的形式存儲在區塊鏈賬本中保證了數據的安全完整性.

參考文獻References

[1] 陳強,張睿,鄭環,等.協同辦公平臺設計與實現[J].醫學信息學雜志,2019,40(1):41-46

CHEN Qiang,ZHANG Rui,ZHENG Huan,et al.Design and implementation of the collaboration office platform[J].Journal of Medical Informatics,2019,40(1):41-46

[2] 崔娟.淺析OA協同辦公系統在企業中的應用[J].信息通信,2018(3):181-182

CUI Juan.Brief analysis application of OA cooperative office system in enterprises[J].Journal of Information and Communications,2018(3):181-182

[3] 李展.基于J2EE的高校協同辦公系統的設計與實現[D].西安:西安電子科技大學,2016

LI Zhan.Design and implementation of college collaborative OA system based on J2EE[D].Xi'an:Xidian University,2016

[4] 謝輝,王健.區塊鏈技術及其應用研究[J].信息網絡安全,2016(9):192-195

XIE Hui,WANG Jian.Study on blockchain technology and its applications[J].Netinfo Security,2016(9):192-195

[5] Underwood S.Blockchain beyond bitcoin[J].Communications of the ACM,2016,59(11):15-17

[6] Dwyer G P.The economics of bitcoin and similar private digital currencies[J].Journal of Financial Stability,2015,17:81-91

[7] Bonneau J,Miller A,Clark J,et al.SoK:research perspectives and challenges for bitcoin and cryptocurrencies[C]∥2015 IEEE Symposium on Security and Privacy,2015.DOI:10.13140/rg.2.1.4179.5605

[8] 鄒均,張海寧.區塊鏈技術指南[M].北京:機械工業出版社,2016

ZOU Jun,ZHANG Haining.Blockchain technology guidelines[M].Beijing:Machinery Industry Press,2016

[9] Cachin C.Architecture of the hyperledger blockchain fabric[C]∥Proc of Workshop on Distributed Cryptocurrencies and Consensus Ledgers,Ruschlikon,Switzerland,2016

[10] Hyperledger Working Group.Hyperledger members[EB/OL].[2018-03-02].https:∥www.hyperledger.org/members

主站蜘蛛池模板: 亚洲人成在线精品| 亚洲国产系列| av一区二区三区高清久久| 91精品免费高清在线| 成人福利在线免费观看| 日韩A级毛片一区二区三区| 国产精品网拍在线| 国产18在线播放| 精品亚洲麻豆1区2区3区| 国产在线91在线电影| 国产特一级毛片| 国产成人免费观看在线视频| AV老司机AV天堂| 久无码久无码av无码| 波多野结衣第一页| 中文无码日韩精品| 亚洲精品视频网| 国产亚洲精品yxsp| 热re99久久精品国99热| 亚洲欧美在线看片AI| 亚洲欧美精品在线| 欧美一级在线播放| 久久亚洲国产一区二区| 亚洲精品无码不卡在线播放| 成人国产三级在线播放| 91免费精品国偷自产在线在线| 午夜福利在线观看成人| 国产91视频免费观看| 欧美日韩中文国产| 无码精品国产dvd在线观看9久| 精品福利视频导航| 亚洲综合第一区| 自拍偷拍欧美日韩| 亚洲欧洲日韩综合| 精品国产成人三级在线观看| 亚洲激情区| 午夜视频免费试看| 一本一道波多野结衣一区二区| 色综合网址| 成人国产精品网站在线看| 国产一区二区人大臿蕉香蕉| 国产精品毛片在线直播完整版| 亚洲Aⅴ无码专区在线观看q| 一级全黄毛片| 97精品伊人久久大香线蕉| www.日韩三级| h网站在线播放| 久精品色妇丰满人妻| 第一页亚洲| 免费A∨中文乱码专区| 巨熟乳波霸若妻中文观看免费| 日本三级精品| 精品自拍视频在线观看| 国产95在线 | 99视频免费观看| 日日拍夜夜操| 欧美啪啪网| 老色鬼久久亚洲AV综合| 在线欧美一区| 国产亚洲成AⅤ人片在线观看| 欧美一级夜夜爽www| 国内精品久久九九国产精品| 国产成人免费手机在线观看视频| 99精品在线看| 欧美国产日本高清不卡| 日韩色图在线观看| 免费在线视频a| 国产成人精品一区二区不卡 | av无码一区二区三区在线| 日韩在线欧美在线| 国产成人精品视频一区二区电影| 国产在线视频二区| 美女被操黄色视频网站| 成人av专区精品无码国产| 67194在线午夜亚洲| 国产黄在线免费观看| 草草影院国产第一页| 国产在线高清一级毛片| 老司机午夜精品网站在线观看| 在线看片中文字幕| 台湾AV国片精品女同性| 亚洲一区免费看|