區(qū)塊鏈技術作為一種去中心化的分布式數據庫賬本技術,具有不可偽造、全程留痕、集體維護等優(yōu)勢。本文分析區(qū)塊鏈技術在以多用戶創(chuàng)建、分布式質量驗證、數據來源及去向可追溯為目標的BIM構件管理系統(tǒng)中的適用性,并探討這類應用的基本數據結構,以期為BIM知識成果管理提供新思路。
在BIM技術應用工作中,非常重要的成果之一就是構件。構件作為組成BIM模型的基礎單元,描述其幾何信息、專業(yè)屬性及狀態(tài)信息,是傳遞模型信息的基本載體。創(chuàng)建者在制作一個“好”構件時,要充分考慮到形體參變、可視化表達、信息承載、使用性能等多個方面。如何讓花費了時間和精力的構件創(chuàng)建者能夠了解自己的成果在項目中有多少次應用,應用在哪些工作場景中,甚至能否創(chuàng)造一定的經濟價值,是BIM構件管理的意義所在,也是促進BIM構件“多創(chuàng)建、多分享、多受益”良性循環(huán)的關鍵。目前,很多BIM技術應用企業(yè)及軟件開發(fā)單位也進行了相關的嘗試和探索,但是基本只能滿足構件加密這類的需求,對于構件應用的場景、頻次等相關信息收集仍缺乏有效的解決方案。
筆者所在的上海市政工程設計研究總院(集團)有限公司(以下簡稱“上海市政院”)建立的SMEDI-BIM構件庫管理系統(tǒng),一個突出特點就是大部分管理對象均為市政行業(yè)專有的構件,尤其是一些構件體現(xiàn)了上海市政院在工藝、工序等方面獨有的技術方案,因此在管理系統(tǒng)建立時對構件的知識產權保護進行了考慮。SMEDI-BIM管理系統(tǒng)的管理對象,主要為Revit構件和CATIA構件。針對Revit構件,采用族文件加密的方式,未登錄管理系統(tǒng)的用戶無權打開或者在項目中調用構件;CATIA構件則通過達索3DE平臺生命周期定義中的“成熟度”屬性,來實現(xiàn)數據訪問限制及數據保護,在“設計已發(fā)布”狀態(tài)下,任何人不能對構件進行修改。
但是,這種構件加密的解決方案也存在很大的局限性。由于項目交付越來越多地要求提供可編輯的項目文件,而客戶不會安裝構件庫管理系統(tǒng)插件或登錄設計單位內部3DE平臺,因此,多數情況下需要對構件文件及應用構件的項目文件進行解密或導出為非原生文件格式,解密后的構件又可以任意傳播和使用。由此可見,這種構件加密方式只是縮小了構件傳播的范圍,但不能徹底解決知識產權保護的問題。若要進一步收集BIM構件應用的數據信息,則需要通過大數據分析了解應用場景和頻次,以便集中資源持續(xù)維護和改進應用較多的構件。然而,這樣的功能需求暫時沒能夠實現(xiàn)。
區(qū)塊鏈是一種按照時間順序將數據區(qū)塊用類似鏈表的方式組成的數據結構,并以密碼學方式保證其不可篡改和不可偽造的分布式去中心化賬本,能夠安全存儲簡單的、有前后關系的、能在系統(tǒng)內進行驗證的數據。
區(qū)塊鏈技術具有去中心化、時序數據、集體維護等特點。區(qū)塊鏈數據的驗證、記錄、存儲、維護和傳輸等過程均是基于分布式系統(tǒng)結構,采用純數學方法而不是中心機構來建立分布式節(jié)點間的信任關系,從而形成去中心化的可信任的分布式系統(tǒng);區(qū)塊鏈采用帶有時間戳的鏈式區(qū)塊結構存儲數據,從而為數據增加了時間維度,具有極強的可驗證性和可追溯性;區(qū)塊鏈系統(tǒng)采用特定的經濟激勵機制來保證分布式系統(tǒng)中所有節(jié)點均可參與數據區(qū)塊的驗證過程,并通過共識算法來選擇特定的節(jié)點將新區(qū)塊添加到區(qū)塊鏈[1]-[2]。

