陽 真 黃 松 鄭長友 王廷永(陸軍工程大學指揮控制工程學院 江蘇 南京 210000)
隨著互聯網技術的飛速發展,眾包測試技術的應用日益廣泛。“眾包”(crowdsourcing)一詞是Howe[1]在2006年提出的,眾包是一種基于人和機器計算相結合的新興分布式問題解決模型。眾包測試是依托新一代互聯網技術衍生出來的新興的軟件測試方式,它變革了傳統的測試服務模式,利用共享經濟的特征,采用分布、協作的方式組織生產,協同測試需求和測試資源,聚合形成規模效益[2]。但作為一種新的業態,眾測的服務模式尚不成熟,測試服務缺乏可信性。相比于傳統的測評機構,眾測平臺具有開放的環境,提供了大量資源,但其開放性也給眾測知識產權的安全性帶來了挑戰。從長遠來看,眾測平臺吸引供需各邊資源匯聚、提高執行效率及競爭力離不開強有力的可信管理與安全保障。
目前,在知識產權的管理與保護方面,人工結合中心機構管理的模式是較為普遍的,但在受到DDoS攻擊和女巫攻擊的情況下,這種模式顯得較為脆弱,會造成系統故障、數據丟失等問題,且知識產權管理的周期較長、成本較高。針對上述問題,國內外有許多學者進行了一系列的研究,文獻[3]針對加密算法進行分析,文獻[4]針對DCI碼進行探索,文獻[5-6]針對數字許可證和令牌進行研究與設計。上述研究大多是通過一定的技術手段防止知識產權被非法拷貝與剽竊,但仍存在局限性,技術門檻較高且適用面較窄。文獻[7]指出區塊鏈在知識產權密集型產業可用于知識產權的注冊與注銷、控制與跟蹤其分配等。文獻[8]針對許可證結構與管理機制進行設計,但該機制對節點性能要求較高。文獻[9]將區塊鏈與數字水印、星際文件系統(IPFS)等技術相結合,設計版權管理方案,但該方案只適用于數字圖像的版權管理[10]。對于眾測知識產權(本文所指的眾測知識產權包括眾測接包方提交的測評報告、測試代碼,平臺方出具的眾測結果報告書等知識產權),針對眾包測試平臺的開放性特點,需要研究符合眾測知識產權特點的可信管理框架。本文利用區塊鏈的去中心化、可溯源、不可篡改等特性,結合IPFS、SHA256算法、數字簽名技術,提出基于區塊鏈的眾包測試知識產權可信管理框架,并實現可信管理系統,可完成對知識產權的溯源、確權與查詢操作。
在眾測動態服務過程中,眾包測試知識產權(如接包方提供的測評報告)被提交到眾測平臺后,需要經過一系列處理,之后才交付給發包方,由于其過程并不透明,知識產權無法進行溯源與確權,無法確保數據的真實性與可靠性。若知識產權數據被惡意用戶篡改,或是由于眾測平臺工作人員的失誤導致數據改變,則無法對數據進行追溯。
在軟件測試階段及發放獎勵階段,眾測接包方的測試用例代碼易被剽竊,一份測試代碼可能被抄襲并反復提交,從而領取多份獎勵。當出現經濟糾紛時,由于接包方的測試代碼并未進行存證,因此無法對其來源進行確認,問題無法得到妥善解決。上述現狀侵犯了眾測接包方的知識產權,損傷了眾測發包方與眾測平臺的經濟利益,不利于眾包測試的開展,眾包測試知識產權可信管理問題亟待解決。
2008年Nakamoto[11]發明比特幣后,區塊鏈技術就此起源,并得到迅速發展。作為一種點對點的網絡,區塊鏈本質上是一種去中心化、可追溯、防篡改的分布式數據庫,該數據庫由各節點根據嚴格規則和多方共識進行維護,每個節點都記錄著發生的所有交易信息,區塊鏈交易的數據只能追加,而無法篡改[12-13]。比特幣、以太坊、超級賬本、Zcash等是目前較為著名的區塊鏈系統[14-15]。
應用區塊鏈技術,可以有效滿足眾包測試知識產權可信管理需求:(1) 區塊鏈不僅可以記錄眾測知識產權的所有權信息,還通過加蓋時間戳的方式記錄了每份知識產權上鏈的時間,且均不能被篡改,可幫助眾測平臺方有效追溯知識產權的來源。(2) 結合數據加密技術與數字證書技術,區塊鏈可以確保無關人員無法獲知被訪問數據的內容。(3) 可以使用智能合約來執行授權的自動化流程,無須中介參與,通過共識算法保證每個節點的數據一致性,知識產權在通過申請后,自動納入系統并獲得所有權[16]。以上三方面共同確保在區塊鏈管理下,眾測知識產權的所有權歸屬能夠在第一時間得到確認,知識產權也能得到安全的保障。
基于區塊鏈的眾測知識產權可信管理框架是指將區塊鏈技術應用于眾包測試知識產權的管理,采用區塊鏈代替中心化數據庫存儲知識產權數據,記錄的數據公開透明、可追溯且不可更改,利用公開透明的智能合約實現知識產權的管理,保證知識產權數據的可信性和安全性。
圖1為基于區塊鏈的眾測知識產權可信管理框架,該框架分為區塊鏈層、服務層、應用層、用戶層四個層次,下一層通過API接口為上一層提供服務。由于測試代碼、測評報告等信息僅在眾測各參與方內部流通,不向外界公開,且各參與方之間屬于合作關系,因此該框架采用聯盟鏈結構。
區塊鏈層在整個框架中位于最底層,它為服務層提供區塊鏈的基礎服務。所有節點上都部署著區塊鏈層的基礎服務,用于驗證業務請求是否有效。
(1) 接口適配:對請求信息進行數據分析、鑒權處理后,由各參與節點按照共識機制對其進行驗證,再完整地將其保存在共享賬本上。(2) 共識管理:使用高效率、高容錯的PBFT算法進行共識。(3) 網絡通信:主要利用P2P技術,進行節點之間的組網以及業務部分的數據傳輸。(4) 記錄存儲:完全采用塊鏈存儲結構,任何一個歷史數據在被篡改后都可以被自校驗程序發現,并對其數據進行實時警告和自動修改。(5) 智能合約:負責注冊與發行合約,定義上鏈信息的格式,并明確合約的觸發條件與觸發合約后的業務執行過程。
服務層在本框架中負責建立區塊鏈應用服務基礎設施產品,包括數字資產、鑒證服務等應用領域,有助于迅速完成上層區塊鏈服務應用的構建。
(1) 數字資產:數字資產的上鏈可以幫助眾測的各參與方完成從鏈下到鏈上的資產轉換,使眾測交易更加透明化。數字資產上鏈后,與交易相關的操作例如資產轉移、提現等都會有數字簽名校驗且留有不可篡改的記錄,有助于對眾測服務流程中的資金流通進行可信管理,減少金錢往來糾紛。
(2) 鑒證服務:在知識產權領域,區塊鏈具有不可抹除以及公示的能力。眾測各參與方可以通過簡單接口將知識產權信息等發布在區塊鏈上,系統中的其他節點可為其鑒證。
應用層為用戶層的眾測各參與方提供安全可靠的應用。在眾測知識產權可信管理全生命周期涉及的主要活動為知識產權管控、知識產權歸屬、知識產權查詢。因此,本框架設計出溯源管理、確權管理、查詢管理三大應用模塊,如圖2所示。

