CN116702219A - 一种基于区块链的可信固证方法和装置 - Google Patents
一种基于区块链的可信固证方法和装置 Download PDFInfo
- Publication number
- CN116702219A CN116702219A CN202310988940.5A CN202310988940A CN116702219A CN 116702219 A CN116702219 A CN 116702219A CN 202310988940 A CN202310988940 A CN 202310988940A CN 116702219 A CN116702219 A CN 116702219A
- Authority
- CN
- China
- Prior art keywords
- evidence
- transaction data
- electronic
- queue
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012795 verification Methods 0.000 claims description 40
- 238000012856 packing Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 239000007787 solid Substances 0.000 abstract description 17
- 230000008520 organization Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Technology Law (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及证据固定技术领域,提供了一种基于区块链的可信固证方法和装置,用户客户端在拍照获取照片(即电子证据)后,由用户客户端实时计算该照片的文件哈希并执行上链操作,能够确保固证平台无法篡改电子证据的文件哈希,后续如果固证平台篡改电子证据时,通过将固证平台提供的电子证据的哈希摘要与从链上取出的文件哈希进行对比,即可判定平台是否篡改电子证据,从而提升通过固证平台进行固证的电子证据的可信度。另一方面,本发明中,由于用户客户端拍照得到照片之后便立即生成照片对应的文件哈希并直接执行上链操作,能避免用户和平台对取证时得到的电子证据的篡改行为,提升取证的可信度。
Description
技术领域
本发明涉及证据固定技术领域,特别涉及一种基于区块链的可信固证方法和装置。
背景技术
固证即证据固定,是指遇到证据有可能灭失或以后难以取得的情况,公安机关、人民法院根据诉讼参加人的请求或依职权采取措施,对证据加以固定和保护的制度。随着互联网技术发展,电子证据(如照片、视频等多媒体电子文件)越来越多应用在诉讼中。电子证据具有容易篡改的特性,因此对于电子证据的固定需要使用一种可信的固证方法保证其不被篡改,并能够其在质证环节能够被司法机构、双方当事人简单快捷地验证电子证据是否被篡改。
显而易见的,利用区块链技术对电子证据进行保存,是一种可行并且被广泛应用的手段。现有技术中已经广泛利用区块链构建固证平台,通用的技术框架如专利文献1披露的一种基于区块链的司法固证方案,该方案中固证服务器(即固证平台)接收来自用户端的电子证据,并将电子证据的哈希摘要上链。后续司法机构需要调用电子证据时,只需要从区块链上取出电子证据对应的哈希摘要(称为第一哈希摘要),再计算从固证服务器获取的电子证据的哈希摘要(称为第二哈希摘要),对比第一哈希摘要和第二哈希摘要就可以确定电子证据是否被篡改,由于区块链不易篡改的特性,保证电子证据无法篡改和伪造,保障了数据的完整性和客观性,增强了电子证据的可信度。
上述现有技术存在以下不足:
以现场取证场景为例,现场取证要求用户端上的取证APP提供拍照、录像功能,实时将现场的勘察结果、现场记录对应的照片或视频等证据上传至固证平台,固证平台将证据的哈希摘要上链。该场景下,为了避免用户端对现场的勘察结果、现场记录对应的照片或视频进行修改,需要将这些照片或视频实时上传到固证平台。然而,用户端将电子证据发送给固证平台,由固证平台对电子证据使用哈希算法得到哈希摘要并将哈希摘要上链,这个过程存在漏洞,即无法避免固证平台本身篡改电子证据的行为,一旦固证平台篡改证据并将篡改之后证据的哈希摘要上链,后续司法机构验证第一摘要和第二摘要时必然无法发现篡改行为,这个漏洞导致通过固证平台进行固证的电子证据可信度遭到怀疑。
专利文献1:专利名称,基于区块链的司法固证方法、平台和系统;公开号,CN112950415A;公开日,2021-06-11。
发明内容
本发明提供一种基于区块链的可信固证方法和装置,能够发现固证平台是否篡改电子证据,提升通过固证平台进行固证的电子证据的可信度。
第一方面,本发明提供一种基于区块链的可信固证方法,所述方法包括:
用户客户端获取待固证的电子证据并实时将所述电子证据发送至固证服务器;
用户客户端在将所述电子证据发送至固证服务器的同时,对所述电子证据进行哈希运算得文件哈希,并执行上链操作使得区块链网络中的节点将所述文件哈希上链;
固证服务器接收到所述电子证据后,将所述电子证据与登录所述用户客户端的取证账户进行绑定后,保存在固证服务器的数据库中。
进一步的,用户客户端上部署有与区块链网络连接的用户节点,所述执行上链操作使得区块链网络中的节点将所述文件哈希上链,具体包括:
通过用户节点将所述文件哈希打包成交易数据并将所述交易数据发送给区块链网络中的其他节点;
通过区块链网络中的各节点将接收到交易数据进行验证并在通过验证后保存到各自的交易池中,作为各自交易池中的交易数据;
通过区块链网络中的各节点按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块;
通过共识算法从区块链网络的各节点中选出旷工节点,由旷工节点将其打包形成的当前区块高度的候选区块作为待上链区块发送给区块链网络中的其他节点;
通过区块链网络中的各节点对接收到的待上链区块进行验证并在通过验证后将所述待上链区块添加到区块链上。
进一步的,所述按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块,具体包括:
各节点检测到第一交易池中存在由同一个区块链节点地址打包生成的多笔交易数据,且所述多笔交易数据生成的时间间隔均小于第一预设时长时,将由同一个区块链节点地址打包生成的多笔交易数据加入到第二交易池并将第二交易池内的多笔交易数据对应的区块链节点地址作为目标区块链节点地址;
各节点在将由同一个目标区块链节点地址打包生成的多笔交易数据加入到第二交易池后,检测到第一交易池中新增由目标区块链节点地址打包生成的交易数据时,将由目标区块链节点地址打包生成的交易数据加入到第二交易池中;
各节点检测到第二交易池在经过第二预设时长未增加新的交易数据时,将第二交易池中的多笔交易数据进行打包形成当前区块高度的候选区块。
进一步的,所述方法还包括:
在将由目标区块链节点地址打包生成的交易数据加入到第二交易池中之后,并且未经过第二预设时长的过程中,从第一交易池中选取相应的交易数据打包形成当前区块高度的候选区块。
进一步的,司法客户端上部署有与区块链网络连接的司法节点,所述方法还包括证据验证流程,所述证据验证流程包括:
司法客户端响应于验证触发操作,向固证服务器发送验证请求并通过司法节点获取区块链网络中的区块链文件;所述验证请求携带有待验证电子证据的标识符以及对应的取证账户;
固证服务器将待验证的电子证据以及包含有对应电子证据标识符的第一队列发送至司法客户端;
司法客户端将多个待验证的电子证据中生成时间最早的生成时间作为起点时间,并从区块链文件中将时间戳对应时间晚于起点时间并与起点时间最近的区块开始,遍历区块中的与取证账户绑定的区块链节点地址打包生成的每一笔交易数据,并将遍历得到的交易数据,按照交易数据的被发出的时间顺序存储到第二队列中;
司法客户端利用哈希算法按顺序将第一队列中各元素对应的多个待验证的电子证据分别生成对应的文件哈希,并将文件哈希依次存储到第三队列中;
司法客户端将第三队列不为第一预置符号的元素与第二队列相应位置的元素进行比较,以验证电子证据的可信状态。
进一步的,所述遍历区块中的与取证账户绑定的区块链节点地址打包生成的每一笔交易数据步骤的终止条件为,司法客户端检测到与取证账户绑定的区块链节点地址打包生成的交易数据的数量与终止数量相同;其中,所述终止数量为待验证电子证据的数量。
进一步的,生成所述包含有对应电子证据标识符的第一队列的具体步骤为:
固证服务器获取验证请求中携带的待验证电子证据的标识符对应的所有电子证据的生成时间,形成生成时间集合;
固证服务器从生成时间集合中选取最早的生成时间作为起点时间,选取最晚的生成时间作为终点时间;
固证服务器创建预处理集合并将验证请求中携带的待验证电子证据的标识符对应的所有电子证据加入到预处理集合中;
固证服务器检测验证请求中携带的取证账户对应的电子证据中生成时间位于起点时间和终点时间的电子证据是否属于预处理集合,若不属于,则加入到置空集合中;
固证服务器创建第一队列,第一队列的长度为预处理集合与置空集合的元素数量之和;
固证服务器按照电子证据的生成时间从预处理集合和置空集合中选择对应的电子证据的标识符加入到第一队列中,并将第一队列中属于置空集合的电子证据的标识符设置为第二预置符号。
进一步的,所述司法客户端利用哈希算法按顺序将第一队列中各元素对应的多个待验证的电子证据分别生成对应的文件哈希,并将文件哈希依次存储到第三队列中,具体包括:
司法客户端检测到第一队列中的元素为第二预置符号时,生成第一预置符号并将所述第一预置符号加入到第三队列相应位置;
司法客户端检测到第一队列中的元素不为第二预置符号时,利用哈希算法生成当前元素对应的电子证据的文件哈希,并将文件哈希依次存储到第三队列中。
第二发明,本发明提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述的基于区块链的可信固证方法。
第三发明,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述第一方面所述的基于区块链的可信固证方法。
有益效果:
相较于现有技术先将电子证据上传至固证服务器,再由固证服务器计算电子证据的文件哈希再将文件哈希上链,可能存在的司法机构或当事人无法验证固证平台提供的电子证据是否被篡改的问题,本发明提供的一种基于区块链的可信固证方法和装置中,用户客户端在拍照获取照片(即电子证据)后,由用户客户端实时计算该照片的文件哈希并执行上链操作,能够确保固证平台无法篡改电子证据的文件哈希,后续如果固证平台篡改电子证据时,通过将固证平台提供的电子证据的哈希摘要与从链上取出的文件哈希进行对比,即可判定平台是否篡改电子证据,从而提升通过固证平台进行固证的电子证据的可信度。另一方面,本实施例中,由于用户客户端拍照得到照片之后便立即生成照片对应的文件哈希并直接执行上链操作,能避免用户和平台对取证时得到的电子证据的篡改行为,提升取证的可信度。
附图说明
图1为本发明一实施例提供的一种基于区块链的可信固证方法的应用环境图;
图2为本发明一实施例提供的一种基于区块链的可信固证方法的流程图;
图3为本发明一实施例提供的一种基于区块链的可信固证方法的流程图;
图4为本发明一实施例提供的一种基于区块链的可信固证方法的流程图;
图5为本发明一实施例提供的一种基于区块链的可信固证方法的流程图;
图6为本发明一实施例提供的一种基于区块链的可信固证方法的流程图;
图7为本发明一实施例提供的一种基于区块链的可信固证方法的流程图;
图8为电子证据未被篡改时的三个队列状态的示意图;
图9为电子证据被篡改时的三个队列状态的示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,为本发明实施例中提供的一种基于区块链的可信固证方法的应用环境图。本发明提供的一种基于区块链的可信固证方法应用于基于区块链的可信固证系统,该系统包括组成网络的固证服务器101、多个用户客户端102、多个司法客户端103,还包括区块链网络110,其中,固证服务器101上部署有连接到区块链网络110的固证节点104、每个用户客户端102都部署有连接到区块链网络110的用户节点105、每个司法客户端103都部署有连接到区块链网络110的司法节点106。用户客户端102可以是具有拍照录像功能的智能终端,用于现场拍照取证。司法客户端103一般是司法机构使用的终端,可以是台式电脑或笔记本电脑。其使用场景为,用户通过用户客户端102在现场进行拍照取证,然后通过固证服务器101和区块链网络110进行固证,后续诉讼时,司法机构通过司法客户端103获取用户提供的证据,并通过证据验证确保证据未经篡改。
以下将结合附图和具体实施例来对本发明做出详细的说明。
实施例1:
如图2所示,在一个实施例中,提供了一种基于区块链的可信固证方法,所述方法包括:
步骤S202,用户客户端102获取待固证的电子证据并实时将所述电子证据发送至固证服务器101。
在一个示例中,电子证据是照片,需要取证的用户通过用户客户端102上的APP登录取证账户,并利用APP调用摄像头在现场进行拍照,拍照得到的照片会通过APP在命名生成照片对应的标识符并打上时间戳(该时间戳记录了用户客户端102拍照的时间)后实时发送至固证服务器101,避免了在本地进行修改的可能。
步骤S204,用户客户端102在将所述电子证据发送至固证服务器101的同时,对所述电子证据进行哈希运算得文件哈希,并执行上链操作使得区块链网络110中的节点将所述文件哈希上链。
在将照片上传至固证服务器101的同时,用户客户端102会计算每张照片的文件哈希,并通过上链操作将这些文件哈希上链存储。
步骤S206,固证服务器101接收到所述电子证据后,将所述电子证据与登录所述用户客户端102的取证账户进行绑定后,保存在固证服务器101的数据库中。
相较于现有技术先将电子证据上传至固证服务器101,再由固证服务器101计算电子证据的文件哈希再将文件哈希上链,可能存在的司法机构或当事人无法验证固证平台提供的电子证据是否被篡改的问题,本实施例中,用户客户端102在拍照获取照片(即电子证据)后,由用户客户端102实时计算该照片的文件哈希并执行上链操作,能够确保固证平台无法篡改电子证据的文件哈希,后续如果固证平台篡改电子证据时,通过将固证平台提供的电子证据的哈希摘要与从链上取出的文件哈希进行对比,即可判定平台是否篡改电子证据,从而提升通过固证平台进行固证的电子证据的可信度。另一方面,本实施例中,由于用户客户端102拍照得到照片之后便立即生成照片对应的文件哈希并直接执行上链操作,能避免用户和平台对取证时得到的电子证据的篡改行为,提升取证的可信度。
如图3所示,在一个实施例中,用户客户端102上部署有与区块链网络110连接的用户节点105,所述执行上链操作使得区块链网络110中的节点将所述文件哈希上链,具体包括:
步骤S302,通过用户节点105将所述文件哈希打包成交易数据并将所述交易数据发送给区块链网络110中的其他节点。
即用户节点105将文件哈希广播给区块链网络110中的其他节点,如固证节点104、司法节点106。需要说明的是,为了规范考虑,节点在将文件哈希进行广播之前,会按照规定的数据结构进行打包生成交易数据,例如该交易数据应当包括区块链节点地址、文件哈希、打包生成该交易数据的时间等。具体的,本实施例中每个区块链节点包括一个秘钥对,每个密钥对包括一个公钥和一个私钥,私钥存储在本地,公钥发送给其他区块链节点。区块链节点地址根据公钥计算得到,具体的,计算时,以公钥作为输入,计算其哈希值,然后进行base58check编码,得到的值即为区块链节点地址,具体计算过程为现有技术,此处不再赘述。
步骤S304,通过区块链网络110中的各节点将接收到交易数据进行验证并在通过验证后保存到各自的交易池中,作为各自交易池中的交易数据。
对交易数据的验证主要验证数据结构是否正确,是否缺少对应的数据,保证交易数据的完整性。可以理解的是,对交易数据验证通过后每个节点都会将这些交易数据添加到设备本地的交易池中(相当于一个内存池)暂存起来,即交易池中的交易数据是没有被加入到区块中的交易数据,后续节点会按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块。
步骤S306,通过区块链网络110中的各节点按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块。
步骤S308,通过共识算法从区块链网络110的各节点中选出旷工节点,由旷工节点将其打包形成的当前区块高度的候选区块作为待上链区块发送给区块链网络110中的其他节点。
本示例中的共识算法采用工作量证明算法(PoW),当然考虑到用户客户端102计算性能有限,可以采用股权权益证明算法(PoS),此时让固证节点104和各个司法节点106作为候选旷工。具体使用哪种算法本发明不做限定。
步骤S310,通过区块链网络110中的各节点对接收到的待上链区块进行验证并在通过验证后将所述待上链区块添加到区块链上。
如图4所示,在一个实施例中,所述按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块,具体包括:
步骤402,各节点检测到第一交易池中存在由同一个区块链节点地址打包生成的多笔交易数据,且所述多笔交易数据生成的时间间隔均小于第一预设时长时,将由同一个区块链节点地址打包生成的多笔交易数据加入到第二交易池并将第二交易池内的多笔交易数据对应的区块链节点地址作为目标区块链节点地址。
举例而言,每个节点设备设置有一个第一交易池以及多个第二交易池,通过验证交易数据可以知道每笔交易数据的区块链节点地址,即打包生成该笔交易数据的区块链节点地址,当检测第一交易池中由区块链节点地址为158debgrboyuENDRd45vkk588Lpepu4Ded打包生成的交易数据数量达到预设值时,如6笔,该节点就会创建与区块链节点地址为158debgrboyuENDRd45vkk588Lpepu4Ded的第二交易池,然后将与区块链节点地址为158debgrboyuENDRd45vkk588Lpepu4Ded的6笔交易数据加入到该第二交易池中,本示例中,158debgrboyuENDRd45vkk588Lpepu4Ded为目标区块链节点地址。
步骤404,各节点在将由同一个目标区块链节点地址打包生成的多笔交易数据加入到第二交易池后,检测到第一交易池中新增由目标区块链节点地址打包生成的交易数据时,将由目标区块链节点地址打包生成的交易数据加入到第二交易池中。
当节点检测到下一笔交易数据也是由目标区块链节点地址打包生成时,则将下一笔交易数据也加入第二交易池中。
步骤406,各节点检测到第二交易池在经过第二预设时长未增加新的交易数据时,将第二交易池中的多笔交易数据进行打包形成当前区块高度的候选区块。
本示例中,第二预设时长为1小时,当检测到目标区块链节点地址158debgrboyuENDRd45vkk588Lpepu4Ded对应的第二交易池中超过1小时未增加新的交易数据时,将该第二交易池中的多笔交易数据进行打包形成当前区块高度的候选区块。
本实施例中,考虑到现场取证场景下,用户可能连续多次拍照,例如在14:25:26到14:26:53之间拍摄了6张照片,相邻两张照片之间拍摄时间相距不超过20秒,而以以太坊为例,其15秒生成一个区块,这就意味着如果按照现有技术中的方案,可能这6张照片对应的文件哈希会落入在6个区块中。进一步的,在以下场景中,而以以太坊为例,其15秒生成一个区块,1分钟就是4个,一个小时就是240个区块,如果取证时间是在一个小时内陆续进行的(称为现场长时间取证),即在一个小时之内的任何时间点都可能拍照,换句话说,取证得到的照片对应的文件哈希可能分布在240个区块中,按照现有技术的方案,后续验证时就意味着需要遍历240个区块来查找该这些照片对应的文件哈希,这个过程消耗司法客户端103较多资源。
本实施例提供的方案按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块,可以保证一次现场长时间取证的拍摄得到的所有照片对应的文件哈希都可以一次性打包在一个区块中。即使一个第二交易池中的交易数据大于一个区块规定的数据量,则可以继续将第二交易池中剩余的交易数据打包在一个区块中,从而可以将一次现场长时间取证的文件哈希保存在尽可能少的区块中,减少验证时的客户端资源开销。
在一个实施例中,所述方法还包括:
在将由目标区块链节点地址打包生成的交易数据加入到第二交易池中之后,并且未经过第二预设时长的过程中,从第一交易池中选取相应的交易数据打包形成当前区块高度的候选区块。
可以理解的是,假设15生成一个区块,而第二预设时长为1个小时,这个过程中,可以按照现有技术的规则从第一交易池中选取相应的交易数据打包形成当前区块高度的候选区块,因此本实施例引入了第二交易池,可以与现有技术进行兼容。
实施例2:
实施例1中提供的固证方法,只需要将电子证据的文件哈希上链,无需将电子文件本身或者电子文件的其他数据上链,可以节省区块链上各节点设备的存储空间开销。同时,在拍照获得照片(即电子证据)的同时就由用户客户端102实时将照片的文件哈希上链,避免了固证平台或用户的篡改,提升了证据可信度。
然而,上述方法的实施,需要解决好以下问题:
现有技术中,先由客户端将电子证据上传至服务器,然后由服务器计算电子证据的文件哈希后上链存储,所以服务器可以知道每份电子证据及其文件哈希在区块链的那个位置,如A照片的文件哈希a保存在区块链上区块高度为2394的区块上。所以在司法客户端103需要验证时,服务器可以直接告诉司法客户端103从区块高度为2394的区块上获取A照片对应的文件哈希。而现有技术存在无法确认平台是否篡改电子证据的问题,实施例1的方案可以很好解决该问题。但是,由于照片文件保存在固证服务器101上,而照片的文件哈希由用户客户端102保存在区块链上,并且此时固证服务器101并不知道每一张照片对应的文件哈希保存在哪个区块,所以当司法客户端103需要验证个照片时,则需要对区块链各区块进行遍历,逐个查找在取证日当天由目标区块链节点地址打包生成的交易数据,并且找到这些取证日当天由目标区块链节点地址打包生成的交易数据之后,也无法将各交易数据中的文件哈希与对应的照片进行关联,导致司法客户端103计算出来待验证电子证据的文件哈希之后,只能够将一个文件哈希与多个从区块链取出的文件哈希进行对比,存在验证对比效率低下的问题。
如图5所示,为了解决上述问题本实施例提供的固证方法还包括证据验证流程,所述证据验证流程包括:
步骤S502,司法客户端103响应于验证触发操作,向固证服务器101发送验证请求并通过司法节点106获取区块链网络110中的区块链文件;所述验证请求携带有待验证电子证据的标识符以及对应的取证账户。
在一个场景中,用户通过用户客户端102登录取证账户,并在app上查看需要提供给司法机构的证据(照片或视频),勾选完成后,app生成一个链接指令,用户将该链接指令发送给司法机构,司法机构将该链接指令粘贴在司法客户端103的验证界面的验证输入框中,司法客户端103点击确认(即验证触发操作),触发司法客户端103执行验证流程。
步骤S504,固证服务器101将待验证的电子证据以及包含有对应电子证据标识符的第一队列发送至司法客户端103;
在步骤S504中,假设取证日用户拍摄了共计20张照片,拍摄时间(即生成时间)最早为14:24:30,可以通过当时给照片打上的时间戳来获取该生成时间,拍摄时间(生成时间)最晚为15:24:55。用户经过判断觉得只需要将其中13张照片提供给司法机构作为证据,其他的照片不提供。此时待验证的电子证据一共是13张照片,服务器将这13张照片以及记录有这13张照片的名称(即标识符)的第一队列一并发送给司法客户端103。
参照图6,具体的,生成所述包含有对应电子证据标识符的第一队列的具体步骤为:
步骤S602,固证服务器101获取验证请求中携带的待验证电子证据的标识符对应的所有电子证据的生成时间,形成生成时间集合。
如图8所示,待验证电子证据(即照片)共13张,按照拍摄时间的顺序,13张照片对应的标识符依次为a1、a3、a5、a6、a8、a9、a11、a12、a15、a17、a18、a19、a20。
步骤S604,固证服务器101从生成时间集合中选取最早的生成时间作为起点时间,选取最晚的生成时间作为终点时间。
13张照片中,最早生成的a1的生成时间为14:24:30,最晚生成的a20的生成时间为15:24:55。
步骤S606,固证服务器101创建预处理集合并将验证请求中携带的待验证电子证据的标识符对应的所有电子证据加入到预处理集合中;
具体的,将13张照片都加入到预处理集合中,也即是将a1、a3、a5、a6、a8、a9、a11、a12、a15、a17、a18、a19、a20等13张照片都加入预处理集合中。
步骤S608,固证服务器101检测验证请求中携带的取证账户对应的电子证据中生成时间位于起点时间和终点时间的电子证据是否属于预处理集合,若不属于,则加入到置空集合中;
已知,取证账户在取证日上传了20张照片,a1至a20,而起点时间对应a1生成时间,终点时间对应a20生成时间,除了预处理集合中的13张照片,显然还有7张照片的生成时间位于起点时间和终点时间之间,并且这7张照片不属于预处理集合,因此,将这7张照片加入到置空集合中。
步骤S610,固证服务器101创建第一队列,第一队列的长度为预处理集合与置空集合的元素数量之和;
实际上,预处理集合与置空集合的元素数量之和就是在起点时间到终点时间取证拍照的照片数量。
步骤S612,固证服务器101按照电子证据的生成时间从预处理集合和置空集合中选择对应的电子证据的标识符加入到第一队列中,并将第一队列中属于置空集合的电子证据的标识符设置为第二预置符号。
如图8所示,在步骤S612中,首先先将第一队列20个元素分别按照拍摄时间顺序写入照片的标识符,然后,再将第一队列中属于置空集合的电子证据的标识符设置为第二预置符号,本实施例中国第二预置符号为0。
步骤S506,司法客户端103将多个待验证的电子证据中生成时间最早的生成时间作为起点时间,并从区块链文件中将时间戳对应时间晚于起点时间并与起点时间最近的区块开始,遍历区块中的与取证账户绑定的区块链节点地址打包生成的每一笔交易数据,并将遍历得到的交易数据,按照交易数据的被发出的时间顺序存储到第二队列中;
在步骤S506中,起点时间为14:24:30。而每个节点从交易池将交易数据打包形成候选区块时都会打上一个时间戳,这个时间戳表示形成当前区块的时间。可以理解的是,包含有取证日最早拍摄的照片的文件哈希的区块,其时间戳的时间必然晚于起点时间,但是并不能确定是哪个区块,因此,需要从区块链文件中将时间戳对应时间晚于起点时间并与起点时间最近的区块开始,遍历区块中的与取证账户绑定的区块链节点地址打包生成的每一笔交易数据。而终止遍历的其中一个策略是,当从区块链中查找到与取证日上传到固证服务器101的电子证据相同数量的与取证账户绑定的区块链节点地址打包生成的交易数据时,终止遍历。例如取证日拍摄了20找照片,服务器接收到了20张照片,则服务器在步骤S504中还将取证日的时间范围(如7.23日,00:00:00-23:59:59)以及终止数量也发送给司法客户端103。司法客户端103会判断遍历到的区块时间戳是否属于取证日,以及以及查找到的与取证账户绑定的区块链节点地址打包生成的交易数据的数量是否达到终止数量,如果达到则终止遍历。
步骤S508,司法客户端103利用哈希算法按顺序将第一队列中各元素对应的多个待验证的电子证据分别生成对应的文件哈希,并将文件哈希依次存储到第三队列中;
由于第一队列中各元素仅仅是电子证据的名称(即标识符),因此在步骤S508中,司法客户端103根据第一队列中的电子证据的标识符将从固证服务器101接收到的待验证电子证据中将对应的照片计算出相应的文件哈希并依次存储在第三队列中。
如图7所示,所述司法客户端103利用哈希算法按顺序将第一队列中各元素对应的多个待验证的电子证据分别生成对应的文件哈希,并将文件哈希依次存储到第三队列中,具体包括:
步骤S702,司法客户端103检测到第一队列中的元素为第二预置符号时,生成第一预置符号并将所述第一预置符号加入到第三队列相应位置;
步骤S704,司法客户端103检测到第一队列中的元素不为第二预置符号时,利用哈希算法生成当前元素对应的电子证据的文件哈希,并将文件哈希依次存储到第三队列中。
如图8所示,第一预置符号为0,本实施例中根据第一队列中的待验证的电子证据的标识符(即不为0的元素)将对应的电子证据进行计算得到对应的文件哈希并保存在第三队列中的相应位置。第一队列、第二队列和第三队列长度相同,以a1为例,其在第一队列的位置是第一位,所以a1对应的电子证据的文件哈希A1也位于第三队列的第一位。而第一队列中,第二位是0,即第二预置符号,此时利用第一预置符号将第三队列第二位进行填充,即0。
步骤S510,司法客户端103将第三队列不为第一预置符号的元素与第二队列相应位置的元素进行比较,以验证电子证据的可信状态。
在步骤S510中,司法客户端103将第三队列不为第一预置符号的元素与第二队列相应位置的元素进行比较,以验证电子证据的可信状态。具体的,第三队列中不为第一预置符号的元素就是司法客户端103对从固证服务器101获取的13个待验证的电子证据计算得到的文件哈希,而第二队列中的各元素就是取证时由用户客户端102事实计算上链存储的20个电子证据的文件哈希,这20个文件哈希由于保存在区块链上,被认为是无法篡改的。因此如果如图8所示,第三队列中的每个不为0的位置与第二队列中相应位置都相同(如第三队列的第五位A5,其值与第二队列的第五位A5相同),则认为电子证据并未被篡改。而如图9所示,当固证平台篡改证据时,就会出现第三队列的第三位为B,而第二队列的第三位为A3,不相同,认为标识符为a3的照片被平台篡改。
需要说明的是,本实施例中,由于采用上述方法构造了第一队列、第二队列和第三队列,使得待验证的电子证据的文件哈希按照电子证据在第二队列中的排列加入到第三队列中,即虽然第三队列的长度为20,待验证的电子证据只有13个,但是对于空缺的位置使用第一预置符号填充,可以在将待验证的电子证据的文件哈希与上链的文件哈希进行比较时,只需要比较两个队列相应位置的值即可,每个电子证据经过司法客户端103计算哈希值后,通过本实施例可以找到明确的比较对象并且只需要比较一次。解决了现有技术中由于照片文件保存在固证服务器101上,而照片的文件哈希由用户客户端102保存在区块链上,并且此时固证服务器101并不知道每一张照片对应的文件哈希保存在哪个区块,导致司法客户端103计算出来待验证电子证据的文件哈希之后,只能够将一个文件哈希与多个从区块链取出的文件哈希进行对比,存在验证对比效率低下的问题。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于区块链的可信固证方法,其特征在于,所述方法包括:
用户客户端获取待固证的电子证据并实时将所述电子证据发送至固证服务器;
用户客户端在将所述电子证据发送至固证服务器的同时,对所述电子证据进行哈希运算得文件哈希,并执行上链操作使得区块链网络中的节点将所述文件哈希上链;
固证服务器接收到所述电子证据后,将所述电子证据与登录所述用户客户端的取证账户进行绑定后,保存在固证服务器的数据库中。
2.根据权利要求1所述的一种基于区块链的可信固证方法,其特征在于,用户客户端上部署有与区块链网络连接的用户节点,所述执行上链操作使得区块链网络中的节点将所述文件哈希上链,具体包括:
通过用户节点将所述文件哈希打包成交易数据并将所述交易数据发送给区块链网络中的其他节点;
通过区块链网络中的各节点将接收到交易数据进行验证并在通过验证后保存到各自的交易池中,作为各自交易池中的交易数据;
通过区块链网络中的各节点按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块;
通过共识算法从区块链网络的各节点中选出旷工节点,由旷工节点将其打包形成的当前区块高度的候选区块作为待上链区块发送给区块链网络中的其他节点;
通过区块链网络中的各节点对接收到的待上链区块进行验证并在通过验证后将所述待上链区块添加到区块链上。
3.根据权利要求2所述的一种基于区块链的可信固证方法,其特征在于,所述按照预设规则从交易池中选取相应的交易数据打包形成当前区块高度的候选区块,具体包括:
各节点检测到第一交易池中存在由同一个区块链节点地址打包生成的多笔交易数据,且所述多笔交易数据生成的时间间隔均小于第一预设时长时,将由同一个区块链节点地址打包生成的多笔交易数据加入到第二交易池并将第二交易池内的多笔交易数据对应的区块链节点地址作为目标区块链节点地址;
各节点在将由同一个目标区块链节点地址打包生成的多笔交易数据加入到第二交易池后,检测到第一交易池中新增由目标区块链节点地址打包生成的交易数据时,将由目标区块链节点地址打包生成的交易数据加入到第二交易池中;
各节点检测到第二交易池在经过第二预设时长未增加新的交易数据时,将第二交易池中的多笔交易数据进行打包形成当前区块高度的候选区块。
4.根据权利要求3所述的一种基于区块链的可信固证方法,其特征在于,所述方法还包括:
在将由目标区块链节点地址打包生成的交易数据加入到第二交易池中之后,并且未经过第二预设时长的过程中,从第一交易池中选取相应的交易数据打包形成当前区块高度的候选区块。
5.根据权利要求3所述的一种基于区块链的可信固证方法,其特征在于,司法客户端上部署有与区块链网络连接的司法节点,所述方法还包括证据验证流程,所述证据验证流程包括:
司法客户端响应于验证触发操作,向固证服务器发送验证请求并通过司法节点获取区块链网络中的区块链文件;所述验证请求携带有待验证电子证据的标识符以及对应的取证账户;
固证服务器将待验证的电子证据以及包含有对应电子证据标识符的第一队列发送至司法客户端;
司法客户端将多个待验证的电子证据中生成时间最早的生成时间作为起点时间,并从区块链文件中将时间戳对应时间晚于起点时间并与起点时间最近的区块开始,遍历区块中的与取证账户绑定的区块链节点地址打包生成的每一笔交易数据,并将遍历得到的交易数据,按照交易数据的被发出的时间顺序存储到第二队列中;
司法客户端利用哈希算法按顺序将第一队列中各元素对应的多个待验证的电子证据分别生成对应的文件哈希,并将文件哈希依次存储到第三队列中;
司法客户端将第三队列不为第一预置符号的元素与第二队列相应位置的元素进行比较,以验证电子证据的可信状态。
6.根据权利要求5所述的一种基于区块链的可信固证方法,其特征在于,所述遍历区块中的与取证账户绑定的区块链节点地址打包生成的每一笔交易数据步骤的终止条件为,司法客户端检测到与取证账户绑定的区块链节点地址打包生成的交易数据的数量与终止数量相同;其中,所述终止数量为待验证电子证据的数量。
7.根据权利要求5所述的一种基于区块链的可信固证方法,其特征在于,生成所述包含有对应电子证据标识符的第一队列的具体步骤为:
固证服务器获取验证请求中携带的待验证电子证据的标识符对应的所有电子证据的生成时间,形成生成时间集合;
固证服务器从生成时间集合中选取最早的生成时间作为起点时间,选取最晚的生成时间作为终点时间;
固证服务器创建预处理集合并将验证请求中携带的待验证电子证据的标识符对应的所有电子证据加入到预处理集合中;
固证服务器检测验证请求中携带的取证账户对应的电子证据中生成时间位于起点时间和终点时间的电子证据是否属于预处理集合,若不属于,则加入到置空集合中;
固证服务器创建第一队列,第一队列的长度为预处理集合与置空集合的元素数量之和;
固证服务器按照电子证据的生成时间从预处理集合和置空集合中选择对应的电子证据的标识符加入到第一队列中,并将第一队列中属于置空集合的电子证据的标识符设置为第二预置符号。
8.根据权利要求7所述的一种基于区块链的可信固证方法,其特征在于,所述司法客户端利用哈希算法按顺序将第一队列中各元素对应的多个待验证的电子证据分别生成对应的文件哈希,并将文件哈希依次存储到第三队列中,具体包括:
司法客户端检测到第一队列中的元素为第二预置符号时,生成第一预置符号并将所述第一预置符号加入到第三队列相应位置;
司法客户端检测到第一队列中的元素不为第二预置符号时,利用哈希算法生成当前元素对应的电子证据的文件哈希,并将文件哈希依次存储到第三队列中。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8中任一项所述的基于区块链的可信固证方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于使计算机执行如权利要求1至8中任一项所述的基于区块链的可信固证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988940.5A CN116702219B (zh) | 2023-08-08 | 2023-08-08 | 一种基于区块链的可信固证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310988940.5A CN116702219B (zh) | 2023-08-08 | 2023-08-08 | 一种基于区块链的可信固证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116702219A true CN116702219A (zh) | 2023-09-05 |
CN116702219B CN116702219B (zh) | 2024-01-23 |
Family
ID=87843712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310988940.5A Active CN116702219B (zh) | 2023-08-08 | 2023-08-08 | 一种基于区块链的可信固证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116702219B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912937A (zh) * | 2019-12-23 | 2020-03-24 | 杭州中科先进技术研究院有限公司 | 一种基于区块链的数字存证平台和存证方法 |
CN111191284A (zh) * | 2019-12-27 | 2020-05-22 | 中国司法大数据研究院有限公司 | 一种基于区块链技术的敏感信息司法存证的处理方法、装置及系统 |
CN111445238A (zh) * | 2020-02-11 | 2020-07-24 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的电子存证系统 |
WO2021043144A1 (zh) * | 2019-09-03 | 2021-03-11 | 杭州趣链科技有限公司 | 基于区块链的取证服务系统 |
CN112950415A (zh) * | 2021-03-11 | 2021-06-11 | 全链通有限公司 | 基于区块链的司法固证方法、平台和系统 |
US20210294920A1 (en) * | 2018-07-10 | 2021-09-23 | Netmaster Solutions Ltd | A method and system for managing digital evidence using a blockchain |
CN113468598A (zh) * | 2021-06-29 | 2021-10-01 | 浙江数秦科技有限公司 | 基于区块链的存证保全公证系统和方法 |
CN113836568A (zh) * | 2021-09-06 | 2021-12-24 | 海南海锐众创科技有限公司 | 一种电子证据司法鉴定的方法 |
-
2023
- 2023-08-08 CN CN202310988940.5A patent/CN116702219B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210294920A1 (en) * | 2018-07-10 | 2021-09-23 | Netmaster Solutions Ltd | A method and system for managing digital evidence using a blockchain |
WO2021043144A1 (zh) * | 2019-09-03 | 2021-03-11 | 杭州趣链科技有限公司 | 基于区块链的取证服务系统 |
CN110912937A (zh) * | 2019-12-23 | 2020-03-24 | 杭州中科先进技术研究院有限公司 | 一种基于区块链的数字存证平台和存证方法 |
CN111191284A (zh) * | 2019-12-27 | 2020-05-22 | 中国司法大数据研究院有限公司 | 一种基于区块链技术的敏感信息司法存证的处理方法、装置及系统 |
CN111445238A (zh) * | 2020-02-11 | 2020-07-24 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的电子存证系统 |
CN112950415A (zh) * | 2021-03-11 | 2021-06-11 | 全链通有限公司 | 基于区块链的司法固证方法、平台和系统 |
CN113468598A (zh) * | 2021-06-29 | 2021-10-01 | 浙江数秦科技有限公司 | 基于区块链的存证保全公证系统和方法 |
CN113836568A (zh) * | 2021-09-06 | 2021-12-24 | 海南海锐众创科技有限公司 | 一种电子证据司法鉴定的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116702219B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8190903B2 (en) | Method and apparatus for verifying authenticity of digital data using trusted computing | |
EP3710974B1 (en) | Method and arrangement for detecting digital content tampering | |
US10516662B2 (en) | System and method for authenticating the legitimacy of a request for a resource by a user | |
US7975145B2 (en) | Apparatus and program for update of time stamp | |
CN111460526A (zh) | 基于区块链的影像数据记录、获取、验证方法及装置 | |
US8166122B2 (en) | Method and apparatus for generating a figure of merit for use in transmission of messages in a multi-level secure environment | |
CN109995776B (zh) | 一种互联网数据验证方法及系统 | |
US8312284B1 (en) | Verifiable timestamping of data objects, and applications thereof | |
CN105025041A (zh) | 文件上传的方法、装置和系统 | |
CN110969207B (zh) | 电子证据处理方法、装置、设备以及存储介质 | |
CN112950415B (zh) | 基于区块链的司法固证方法、平台和系统 | |
CN109861996B (zh) | 基于区块链的关系证明方法、装置、设备及存储介质 | |
CN110830259A (zh) | 为多媒体数据提供原始性和完整性证明的方法及系统 | |
CN110598452B (zh) | 基于区块链的证据信息处理方法、装置、存储介质和设备 | |
CN106713297B (zh) | 基于云服务的电子数据固定平台 | |
CN118114222A (zh) | 一种数据产品的认证方法、装置、系统、设备及介质 | |
CN116702219B (zh) | 一种基于区块链的可信固证方法和装置 | |
US11770260B1 (en) | Determining authenticity of digital content | |
CN114979109B (zh) | 行为轨迹检测方法、装置、计算机设备和存储介质 | |
CN115550376A (zh) | 一种基于终端设备的物联网数据上链方法及系统 | |
CN110992219A (zh) | 一种基于区块链技术的知识产权保护方法、系统 | |
CN116233125A (zh) | 核酸检测相关数据的存储方法、装置、设备和介质 | |
CN113407213B (zh) | 资源包更新方法、装置、设备及存储介质 | |
CN111127183A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
Aturban et al. | Difficulties of timestamping archived web pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |