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