基于区块链的众包测试知识产权可信管理框架
2021-10-15郑长友王廷永陆军工程大学指挥控制工程学院江苏南京210000
阳 真 黄 松 郑长友 王廷永(陆军工程大学指挥控制工程学院 江苏 南京 210000)
0 引 言
随着互联网技术的飞速发展,众包测试技术的应用日益广泛。“众包”(crowdsourcing)一词是Howe[1]在2006年提出的,众包是一种基于人和机器计算相结合的新兴分布式问题解决模型。众包测试是依托新一代互联网技术衍生出来的新兴的软件测试方式,它变革了传统的测试服务模式,利用共享经济的特征,采用分布、协作的方式组织生产,协同测试需求和测试资源,聚合形成规模效益[2]。但作为一种新的业态,众测的服务模式尚不成熟,测试服务缺乏可信性。相比于传统的测评机构,众测平台具有开放的环境,提供了大量资源,但其开放性也给众测知识产权的安全性带来了挑战。从长远来看,众测平台吸引供需各边资源汇聚、提高执行效率及竞争力离不开强有力的可信管理与安全保障。
目前,在知识产权的管理与保护方面,人工结合中心机构管理的模式是较为普遍的,但在受到DDoS攻击和女巫攻击的情况下,这种模式显得较为脆弱,会造成系统故障、数据丢失等问题,且知识产权管理的周期较长、成本较高。针对上述问题,国内外有许多学者进行了一系列的研究,文献[3]针对加密算法进行分析,文献[4]针对DCI码进行探索,文献[5-6]针对数字许可证和令牌进行研究与设计。上述研究大多是通过一定的技术手段防止知识产权被非法拷贝与剽窃,但仍存在局限性,技术门槛较高且适用面较窄。文献[7]指出区块链在知识产权密集型产业可用于知识产权的注册与注销、控制与跟踪其分配等。文献[8]针对许可证结构与管理机制进行设计,但该机制对节点性能要求较高。文献[9]将区块链与数字水印、星际文件系统(IPFS)等技术相结合,设计版权管理方案,但该方案只适用于数字图像的版权管理[10]。对于众测知识产权(本文所指的众测知识产权包括众测接包方提交的测评报告、测试代码,平台方出具的众测结果报告书等知识产权),针对众包测试平台的开放性特点,需要研究符合众测知识产权特点的可信管理框架。本文利用区块链的去中心化、可溯源、不可篡改等特性,结合IPFS、SHA256算法、数字签名技术,提出基于区块链的众包测试知识产权可信管理框架,并实现可信管理系统,可完成对知识产权的溯源、确权与查询操作。
1 存在问题与技术背景
1.1 众测知识产权管理中存在的问题
在众测动态服务过程中,众包测试知识产权(如接包方提供的测评报告)被提交到众测平台后,需要经过一系列处理,之后才交付给发包方,由于其过程并不透明,知识产权无法进行溯源与确权,无法确保数据的真实性与可靠性。若知识产权数据被恶意用户篡改,或是由于众测平台工作人员的失误导致数据改变,则无法对数据进行追溯。
在软件测试阶段及发放奖励阶段,众测接包方的测试用例代码易被剽窃,一份测试代码可能被抄袭并反复提交,从而领取多份奖励。当出现经济纠纷时,由于接包方的测试代码并未进行存证,因此无法对其来源进行确认,问题无法得到妥善解决。上述现状侵犯了众测接包方的知识产权,损伤了众测发包方与众测平台的经济利益,不利于众包测试的开展,众包测试知识产权可信管理问题亟待解决。
1.2 区块链技术背景
2008年Nakamoto[11]发明比特币后,区块链技术就此起源,并得到迅速发展。作为一种点对点的网络,区块链本质上是一种去中心化、可追溯、防篡改的分布式数据库,该数据库由各节点根据严格规则和多方共识进行维护,每个节点都记录着发生的所有交易信息,区块链交易的数据只能追加,而无法篡改[12-13]。比特币、以太坊、超级账本、Zcash等是目前较为著名的区块链系统[14-15]。
应用区块链技术,可以有效满足众包测试知识产权可信管理需求:(1) 区块链不仅可以记录众测知识产权的所有权信息,还通过加盖时间戳的方式记录了每份知识产权上链的时间,且均不能被篡改,可帮助众测平台方有效追溯知识产权的来源。(2) 结合数据加密技术与数字证书技术,区块链可以确保无关人员无法获知被访问数据的内容。(3) 可以使用智能合约来执行授权的自动化流程,无须中介参与,通过共识算法保证每个节点的数据一致性,知识产权在通过申请后,自动纳入系统并获得所有权[16]。以上三方面共同确保在区块链管理下,众测知识产权的所有权归属能够在第一时间得到确认,知识产权也能得到安全的保障。
2 框架设计
基于区块链的众测知识产权可信管理框架是指将区块链技术应用于众包测试知识产权的管理,采用区块链代替中心化数据库存储知识产权数据,记录的数据公开透明、可追溯且不可更改,利用公开透明的智能合约实现知识产权的管理,保证知识产权数据的可信性和安全性。
图1为基于区块链的众测知识产权可信管理框架,该框架分为区块链层、服务层、应用层、用户层四个层次,下一层通过API接口为上一层提供服务。由于测试代码、测评报告等信息仅在众测各参与方内部流通,不向外界公开,且各参与方之间属于合作关系,因此该框架采用联盟链结构。
2.1 区块链层
区块链层在整个框架中位于最底层,它为服务层提供区块链的基础服务。所有节点上都部署着区块链层的基础服务,用于验证业务请求是否有效。
(1) 接口适配:对请求信息进行数据分析、鉴权处理后,由各参与节点按照共识机制对其进行验证,再完整地将其保存在共享账本上。(2) 共识管理:使用高效率、高容错的PBFT算法进行共识。(3) 网络通信:主要利用P2P技术,进行节点之间的组网以及业务部分的数据传输。(4) 记录存储:完全采用块链存储结构,任何一个历史数据在被篡改后都可以被自校验程序发现,并对其数据进行实时警告和自动修改。(5) 智能合约:负责注册与发行合约,定义上链信息的格式,并明确合约的触发条件与触发合约后的业务执行过程。
2.2 服务层
服务层在本框架中负责建立区块链应用服务基础设施产品,包括数字资产、鉴证服务等应用领域,有助于迅速完成上层区块链服务应用的构建。
(1) 数字资产:数字资产的上链可以帮助众测的各参与方完成从链下到链上的资产转换,使众测交易更加透明化。数字资产上链后,与交易相关的操作例如资产转移、提现等都会有数字签名校验且留有不可篡改的记录,有助于对众测服务流程中的资金流通进行可信管理,减少金钱往来纠纷。
(2) 鉴证服务:在知识产权领域,区块链具有不可抹除以及公示的能力。众测各参与方可以通过简单接口将知识产权信息等发布在区块链上,系统中的其他节点可为其鉴证。
2.3 应用层
应用层为用户层的众测各参与方提供安全可靠的应用。在众测知识产权可信管理全生命周期涉及的主要活动为知识产权管控、知识产权归属、知识产权查询。因此,本框架设计出溯源管理、确权管理、查询管理三大应用模块,如图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.4 用户层
用户层指的是各参与方可直接对应用系统进行访问。用户层在众测知识产权可信管理框架中指的是众测平台方、众测发包方和众测接包方。众测发包方是在众测平台上提交测试需求以及待测软件的人员;众测接包方是在众测平台上完成众测任务的人员;众测平台作为第三方,为众测发包方和众测接包方提供在线系统[2]。
3 众测资产链上链下分解与融合技术
由于区块链系统要求各节点存储账本信息,考虑到区块链数据的持久特性,使用区块链来记录大规模的数据势必会带来数据膨胀问题,这将对系统的存储性能带来严峻的挑战。因此,需要研究众测资产链上链下分解与融合技术,在确保知识产权数据完整性的同时降低系统的链上存储压力。
在本框架中,溯源管理、确权管理模块均需利用众测资产链上链下分解与融合技术,下面将对该技术进行详细介绍。
众测资产链上链下分解与融合技术是本框架的重要基础,用以解决区块链存储数据成本高、容量小的问题。如图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并解析文件。查询和解析完毕后,比对文件摘要和知识产权实体信息即可认证链上链下所指知识产权为同一知识产权,完成链上链下知识产权信息的融合。
4 实 验
4.1 实验环境
本文根据上述框架设计,实现一个基于区块链的众包测试知识产权可信管理系统。实验所用主机为三台云服务器,型号均为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.2 功能验证
本框架的主要应用模块为溯源管理、确权管理、查询管理,下面将对其进行功能验证。
图4是溯源管理示意图,用户可将众测数据转换为文件摘要,将众测数据完整信息上传至IPFS进行存储,并将文件哈希地址等信息上传至区块链。用户可根据数据唯一ID号查看数据信息并对数据真实性进行溯源验证。
图4 溯源管理
图5是确权管理示意图,可进行链下知识产权与链上文件内容散列值之间的一致性验证,对需确权的知识产权数据进行加密,再将得到的散列值与链上文件内容散列值进行对比,查看是否一致,以确认知识产权未被篡改。
图6是查询管理示意图,用户可设置搜索关键词来检索与之相关的知识产权。
图6 查询管理
基于区块链的众包测试知识产权可信管理系统可实现对众测知识产权的可信管理,包括溯源、确权与查询。系统使用由众测发包方、接包方、众测平台三方组成的联盟链与IPFS存储知识产权数据,使用SHA256算法对数据进行加密,并使用数字签名技术,可确保数据来源的可靠性与真实性;共识由各参与方共同维护,提供信任背书,相比于依靠第三方进行数据管理,本系统具有较高的可信性;区块链数据透明可追溯,数据一旦上链则无法修改,保证了知识产权数据的不可篡改性;区块链系统与IPFS均为分布式架构,不存在单点故障,具有高可用性。综上,本系统保证了知识产权数据的可信管理。
4.3 性能测试
本文实验针对系统性能进行测试,具体地,针对智能合约执行的延迟表现以及吞吐量进行测试。通过延迟时间以及吞吐量来评估可信管理系统的稳定性。
图7和图8为不同并发量下的性能测试结果。随着并发量由50 TPS增加至300 TPS,智能合约执行的平均延迟时间由0.48 s增加至4.11 s,吞吐量由50 TPS增加至295 TPS。可见,系统性能达到高并发要求。
图7 延迟时间测试结果
图8 吞吐量测试结果
测试结果表明,基于区块链的众包测试知识产权可信管理系统不仅能够满足正常的业务需求,并且在高并发的情况下仍能够提供较为稳定的服务。
5 结 语
本文针对目前众测服务模式缺乏可信性、众测知识产权管理不够规范、无法溯源与确权、数据的真实性与可靠性无法考证等问题,利用区块链的去中心化、可溯源、不可篡改等特性,结合IPFS、SHA256、数字签名技术,提出基于区块链的众包测试知识产权可信管理框架,将众测知识产权数据存储到区块链上,保证数据资源的安全可靠、不可篡改和可溯源。并详细分析了框架中区块链层、服务层、应用层、用户层的构成,设计了溯源管理、确权管理、查询管理三大应用模块,提出众测资产链上链下分解与融合技术,解决了链上数据膨胀的存储难题,缓解存储性能的瓶颈。最后对基于区块链的众包测试知识产权可信管理原型系统进行功能实验与性能测试,结果表明该原型系统在正常以及高并发情况下都可满足业务需求,可保证知识产权的可信管理。