一种基于区块链的存证应用交易系统及方法与流程

文档序号:14012990阅读:115来源:国知局

本发明涉及区块链技术领域,具体涉及一种基于区块链的存证应用交易系统及方法。



背景技术:

区块链的概念主要来自比特币,并随着比特币的火爆而为公众所知。区块链主要有如下特征:去中心化,集体维护,集体证明,从而产生信任,并产生价值的传递,因此,区块链技术近来得到学术界和产业界的重视,应用广泛。

然而区块链技术的应用也面临很多的问题,首先是区块链的存储问题,区块链要在各个节点都保留一个相同的备份,随着交易数量的增加,这对节点的存储能力提出了很高的要求,其二是交易性能的问题,目前bitcoin网络的性能是7tps,以太坊也只有20tps,而传统的中心化交易性能则达到上万的数量级,其三是隐私问题,区块链的特性是集体保存,公开透明,以起到集体证明产生信任的目的,这对于电子发票,医疗记录等存证类应用场景是不适合的。

对于存证类应用,可以把学历证书、知识产权、股权证明等文档资料放入区块链内,起到存证的作用,主要保证存证的文档资料的真实性、完整性,隐私性。而且,存证类文档的流转范围有限,只需要在相关方范围内流转,所以只需要在相关方集体证明即可。

现有技术中,存证应用比较成功的案例是factom,factom的主要设计思想是把文件的哈希值绑定到bitcoin网络,保证文档资料的完整性,但factom并没有对文档本身的流转进行处理。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于区块链的存证应用交易系统,不仅具有区块链的去中心化、不可篡改、集体存储、集体证明的优点,而且解决了处理性能问题,防止了数据膨胀问题,具有很好的隐私保护功能。

为达到以上目的,本发明采取的技术方案是:

一种基于区块链的存证应用交易系统,包括:

用户区块链平台,其包括至少两个可进行存证文档交易的用户单元和一监管单元,所述用户单元包括一出项子链和一进项子链,所述出项子链用于存储用户自己生成的存证文档,所述进项子链用于存储用户接收到的存证文档,所述监管单元用于备份所有用户单元内存储的存证文档;

主区块链平台,其包括第一主链和第二主链,所述第一主链用于存储每个用户单元的子链状态信息,所述子链状态信息为根据用户单元子链计算得到的哈希值,所述第二主链用于存储每个用户单元和监管单元的地址;

处理模块,其用于比较任意时刻用户单元子链的哈希值和第一主链中存储的哈希值是否相同,若不同,则反馈对应用户单元子链存证文档发生篡改。

在上述技术方案的基础上,所述出项子链和进项子链均包括顺序排列的若干区块,在后的一区块存储有前一区块的哈希值和时间戳信息。

在上述技术方案的基础上,所述用户的子链状态信息包括出项子链的状态信息和进项子链的状态信息,所述出项子链的状态信息为最后一个区块的哈希值。

在上述技术方案的基础上,存证的文档内容包括:文档信息本身、文档存证记录、文档在交易接收方中的存储位置信息。

本发明还提供了一种基于上述存证应用交易系统的存证应用交易方法,包括步骤:

用户单元将需要存证的文档顺序存储于出项子链内;

发送方的用户单元在第二主链中查询接收方的用户单元的地址,并根据所述地址向接收方的用户单元发送文档,接收方的用户单元的进项子链接收该文档后进行存储,并记录该文档在发送方的用户单元的出项子链中的存储位置信息,并向发送方的用户单元反馈该文档在接收方的用户单元的进项子链里的存储位置信息;

发送方的用户单元的出项子链接收并存储该文档在接收方的用户单元的进项子链里的存储位置信息;

监管单元备份所有用户单元内存储的存证文档;

第一主链存储每个用户单元的子链状态信息,所述子链状态信息为根据用户单元子链内容计算得到的哈希值;

处理模块比较任意时刻用户单元子链的哈希值和第一主链中存储的哈希值是否相同,若不同,则反馈对应用户单元子链存证文档发生篡改。

在上述技术方案的基础上,所述出项子链和进项子链均包括若干区块,所述出项子链和进项子链先创建一个用于存储文档的区块,每隔一段时间或存储的文档达到一定数量后创建一个新区块,在所述新区块中保存前一区块的哈希值、时间戳信息以及该时间段产生的文档。