基于上述特點,區(qū)塊鏈技術非常適用于系統(tǒng)各方需要同時查看同一目標數據,且數據存儲在去中心化的每個節(jié)點,其來源都可以被追溯,能夠保證從未被篡改的業(yè)務場景。迄今為止,區(qū)塊鏈技術最成功的應用就是數字加密貨幣。據統(tǒng)計,截至2020年11月,全球共有7849種加密貨幣,總市值約5772億美元。日趨完善的數字貨幣發(fā)行、流通和衍生領域技術、模式和機制,也為區(qū)塊鏈的發(fā)展提供了理論驗證和實踐基礎。此外,區(qū)塊鏈技術在數字版權保護[3]、供應鏈[4]、能源交易[5]等領域也有廣泛的應用前景。
基于上述背景,本文提出了一套應用區(qū)塊鏈技術的BIM構件管理系統(tǒng)解決方案。相對于加密數字貨幣等場景對系統(tǒng)數據安全和收益分配等方面的重點關注,BIM構件管理側重于集體驗證、集體維護、數據溯源等方面,這也使得區(qū)塊鏈技術在BIM構件管理領域的應用需要有其個性化裁剪。這個系統(tǒng)的基礎架構由數據層、網絡共識層、控制層和應用層組成,以滿足構件管理的業(yè)務場景需求。各個層級的主要功能具體如下。
數據層:通過特定的算法,將接收到的BIM構件相關數據封裝為一個帶有時間戳的新數據區(qū)塊,存儲在數據層。在這個過程中,通過散列算法的哈希函數將任意長度的原始構件數據編碼為由數字和子母組成的、特定長度的字符串,以便于統(tǒng)一存儲和識別。時間戳確保了區(qū)塊數據的不可篡改和不可偽造。而區(qū)塊鏈的Merkle樹數據結構,使得構件庫管理系統(tǒng)的各節(jié)點用戶能夠快速地校驗區(qū)塊數據。非對稱加密技術則是各節(jié)點用戶將隨機數生成器生成的256位隨機數作為私鑰,結合系統(tǒng)為其提供的公鑰對數據進行加密,接收到構件數據的用戶節(jié)點先應用對方的公鑰驗證數據來源,再用自己的私鑰解密數據,保證了數據的安全可靠。
網絡共識層:用以封裝系統(tǒng)Peerto-Peer(P2P)的組網方式、信息傳播協(xié)議以及數據驗證機制、共識算法等要素。在P2P網絡模式下,系統(tǒng)中的每一個節(jié)點用戶地位都是平等的,不存在任何中心化的特殊節(jié)點和層級結構。當任一節(jié)點用戶創(chuàng)建構件后,就由這個節(jié)點發(fā)出廣播以便全網的其他節(jié)點都能夠接收到構件數據。每個節(jié)點都將收集到的構件數據存儲到一個區(qū)塊中,并根據特定的數據驗證機制對其進行驗證,當數據通過絕大部分的節(jié)點驗證后即成為合格構件納入到管理系統(tǒng)。
控制層:由處理模型、控制合約和執(zhí)行環(huán)境組成,通過共識協(xié)議形成統(tǒng)一的數據賬本后,各類應用經由控制層與賬本產生交互。系統(tǒng)在控制層將業(yè)務的邏輯轉化為區(qū)塊數據的具體操作。在節(jié)點封裝通用的執(zhí)行環(huán)境,實現(xiàn)對區(qū)塊數據、組織結構的控制。
應用層:用以實踐BIM構件管理的業(yè)務場景,通過調用控制合約提供的接口進行數據交互。

應用區(qū)塊鏈技術的BIM構件庫管理系統(tǒng)基本架構
上述設想的應用區(qū)塊鏈技術的BIM構件庫管理系統(tǒng)解決方案,是較理想化的工作場景。在系統(tǒng)中的各個用戶節(jié)點,都遵循統(tǒng)一流程對構件進行審核后入庫,并在應用構件前驗證身份和數據的合法性。但是,當構件被傳播到系統(tǒng)之外,非授權用戶在使用這些構件時,并沒有安裝相關插件,就不可能通過操作觸發(fā)事件,更不會像驗證比特幣交易真實性那樣主動發(fā)起合法性驗證要求。因此,在BIM構件本身植入相關語句以便在應用時觸發(fā)系統(tǒng)驗證,是實現(xiàn)管理目標的關鍵技術。目前,各大主流BIM軟件的原生構件尚未開放這一程序接口,開發(fā)實踐難度較大。
區(qū)塊鏈技術具有去中心化、時序數據、集體維護等特點,使其適用于多方參與的生產環(huán)境中的信任建立、資源共享和產權保護等場景。本文對在BIM構件管理領域應用經過裁剪的區(qū)塊鏈技術,通過數據的可追溯性共享調動系統(tǒng)中各參與方積極性并實現(xiàn)效益最大化的前景進行了展望,以期為未來落地解決方案提供啟發(fā)與借鑒。