基于区块链的建筑项目场景式存证不可篡改方法及系统
技术领域
本发明总体上涉及区块链领域,尤其涉及基于区块链技术的建筑项目场景式存证不可篡改的方法和系统。
背景技术
区块链被广泛认为是分布式数据存储,可作为资产注册和交易执行中的许多问题的解决方案。目前,区块链技术的不可篡改与可追溯特性得到业界的肯定。区块链技术的应用前景广阔,各行各业正在积极从区块链技术中寻找方案,以解决行业痛点。
当前的技术方案里,密码学相关的安全技术在整个信息技术领域的重要地位是必然的,区块链技术大量依赖了密码学和安全技术的研究成果。实际上,密码学和安全领域所涉及的知识体系十分繁杂,主要包括Hash算法与数字摘要、加密算法、数字签名、数字证书、PKI体系、Merkle树、布隆过滤器、同态加密等。目前常见的Hash算法包括MD5和SHA系列算法,也有一些Hash算法不是计算敏感型的,例如scrypt算法,计算过程需要大量的内存资源,节点不能通过简单增加更多CPU来获得Hash性能的提升,从而经常用于避免算力攻击的场景。数字摘要是对数字内容进行Hash运算,获取唯一的摘要值来指代原始完善的数字内容,利用Hash函数的抗碰撞性特点,数字摘要可以解决确保内容未被篡改过的问题。从网站下载软件或文件时,有时会提供一个相应的数字摘要值。用户下载原始文件后可以在本地自行计算摘要值,并与提供的摘要值进行比对,可检查文件内容是否被篡改过。
现代加解密系统的典型组件一般包括:加解密算法、加密密钥、解密密钥。其中,加解密算法自身是固定不变的,并且一般是公开可见的;密钥则是最关键的信息,需要安全地保存起来,甚至通过特殊硬件进行保护。对于同一种算法,密钥需要按照特定算法每次加密前随机生成,长度越长,则加密强度越大。并非所有加密算法的安全性都可以从数学上得到证明,公认的高强度的加密算法和实现往往经过长时间各方面充分实践论证后,才被大家所认可,但这也不代表其绝对不存在漏洞,实际上,密码学实现的安全往往是通过算法所依赖的数学问题来提供,而并非通过对算法的实现过程进行保密,因此仍然无法保证数据在上链之前的可信度验证,即无法保证数据源是否真实可信,上链之后的数据可以通过密码学方法保证数据不可更改,但却无法保证“第一手数据”的来源是否真实可信。
发明内容
鉴于上述技术问题,本公开内容提出了基于区块链的建筑项目场景式存证不可篡改方法和系统、计算设备及计算机可读存储介质。
在本公开内容的一个方面,提供了一种基于区块链的建筑项目场景式存证不可篡改方法,包括步骤:步骤1,进行用户操作权限的划分、用户的身份认证以及硬件装置的功能权限设置;步骤2,将操作现场内的所述硬件装置接入区块链,并且所述硬件装置以去中心化的方式运行,用于实时参与所述区块链的网络交易并实时将代表所述用户的身份认证的信息传送到所述区块链中,所述硬件装置内部设置有软件执行模块,能够实现传统项目施工中现场监督、管理的部分或全部功能;步骤3,预定义所述建筑项目的智能合约,所述智能合约中包含所述建筑项目的任务、日志、问题流程的各项初始参数,从而将所述建筑项目初始化,其中所述各项初始参数包括依据所述建筑项目的项目周期而引入的项目全计划流程以及项目任务要求数据,所述各项初始参数在后续数据上链中作为数据验证、任务验证的验证条件;步骤4,通过移动设备或移动软件对表征所述操作现场的情况的数据进行数据录入操作,其中所述数据录入操作是经过加密的;步骤5,将所述数据传送到所述区块链中。
在一些实施方式中,所述步骤1的所述硬件装置的功能权限设置包括赋予所述硬件装置生成密钥对的权限, 硬件装置内部设置有可执行实时参与所述区块链的网络交易并实时生成密钥对的功能的软件执行模块,并且所述硬件装置能够被所述移动设备或移动软件中的GPS模块或北斗卫星定位模块识别。
在一些实施方式中,所述步骤2包括:步骤21,将经过身份授权并颁发证书的所述硬件装置接入所述区块链网络,所述硬件装置具备安全存储环境,其中所述安全存储环境是指在没有修改权限的情况下无法修改所述硬件装置中的任何信息,并且所述证书代表所述用户的身份认证的信息;步骤22,所述硬件装置根据所述移动设备或所述移动软件向所述硬件装置发出的交易请求与验证生成密钥对,其中所述密钥对采用基于所述区块链中各节点协商一致的规范和协议生成,以确保所述区块链中的所有节点在去信任的环境中进行安全的数据交换,并且将生成的所述密钥对中的公钥加以签名后上传到所述区块链;步骤23,所述区块链接收到所述公钥后,触发所述智能合约,并初始化设置所述公钥的有效期限,在所述公钥的有效期限内,经所述公钥对应的私钥所签名的数据具备上链权限;步骤24,所述硬件装置验证所述用户的身份并且向所述移动设备或移动软件推送所述密钥对中的私钥,所述硬件装置验证用户私钥时还会通过所述智能合约判断所述用户的关联任务,从而预设所述用户当日的工作任务,并且对所述用户后续操作进行权限判断、数据判断。
在一些实施方式中,所述步骤3包括:步骤31,明确建筑工程项目整体规划与设计,在智能合约中作为预设的初始参数,包括建筑项目总工时,分包任务工时,任务完成的标志及判别条件,引入图像AI识别机制、文字AI检测机制对图片、文字进行判断识别,从而提高现场监督效率以及建筑数据检测效率,如在需要监测现场工人是否有戴安全帽、配备安全绳的场景下,AI图像识别机制能够对图像进行自动识别,并作为智能合约判断的条件依据,同样,智能合约在判断所述数据是否满足上链条件时,可获取所述数据生成时的地理位置,如经纬度信息、时间信息并与智能合约内预设参数进行条件判断,只有满足验证条件如经纬度判断为施工现场,时间满足当天分包任务计划,这样满足条件的数据才可以上链;步骤32,按照建筑工程项目总包设计进行任务分包,明确分包任务工时,明确各阶段任务目标与目标完成条件,作为智能合约的判断条件,引入文字AI检测机制对分包任务的工程进度描述进行自动化识别,判断当前进度与该分包任务预设进度的关联性,由于文字描述是由特定私钥签名上传的,因此可以实时监督该私钥拥有者的工作完成情况,并实时推送到作为私钥拥有者的该员工,并在符合特定条件下推送给建筑项目管理人员;步骤33,分包的任务规划作为智能合约初始参数,任务规划包括但不限于如下几点:总任务计划工时与分包任务计划工时,员工值勤工时,员工到离场时间,员工安全操作规范,建筑材料管理与使用规范,签名权限设计与规范,在管理员权限下执行初始化操作,将预设参数初始化到智能合约中,智能合约将包含这些初始参数作为后续计算的依据。
在一些实施方式中,所述步骤4包括:步骤41,在所述移动设备或移动软件中存储所述步骤1中所述用户操作权限的划分和所述用户的身份认证获得的用户身份、权限证书;步骤42,响应于所述移动设备或移动软件进入所述操作现场,将所述移动设备或移动软件所存储的所述用户身份、权限证书推送给所述硬件装置;步骤43,所述硬件装置根据所述用户身份、所述权限证书生成密钥对后,所述移动设备或移动软件接收所述密钥对中的私钥;步骤44,在所述私钥的有效期内对所有数据录入操作经所述私钥进行签名,并将经签名的所述数据录入操作中的数据存储到所述区块链上,在与所述智能合约交互进行所述建筑项目的数据查询和数据上链操作的情况下,所述操作的每一步均使用所述密钥对中的所述私钥签名,以保证各类数据在分类上链的同时,依然满足密钥有效期的设置条件;步骤45,响应于所述私钥的所述有效期到期,触发所述智能合约的无效机制,其中所述智能合约的所述无效机制是指在所述有效期到期之后经所述私钥签名的所述数据录入操作不具备数据上链权限,其中所述数据录入操作包括对施工现场照片、视频、文字描述的记录,当录入的数据文件过大不便于直接存储到所述区块链时,使用哈希算法计算所述数据文件的摘要,并将所述数据文件的所述摘要上传到所述区块链,所述数据文件本身则通过中心化存储或去中心化存储进行冗余备份。
在一些实施方式中,所述私钥的所述有效期为预先确定的,在所述私钥的有效期内,经过所述私钥签名的数据录入操作中的数据作为用户的有效上链数据。
在一些实施方式中,所述移动设备为智能电话或具有特定功能的移动硬件设备。
在一些实施方式中,所述数据录入操作包括拍照和/或现场情况描述。
在一些实施方式中,所述步骤5包括:所述区块链接收所述硬件装置上传的公钥,并且此后接收在所述移动设备或移动软件通过所述公钥对应的私钥签名后的数据录入操作中对应的数据。
在一些实施方式中,执行所述步骤5之前还包括:表征现场情况的所述数据上链前通过条件验证智能合约进行条件验证,所述条件验证智能合约中包含多个验证条件,所述验证条件包括上传所述区块链的时间条件是否符合、密钥对中所述公钥和所述私钥验证是否通过、所述用户的权限验证是否通过,所述验证条件的制定依据工程项目的计划来设定,并在智能合约初始化时预设这些参数到智能合约中;如果通过所述验证条件,则表征现场情况的所述数据上链;如果其中一个或多个验证条件没有通过,则不执行步骤5。
在一些实施方式中,所述区块链为许可型区块链。
在一些实施方式中,所述区块链具有奖惩机制,在特定时间段内,依据所述用户操作权限在特定场景里,对以不可篡改的方式进行所述数据录入操作的用户根据所录入的数据量奖励对应数量的代币、通过所述区块链的本地加密货币单位获得奖励,和/或所述用户通过获得声誉的增加而继续参与网络而获得奖励,否则会给予惩罚,将用户的不诚实行为通过区块链进行全网广播和/或没收或删除不良行为者的代币。
在本公开内容的又一方面,还提出了一种基于区块链技术的工程项目存证不可篡改的系统,包括处理器,所述处理器可以用于:进行用户操作权限的划分、用户的身份认证以及硬件装置的功能权限设置;将操作现场内的硬件装置接入区块链网络,并且所述硬件装置以去中心化的方式运行,用于实时参与所述区块链的网络交易并实时将代表所述用户的身份认证的信息传送到所述区块链中;通过移动设备或移动软件对表征所述操作现场的情况的数据进行数据录入操作,其中所述数据录入操作是经过加密的;将所述数据传送到所述区块链中。
在一些实施方式中,硬件装置的功能权限设置包括赋予所述硬件装置生成密钥对的权限。
在一些实施方式中,将操作现场内的硬件装置接入区块链网络,并且所述硬件装置以去中心化的方式运行,用于实时参与所述区块链的网络交易并实时将代表所述用户的身份认证的信息传送到所述区块链中包括:将经过身份授权并颁发证书的所述硬件装置接入所述区块链网络,所述硬件装置具备安全存储环境,其中所述安全存储环境是指在没有修改权限的情况下无法修改所述硬件装置中的任何信息,并且所述证书代表所述用户的身份认证的信息;所述硬件装置根据所述移动设备或所述移动软件向所述硬件装置发出的交易请求与验证生成密钥对,其中所述密钥对采用基于所述区块链中各节点协商一致的规范和协议生成,以确保所述区块链中的所有节点在去信任(de-trust)的环境中进行安全的数据交换,并且将生成的所述密钥对中的公钥加以签名后上传到所述区块链;所述硬件装置向所述移动设备或移动软件推送所述密钥对中的私钥。
在一些实施方式中,所述硬件装置内部设置有可执行实时参与所述区块链的网络交易并实时生成密钥对的功能的软件执行模块,并且所述硬件装置能够被所述移动设备或移动软件中的GPS模块识别。
在一些实施方式中,所述通过移动设备或移动软件对表征所述操作现场的情况的数据进行数据录入操作,对所述数据录入操作进行加密包括:在所述移动设备或移动软件中存储所述步骤1中所述用户操作权限的划分和所述用户的身份认证获得的用户身份、权限证书;响应于所述移动设备或移动软件进入所述操作现场,将所述移动设备或移动软件所存储的所述用户身份、权限证书推送给所述硬件装置;所述硬件装置根据所述用户身份、权限证书生成密钥对后,所述移动设备或移动软件接收所述密钥对中的私钥,在所述私钥的有效期内对所有数据录入操作经所述私钥进行签名,并将经签名的所述数据录入操作中的数据存储到所述区块链上;响应于所述私钥的所述有效期到期,触发智能合约无效机制,其中所述智能合约无效机制是指在所述有效期到期之后经所述私钥签名的所述数据录入操作不具备数据上链权限。
在一些实施方式中,所述私钥的所述有效期为预先确定的,在所述私钥的有效期内,经过所述私钥签名的数据录入操作中的数据作为用户的有效上链数据。
在一些实施方式中,所述移动设备为智能电话或具有特定功能的移动硬件设备。
在一些实施方式中,所述数据录入操作包括拍照和/或现场情况描述。
在一些实施方式中,所述数据传送到所述区块链中包括:所述区块链接收所述硬件装置上传的公钥,并且此后接收在所述移动设备或移动软件通过所述公钥对应的私钥签名后的数据录入操作中对应的数据。
在一些实施方式中,执行所述数据传送到所述区块链中之前还包括:表征现场情况的所述数据上链前通过条件验证智能合约进行条件验证,所述条件验证智能合约中包含多个验证条件,所述验证条件包括上传所述区块链的时间条件是否符合、密钥对中所述公钥和所述私钥验证是否通过、所述用户的权限验证是否通过,所述验证条件的制定依据工程项目的计划来设定,并在智能合约初始化时预设这些参数到智能合约中;如果通过所述验证条件,则表征现场情况的所述数据上链;如果其中一个或多个验证条件没有通过,则不执行所述数据传送到所述区块链中。
在一些实施方式中,所述区块链为许可型区块链。
在一些实施方式中,所述区块链具有奖惩机制,在特定时间段内,依据所述用户操作权限在特定场景里,对以不可篡改的方式进行所述数据录入操作的用户根据所录入的数据量奖励对应数量的代币、通过所述区块链的本地加密货币单位获得奖励,和/或所述用户通过获得声誉的增加而继续参与网络而获得奖励,否则会给予惩罚,将用户的不诚实行为通过区块链进行全网广播和/或没收或删除不良行为者的代币。
在本公开内容的再一方面,还提供了一种计算设备,该计算设备包括处理器和存储器,其中所述存储器上存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时实现如上文所述的基于区块链技术的建筑项目场景式存证不可篡改的方法。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现如上文所述的基于区块链技术的建筑项目场景式存证不可篡改的方法。
与现有技术相比,本公开内容的有益效果为:本公开内容的技术方案的方法和系统,能够保证用户在特定时间段内,依据权限在特定场景里,以不可篡改的方式按项目要求实时、真实地存储、记录信息;同时利用区块链可追溯的特性,可以回顾用户数据上传的情况,评估工程进度。
附图说明
在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不应当被认为是对本发明的限制。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:
图1(a)至图1(c)示出了依据本公开内容示例性实施方式的基于区块链技术的建筑项目场景式存证不可篡改的方法流程图;
图2示出了依据本公开内容示例性实施方式的基于区块链技术的建筑项目场景式存证不可篡改的方法原理示意图;
图3示出了依据本公开内容示例性实施方式的基于区块链技术的工程项目存证不可篡改的系统结构示意图;以及
图4示出了依据本公开内容示例性实施方式的计算设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,在不脱离本公开内容的范围内各种特征或步骤可以彼此替代或结合。
图1(a)、图1(b)、图1(c)以及图2示出了依据本公开内容一个示例性实施方式的一种基于区块链技术的建筑项目场景式存证不可篡改的方法,参见图1(a),包括步骤:S101,进行用户操作权限的划分、用户的身份认证以及硬件装置的功能权限设置;S102,将操作现场内的硬件装置接入区块链网络,并且所述硬件装置以去中心化的方式运行,用于实时参与所述区块链的网络交易并实时将代表所述用户的身份认证的信息传送到所述区块链中;S103,预定义所述建筑项目的智能合约,所述智能合约中包含所述建筑项目的任务、日志、问题流程的各项初始参数,从而将所述建筑项目初始化,其中所述各项初始参数包括依据所述建筑项目的项目周期而引入的项目全计划流程以及项目任务要求数据,所述各项初始参数在后续数据上链中作为数据验证、任务验证的验证条件;S104,通过移动设备或移动软件对表征操作现场的情况的数据进行数据录入操作,其中数据录入操作是经过加密的;S105,将数据传送到区块链中。
由于该硬件装置只是区块链网络中的一个节点,其实时参与区块链网络的交易,实时将现场数据传递到区块链网络中,从而相当于将传统的第三方监督监理以去中心化的方式搬到了施工现场,即以去中心化的方式运作的同时起到了现场实时监督的作用。
在本实施方式中,S101硬件装置的功能权限设置包括赋予所述硬件装置生成密钥对的权限。
参见图1(b),在本实施方式中,S102包括:S1021,将经过身份授权并颁发证书的硬件装置接入区块链网络,硬件装置具备安全存储环境,其中安全存储环境是指在没有修改权限的情况下无法修改硬件装置中的任何信息,并且证书代表所述用户的身份认证的信息;S1022,硬件装置根据移动设备或移动软件向硬件装置发出的交易请求与验证生成密钥对,其中密钥对采用基于区块链中各节点协商一致的规范和协议生成,以确保区块链中的所有节点在去信任的环境中进行安全的数据交换,并且将生成的密钥对中的公钥加以签名后上传到区块链;S1023,区块链接收到公钥后,触发智能合约,并初始化设置公钥的有效期限,在公钥的有效期限内,经公钥对应的私钥所签名的数据具备上链权限;S1024,硬件装置验证用户的身份并且向移动设备或移动软件推送密钥对中的私钥,硬件装置验证用户私钥时还会通过智能合约判断用户的关联任务,从而预设所述用户当日的工作任务,并且对用户后续操作进行权限判断、数据判断。
在本实施方式中,硬件装置内部设置有可执行实时参与区块链的网络交易并实时生成密钥对的功能的软件执行模块,并且硬件装置能够被移动设备或移动软件中的GPS模块识别。
参见图1(c),在本实施方式中,S104包括:S1041,在移动设备或移动软件中存储S101中用户操作权限的划分和用户的身份认证获得的用户身份、权限证书;S1042,响应于移动设备或移动软件进入操作现场,将移动设备或移动软件所存储的用户身份、权限证书推送给硬件装置;S1043,硬件装置根据所述用户身份、权限证书生成密钥对后,移动设备或移动软件接收密钥对中的私钥;S1044,在私钥的有效期内对所有数据录入操作经私钥进行签名,并将经签名的数据录入操作中的数据存储到区块链上,在与智能合约交互进行建筑项目的数据查询和数据上链操作的情况下,操作的每一步均使用密钥对中的私钥签名,以保证各类数据在分类上链的同时,依然满足密钥有效期的设置条件;S1045,响应于私钥的所述有效期到期,触发智能合约无效机制,其中智能合约无效机制是指在有效期到期之后经私钥签名的数据录入操作不具备数据上链权限。在本实施方式中,私钥的有效期为预先确定的,在私钥的有效期内,经过私钥签名的数据录入操作中的数据作为用户的有效上链数据。
其中所述数据录入操作包括对施工现场照片、视频、文字描述的记录,当录入的数据文件过大不便于直接存储到所述区块链时,使用哈希算法计算所述数据文件的摘要,并将所述数据文件的所述摘要上传到所述区块链,所述数据文件本身则通过中心化存储或去中心化存储进行冗余备份。
在本实施方式中,S104还包括:对移动设备或移动软件进行身份认证、交易请求与验证。
在本实施方式中,移动设备为智能电话或具有特定功能的移动硬件设备。
在本实施方式中,所述移动设备或移动软件由用户持有,所述移动设备或移动软件中同时存储了标识自身身份的密钥对以及临时存储硬件设备传送过来的、当次有效的密钥对,且所述用户当次在现场的一个时间段内,所有操作包括但不限于施工现场拍照、视频录入、现场情况描述的记录等,当文件过大不便于直接存储到区块链时,使用哈希算法计算文件摘要,上传文件摘要到区块链,文件本身则通过中心化存储或去中心化存储进行冗余备份;文件摘要等数据都必须经由所述硬件装置传送过来密钥对的私钥签名,方可上链。
硬件设备传送过来的密钥对是依据该用户自身身份的密钥对生成的,这样就建立了关联关系。
参见图2,对于S101、S102、S104和S105在实际系统中的数据流和处理逻辑进行了描述。
在本实施方式中,S105包括:区块链接收硬件装置上传的公钥,并且此后接收在移动设备或移动软件通过公钥对应的私钥签名后的数据录入操作中对应的数据。
采用私钥签名基于非对称加密,既可以用于证实某数字内容的完整性,又同时可以确认来源或不可抵赖(Non-Repudiation)。签名算法包括DSA(Digital SignatureAlgorithm)和安全强度更高的ECSDA(Elliptic Curve Digital Signature Algorithm),以及盲签名、多重签名、群签名和环签名。其中盲签名是私钥的拥有者需要在无法看到原始内容的前提下对信息进行签名,从而实现对所签名内容的保护,防止私钥的拥有者看到原始数据;另一方面,盲签名实现防止追踪,私钥的拥有者,即签名者无法将签名内容和签名结果进行对应。多重签名是n个签名者中,收集到至少m个(n>=m>=1)的签名,即认为合法,其中,n是提供的公钥个数,m是需要匹配公钥的最少的签名个数。多重签名可以有效地被应用于本实施方式多人投票共同决策的场景中,即移动设备或移动软件为多个或多套,统一管理某段区块链的数据和交易。群签名是某个群组内一个成员可以代表群组进行匿名签名,签名可以验证来自于该群组,却无法追踪到签名的具体是哪个成员,群签名需要存在一个群管理员来添加新的群成员,因此存在群管理员可能追踪到签名成员身份的风险。环签名首先选定一个临时的签名者集合,集合中包括签名者自身,然后签名者利用自己的私钥和签名集合中其他人的公钥独立产生签名,无需他人协助。签名者集合中的成员可能并不知道自己被包含在最终的签名中,因此环签名在保护匿名性方面有很多的用途。这些数字签名方式均可以用于S104中。
在本实施方式中,S105还包括:所述数据上链前通过智能合约进行条件验证,验证条件包括但不限于:时间条件是否符合、公私钥验证是否通过、权限验证是否通过、是否满足特定工程项目初始预设的条件。本实施方式中,智能合约作为一种以计算机程序的方式缔结和运行的合约,通过图灵完备的高级语言,包括Solidity、Serpent、Viper开发。智能合约作为运行在以太虚拟机(Ethereum Virtual Machine,EVM)中的应用,接受来自外部的交易请求和事件,通过触发运行提前编写好的代码逻辑,进一步生成新的交易和事件,从而进一步调用其它智能合约。智能合约的执行结果在本实施方式中包括但不限于条件验证,还包括对区块链上的账本状态进行更新,这些修改由于经过了以太坊网络中的共识,一旦确认后无法被伪造和纂改。
在本实施方式中,执行S105之前还包括:表征现场情况的所述数据上链前通过条件验证智能合约进行条件验证,条件验证智能合约中包含多个验证条件,所述验证条件包括上传区块链的时间条件是否符合、密钥对中公钥和私钥验证是否通过、用户的权限验证是否通过,如果通过验证条件,则表征现场情况的所述数据上链;如果其中一个或多个验证条件没有通过,则不执行S105。
在本实施方式中,区块链为许可型区块链,具备如下功能:用户身份授权与证书颁发;硬件设备或装置的身份授权与证书颁发;硬件设备或装置的交易请求与验证;移动设备或装置的身份验证;移动设备或装置的交易请求与验证;接受硬件设备上传的公钥,并且在移动设备通过该公钥对应的私钥签名上传数据时,能够通过智能合约进行条件验证,验证条件包括但不限于:时间条件是否符合、公私钥验证是否通过、权限验证是否通过、是否满足特定工程项目初始预设的条件。
在本实施方式中,区块链具有奖惩机制,在特定时间段内,依据权限在特定场景里,以不可篡改的方式存储、记录信息的用户奖励相应的数字代币,例如比特币等,否则会给予惩罚。
这一机制的提出也是与智能合约的安全实现方法相关的,当前,智能合约安全实现的主要方法包括合约模板、合约审计、合约语言设计和赏金猎人机制。其中赏金猎人机制基于付酬的方式,吸引高水平安全研究者对自己项目代码进行安全漏洞检查,提交确认后给予奖金。
参见图3根据本公开内容一个示例性实施例的基于区块链技术的工程项目存证不可篡改的系统,包括处理器301,处理器301可以用于:进行权限划分和用户认证;将操作现场的硬件装置接入区块链网络,并且所述硬件装置作为现场监工监理使用;采用移动设备或移动软件,进行录入数据的采集;数据上链。
由于该硬件装置只是区块链网络中的一个节点,其实时参与区块链网络的交易,实时将现场数据传递到区块链网络中,从而相当于将传统的第三方监督监理以去中心化的方式搬到了施工现场,即以去中心化的方式运作的同时起到了现场实时监督的作用。
在本实施方式中,权限划分包括操作权限划分,身份认证权限划分,设备或装置的功能与权限划分。
在本实施方式中,将操作现场的硬件装置接入区块链网络,并且所述硬件装置作为现场监工监理使用包括:对硬件装置进行身份授权与证书颁发后,接入区块链网络,本身具备安全存储环境,在硬件装置中存储代表自身身份的证书及私钥;赋予硬件装置生成密钥对的权限,在每一次生成密钥对的同时,将新生成密钥对中的公钥加以签名后,上传到区块链网络上;对硬件装置进行交易请求与验证;硬件装置准备向移动设备或移动软件以安全的方式推送密钥对中的私钥;硬件装置可获取特定工程项目的执行计划,并将此计划作为智能合约的初始参数,以作为后续权限判断、数据判断的依据。
在本实施方式中,硬件装置内部设置可执行相应功能的软件执行模块,并且所述操作现场具有一块可被移动设备或移动软件中的GPS功能或内置北斗卫星定位系统所识别的卫星区域,当然本实施例中不限于提出的两种定位系统和功能,本领域技术人员应当熟知其他可以实现定位功能的系统均可以包含在本实施方式中,也均纳入本发明的保护范围之内。本实施方式中,采用打卡机形成该卫星区域,打卡机自身具有GPS功能,因此卫星可以实时确定该打卡机的位置,打卡机自身通过通讯网络功能将携带移动设备的用户位置以及时间与打开机的位置以及时间的对应关系进行关联,从而实现对移动设备位置实时的跟踪以及运动轨迹的追踪,具有管理权限的管理者可以查看记录当时的位置。
GPS卫星区域的功能在数据上链前对于数据的空间属性进行确定。具体来说,根据“固定硬件”设备在现场的作用,固定硬件的作用相当于现场的一个数据收发器,任何进入到现场工作的员工必须与该“硬件设备”通讯,才能告诉“硬件设备”,员工已到场,必须与“硬件设备”建立连接,才能向“硬件设备”请求后续操作。这样,“硬件设备”其实是在地理位置上保证了,员工必须在现场才能进行相关数据录入操作,比如现场拍照、视频录制等。这是“空间”上的限制。后文中由硬件设备生成的密钥对及其有效期限制,则是“时间”上的限制。如此结合,则实现了对员工各项操作的“时间、空间”限制。而一块可被移动设备GPS功能(如智能手机全球定位系统)定位的卫星区域,同样可以起到类似“固定设备”中对员工“空间”上的限制。即员工必须到达指定位置(特定卫星区域里),结合特定的一套软件执行方法,才可以执行后续操作。这样的好处便是不需要在现场安装硬件设备了,但实际场景中因实际情况灵活配置。
在一些实施方式中,采用移动设备或移动软件,进行录入数据的采集包括:在移动设备或移动软件中存储S101中的用户身份、权限的证书和私钥;将移动设备或移动软件与硬件装置进行交互,将移动设备或移动软件的证书推送给硬件装置;硬件装置根据移动设备或移动软件的证书生成新的密钥对后,移动设备或移动软件接收硬件装置推送过来的密钥对中的私钥;移动设备或移动软件接收私钥后,在规定的时间段内对所有数据录入操作经过私钥进行签名后,才可以存储到区块链上;触发智能合约无效机制,即规定的时间段后,私钥继续对数据录入操作签名,但是经过私钥签名后的数据不具备数据上链权限,从而被智能合约拒绝。
在本实施方式中,私钥的有效期从公钥第一次上链开始,到智能合约无效机制触发为止,私钥的有效期内,经过私钥签名的数据作为用户在特定时间段内的有效上链数据。
在本实施方式中,还包括:对移动设备或移动软件进行身份认证、交易请求与验证。
在本实施方式中,移动设备或移动软件为智能手机、安装在智能手机上的软件或具有特定功能的移动硬件设备。
在本实施方式中,移动设备或移动软件由用户持有,移动设备或移动软件中同时存储了标识自身身份的密钥对以及临时存储硬件设备传送过来的、当次有效的密钥对,且用户当次在现场的一个时间段内,所有操作包括但不限于拍照、现场情况描述等,都必须经由硬件装置传送过来密钥对的私钥签名,方可上链。
硬件设备传送过来的密钥对是依据该用户自身身份的密钥对生成的,这样就建立了关联关系。
在本实施方式中,数据上链包括:接收硬件装置上传的公钥,并且在移动设备或移动软件中通过公钥对应的私钥签名后将数据上链。
采用私钥签名基于非对称加密,既可以用于证实某数字内容的完整性,又同时可以确认来源或不可抵赖(Non-Repudiation)。签名算法包括DSA(Digital SignatureAlgorithm)和安全强度更高的ECSDA(Elliptic Curve Digital Signature Algorithm),以及盲签名、多重签名、群签名和环签名。其中盲签名是私钥的拥有者需要在无法看到原始内容的前提下对信息进行签名,从而实现对所签名内容的保护,防止私钥的拥有者看到原始数据;另一方面,盲签名实现防止追踪,私钥的拥有者,即签名者无法将签名内容和签名结果进行对应。多重签名是n个签名者中,收集到至少m个(n>=m>=1)的签名,即认为合法,其中,n是提供的公钥个数,m是需要匹配公钥的最少的签名个数。多重签名可以有效地被应用于本实施方式多人投票共同决策的场景中,即移动设备或移动软件为多个或多套,统一管理某段区块链的数据和交易。群签名是某个群组内一个成员可以代表群组进行匿名签名,签名可以验证来自于该群组,却无法追踪到签名的具体是哪个成员,群签名需要存在一个群管理员来添加新的群成员,因此存在群管理员可能追踪到签名成员身份的风险。环签名首先选定一个临时的签名者集合,集合中包括签名者自身,然后签名者利用自己的私钥和签名集合中其他人的公钥独立产生签名,无需他人协助。签名者集合中的成员可能并不知道自己被包含在最终的签名中,因此环签名在保护匿名性方面有很多的用途。这些数字签名方式均可以用于采用移动设备或移动软件,进行录入数据的采集的功能实现中。
在本实施方式中,数据上链还包括:数据上链前通过智能合约进行条件验证,验证条件包括但不限于:时间条件是否符合、公私钥验证是否通过、权限验证是否通过、是否满足特定工程项目初始预设的条件。本实施方式中,智能合约作为一种以计算机程序的方式缔结和运行的合约,通过图灵完备的高级语言,包括Solidity、Serpent、Viper开发。智能合约作为运行在以太虚拟机(Ethereum Virtual Machine,EVM)中的应用,接受来自外部的交易请求和事件,通过触发运行提前编写好的代码逻辑,进一步生成新的交易和事件,从而进一步调用其它智能合约。智能合约的执行结果在本实施方式中包括但不限于条件验证,还包括对区块链上的账本状态进行更新,这些修改由于经过了以太坊网络中的共识,一旦确认后无法被伪造和纂改。
在本实施方式中,区块链为许可型区块链,具备如下功能:用户身份授权与证书颁发;硬件设备或装置的身份授权与证书颁发;硬件设备或装置的交易请求与验证;移动设备或装置的身份验证;移动设备或装置的交易请求与验证;接受硬件设备上传的公钥,并且在移动设备通过该公钥对应的私钥签名上传数据时,能够通过智能合约进行条件验证,验证条件包括但不限于:时间条件是否符合、公私钥验证是否通过、权限验证是否通过、是否满足特定工程项目初始预设的条件。
在本实施方式中,区块链还具有奖惩机制,在特定时间段内,依据权限在特定场景里,以不可篡改的方式存储、记录信息的用户奖励相应的比特币或其他数字代币,否则会给予惩罚。
这一机制的提出也是与智能合约的安全实现方法相关的,当前,智能合约安全实现的主要方法包括合约模板、合约审计、合约语言设计和赏金猎人机制。其中赏金猎人机制基于付酬的方式,吸引高水平安全研究者对自己项目代码进行安全漏洞检查,提交确认后给予奖金。
参见图4的计算设备400,该计算设备包括处理器401和存储器402,其中存储器402上存储有计算机程序指令4020,计算机程序指令4020在由所述处理器执行时实现如上文所述的基于区块链技术的建筑项目场景式存证不可篡改的方法。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现如上文所述的基于区块链技术的建筑项目场景式存证不可篡改的方法。对于基于区块链技术的建筑项目场景式存证不可篡改的方法。的各技术方案,在上文已经进行了详细描述,在此不再赘述。在一些实施方式中,机器可读存储介质是数字处理设备的有形组件。在另一些实施方式中,机器可读存储介质可选地是可从数字处理设备移除的。在一些实施方式中,举非限制性示例而言,机器可读存储介质可以包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、闪速存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、固态存储器、磁碟、光盘、云计算系统或服务等。
应当理解,本公开内容的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
虽然本文已经示出和描述了本发明的示例性实施方式,但对于本领域技术人员容易理解的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。