在上述技术方案的基础上,所述出项子链和进项子链创建新区块后,将新区块的状态信息发送给监管单元,监管单元验证该新区块是否正确,若不正确,则反馈给用户重建;若正确,则存储所述新区块。

在上述技术方案的基础上,所述用户的子链状态信息包括出项子链的状态信息和进项子链的状态信息,当所述出项子链或进项子链创建一个新区块后,所述出项子链的状态信息或进项子链的状态信息为新区块的哈希值。

在上述技术方案的基础上,存证的文档内容包括:文档信息本身、文档存证记录、文档在接收方的进项子链中的存储位置信息。

在上述技术方案的基础上,当所述主区块链平台采用fabric网络时,可采用智能合约的方式,在fabric网络建立一个存储用户单元和监管单元地址的channel,当各用户单元或监管单元登录所述fabric网络时向所述channel注册自己的地址信息,所述第二主链存储该用户单元和监管单元注册的地址信息。

与现有技术相比,本发明的优点在于:

本发明的基于区块链的存证应用交易系统,两个用户进行存证文档交易时,该存证文档的相关方为交易的两个用户和监管部门,只需在三方进行资料传输和备份即可,使得平台处理性能不受用户数量的限制,不存在数据急剧膨胀的问题,具有很好的隐私保护功能;而且,该系统还包括主区块链平台,通过第一主链存储每个用户单元的子链状态信息,一旦存证文档被篡改后,用户单元的子链状态信息就会发生改变,可快速发现篡改操作。

附图说明

图1为本发明实施例中基于区块链的存证应用交易系统的结构框图;

图2为本发明实施例中基于区块链的存证应用交易方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种基于区块链的存证应用交易系统,包括用户区块链平台、主区块链平台和处理模块。

用户区块链平台包括至少两个可进行存证文档交易的用户单元和一监管单元,用户单元包括一出项子链和一进项子链,出项子链用于存储用户自己生成的存证文档,进项子链用于存储用户接收到的存证文档,监管单元用于备份所有用户单元内存储的存证文档。用户单元和监管单元的数量可以根据实际情况而定。

当基于区块链的存证应用交易系统应用于电子发票时,存证的文档为电子发票,用户单元为纳税企业,监管单元为税务局部门或工商部门。当基于区块链的存证应用交易系统应用于医疗时,存证的文档为病历、处方或检查结果等,用户单元为医生或病人,监管单元为医院或卫生局。

在本实施例中,出项子链和进项子链均包括顺序排列的若干区块,在后的一区块存储有前一区块的哈希值和时间戳信息。

主区块链平台包括第一主链和第二主链,第一主链用于存储每个用户单元的子链状态信息,子链状态信息为根据用户单元子链内容计算得到的哈希值,第二主链用于存储每个用户单元和监管单元的地址。用户的子链状态信息包括出项子链的状态信息和进项子链的状态信息,出项子链的状态信息为最后一个区块的哈希值。

存证的文档内容包括:文档信息本身、文档存证记录、文档在交易接收方中的存储位置信息等。

处理模块用于比较任意时刻用户单元子链的哈希值和第一主链中存储的哈希值是否相同,若不同,则反馈对应用户单元子链存证文档发生篡改。

本发明实施例的存证应用交易系统在应用中,用户单元为用户使用,监管单元为监管部门使用,可以实现集体存储和集体证明。监管部门获得各个用户所生成文档的完整备份,在整个系统中,一个文档至少在三个相关方存有备份:文档的生成用户、接受用户和监管部门,在相关方做到了集体存储,集体证明,在用户单元和监管单元同时出故障概率小的条件下,该系统可以稳定运行。

当用户单元中的文档资料丢失后,也可以根据监管单元中的文档备份进行恢复。进一步地,每隔一段时间对用户单元和监管单元中存证数据进行检查,若用户单元的数据损坏,除报警外,根据监管单元中的文档备份自动进行修复,若监管单元的数据损坏,则需要从所有文档生成的用户单元的子链中复制数据,并进行恢复。

