余然
摘 要:首先簡要介紹了區塊鏈技術的概念及其主要特點,然后分析了在傳統大規模工程管理中存在的數據安全性差、單點控制、聯動能力差、數據一致性差、數據抗抵賴性差等問題。在此基礎上,設計出了一種基于區塊鏈技術的大型工程管理系統及管理方法,并對其應用方法進行了說明,以此提高大規模工程管理工作的效率。
關鍵詞:區塊鏈;工程管理;去中心化;互聯互通
中圖分類號:TP309.7? ? ? 文獻標志碼:A? ? ? 文章編號:1673-291X(2019)23-0166-05
一、區塊鏈技術特點
區塊鏈技術誕生于2008年,它是伴隨著比特幣等虛擬貨幣的出現和發展而產生的一項新技術,目前行業內尚未形成公認的區塊鏈定義。從狹義上講,區塊鏈是一種按照時間順序排列而成的鏈條狀數據結構,并通過加密手段來保證其數據及結構不可篡改和偽造,是一種去中心化且可共享的數據總賬。從廣義來看,區塊鏈是一種全新的去中心化數據結構和分布式儲存方式。它通過加密的鏈塊結構來驗證和儲存數據,通過分布式節點的一致性來生成和更新數據,通過腳本代碼形成的新型智能協議來編制和修改數據[1]。
從近年來區塊鏈技術的發展和應用來看,其具有以下六方面的特點[2]。
1.去中心化。任何交易都不是通過第三方來進行的,而是通過交易的各方,交叉完成的。
2.開放性。區塊鏈中任何兩方的交易信息,都將分配和儲存在區塊鏈中所有其他節點中。因此通過開放記錄,所有節點都可以看到雙方的交易記錄。
3.擴展性。各個節點記錄的交易信息將不斷拓展,其體量取決于整個區塊鏈中交易數量和交易參與方的數量的增長,并且往往都是以幾何方式增長。
4.可溯源。由于區塊鏈中每個交易的信息,都分布儲存在各個節點中,比如交易時間、交易內容、交易序列等。因此,在區塊鏈內部出現問題時,可以方便的對每項歷史交易進行追溯和復現。
5.安全可靠。由于區塊鏈中全部交易信息的分布式儲存,因此其中的任何節點都難以自主篡改所有儲存在其他節點的交易記錄;同時,由于每個節點都存儲了所有交易信息,彼此相對獨立,因此任何一個節點數據的丟失和崩潰,不會影響其他數據的完整性。這種較高的安全可靠性,可以有效地監督雙方的交易表現。
6.“智能合約”特點。區塊鏈中交易雙方的協定,是以“智能合約”的形式存在的,并記錄在區塊鏈內的每個節點上的。該智能合約也受到區塊鏈中各個節點的監督,促使雙方能夠按照約定執行合同內容。
二、傳統大規模工程管理存在的主要問題
傳統大規模工程管理中,所有的工程參與方都有自身的業務流程和業務數據,這些流程和數據保存在各方運營的數據庫中,這就會存在以下幾個問題。
1.數據安全性差,即所有數據存儲在一個地方,是很危險、不可靠的。當數據庫損壞或丟失時,數據就難以恢復了[3]。
2.單點控制,即只有一個錄入、控制點,工作效率不高[4]。
3.聯動能力差,即當工程相關方要交換數據時,需要拿出各自數據進行交換和統計。經各自節點所有者同意后,進行數據交互,處理周期長,透明度差[5]。
4.數據一致性差,即在工程實施過程中,所有的建設相關方所掌握的數據,都各自存儲在自身的數據庫中,難以保證數據一致性,容易出現“信息孤島”和“信息不對稱”的問題[6-8]。
5.數據抗抵賴性差,即工程參與者可以根據自身利益最大化的想法,隨意改變工程指標、參數、進度等,從而導致利益相關者之間的信任危機[9-11]。
上述問題,可能會嚴重影響大規模工程項目的進展、質量,以及建設相關方的利益,甚至使大規模工程管理陷入僵局。
筆者針對以上問題,設計出了一種基于區塊鏈技術的大規模工程管理系統,通過區塊鏈技術將企業大規模工程參與方節點與工程項目實施過程相互連接起來,使工程相關方能夠更加有效參與大規模項目管理。
三、基于區塊鏈技術的大規模工程管理系統設計
基于區塊鏈技術的大規模工程管理系統如圖1所示,主要包括中心節點、工程參與方節點、密鑰模塊、信息檢索模塊和區塊結構模塊等。
中心節點為工程規劃部門節點,所述工程參與方節點為技術研發部門節點、專家組節點、財務部門節點、施工單位節點和設備單位節點。中心節點和工程參與方節點通過P2P網絡連接在一起。
中心節點還連接有區塊鏈系統功能模塊,區塊鏈系統功能模塊包括但不限于新工程參與方節點加入模塊、讀權限分配模塊、寫權限分配模塊和智能合約執行模塊。
密鑰模塊為非對稱密鑰體系,公鑰存在于各個節點,用于標識節點身份;私鑰存在于USB-key中,用于加密數據和簽名。
規劃部門節點負責大規模工程的統一規劃管理,是整個企業大規模工程管理的核心。
研發部門節點負責工程建設需求的提出,以及總體建設方案、工程建議書、可研報告、初步設計的編寫。
專家組節點負責總體建設方案、工程建議書、可研報告、初步設計的審議工作,以及參與工程實施、竣工驗收評定工作。
財務部節點負責區塊鏈代幣的兌換和代幣發放。
施工單位節點負責工程的具體實施,并與規劃部門節點簽訂相應的智能合約。
設備單位節點負責工程實施過程中設備的供應,以及設備后期的維護服務。
基于區塊鏈技術的大規模工程管理系統的主要流程包括如下步驟:(1)研發部門節點提出工程建設需求,并編寫總體建設方案。(2)專家組節點審議總體建設方案,如果審議通過,則進入下一步;如果審議不通過,則返回至上一步,直至專家組節點審議通過。(3)研發部門節點編寫工程建議書和科研報告。(4)專家組節點審議工程建議書和科研報告,如果審議通過,則進入下一步;如果審議不通過,則返回至上一步,直至專家組節點審議通過。(5)研發部門節點編寫初步設計。(6)專家組節點審議初步設計,如果審議通過,則進入下一步;如果審議不通過,則返回至上一步,直至專家組節點審議通過。(7)施工單位節點、設備單位節點負責工程實施。(8)專家組節點評定工程實施,如果評定通過,則進入下一步;如果審議不通過,則返回至上一步,直至專家組節點評定通過。(9)竣工驗收。(10)規劃部門節點、專家組節點評定竣工驗收,如果評定通過,則進入下一步;如果評定不通過,則返回至上一步,直至規劃部門節點、專家組節點評定通過。(11)工程審計。
四、基于區塊鏈技術的大規模工程管理系統的應用方法設計
(一)新工程參與方節點加入方法設計
新工程參與方節點加入方法,包括如下步驟:新工程參與方節點向中心節點申請加入大規模工程管理,填寫節點資料并提交資質證明文件。中心節點判斷新節點信息有效后,向新節點分配兩對非對稱密鑰,包括一對加密密鑰和一對簽名密鑰,一對加密密鑰用于加密數據,一對簽名密鑰用于數字簽名。非對稱密鑰包含公鑰和私鑰,公鑰用于標識新節點的節點資料信息和表征新節點的身份,公鑰被分發給工程參與方節點;私鑰放入USB-key中,被新工程參與方節點領取。通過公鑰加密的數據,只能通過加密數據應用場景,由私鑰解密;而通過私鑰加密的數據,只能通過數字簽名應用場景,由公鑰解密。
加密密鑰使用場景:當兩個節點(例如節點A與節點B)需要傳輸數據時,節點A采用節點B的公鑰加密,節點B用保存在USB-key中的自己的私鑰解密,實現加密的數據只能由特定的節點打開。
簽名密鑰使用場景:當兩個節點(例如節點A與節點B)需要數字簽名時,節點A將文件用保存在USB-key中的自己的私鑰加密,節點B用節點A的公鑰解密,從而證明該文件是由節點A發出的,實現該文件的數字簽名。
(二)寫權限分配方法設計
1.由中心節點發送隨機數到需要寫入數據的工程參與方節點,隨機數采用該工程參與方節點公鑰加密,該工程參與方節點生成新的區塊,并通過上一區塊的哈希值、本區塊主題、隨機數和時間戳生成驗證哈希值h。
2.該工程參與方將新生成的區塊和驗證哈希值h發送到中心節點,h采用中心節點的公鑰加密,中心節點校驗驗證哈希值h,并將新的區塊鏈和數據簽名廣播到區塊鏈網絡。
3.其他工程參與方節點違規自主生成新區塊時,因隨機數和時間戳不同,因此驗證哈希值h1不同,中心節點負責校驗驗證哈希值的有效性;如果驗證哈希值為無效哈希值,則判定新生成的區塊鏈無效。
(三)讀權限分配方法設計
1.區塊鏈各個節點寫入區塊體的內容采用節點持有的專屬對稱密鑰加密,專屬對稱密鑰存儲在USB-key中,區塊體的內容采用本區塊主題進行檢索;當其他工程參與方節點需要訪問區塊體內容時,需要持有存儲有該專屬對稱密鑰的USB-key,才能解密區塊體的內容。
2.中心節點根據工程實施流程分析工程參與方節點應該看到的區塊鏈的內容,即工程參與方節點的讀權限,根據讀權限向工程參與方節點分發包含專屬對稱密鑰的USB-key,實現讀權限的分配。
(四)智能合約執行方法設計
工程參與方節點之間需要簽訂合約時,由參與合約的工程參與方節點共同商定一份智能合約,智能合約包括合約金額和觸發條件。智能合約由參與合約的工程參與方節點的私鑰簽名,將簽名的智能合約發送到中心節點;中心節點將智能合約簽名并寫入區塊鏈;中心節點負責查詢區塊體的數據內容,當滿足智能合約觸發條件時,觸發智能合約執行。智能合約一方的代幣被扣除,另一方的代幣增加,由財務節點將交易記錄寫入區塊鏈;獲得代幣的智能合約一方,根據代幣到財務兌換相應的人民幣。
五、結論
本文提出的基于區塊鏈技術的大規模工程管理系統及方法,其有益效果在于以下方面。
1.通過區塊鏈技術將企業的大規模工程利益相關者節點和項目實施過程相互連接,使利益相關者能夠有效參與大規模項目管理。
2.將大規模工程項目實施期間產生的海量數據,進行多節點存儲,提高了數據的可用性。
3.有效地分配區塊鏈的讀寫權限,提高數據安全性和抗抵賴性。
4.通過“智能合約”方式執行工程參與方的合同,可有效降低合同糾紛風險及控制交易成本,促進交易自動化。
參考文獻:
[1]? 劉軼翔.基于區塊鏈的工程總包管理改進措施研究[J].低溫建筑技術,2017,7(39):123-127.
[2]? 袁勇,王飛躍.區塊鏈技術發展現狀與展望[J].自動化學報,2016,42(4):482-493.
[3]? 陳貴海,吳帆,李宏興,邱彤慶.基于DHT的P2P系統中高可用數據冗余機制[J].計算機學報,2008,(10):1695-1704.
[4]? 王碩.單點控制的RTK測量精度分析[J].黑龍江水利科技,2015,43(10):34-35.
[5]? 趙冬平,郭雅娟,戚湧.事故應急處置網絡的聯動能力研究與分析[J].軟件,2017,38(8):36-42.
[6]? 苗東菁.數據一致性的計算復雜性理論和算法研究[D].哈爾濱:哈爾濱工業大學,2016.
[7]? 李衛榜,李戰懷,陳群,楊婧穎,姜濤.分布式大數據不一致性檢測[J].軟件學報,2016,27(8):2068-2085.
[8]? 楊煒圻.大數據環境下的數據安全性探討[J].網絡安全技術與應用,2014,(8):136,138.
[9]? 楊旭.基于云計算的數據安全性研究[J].移動通信,2013,37(9):69-72.
[10]? 王欣.數據集成技術若干問題的研究[D].上海:上海交通大學,2010.
[11]? 施衛峰,周俊,朱利剛.多用戶信息系統中數據安全性控制及其實現[J].微機發展,2003,(1):60-63.