圖2 三大應用模塊
1) 溯源管理。溯源管理是指通過一定技術實現對數據的來源和創建過程的追溯[17]。在眾測知識產權管理活動中,從測試項目開始到結束需經過一系列階段,由于其中間階段缺乏透明度,用戶難以判斷數據的來源以及數據是否可信。溯源管理通過對數據來源與轉換過程的追溯,能夠確保數據真實性。
溯源管理可實現眾測知識產權數據的鏈上可信溯源查證。溯源管理實現方案如下:(1) 知識產權信息采集與存儲。系統將知識產權數據進行采集,使用加密算法將其轉化為散列值,再對散列值進行數字簽名,將知識產權文件實體、數字簽名、提供者信息、數字證書等知識產權完整信息上傳至IPFS。隨后,IPFS對數據進行分塊、加密并存儲,并根據數據內容計算出唯一對應的文件哈希地址,根據該文件哈希地址,用戶可在IPFS網絡中下載并保存該文件,且數據一旦被存入IPFS,則將永久性地存于IPFS中,無法被刪除。(2) 將知識產權完整信息加密,轉化為唯一的散列值,即文件摘要,系統將數據ID、文件摘要、文件哈希地址、數據來源信息、時間戳、數據處理信息構成溯源數據模型,方便后續數據追溯。(3) 知識產權數據上鏈。數據上鏈過程由智能合約完成,聯盟鏈網絡中的各個節點共同參與交易的共識驗證,該過程透明且可追溯。溯源數據由各節點共同維護,提供信任背書,增強系統的可信度。(4) 數據溯源驗證。各參與方可通過唯一數據ID查看知識產權信息,驗證數據真實性,明確眾測知識產權歸屬,保障眾測知識產權所有者權益,出現糾紛時及時解決問題。
2) 確權管理。確權管理是指系統利用區塊鏈不可篡改特性進行數據確權,驗證鏈下知識產權數據是否被篡改。其實現方法如下:(1) 數據一致性驗證。知識產權確權功能進行鏈下知識產權與文件內容散列值之間一致性驗證。使用SHA256算法對鏈下需要確權的眾測知識產權進行加密,得到散列值A,再根據區塊鏈上的文件哈希地址在IPFS中找到相應的知識產權完整信息,用數字證書提供的公鑰對數字簽名進行解密,得到原知識產權文件內容散列值B,將其與散列值A進行對比,查看是否一致,從而驗證眾測知識產權是否被篡改。(2) 產權歸屬確認。驗證通過后可從知識產權完整信息中獲取數字證書、提供者信息等,明確該知識產權所有者及其所有權。
3) 查詢管理。查詢管理是指用戶通過設置某些查詢條件,從系統中選取全部或者部分知識產權數據供用戶瀏覽。實現步驟如下:(1) 同義詞典構建。在檢索過程中,同義詞典用于根據選定的查詢詞來找到與之相關的詞信息數據。構建的同義詞典庫應包含知識產權相關的重要詞,也應記錄同義詞間的關聯。具體地,結合使用Polarity投票規則和SO-PMI算法來實現知識產權同義詞典的構建。在同義詞典構建的過程中,詞典的哈希地址記錄在區塊鏈中,詞典記錄在IPFS中。(2) 關鍵詞預處理。針對從用戶需求提取到的詞語進行分詞處理,并結合使用字符匹配、理解法和統計法提高分詞結果的準確度。針對分詞結果進行停用詞刪除操作,降低索引空間,減少常用詞對檢索有效性的影響。同時,針對用戶需求提取到的英文詞語,應用詞干提取技術將動名詞、否定形式等轉換為詞干,代替所有變形。(3) 智能匹配搜索。計算用戶需求詞干集與平臺所管理的每一個知識產權的Word Mover’s Distance。距離值越小,則表明用戶需求知識產權越接近。因此,平臺將按照距離由低到高排列展示搜索結果。
用戶層指的是各參與方可直接對應用系統進行訪問。用戶層在眾測知識產權可信管理框架中指的是眾測平臺方、眾測發包方和眾測接包方。眾測發包方是在眾測平臺上提交測試需求以及待測軟件的人員;眾測接包方是在眾測平臺上完成眾測任務的人員;眾測平臺作為第三方,為眾測發包方和眾測接包方提供在線系統[2]。
由于區塊鏈系統要求各節點存儲賬本信息,考慮到區塊鏈數據的持久特性,使用區塊鏈來記錄大規模的數據勢必會帶來數據膨脹問題,這將對系統的存儲性能帶來嚴峻的挑戰。因此,需要研究眾測資產鏈上鏈下分解與融合技術,在確保知識產權數據完整性的同時降低系統的鏈上存儲壓力。
在本框架中,溯源管理、確權管理模塊均需利用眾測資產鏈上鏈下分解與融合技術,下面將對該技術進行詳細介紹。
眾測資產鏈上鏈下分解與融合技術是本框架的重要基礎,用以解決區塊鏈存儲數據成本高、容量小的問題。如圖3所示,需維護大量結構化數據(如知識產權屬性信息)、非結構化數據(如測試代碼)、文件類數據(如測評報告、眾測結果報告書)。由此可知,眾測知識產權管理具有典型的多源、異構、大規模特征。利用鏈上鏈下分解與融合技術,針對新的知識產權,對其進行簽名后將文件摘要和知識產權文件分別保存在聯盟鏈和IPFS中。

