1.本发明属于区块链及计算机存储系统技术领域,特别涉及到上链存证系统涉及的协议技术,即一种数据或文件的两段式哈希上链存证方法。
背景技术:
2.区块链(blockchain)是一种分布式账本系统,由多个节点共同维护,其特点是不易篡改、很难伪造、可追溯。区块链记录发生交易的所有信息,一旦数据进入了区块链,即使是内部工作人员在区块链中也无法做任何更改。这种不可更改的特点不是来自使用某种操作,而是由于区块链系统和机制本身。这使得运用区块链技术较之其他安全技术而言更为简便和有效。凡是需要公正、公平、诚实的地方,都可以使用区块链技术。
3.区块链虽然有很好的存储结构以及安全机制,可以用来做存证系统,上链后,数据不能再被更改,并由此区块链系统常常被人使用于朔源系统。但是如果上传的数据或文件已经被更改,或是上传后,在系统操作的时候,有错误或是发生人为的恶意篡改,那么存储在区块链上的数据便会有问题。通过问题发生的过程可知,问题不是发生在上链后,而是发生在上链前(例如上传错误的数据或是文件),或是上链过程中(例如操作员犯错或是故意更改)。如果存证的文件是具有法律效力的文件,就会引起法律纠纷。上链前出现的数据问题可以通过例如预言机机制进行解决。
4.传统方式上,文件朔源处理方式就是将原始文件到公证处进行公证。公证处检验后认为真实的,会在文件的拷贝上加盖公证处章,证明拷贝是真实的。例如原始文件是毕业证书,当事人提供原始文件到公证处后,如果经公证处检验认为该毕业证书是真实的,就会在拷贝件上盖章。当事人就可以基于经过盖章的拷贝件去申请工作或学校。区块链朔源系统也需要类似这样的机制,但是区块链并不具备公证处的职能(虽然可以和公证处合作),因此区块链无法检验数据或是文件的真实性,但是区块链可以确保如下几点:1)原始数据或文字存在,并且没有被篡改过;2)区块链出示上面有区块链“章”(例如该区块链签名信息以及数据和文件信息,包括数据和文件的哈希值、时间戳和/或块信息)的新数据或新文件后,取得该新数据或新文件的用户可以检验信息是否真实,检验的原理在于可以通过文件上的“章”找到区块链后,通过区块链找到原始信息。
5.然而,朔源面临来自多方的攻击,例如数据被更改,数据没有被保存,数据没有被签名等。这些都是区块链系统已经解决的问题,但是数据或文件在被上传处理的过程中发生的更改,传统区块链上链方式是无法解决,这一过程,操作员可以更改文件,例如在加盖区块链信息(哈希信息和时间戳)的更改流程中,操作员可以做微小的修改,原始数据或文件的提供者没有细查或者没有察觉,经过上传流程后就将一份被更改的数据或被更改的文件存储固定在区块链系统中。如果上传者对此进行签名并认定这是真版,则被篡改的版本摇身一变成为真版,原始数据或文件就被无端作废。即使后来在法庭上,都可能会由于上传者签名认定区块链上所存储数据或文件的真实性而以假乱真,这是非常严重的。
6.现有的存证方法,如cn108304710a公开了一种基于区块链的融入身份认证功能的电子印章签章方法,用区块链的不可篡改性,提供电子印章加盖的服务,在其服务中,建立了电子印章的管理查询链,需要终端的操作均在链上进行。通过终端将需要盖章的电子文件上传至签章云服务器上等待盖章,对需要加盖电子公章的多方电子文件均进行哈希运算,获取哈希值,加盖时间戳并提取文件摘要信息以及盖印人的真实身份信息及其盖印时的经纬度信息;把哈希值、时间戳、加盖电子印章后的电子文件的摘要信息、盖印人信息嵌入到区块链中。该技术提供电子印章的服务,并且假设环境,系统以及操作员是诚实的,不会在盖章和上链流程上舞弊,即利用传统区块链的非篡改性来加盖公章,提高文件公信度,由于该方法是假设盖章和上链流程,系统和操作员不会作弊,所以只需要上链存证一次。此外,国外的bystamp、stampd、以及oodles等公司的电子章的解决方案也都是采取类似的方法,即只上链一次。然而,这种存证一次的方案并不能防止文件在上传的过程中被篡改,目前还没有针对上链过程中出现的数据错误问题的行之有效的解决方案。
技术实现要素:
7.本发明为了解决上链过程中可能出现的数据问题,提出一种数据或文件两段式哈希上链协议,,适用于对文件不可篡改性有高要求和对具有法律效力的文件,进行保护,例如律师函,知识产权书等文件。并且本协议可以使用在非法律应用上,例如食品、医药、医疗、政务、能源、金融等。协议对应具体的两段式哈希上链方法,结合文件、文件哈希与时间戳3维度设计两段式上链流程,并分别存储在不同区块中,确保在上链过程中操作员不会犯错(不论是不小心还是故意为之),从而使得使用者对所使用文件的真实性更加放心。
8.本发明的目的在于提出一种数据或文件的两段式哈希上链存证方法,包含两段哈希存储计算过程,包括如下步骤:步骤1,第一段哈希存储计算过程,包括:步骤11,对上传的第一文件(f1)进行哈希计算后获得第一哈希值(h1),并打上第一时间戳(t1);步骤12,将所述第一哈希值(h1)和所述第一时间戳(t1)同时存储在区块链溯源系统的区块链上;步骤2,第二段哈希存储计算过程,包括:步骤21,将所述第一哈希值(h1)以及区块链附加信息(z)附加到所述第一文件(f1)上,获得第二文件(f2);步骤22,对附加后的所述第二文件(f2)进行哈希计算后获得第二哈希值(h2),并打上第二时间戳(t2);步骤23,将所述第二哈希值(h2)和所述第二时间戳(t2)同时存储在区块链溯源系统的区块链上。
9.优选的,所述区块链溯源系统中同时存储文件、文件哈希与时间戳三个维度的信息。
10.优选的,所述步骤1由区块链溯源系统完成作业,或者由使用所述区块链溯源系统的客户和区块链溯源系统一起完成;所述步骤1由使用所述区块链的客户和区块链系统合作完成的情况下,所述客户使用手机或计算机系统提供的客户端获得所述第一文件的第一
哈希值,并将所述第一文件包含的文字和所述第一哈希值一起打包、加密和签名后形成数据包,将所述数据包送交到区块链朔源系统,所述区块链朔源系统接到所述数据包后,将所述数据包打开并验证其中所述第一文件的身份,证实所述身份后,检验所述文件和所述第一哈希值是否一致,如果一致,则将所述第一文件(h1)和所述第一时间戳(t1)共同存储在所述区块链上,如果不一致,则拒绝将所述第一文件(h1)和所述第一时间戳(t1)共同存储在所述区块链上,并通知所述第一文件(h1)的上传者。
11.优选的,在这中间过程,所述区块链溯源系统还包括其他验证流程,所述其他验证流程包括:在第3方网站证实所述第一文件(h1)的真实性,或与公证处合作证实所述第一文件(h1)的真实性。这些都是可以添加的功能,都可以和本专利的机制一起合作,而本专利都覆盖这些场景。
12.优选的,所述区块链溯源系统的应用方也可以对所述第一文件(h1)和所述第二文件(h2)使用加密算法和/或签名算法。
13.优选的,所述区块链附加信息(z)包括所述第一段哈希存储计算过程的所述区块链中的块信息或所述区块链的身份信息,采用电子印章或者区块链溯源系统中的电子身份的形式。
14.优选的,所述区块链的身份信息表示区块链朔源系统的身份证信息,包括区块链服务商信息、版本、时间信息和/或公证处、机构或单位的审批证明,其中所述区块链服务商信息包括注册信息、公司名称和/或品牌信息。
15.优选的,所述区块链可以为不同的种类或品牌,所述区块链使用相同或不同的共识机制,所述区块链使用相同或不同的数据库、加密算法、网络协议和数据结构,所述区块链包括预言机或不包括预言机。
16.优选的,所述哈希计算的算法为md5、sha-1、sha-2、sha-256、sha-512、sha-3或ripemd-160算法,当然本领域技术人员根据需要也可以使用其他公知的算法。
17.优选的,还包括针对所述区块链存储进行辅助存储的步骤,所述辅助存储采用普通数据库或大数据平台实施,在所述辅助存储实施过程中,所述普通数据库或大数据平台存储与所述区块链溯源系统中与所述第一文件(f1)和所述第二文件(f2)分别一一对应的哈希值和时间戳数据。
18.本发明的有益效果:1)防止无意或恶意更改原始数据:通过对原始的第一文件(f1)的计算,保证了原来文件(f1)中的数据没有改变,特别是客户可以通过手机或服务器,自己先计算文件哈希值,然后才发出对应的文件,从而客户通过区块链溯源系统是否回复第一文件、第一文件的哈希值以及第一块信息的方式可以验证区块链朔源系统是否收到同样信息,即通过自身就能进行简单的提前校验。
19.2)防止区块链朔源系统更改文件通过第二哈希值(h2)的计算,保证了第一文件(f1)在发出请求到上传存储系统这之间文件内容和数据并没有发生改变,同时客户也可以由此验证第二文件(f2)内所包含的第一文件(f1)没有被更改。
20.3)通过第一时间戳(t1) 和第二时间戳( t2)之间的差异确定上链的公信力。
21.4)不同于现有技术所提供的电子印章服务,本发明重点不是电子印章,而是提供
一种更加安全的存证机制,可以使用现有的电子印章方法,也可以提供其他的电子印章方法,或者存储于其他区块链上,基本解决构思在于通过两段式的存证机制,既存源文件及其哈希值,又存加盖电子印章后的文件和哈希值,以同时解决文件上链时候防止任何参与方更改相关文件或数据的技术问题。
22.5)无需假设使用环境中系统以及操作员必须是诚实的,不会在盖章和上链流程上舞弊;在基于系统或操作员上链的流程中都存在舞弊可能的情况下也能实施该方法,确保上链后的文件和数据不能被修改。
23.6)有别于现有技术中利用传统区块链的非篡改性来加盖公章,提高文件公信度,采取的两段式上链存证防止在流程中作弊情形,其中第一次上链的技术效果与现有技术的上链效果相同,而第二次上链流程中,电子章是盖在第一次上链信息上的,这就保证在这流程,文件没有被篡改,这是一次上链机制无法做到的。
24.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
25.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:图1为根据本发明实施例的数据或文件的两段式哈希上链存证方法流程图。
具体实施方式
26.为了使得本发明能够针对其发明要点更加明显易懂,下面将结合附图和实例对本发明作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
27.如图1所示本实施例提出一种两段式两块式的文件上链存证协议,适用于对文件不可篡改性有高要求和对具有法律效力的文件,进行保护,例如律师函,知识产权书等文件。并且本协议可以使用在非法律应用上,例如食品、医药、医疗、政务、能源、金融等。本实施例不限制区块链种类或是品牌,只要是这条区块链有共识机制(包括使用不同共识机制)使用不同数据库,不同加密算法,不同网络协议,不同数据结构、有预言机或是没有预言机,本实施例都覆盖。
28.由于文件上可以包含数据,本实施例讨论的是以文件代表数据以及文件。
29.数据或文件的两段式哈希上链存证方法,包含两段哈希存储计算过程,区块链溯源系统中同时存储文件、文件哈希与时间戳三个维度的信息。包括如下步骤:步骤1,第一段哈希存储计算过程,包括:步骤11,对上传的第一文件f1进行哈希计算后获得第一哈希值h1,即h1= hashf1,并打上第一时间戳t1;
步骤12,将第一哈希值h1和第一时间戳t1同时存储在区块链溯源系统的区块链上;步骤2,第二段哈希存储计算过程,包括:步骤21,将第一哈希值h1以及区块链附加信息z附加到第一文件f1上,获得第二文件f2;步骤22,对附加后的第二文件f2进行哈希计算后获得第二哈希值h2,即h2=hashf2=hashf1+h1,并打上第二时间戳t2;步骤23,将第二哈希值h2和第二时间戳t2同时存储在区块链溯源系统的区块链上。
30.步骤1由区块链溯源系统完成作业,或者由使用区块链溯源系统的客户和区块链溯源系统一起完成;步骤1由使用区块链的客户和区块链系统合作完成的情况下,客户使用手机或计算机系统提供的客户端获得第一文件的第一哈希值,并将第一文件包含的文字和第一哈希值一起打包、加密和签名后形成数据包,将数据包送交到区块链朔源系统,区块链朔源系统接到数据包后,将数据包打开并验证其中第一文件的身份,证实身份后,检验文件和第一哈希值是否一致,如果一致,则将第一文件h1和第一时间戳t1共同存储在区块链上,如果不一致,则拒绝将第一文件h1和第一时间戳t1共同存储在区块链上,并通知第一文件h1的上传者。
31.在这中间过程,区块链溯源系统还包括其他验证流程,其他验证流程包括:在第3方网站证实第一文件h1的真实性,或与公证处合作证实第一文件h1的真实性。这些都是可以添加的功能,都可以和本专利的机制一起合作,而本专利都覆盖这些场景。
32.区块链溯源系统的应用方也可以对第一文件h1和第二文件h2使用加密算法和/或签名算法。
33.区块链附加信息z包括第一段哈希存储计算过程的区块链中的块信息或区块链的身份信息,采用电子印章或者区块链溯源系统中的电子身份的形式。
34.区块链的身份信息表示区块链朔源系统的身份证信息,包括区块链服务商信息、版本、时间信息和/或公证处、机构或单位的审批证明,其中区块链服务商信息包括注册信息、公司名称和/或品牌信息。
35.区块链可以为不同的种类或品牌,区块链使用相同或不同的共识机制,区块链使用相同或不同的数据库、加密算法、网络协议和数据结构,区块链包括预言机或不包括预言机。
36.哈希计算的算法为md5、sha-1、sha-2、sha-256、sha-512、sha-3或ripemd-160算法,当然本领域技术人员根据需要也可以使用其他公知的算法。
37.还包括针对区块链存储进行辅助存储的步骤,辅助存储采用普通数据库或大数据平台实施,在辅助存储实施过程中,普通数据库或大数据平台存储与区块链溯源系统中与第一文件f1和第二文件f2分别一一对应的哈希值和时间戳数据;如表1所示辅助存储中数据表格式。
38.表1辅助存储中数据表格式序号哈希值时间戳文件1h1t1f1
2h2t2f2完成了这样的操作后,区块链上就有了两个哈希值,一个是文件f1的哈希h1,一个是f2的哈希h2。
39.本实施例的两段式机制防止文件或数据上传时可能出现的问题:1防止无意或恶意更改原始数据:通过对原始的第一文件f1的计算,保证了原来文件(f1)中的数据没有改变,特别是客户可以通过手机或服务器,自己先计算文件哈希值,然后才发出对应的文件,从而客户通过区块链溯源系统是否回复第一文件、第一文件的哈希值以及第一块信息的方式可以验证区块链朔源系统是否收到同样信息,即通过自身就能进行简单的提前校验。
40.2防止区块链朔源系统更改文件通过第二哈希值h2的计算,保证了第一文件f1在发出请求到上传存储系统这之间文件内容和数据并没有发生改变,同时客户也可以由此验证第二文件f2内所包含的第一文件f1没有被更改。
41.3通过第一时间戳t1 和第二时间戳 t2之间的差异确定上链的公信力。
42.第一时间戳t1 和第二时间戳 t2两个时间戳的间隔应该是很短的,因为第一段存储完成之后,立刻进行第二段存储操作。第一时间戳t1 和第二时间戳 t2的时间间隔就是两段存储操作消耗的时间。这个时间是很短的,但具体情况可以根据网络通信环境的质量和系统存储的性能而定。但不管怎么,这个时间间隔是必须是短的例如3秒以内。如果第一时间戳t1 和第二时间戳 t2的时间间隔长,那么就有可能存储文件被篡改的情况,因为有了篡改操作所消耗的时间。因此,如果第一时间戳t1 和第二时间戳 t2差异超过预定的时段,这次上链就算失败。
43.传统的区块链溯源操作发生在上链一次,打上时间戳以后。许多区块链溯源系统都仅上链一次例如ibm food trust工具。但是许多上链后都附带区块链“章”。目前面临的问题在于如果区块链溯源系统如果仅存放一份文件,应该存放原始的第一文件f1,还是盖章的第二文件f2,如果存放第一文件f1,那么区块链溯源系统之外传播的第二文件f2是不是正确,由于放在数据库的两份文件f1 和f2都可以被更改,攻击者可以将数据库上的f1和f2一起更改,当用户取到的实际上存在虚假数据的第二文件f2,而该第二文件f2指向虚假的第一文件f1,即使经过查询也都会被认定为是真的,以至于攻击成功而存在区块链上的真实数据所在的第一文件f1,由于没有被指引,很难被发现和比较。
44.如果存放的是第二文件f2,客户会挑战区块链溯源系统在上链时没有存放第一文件f1而可能存在更改数据的情况,从而不接受第二文件f2。
45.因此综合考虑两份文件f1和f2都应该被存储区块链朔源系统上面。
46.另外f2除了盖“章”外,在上链流程中有没有更改原来内容。如果文件有少许的更改量,这是很难察觉出来。在法律文件,文字多,只要更改几个字,法律条款的意义就相差很大。例如将生效日期12月1日改为12月11日,可能就会有影响例如事件发生在12月2日,不在篡改的有效期内。这种更改可能是因为打上时间戳时覆盖的,也可能是上传文件的操作员的误操作,也不排除是操作人员故意篡改的。这样就可能将一个已经更改的不正确的文件上传到链上。
47.本实施例由于使用两段式哈希上链存证的协议而避免上面一系列问题的出现。
实施例
48.用户a将凭证材料f1通过手机app客户端上传至区块链客户端c上,区块链客户端c对凭证材料f1通过哈希算法计算其哈希值,即h1= hashf1,哈希算法可以是sha-512、sha-384等算法。区块链客户端c将文件f1、文件f1计算出来的哈希值h1和当前时间戳t1以交易的形式放入区块中,并将建好的区块广播给区块链b的各个共识节点。
49.区块链b的各个共识节点在收到区块,对区块中交易文件f1、文件f1哈希值和时间戳之后进行验证,验证包括签名验证和文件哈希验证,并将验证结果发给各个区块链共识节点。各个区块链共识节点在收到验证结果之后进行投票,对于通过投票的交易,区块链生成
ꢀ“
凭证章”凭证z,如果一致,可以将文件,h1, t1(时间戳)一起放进块。如果不一致,就拒绝这次上链,通知用户a。同时将文件f1、哈希值h1和凭证z打包生成新的文件f2,并进行投票和共识,对通过的交易,附加到文件f1上,得到文件f2,即f2=f1+h1+z,。然后再对附加后的文件f2进行哈希计算,得出新的哈希值h2,即h2=hashf2=hashf1+h1,并添加上时间戳t2存储区块链bc上。
50.在查询文件时候,客户d从区块链客户端通过读取用户第二次存证的文件f2。而f2指向f1,也包含h1, 而f2和f1都存在区块链上,保证这两份文件都没有篡改过,而同时f2保证f1没有被篡改。
51.用户d拿着原始文件f1进行哈希,得出的结果与f2提供的哈希值h1是一样的,这样就确保了原始文件f1的一致性。
52.另外,用户d还可以比较时间戳t1和时间戳t2,确保文件未篡改。用户a可以分享f2文件存储地址的二维码或链接,便于其他用户查看。
53.公开出示的是f2文件,而不是f1文件。这样做的原因是为了保护f1原始文件的作者的首创性。通过f1的哈希值h1来保证原始文件指纹,之后再操作f1文件的人只能是在f1的基础上进行修改,不剥夺f1的原创性。
54.虽然本发明已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下对本发明的实施例能够进行改动和修改。
技术特征:
1.一种数据或文件的两段式哈希上链存证方法,其特征在于:包含两段哈希存储计算过程,包括如下步骤:步骤1,第一段哈希存储计算过程,包括:步骤11,对上传的第一文件(f1)进行哈希计算后获得第一哈希值(h1),并打上第一时间戳(t1);步骤12,将所述第一哈希值(h1)和所述第一时间戳(t1)同时存储在区块链溯源系统的区块链上;步骤2,第二段哈希存储计算过程,包括:步骤21,将所述第一哈希值(h1)以及区块链附加信息(z)附加到所述第一文件(f1)上,获得第二文件(f2);步骤22,对附加后的所述第二文件(f2)进行哈希计算后获得第二哈希值(h2),并打上第二时间戳(t2);步骤23,将所述第二哈希值(h2)和所述第二时间戳(t2)同时存储在区块链溯源系统的区块链上。2.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述区块链溯源系统中同时存储文件、文件哈希与时间戳三个维度的信息。3.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述步骤1由区块链溯源系统完成作业,或者由使用所述区块链溯源系统的客户和区块链溯源系统一起完成;所述步骤1由使用所述区块链的客户和区块链系统合作完成的情况下,所述客户使用手机或计算机系统提供的客户端获得所述第一文件的第一哈希值,并将所述第一文件包含的文字和所述第一哈希值一起打包、加密和签名后形成数据包,将所述数据包送交到区块链朔源系统,所述区块链朔源系统接到所述数据包后,将所述数据包打开并验证其中所述第一文件的身份,证实所述身份后,检验所述文件和所述第一哈希值是否一致,如果一致,则将所述第一文件(h1)和所述第一时间戳(t1)共同存储在所述区块链上,如果不一致,则拒绝将所述第一文件(h1)和所述第一时间戳(t1)共同存储在所述区块链上,并通知所述第一文件(h1)的上传者。4.根据权利要求3所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:在这中间过程,所述区块链溯源系统还包括其他验证流程,所述其他验证流程包括:在第3方网站证实所述第一文件(h1)的真实性,或与公证处合作证实所述第一文件(h1)的真实性;这些都是可以添加的功能,都可以和本专利的机制一起合作,而本专利都覆盖这些场景。5.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述区块链溯源系统的应用方也可以对所述第一文件(h1)和所述第二文件(h2)使用加密算法和/或签名算法。6.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述区块链附加信息(z)包括所述第一段哈希存储计算过程的所述区块链中的块信息或所述区块链的身份信息,采用电子印章或者区块链溯源系统中的电子身份的形式。7.根据权利要求6所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述区块链的身份信息表示区块链朔源系统的身份证信息,包括区块链服务商信息、版本、时
间信息和/或公证处、机构或单位的审批证明,其中所述区块链服务商信息包括注册信息、公司名称和/或品牌信息。8.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述区块链可以为不同的种类或品牌,所述区块链使用相同或不同的共识机制,所述区块链使用相同或不同的数据库、加密算法、网络协议和数据结构,所述区块链包括预言机或不包括预言机。9.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:所述哈希计算的算法为md5、sha-1、sha-2、sha-256、sha-512、sha-3或ripemd-160算法,当然本领域技术人员根据需要也可以使用其他公知的算法。10.根据权利要求1所述的一种数据或文件的两段式哈希上链存证方法,其特征在于:还包括针对所述区块链存储进行辅助存储的步骤,所述辅助存储采用普通数据库或大数据平台实施,在所述辅助存储实施过程中,所述普通数据库或大数据平台存储与所述区块链溯源系统中与所述第一文件(f1)和所述第二文件(f2)分别一一对应的哈希值和时间戳数据。
技术总结
本发明提供一种数据或文件的两段式哈希上链存证方法,其中第一段哈希存储计算过程包括:对上传的第一文件(F1)哈希计算后获得第一哈希值(H1),并打上第一时间戳(T1);将第一哈希值(H1)和第一时间戳(T1)同时存储在区块链溯源系统的区块链上;第二段哈希存储计算过程包括:将第一哈希值(H1)以及区块链附加信息(Z)附加到第一文件(F1)上,获得第二文件(F2);对附加后的第二文件(F2)哈希计算后获得第二哈希值(H2),并打上第二时间戳(T2);将第二哈希值(H2)和第二时间戳(T2)同时存储在区块链溯源系统的区块链上。区块链溯源系统中同时存储文件、文件哈希与时间戳三个维度的信息,解决上链过程中数据错误问题。决上链过程中数据错误问题。决上链过程中数据错误问题。
技术研发人员:蔡维德
受保护的技术使用者:天民(青岛)国际沙盒研究院有限公司
技术研发日:2021.01.29
技术公布日:2022/3/8