存证类应用要求用户具有身份,以保证所发出的文档具有权威,真实,不可伪造或可监管,通过给用户发放数字证书的方法解决用户的身份问题。当用户单元或监管单元在进行文档恢复或查询时,需要对该用户单元或监管单元的身份进行身份认证,当身份验证通过后,根据身份信息返回所要恢复或查询的文档。

本发明的基于区块链的存证应用交易系统,两个用户进行存证文档交易时,该存证文档的相关方为交易的两个用户和监管部门,只需在三方进行资料传输和备份即可,使得平台处理性能不受用户数量的限制,不存在数据急剧膨胀的问题,具有很好的隐私保护功能;而且,该系统还包括主区块链平台,通过第一主链存储每个用户单元的子链状态信息,一旦存证文档被篡改后,用户单元的子链状态信息就会发生改变,可快速发现篡改操作,能有效防止文档资料被篡改。

参见图2所示,本发明实施例还提供了一种基于上述存证应用交易系统的存证应用交易方法,包括步骤:

s1:用户单元将需要存证的文档顺序存储于出项子链内;

s2:发送方的用户单元在第二主链中查询接收方的用户单元的地址,并根据地址向接收方的用户单元发送文档,接收方的用户单元的进项子链接收该文档后进行存储,并记录该文档在发送方的用户单元的出项子链中的存储位置信息,并向发送方的用户单元反馈该文档在接收方的用户单元的进项子链里的存储位置信息;

s3:发送方的用户单元的出项子链接收并存储该文档在接收方的用户单元的进项子链里的存储位置信息;

s4:监管单元备份所有用户单元内存储的存证文档,可以对存证文档起到很好的保护;

s5:第一主链存储每个用户单元的子链状态信息,子链状态信息为根据用户单元子链内容计算得到的哈希值;

s6:处理模块比较任意时刻用户单元子链的哈希值和第一主链中存储的哈希值是否相同,若不同,则反馈对应用户单元子链存证文档发生篡改,可快速发现篡改操作。

在本实施例中,用户区块链平台采用p2p通信在交易相关方进行存证文档数据的传输。主区块链平台采用hyperledger的fabric网络,采用智能合约的方式,在fabric网络建立一个存储用户单元和监管单元地址的channel,当各用户单元或监管单元登录fabric网络时向channel注册自己的地址信息,第二主链存储该用户单元或监管单元注册的地址信息。当两个用户单元发生存证应用交易时,发送方的用户单元通过该channel查询接收方的用户单元的地址。

出项子链和进项子链均包括若干区块,出项子链和进项子链先创建一个用于存储文档的区块,每隔一段时间或存储的文档达到一定数量后创建一个新区块,在新区块中保存前一区块的哈希值、时间戳信息以及该时段产生的文档。

出项子链和进项子链创建新区块后,将新区块的状态信息发送给监管单元,监管单元验证该新区块是否正确,若不正确,则反馈给用户重建;若正确,则存储新区块。

用户的子链状态信息包括出项子链的状态信息和进项子链的状态信息,当出项子链或进项子链创建一个新区块后,出项子链的状态信息或进项子链的状态信息为新区块的哈希值。

存证的文档内容包括:文档信息本身、文档存证记录、文档在接收方的进项子链中的存储位置信息。

基于区块链的存证应用交易方法还包括步骤:

每隔一段时间对用户单元和监管单元中存证数据进行检查,若用户单元的数据损坏,除报警外,根据监管单元中的文档备份自动进行修复,若监管单元的数据损坏,则从所有文档生成的用户单元的出项子链中复制数据,并进行恢复;

当用户单元或监管单元在进行文档恢复或查询时,需要对该用户单元或监管单元的身份进行身份认证,当身份验证通过后,根据身份信息返回所要恢复或查询的文档。

本发明的基于区块链的存证应用交易方法,两个用户进行存证文档交易时,该存证文档的相关方为交易的两个用户和监管部门,只需在三方进行资料传输和备份即可,使得平台处理性能不受用户数量的限制,不存在数据急剧膨胀的问题,具有很好的隐私保护功能;而且,该系统还包括主区块链平台,通过第一主链存储每个用户单元的子链状态信息,一旦存证文档被篡改后,用户单元的子链状态信息就会发生改变,可快速发现篡改操作。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1