圖3 眾測資產鏈上鏈下分解與融合技術
如圖3所示,技術實現流程分為知識產權分解、知識產權共識與知識產權融合三個階段。
(1) 知識產權分解。知識產權分解即將知識產權真實實體分解為文件摘要和知識產權文件兩部分。利用數字簽名技術可以確保數據來源的可靠性與真實性。該步驟將知識產權實體映射轉化為一份唯一的文件摘要,該文件摘要保存了由用戶私鑰加密生成的數字簽名、提供者、數字證書等信息。在知識產權管理過程中,使用文件摘要來代替眾測知識產權文件在知識產權管理體系中的流動,同時使用加密證書來驗證知識產權的真實性以及未被篡改。具體地,首先使用SHA256算法對知識產權文件d進行加密,生成知識產權文件內容散列值R(d);通過RSA對知識產權內容的散列值進行加密處理,并且生成數字簽名S(R(d));再次使用SHA256對知識產權文件實體d、數字簽名S(R(d))、提供者、數字證書等知識產權完整信息t進行加密,得到最終上鏈的知識產權文件散列值R(t),即文件摘要。
(2) 知識產權共識。在區塊鏈系統中,只有獲得授權的節點才可被納入到區塊鏈中,同時共識由多方完成而不是授權節點獨自完成。利用數字簽名等技術將各方產生的結構化數據、非結構化數據、文件類數據分解為文件摘要和知識產權實體文件。在賬本共識記錄過程中,由于區塊鏈上的存儲空間有限,為減輕區塊鏈的存儲負擔,區塊鏈上僅保存文件摘要信息,而被管理的知識產權實體存儲到IPFS網絡中。具體地,將知識產權完整信息t上傳至IPFS,得到文件的哈希地址A(t),再將數據ID、文件摘要R(t)、文件哈希地址A(t)、數據來源信息、時間戳、數據處理信息等上傳至聯盟鏈,各參與方共同完成知識產權共識,使用穩健的Hyperledger Fabric方案來建設聯盟架構;使用高效率、高容錯的PBFT算法進行共識。
(3) 知識產權融合。知識產權融合即根據區塊鏈上的文件哈希地址在鏈下IPFS中查找到具體的數據信息,完成鏈上鏈下信息的融合。當用戶查詢鏈上信息時,根據用戶信息和查詢條件可獲得文件哈希地址和文件摘要。根據文件哈希地址可搜索鏈下知識產權實體。若在相關緩存中查詢到結果,則無須再耗時進一步查詢IPFS并解析文件。查詢和解析完畢后,比對文件摘要和知識產權實體信息即可認證鏈上鏈下所指知識產權為同一知識產權,完成鏈上鏈下知識產權信息的融合。
本文根據上述框架設計,實現一個基于區塊鏈的眾包測試知識產權可信管理系統。實驗所用主機為三臺云服務器,型號均為ecs.c5.large,配置均為2核4 GB,使用Ubuntu16.04操作系統,安裝Docker環境,版本為19.03.5。底層區塊鏈使用Hyperledger Fabric1.4.0搭建,是由眾測發包方、接包方、眾測平臺三方組成的聯盟鏈,每個對等方作為一個聯盟鏈節點,分別部署于三臺服務器上,使用IPFS存儲眾包測試中的待測軟件、程序,以及相關文件,而將文件摘要、文件哈希地址等信息存儲在區塊鏈上。本系統使用HTML+CSS+JavaScript+vue.js等技術實現框架中的用戶層設計,整合了fabric-sdk-java+ipfs-api+Docker等技術實現用戶層與IPFS以及Hyperledger Fabric的交互,通過Nginx實現跨域訪問。
本框架的主要應用模塊為溯源管理、確權管理、查詢管理,下面將對其進行功能驗證。
圖4是溯源管理示意圖,用戶可將眾測數據轉換為文件摘要,將眾測數據完整信息上傳至IPFS進行存儲,并將文件哈希地址等信息上傳至區塊鏈。用戶可根據數據唯一ID號查看數據信息并對數據真實性進行溯源驗證。

