发明内容
针对上述问题,本发明一方面提供了一种基于区块链的信息处理方法,所述方法包括:获取消息组并将所述消息组存储到存储系统中,并且生成与所述消息组相对应的消息组存储地址;对所述消息组进行数字摘要计算,以获得与所述消息组相对应的数字签名;以及将所述消息组存储地址和所述数字签名存储在相应的交易信息的备注字段中。
在一种实施方式中,所述交易信息存储在区块链账本中。
在一种实施方式中,所述消息组从中间服务器获得。
在一种实施方式中,所述存储系统为分布式存储系统或去中心化存储系统。
本发明另一方面还提供了一种基于区块链的信息处理系统,所述系统包括:消息单元,被配置为获取消息组并将所述消息组存储到存储系统中,并且生成与所述消息组相对应的消息组存储地址;加密单元,被配置为对所述消息组进行数字摘要计算,从而获得与所述消息组相对应的数字签名;以及字段写入单元,被配置为将所述消息组存储地址和所述数字签名存储在交易信息的备注字段中。
在一种实施方式中,所述交易信息存储在区块链账本中。
在一种实施方式中,所述消息组从中间服务器获得。
在一种实施方式中,所述存储系统为分布式存储系统或去中心化存储系统。
本发明另一方面还提供了一种基于区块链的信息验证方法,所述方法包括:获取目标对象的生命周期信息;基于所述生命周期信息中的多个交易信息存储地址,获得与所述多个交易信息存储地址相对应的多个交易信息;基于所述多个交易信息中的第一交易信息产生的时间和第二交易信息产生的时间来确定所述多个交易信息产生的时间的正确性;如果所述多个交易信息产生的时间是正确的,则基于所述第一交易信息产生的时间与所述第二交易信息产生的时间来获得相应的多个消息组,其中,所述第一交易信息产生的时间不同于所述第二交易信息产生的时间;对所述多个消息组进行数字摘要计算以获得相应的多个当前的数字签名;以及通过比较所述多个当前的数字签名与相应的多个历史数字签名来确定所述多个当前的数字签名的正确性。
在一种实施方式中,基于在所述第一交易信息产生的时间与所述第二交易信息产生的时间之间产生的交易信息中的多个消息组存储地址来获得所述相应的多个消息组。
在一种实施方式中,所述多个交易信息产生的时间是正确的是指所述第一交易信息产生的时间与第一指定时间一致并且所述第二交易信息产生的时间与第二指定时间一致,其中所述第一指定时间不同于所述第二指定时间。
本发明另一方面还提供了一种基于区块链的信息验证验证系统,所述系统包括:生命周期信息获取单元,被配置为获取目标对象的生命周期信息;交易信息获取单元,被配置为基于所述生命周期信息中的多个交易信息存储地址,获得与所述多个交易信息存储地址相对应的多个交易信息;时间确定单元,被配置为基于所述多个交易信息中的第一交易信息产生的时间和第二交易信息产生的时间来确定所述多个交易信息产生的时间的正确性;消息组获取单元,被配置为如果所述多个交易信息产生的时间是正确的,则基于所述第一交易信息产生的时间与所述第二交易信息产生的时间来获得相应的多个消息组,其中,所述第一交易信息产生的时间不同于所述第二交易信息产生的时间;计算单元,被配置为对所述多个消息组进行数字摘要计算以获得相应的多个当前的数字签名;以及签名确定单元,被配置为通过比较所述多个当前的数字签名与相应的多个历史数字签名来确定所述多个当前的数字签名的正确性。
在一种实施方式中,基于在所述第一交易信息产生的时间与所述第二交易信息产生的时间之间产生的交易信息中的多个消息组存储地址来获得所述相应的多个消息组。
在一种实施方式中,所述多个交易信息产生的时间是正确的是指所述第一交易信息产生的时间与第一指定时间一致并且所述第二交易信息产生的时间与第二指定时间一致,其中所述第一指定时间不同于所述第二指定时间。
本发明另一方面还提供了一种计算机可读存储介质,所述存储介质包括指令,所述指令被执行时,使得所述计算机的处理器执行上述提供的信息处理方法和信息验证方法中的任一项所述的方法。
技术效果:本发明通过物联网和区块链技术来解决养殖户与消费者之间的信息不对称及信任问题。通过传感器设备记录养殖产品的整个生命周期信息,并通过区块链技术来保证这些信息真实可靠不可篡改,让普通消费者相信自己买到的是高品质的农产品,实现多方共赢。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。
以下结合附图对本发明进行详细描述。
本文针对的目标对象为家禽(例如,鸡,鸭,鹅等养殖产品),但应理解的是目标对象可以不局限于家禽,还可以是其它养殖产品或非养殖产品。本文中的生命周期信息包括入栏时间、每天步数、每天坐标、出栏时间、屠宰时间、检疫机构、检疫时间、多个交易信息存储地址(即交易信息在区块链上的存储地址)等。其中,每个交易信息存储地址对应于一个交易信息。本文中的消息组是指多条消息的组合,并且一条消息中可以包括多条信息。
如图1所示,示出了根据本发明的实施例的基于区块链的信息处理方法的流程图。该基于区块链的信息处理方法包括以下步骤:
步骤S101:获取消息组并将消息组存储到存储系统中,并且生成与消息组相对应的消息组存储地址。
在该步骤中,消息组可以通过以下步骤获得:中间服务器从信息采集单元获取目标对象的实时信息(包括坐标、运动步数、进食材料、进食量等等);消息单元定期(例如,每五分钟、每十分钟、每半小时或每一小时,可以依据用户需求进行调整)从中间服务器获取多条消息并将多条消息打包成消息组。在一个实施方式中,信息采集单元为具有唯一的ID并且表面附有相应的二维码的物联网中的传感器设备,该传感器设备内部含有计步模块、定位模块等,传感器设备被固定在目标对象身上(例如,通过卡扣环的方式固定在腿部),该传感器设备与目标对象绑定后,就可以记录目标对象的实时信息。一个实施方式中,中间服务器通过多个通信基站(例如,一个基站的覆盖范围为半径15米)从信息采集单元获取实时信息,其中,每个通信基站接收在其附近移动的传感器设备发出的信号,并将接收到的信号转换成消息发往中间服务器,中间服务器包括消息中间件(例如,MQTT,消息队列遥测传输),消息中间件可以起到削峰填谷作用,可以缓存消息。应理解的是,可以通过多种合适的方式(例如,NFC、RFID等)来传送信息。在一个实施方式中,消息组存储地址为URL格式的地址信息,通过该存储地址可以查询并下载相应消息组。由于传感器设备传送的信息量庞大,这些传送的信息不会直接存储在区块链上,而是将信息以消息组的形式通过存储系统进行存储而只是将消息组存储地址和与消息组相对应的数字签名存储在区块链账本中,并且为了防止单个消息组过大,间隔一定时间(例如,每五分钟、每十分钟、每半小时或每一小时,可以依据用户需求进行调整)生成一个新消息组进行存储。应理解的是,本文中的存储系统可以是分布式存储系统或去中心化存储系统(例如,IPFS,即星际文件系统),也可以为其它合适的存储系统。
步骤S102:对消息组进行数字摘要计算,以获得与消息组相对应的数字签名。
在一个实施例中,通过SHA-256算法对存储的消息组进行数字摘要计算。应理解的是,可以采用MD5算法或其它任意合适的算法对存储的消息组进行数字摘要计算。还应理解的是,一个特定的消息组对应于一个特定的数字签名。
步骤S103:将消息组存储地址和获得的数字签名存储在交易信息的备注字段中。
在该步骤中,在区块链中发起交易,将消息组存储地址和获得的数字签名存储在交易信息中的备注字段(例如格式为,路径信息|数字签名)中。其中,交易信息被广播到区块链网络,然后区块链上的所有节点将交易信息存储到各自的区块链账本中。存储到交易信息中的数字签名也称为历史数字签名,如果存储到存储系统中的消息组中的原始内容被修改,则再次对消息组进行摘要计算时将得到与历史数字签名不同的当前的数字签名。
上述方法通过区块链技术来保证养殖产品的生命周期信息真实可靠不可篡改,使普通消费者相信自己买到的是高品质的农产品。
本发明还提供了一种基于区块链的信息处理系统,如图2所示,示出了基于区块链的信息处理系统的框图。
信息处理系统200包括消息单元201、加密单元202和字段写入单元203。
消息单元201被配置为获取消息组并将消息组存储到存储系统中,并且生成与消息组相对应的消息组存储地址;加密单元202,被配置为对消息组进行数字摘要计算,从而获得与消息组相对应的数字签名;字段写入单元203,被配置为将消息组存储地址和数字签名存储在交易信息的备注字段中。交易信息存储在区块链账本中。一个实施方式中,消息组从中间服务器获得,其中,中间服务器为任何合适的可以起到缓存和存储消息的服务器。在一个实施方式中,加密单元202还被配置为通过SHA256算法或MD5算法对消息组进行数字摘要计算。
如图3所示,示出了基于区块链的信息验证方法的流程图。
在步骤S301中,获取目标对象的生命周期信息,具体地,消费者购买目标对象后,通过扫描信息采集单元上的二维码,可查询到目标对象的生命周期信息(应理解,还可以通过其它合适的方式(例如,可以通过感应信息采集单元内的RFID芯片)来获取生命周期信息,取决于生命周期信息的存储方式)。
在步骤S302中,通过多个交易信息存储地址查询到与多个交易信息存储地址相对应的多个交易信息,其中,每个交易信息存储地址对应于一个交易信息,且每个交易信息包括交易产生的时间、与交易相对应的消息组存储地址和与消息组相对应的历史数字签名等。本文指的多个交易信息可以是生命周期中的所有的交易信息,也可以只是生命周期中的部分交易信息。
在步骤S303中,基于多个交易信息中的第一交易信息产生的时间和第二交易信息产生的时间来确定多个交易信息产生的时间的正确性,具体地,比较第一交易信息产生的时间与第一指定时间是否一致并且第二交易信息产生的时间与第二指定时间是否一致,其中,第一交易信息产生的时间不同于第二交易信息产生的时间;这里的第一指定时间和第二指定时间可以由消费者指定。在一个实施方式中,第一指定时间为入栏时间,第二指定时间为出栏时间,并且第一交易信息产生的时间为第一笔交易产生的时间,第二交易信息产生的时间为最后一笔交易产生的时间。应理解的是,第一交易信息和第二交易信息并没有特定产生先后时间顺序,并且可以为生命周期中的任意一笔交易信息。
在步骤S304中,如果第一交易时间与第一指定时间一致并且第二交易时间与第二指定时间一致,则确定多个交易信息产生的时间是正确的,并且通过第一交易信息产生的时间与第二交易信息产生的时间之间产生的交易信息中的多个消息组存储地址,查询到并下载与多个消息组存储地址相对应的多个消息组并执行步骤S305,否则执行步骤S309。
在步骤S305中,对步骤S304中获得的多个消息组进行数字摘要计算,得到相应的多个当前的数字签名。一个实施方式中,分别对多个消息组中的每个消息组进行数字摘要计算,获得与每个消息组相对应的当前的数字签名。
在步骤S306中,通过比较多个当前的数字签名与相应的多个历史数字签名来确定多个当前的数字签名的正确性,具体地,确定每个当前的数字签名与相应的历史数字签名是否都一致。
在步骤S307中,如果每个当前的数字签名与相应的历史数字签名都一致,则获得的消息组未被篡改过,否则执行步骤S308。
在步骤S308中,获得的消息组被篡改过。
在步骤S309中,所获得的多个交易信息中有交易信息被篡改过。
本发明还提供了一种基于区块链的信息验证系统,如图4所示,信息验证系统400包括生命周期信息获取单元401、交易信息获取单元402、时间确定单元403、消息组获取单元404、计算单元405和签名确定单元406。生命周期信息获取单元401被配置为获取目标对象的生命周期信息;交易信息获取单元402被配置为被配置为基于生命周期信息中的多个交易信息存储地址,获得与多个交易信息存储地址相对应的多个交易信息;时间确定单元403,被配置为基于多个交易信息中的第一交易信息产生的时间和第二交易信息产生的时间来确定多个交易信息产生的时间的正确性;消息组获取单元404被配置为如果多个交易信息产生的时间是正确的,则基于第一交易信息产生的时间与第二交易信息产生的时间来获得相应的多个消息组,其中,第一交易信息产生的时间不同于第二交易信息产生的时间;计算单元405被配置为被配置为对多个消息组进行数字摘要计算以获得相应的多个当前的数字签名;签名确定单元406,被配置为通过比较多个当前的数字签名与相应的多个历史数字签名来确定多个当前的数字签名的正确性。
此外,图1和图3中的数据处理方法的流程还代表机器可读指令,该机器可读指令包括由处理器执行的程序。该程序可被实体化在被存储于有形计算机可读介质的软件中,该有形计算机可读介质如CD-ROM、软盘、硬盘、数字通用光盘(DVD)、蓝光光盘或其它形式的存储器。替代的,图1和图3中的示例方法中的一些步骤或所有步骤可利用专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(EPLD)、离散逻辑、硬件、固件等的任意组合被实现。另外,虽然图1和图3所示的流程图描述了该数据处理方法,但可对该处理方法中的步骤进行修改、删除或合并。
如上所述,可利用编码指令(如计算机可读指令)来实现图1和图3的示例过程,该编程指令存储于有形计算机可读介质上,如硬盘、闪存、只读存储器(ROM)、光盘(CD)、数字通用光盘(DVD)、高速缓存器、随机访问存储器(RAM)和/或任何其他存储介质,在该存储介质上信息可以存储任意时间(例如,长时间,永久地,短暂的情况,临时缓冲,和/或信息的缓存)。如在此所用的,该术语有形计算机可读介质被明确定义为包括任意类型的计算机可读存储的信号。附加地或替代地,可利用编码指令(如计算机可读指令)实现图1和图3的示例过程,该编码指令存储于非暂时性计算机可读介质,如硬盘,闪存,只读存储器,光盘,数字通用光盘,高速缓存器,随机访问存储器和/或任何其他存储介质,在该存储介质信息可以存储任意时间(例如,长时间,永久地,短暂的情况,临时缓冲,和/或信息的缓存)。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。