圖4 溯源管理
圖5是確權管理示意圖,可進行鏈下知識產權與鏈上文件內容散列值之間的一致性驗證,對需確權的知識產權數據進行加密,再將得到的散列值與鏈上文件內容散列值進行對比,查看是否一致,以確認知識產權未被篡改。
圖6是查詢管理示意圖,用戶可設置搜索關鍵詞來檢索與之相關的知識產權。

圖6 查詢管理
基于區塊鏈的眾包測試知識產權可信管理系統可實現對眾測知識產權的可信管理,包括溯源、確權與查詢。系統使用由眾測發包方、接包方、眾測平臺三方組成的聯盟鏈與IPFS存儲知識產權數據,使用SHA256算法對數據進行加密,并使用數字簽名技術,可確保數據來源的可靠性與真實性;共識由各參與方共同維護,提供信任背書,相比于依靠第三方進行數據管理,本系統具有較高的可信性;區塊鏈數據透明可追溯,數據一旦上鏈則無法修改,保證了知識產權數據的不可篡改性;區塊鏈系統與IPFS均為分布式架構,不存在單點故障,具有高可用性。綜上,本系統保證了知識產權數據的可信管理。
本文實驗針對系統性能進行測試,具體地,針對智能合約執行的延遲表現以及吞吐量進行測試。通過延遲時間以及吞吐量來評估可信管理系統的穩定性。
圖7和圖8為不同并發量下的性能測試結果。隨著并發量由50 TPS增加至300 TPS,智能合約執行的平均延遲時間由0.48 s增加至4.11 s,吞吐量由50 TPS增加至295 TPS。可見,系統性能達到高并發要求。

圖7 延遲時間測試結果

圖8 吞吐量測試結果
測試結果表明,基于區塊鏈的眾包測試知識產權可信管理系統不僅能夠滿足正常的業務需求,并且在高并發的情況下仍能夠提供較為穩定的服務。
本文針對目前眾測服務模式缺乏可信性、眾測知識產權管理不夠規范、無法溯源與確權、數據的真實性與可靠性無法考證等問題,利用區塊鏈的去中心化、可溯源、不可篡改等特性,結合IPFS、SHA256、數字簽名技術,提出基于區塊鏈的眾包測試知識產權可信管理框架,將眾測知識產權數據存儲到區塊鏈上,保證數據資源的安全可靠、不可篡改和可溯源。并詳細分析了框架中區塊鏈層、服務層、應用層、用戶層的構成,設計了溯源管理、確權管理、查詢管理三大應用模塊,提出眾測資產鏈上鏈下分解與融合技術,解決了鏈上數據膨脹的存儲難題,緩解存儲性能的瓶頸。最后對基于區塊鏈的眾包測試知識產權可信管理原型系統進行功能實驗與性能測試,結果表明該原型系統在正常以及高并發情況下都可滿足業務需求,可保證知識產權的可信管理。