本发明涉区域链领域,具体而言,涉及一种基于区块链的白酒溯源系统,包括溯源方法、一种基于区块链的溯源装置、一种服务器和一种计算机可读存储介质。
背景技术:
相关技术中,假冒白酒会给消费者的人身安全和白酒厂商的信誉带来巨大危害,白酒厂商推出很多措施打击假冒白酒。如增加防伪标签,采用短信验证真伪;采用二维码,生产运输过程中将相关信息上传到指定的数据库,消费者通过手机扫描即可看到白酒的生产及物流信息;但是这些信息都很容易被假冒厂商仿制,无法有效对白酒的真伪进行鉴别,更无法对白酒的整个生产销售过程可靠溯源。
技术实现要素:
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的目的在于提供一种基于区块链的溯源方法、一种基于区块链的溯源装置、一种服务器和一种计算机可读存储介质。
为了实现上述目的,本发明的第一方面的技术方案提供了一种基于区块链的溯源方法,适用于服务器,区块链包括主链系统与侧链系统,溯源方法包括:在接收到终端发送的指定产品的第一二维码信息后,采用消费公钥对主链系统中的产品信息进行解密,以生成与第一二维码信息对应的产品溯源信息;将产品溯源信息发送至终端,其中,产品溯源信息包括产品的状态信息、生产信息、仓储信息、运输信息以及销售信息中的至少一项。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。采用区块链技术,将生产到销售各个环节采集得到的信息加密上传至区块链系统,可以有效的整合各环节信息,实现白酒等产品从生产到最终消费的溯源。
在上述技术方案中,优选地,还包括:在接收到第一二维码信息后,将主链系统中的指定产品的当前状态信息修改为已消费状态,并保存至主链系统中。
在上述任一技术方案中,优选地,还包括:在检测接收到的账号信息通过验证后,确定账号信息对应的操作权限;在获取到指定产品的身份信息后,修改操作权限对应的当前状态信息,并将当前状态信息通过秘钥加密后保存至区域链中。
在上述任一技术方案中,优选地,秘钥包括与当前状态对应的私钥以及与上一状态对应的公钥,在获取多指定产品的身份信息后,修订操作权限对应的当前状态信息,并将当前状态信息通过秘钥加密后保存至区域链中,具体包括以下步骤:在操作权限为第一权限时,将指定产品的生产信息通过哈希编码进行编码后,采用第一私钥加密后保存至侧链系统中;在操作权限为第二权限时,将指定产品的当前状态信息修改为入库状态,并通过哈希编码进行编码后,采用第二私钥加密后保存至主链系统中;在操作权限为第三权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为运输状态,并通过哈希编码进行编码后,采用第三私钥加密后保存至主链系统中;在操作权限为第四权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为销售状态,并通过哈希编码进行编码后,采用第四私钥加密后保存至主链系统中,其中,从第一权限至第四权限,权限等级依次降低。
白酒等产品生产销售各个节点的人员需要获取工作相关的信息并录入自己的信息;不同的角色关注点不一致,只需对自己环节负责。为了更好的整合信息流,提高信息利用的效率,对信息进行层次化分组;同时对不同的角色给予不同的操作权限。
信息可分为生产信息,仓储信息,物流信息,销售信息。
生产信息包含白酒的生产细节,温度湿度、酿造时间、质检信息等,一般来说仅供生产厂和上级监管部门查看。
仓储信息记录白酒生产完成后储存在仓库的时间地点信息。
物流信息记录着各个物理节点之间的运输信息。
销售信息记录各级代理商及销售信息。
对生产销售各个环节的参与人员创建不同的账号,每个账号对应不同的角色拥有不同的操作权限;账号角色和权限的对应关系预先写入区块链中,为了防止角色权限被滥用篡改,账号权限采用智能合约加密。
生产商是整个溯源信息的发起者,拥有较高的权限,对生产的白酒生成唯一的身份标识,录入白酒详细的生产信息,录入销售链路中相关主干节点的信息,如指定运输商、大区经销商,指定发货的白酒批次;生产商能够查看到整个生产销售链路上的信息,根据信息对白酒的流通和销售状态进行监控,判断是否出现窜货等异常状态。
生产商或者省经销商一般配有专业仓库用于白酒的存储和中转,仓储人员在白酒入库和出库时,通过专用设备对白酒批号进行验证,录入相关信息,更改白酒状态为‘入库’、‘出库’。
运输商将白酒从生产商运到经销商处,可由生产厂商或者经销商指定,大型白酒厂商或配有专业的运输公司;运输商从生产商仓库收到货后装车扫描并上传相关信息到区块链系统中,更改白酒的状态为‘运输中’、‘已到达’。
省级经销商一般为一个省或者几个省的销售代理,从运输商处收到货后验货并上传相关信息。能够管理市县经销商和二级运输商,根据下级经销商的请求,将不同批次的白酒发送至下级代理商处,变更白酒的状态为‘经销商入库’、‘经销商出库’。
市县级经销商一般直接面对酒店、超市等零售点,收到货物时对白酒进行核验上传相关信息,售出白酒后上传相关信息,可更改白酒状态为‘市县代理’、‘市县售出’。
零售商或者酒店,一般直接面对消费者,在收到白酒后,录入信息,并更改白酒的状态为‘零售商出售中’,售出后直接上传相关信息,更更改白酒状态‘零售商已售出’。
消费者从零售商处购得白酒后,通过扫描外包装箱或者瓶体本身的二维码进行身份验证,查看白酒的详细出厂日期、物流、仓储信息,对白酒的整个生产销售流程进行溯源,确保白酒的源头是真正的厂商生产,此时白酒的状态自动变更为‘已消费’。
在上述任一技术方案中,优选地,主链系统包括相关用户的操作权限的权限信息和产品溯源信息,侧链系统包括产品信息,溯源方法还包括:实时更新主链系统中的数据信息;根据预设的更新频率定时更新侧链系统中的数据信息。
区块链是一个各个节点都需要实时、同步更新的分布式数据库,链上存储信息过多,对每个节点的实时更新和存储是非常大的挑战。为了提高区块链的利用率、保证更新的实时性,采用主链和侧链组成的双私有链系统,主链主要记录生产商、仓储人员、运输商、省经销商、市经销商、消费者各自的权限信息和节点交易记录;侧链记录每个项目对应的所有白酒的详细状态信息、生产信息、物流信息、仓储信息。主链上各节点信息在交易完成后需实时更新,侧链上产品的状态信息采用定时更新策略,白酒的状态信息与主链上状态信息一致,侧链上的产品的详细信息可由具有相关权限的节点查询。
在上述任一技术方案中,优选地,还包括:在检测到主链系统中更新的区块数据与对应的父节点数据和/或子节点数据不匹配时,生成报警信息。
在上述任一技术方案中,优选地,产品身份信息包括设置于产品外表密封处的第一二维码标签、设置于产品的包装箱的表面的第二二维码标签以及设置于包装箱的组装箱的表面的第三二维码标签,第一二维码标签、第二二维码标签与第三二维码标签相互关联,组装箱的表面还设置有与二维码标签对应的第一rfid标签,以及与第一rfid标签关联的设置于运输车辆上的第二rfid标签。
本发明的第二方面的技术方案提供了一种基于区块链的溯源装置,适用于服务器,区块链包括主链系统与侧链系统,溯源装置包括:解密单元,用于在接收到终端发送的指定产品的第一二维码信息后,采用消费公钥对主链系统中的产品信息进行解密,以生成与第一二维码信息对应的产品溯源信息;发送单元,用于将产品溯源信息发送至终端,其中,产品溯源信息包括生产信息、仓储信息、运输信息以及销售信息中的至少一项。
在上述技术方案中,优选地,还包括:修改单元,用于在接收到第一二维码信息后,将主链系统中的指定产品的当前状态信息修改为已消费状态,并保存至主链系统中。
在上述任一技术方案中,优选地,还包括:确定单元,用于在检测接收到的账号信息通过验证后,确定账号信息对应的操作权限;修改单元还用于:在获取到指定产品的身份信息后,修改操作权限对应的当前状态信息,并将当前状态信息通过秘钥加密后保存至区域链中。
在上述任一技术方案中,优选地,还包括:保存单元,用于在操作权限为第一权限时,将指定产品的生产信息通过哈希编码进行编码后,采用第一私钥加密后保存至侧链系统中;保存单元还用于:在操作权限为第二权限时,将指定产品的当前状态信息修改为入库状态,并通过哈希编码进行编码后,采用第二私钥加密后保存至主链系统中;保存单元还用于:在操作权限为第三权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为运输状态,并通过哈希编码进行编码后,采用第三私钥加密后保存至主链系统中;保存单元还用于:在操作权限为第四权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为销售状态,并通过哈希编码进行编码后,采用第四私钥加密后保存至主链系统中,其中,从第一权限至第四权限,权限等级依次降低。
在上述任一技术方案中,优选地,主链系统包括相关用户的操作权限的权限信息和产品溯源信息,侧链系统包括产品信息,溯源装置还包括:第一更新单元,用于实时更新主链系统中的数据信息;第二更新单元,用根据预设的更新频率定时更新侧链系统中的数据信息。
在上述任一技术方案中,优选地,还包括:报警单元,用于在检测到主链系统中更新的区块数据与对应的父节点数据和/或子节点数据不匹配时,生成报警信息。
本发明的第三方面的技术方案提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第一方面的任一项技术方案的基于区块链的溯源方法。
本发明的第四方面的技术方案提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的任一项技术方案的基于区块链的溯源方法。
上述技术方案实现以下技术效果:
(1)采用主链和侧链组成的双私有链系统,提高区块链的利用率、保证更新的实时性。
(2)采用区块链技术,将生产到销售各个环节采集得到的信息加密上传至区块链系统,可以有效的整合各环节信息,实现白酒从生产到最终消费的溯源。
(3)每个账号信息对应不同的角色,拥有不同的操作权限;身份角色和权限的对应关系预先写入区块链中,能够防止角色权限被滥用篡改。
(4)将各个节点产生的数据以加密的方式上传至区块链系统中,可以实现对产品,比如白酒生产销售的各个环节进行有效监督,能够可靠的对白酒销售过程进行溯源,有利于打击假冒伪劣白酒,维护消费者及厂商的权益。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的基于区块链的溯源方法的示意流程图;
图2示出了根据本发明的一个实施例的上链信息分层的示意图;
图3示出了根据本发明的一个实施例的双链系统的示意框图;
图4示出了根据本发明的一个实施例的主链系统的流程示意图;
图5示出了根据本发明的一个实施例的基于区块链的溯源装置的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,根据本发明的实施例的基于区块链的溯源方法,适用于服务器,区块链包括主链系统与侧链系统,溯源方法包括:
步骤102,在接收到终端发送的指定产品的第一二维码信息后,采用消费公钥对主链系统中的产品信息进行解密,以生成与第一二维码信息对应的产品溯源信息;
步骤104,将产品溯源信息发送至终端,其中,产品溯源信息包括产品的状态信息、生产信息、仓储信息、运输信息以及销售信息中的至少一项。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。采用区块链技术,将生产到销售各个环节采集得到的信息加密上传至区块链系统,可以有效的整合各环节信息,实现白酒等产品从生产到最终消费的溯源。
在上述实施例中,优选地,还包括:在接收到第一二维码信息后,将主链系统中的指定产品的当前状态信息修改为已消费状态,并保存至主链系统中。
在上述任一实施例中,优选地,还包括:在检测接收到的账号信息通过验证后,确定账号信息对应的操作权限;在获取到指定产品的身份信息后,修改操作权限对应的当前状态信息,并将当前状态信息通过秘钥加密后保存至区域链中。
在上述任一实施例中,优选地,秘钥包括与当前状态对应的私钥以及与上一状态对应的公钥,在获取多指定产品的身份信息后,修订操作权限对应的当前状态信息,并将当前状态信息通过秘钥加密后保存至区域链中,具体包括以下步骤:在操作权限为第一权限时,将指定产品的生产信息通过哈希编码进行编码后,采用第一私钥加密后保存至侧链系统中;在操作权限为第二权限时,将指定产品的当前状态信息修改为入库状态,并通过哈希编码进行编码后,采用第二私钥加密后保存至主链系统中;在操作权限为第三权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为运输状态,并通过哈希编码进行编码后,采用第三私钥加密后保存至主链系统中;在操作权限为第四权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为销售状态,并通过哈希编码进行编码后,采用第四私钥加密后保存至主链系统中,其中,从第一权限至第四权限,权限等级依次降低。
白酒等产品生产销售各个节点的人员需要获取工作相关的信息并录入自己的信息;不同的角色关注点不一致,只需对自己环节负责。为了更好的整合信息流,提高信息利用的效率,对信息进行层次化分组;同时对不同的角色给予不同的操作权限。
如图2所示,信息可分为生产信息,仓储信息,物流信息,销售信息。
生产信息包含白酒的生产细节,温度湿度、酿造时间、质检信息等,一般来说仅供生产厂和上级监管部门查看。
仓储信息记录白酒生产完成后储存在仓库的时间地点信息。
物流信息记录着各个物理节点之间的运输信息。
销售信息记录各级代理商及销售信息。
对生产销售各个环节的参与人员创建不同的账号,每个账号对应不同的角色拥有不同的操作权限;账号角色和权限的对应关系预先写入区块链中,为了防止角色权限被滥用篡改,账号权限采用智能合约加密。
生产商是整个溯源信息的发起者,拥有较高的权限,对生产的白酒生成唯一的身份标识,录入白酒详细的生产信息,录入销售链路中相关主干节点的信息,如指定运输商、大区经销商,指定发货的白酒批次;生产商能够查看到整个生产销售链路上的信息,根据信息对白酒的流通和销售状态进行监控,判断是否出现窜货等异常状态。
生产商或者省经销商一般配有专业仓库用于白酒的存储和中转,仓储人员在白酒入库和出库时,通过专用设备对白酒批号进行验证,录入相关信息,更改白酒状态为‘入库’、‘出库’。
运输商将白酒从生产商运到经销商处,可由生产厂商或者经销商指定,大型白酒厂商或配有专业的运输公司;运输商从生产商仓库收到货后装车扫描并上传相关信息到区块链系统中,更改白酒的状态为‘运输中’、‘已到达’。
省级经销商一般为一个省或者几个省的销售代理,从运输商处收到货后验货并上传相关信息。能够管理市县经销商和二级运输商,根据下级经销商的请求,将不同批次的白酒发送至下级代理商处,变更白酒的状态为‘经销商入库’、‘经销商出库’。
市县级经销商一般直接面对酒店、超市等零售点,收到货物时对白酒进行核验上传相关信息,售出白酒后上传相关信息,可更改白酒状态为‘市县代理’、‘市县售出’。
零售商或者酒店,一般直接面对消费者,在收到白酒后,录入信息,并更改白酒的状态为‘零售商出售中’,售出后直接上传相关信息,更更改白酒状态‘零售商已售出’。
消费者从零售商处购得白酒后,通过扫描外包装箱或者瓶体本身的二维码进行身份验证,查看白酒的详细出厂日期、物流、仓储信息,对白酒的整个生产销售流程进行溯源,确保白酒的源头是真正的厂商生产,此时白酒的状态自动变更为‘已消费’。
在上述任一实施例中,优选地,主链系统包括相关用户的操作权限的权限信息和产品溯源信息,侧链系统包括产品信息,溯源方法还包括:实时更新主链系统中的数据信息;根据预设的更新频率定时更新侧链系统中的数据信息。
如图3所示,区块链是一个各个节点都需要实时、同步更新的分布式数据库,链上存储信息过多,对每个节点的实时更新和存储是非常大的挑战。为了提高区块链的利用率、保证更新的实时性,采用主链和侧链组成的双私有链系统,主链主要记录生产商、仓储人员、运输商、省经销商、市经销商、消费者各自的权限信息和节点交易记录;侧链记录每个项目对应的所有白酒的详细状态信息、生产信息、物流信息、仓储信息。主链上各节点信息在交易完成后需实时更新,侧链上产品的状态信息采用定时更新策略,白酒的状态信息与主链上状态信息一致,侧链上的产品的详细信息可由具有相关权限的节点查询。
在上述任一实施例中,优选地,还包括:在检测到主链系统中更新的区块数据与对应的父节点数据和/或子节点数据不匹配时,生成报警信息。
在上述任一实施例中,优选地,产品身份信息包括设置于产品外表密封处的第一二维码标签、设置于产品的包装箱的表面的第二二维码标签以及设置于包装箱的组装箱的表面的第三二维码标签,第一二维码标签、第二二维码标签与第三二维码标签相互关联,组装箱的表面还设置有与二维码标签对应的第一rfid标签,以及与第一rfid标签关联的设置于运输车辆上的第二rfid标签。
上述实施例实现以下技术效果:
(1)采用主链和侧链组成的双私有链系统,提高区块链的利用率、保证更新的实时性。
(2)采用区块链技术,将生产到销售各个环节采集得到的信息加密上传至区块链系统,可以有效的整合各环节信息,实现白酒从生产到最终消费的溯源。
(3)每个账号信息对应不同的角色,拥有不同的操作权限;身份角色和权限的对应关系预先写入区块链中,能够防止角色权限被滥用篡改。
(4)将各个节点产生的数据以加密的方式上传至区块链系统中,可以实现对产品,比如白酒生产销售的各个环节进行有效监督,能够可靠的对白酒销售过程进行溯源,有利于打击假冒伪劣白酒,维护消费者及厂商的权益。
实施例
生产销售链路上节点类型包括生产商p(p,t)、仓储w(w,t)、运输商t(t,t)、经销商d(d,t)、消费者c(c,t),区块链的状态转变公式σt+1=γ(σt,t),其中σt为区块链在t时刻的状态,γ为状态转移函数,t为操作类型。主链内容如表1所示,侧链内容如表2所示。主链采用实时更新策略,侧链采用定时更新,并且只对有读写权限的节点开放。
表1
表2
基于区块链的白酒溯源系统从生产到销售的具体操作流程如下。
首先对生产销售各个环节的参与人员生产商p、生产商仓库w1、运输商t1、大区经销商d1、大区仓库w2、市级经销商d2创建不同的账号,每个账号拥有不同的操作权限;各级人员登录各自账号时需要通过身份验证,获取得当前角色所对应的私钥及上级人员的公钥。
生产商p是整个区块链的起点,并且拥有较高的权限,可以变更省级代理商及运输商信息,指定白酒批次。生产厂商在生产完白酒后对每瓶酒生成的唯一的身份id(二维码标签),白酒封口处贴上二维码标签;每箱白酒配有唯一的rfid电子标签和二维码标签,与箱内的每瓶白酒绑定。相关人员通过身份验证登录系统,并获取当前角色的相关权限,将白酒基本信息通过哈希编码和私钥加密后上传至主链,更改白酒状态为‘生产完成’,这是整个白酒溯源区块链的起点σ0;白酒的详细生产信息进过哈希编码和私钥加密后录入侧链系统,随后白酒运输至生产商仓库。入库时由仓库管理人员通过身份验证后获取自己的操作权限,使用授权设备进行入库扫描,将白酒的状态变更为‘入库’,利用哈希编码采用私钥加密后上传至主链,主链状态变更为σ1=γ(σ0,w1(w1,t1))。
生产厂商p对库存状态进行监控,收到大区经销商d1的订单后,分配指定批次的白酒,根据侧链上存储的运输商、销售商列表选择大区经销商d1和运输商t1,指定销售区域,生成项目编号,将项目编号上传至主链,生成项目,主链状态变更为σ2=γ(σ1,p(p,t2));项目对应的白酒信息上传至侧链。
运输商t1到生产商仓库w1接货,仓库管理人员对指定批次的白酒进行出库扫描,出库完成后为每车白酒生成一个rfid电子标签,与车上的白酒绑定,更改白酒状态为‘出库’,哈希加密后上传至主链,主链状态变更为σ3=γ(σ2,w1(w1,t3))。
运输商t1收到货物后,通过身份验证登录系统后,通过已知公钥获取上一个区块信息,扫描每车对应的rfid电子标签,更改白酒状态为‘运输’,哈希编码经过私钥加密后上传至主链,主链状态变更为σ4=γ(σ3,t1(t1,t4))。运输商t1将白酒运送至省级经销商仓库w2处,通过身份验证后,扫描rfid电子标签,更改白酒状态为‘已送达’,哈希编码并经过私钥加密后上传信息至主链,主链状态变更为σ5=γ(σ4,t1(t1,t5))。
省级经销商d1操作人员完成身份验证后,登录系统获得生产商的发货信息,通过专用设备扫描每箱白酒的rfid信息,与侧链中的白酒信息进行比对,核对无误后,白酒进入大区经销商仓库w2,操作人员上传相关信息并更改白酒状态为‘经销商入库’,主链链状态变更为σ6=γ(σ5,w2(w2,t6))。省级经销商d1根据市县代理商的订单情况,大区经销商d1在系统中分配指定批次的白酒,指定市级经销商d2,录入运输商t2,为市级经销商d2的白酒生成一个rfid电子标签,更改白酒状态为‘经销商售出’,加密上传相关信息至主链,主链状态变更为σ7=γ(σ6,d1(d1,t7))。
二级运输商道大区经销商仓库处接货,仓库操作人员更改白酒状态为‘经销商出库’,加密上传相关信息至区块链,主链状态变更为σ8=γ(σ7,w2(w2,t8))。
运输商t2通过身份认证后登录系统,通过已知公钥获得上个区块信息,通过专用设备扫描运输的白酒信息,更改白酒的状态为‘运输中’,采用私钥生产新的区块信息并上传至主链,主链状态变更为σ9=γ(σ8,t2(t2,t9))。运输商将白酒运送至市级经销商d2处,运输商扫描rfid电子标签,更改白酒状态为‘已送达’,上传信息至区块链,主链状态变更为σ10=γ(σ9,t2(t2,t10))。
市级经销商d2通过身份验证后登录系统后,从侧链获取大区经销商d1的发货信息,通过专用设备扫描每箱白酒的rfid电子标签,与系统中的白酒信息进行核对,更改白酒状态为‘市县代理’,私钥加密上传主链,区块链状态变更为σ11=γ(σ10,d2(d2,t11))。市县级代理商一般面对零售商、酒店等,收到订单后出售,扫描售出的白酒的rfid电子标签,并录入售出信息,更改白酒状态为‘市县售出’,上传相关信息至主链,主链状态变更为σ12=γ(σ11,d2(d2,t12))。
零售商或酒店d3从市县代理商处收货后,通过身份认证进入系统,通过市县经销商d2的公钥获取主链信息,通过设备扫描每箱白酒的rfid信息,更改白酒状态为‘零售商’或者‘酒店’等等,加密上传至主链系统,主链状态变更为σ13=γ(σ12,d3(d3,t13))。售出白酒时,扫描每瓶或每箱白酒的二维码信息,更改状态为‘已售出’,私钥加密后上传至主链,主链状态变更为σ14=γ(σ13,d3(d3,t14))。
消费者c从零售商处购买白酒,打开包装扫描白酒瓶身的二维码,录入相关个人信息,通过公开的消费者公钥对主链信息进行解密,获得白酒的生产、运输、仓储、销售信息,白酒的状态自动更改为‘已消费’,并上传至主链,主链状态变更为σ15=γ(σ14,c(c,t15))。
至此白酒完成了从生产厂商到消费者的整个流程,如图4所示,各个环节的操作人员在上传信息时对父节点和子节点信息进行核对,当发现区块信息与实际信息不一致时,触发异常报警。
如图5所示,根据本发明的实施例的基于区块链的溯源装置200,适用于服务器,区块链包括主链系统与侧链系统,溯源装置包括:解密单元202,用于在接收到终端发送的指定产品的第一二维码信息后,采用消费公钥对主链系统中的产品信息进行解密,以生成与第一二维码信息对应的产品溯源信息;发送单元204,用于将产品溯源信息发送至终端,其中,产品溯源信息包括生产信息、仓储信息、运输信息以及销售信息中的至少一项。
在上述实施例中,优选地,还包括:修改单元206,用于在接收到第一二维码信息后,将主链系统中的指定产品的当前状态信息修改为已消费状态,并保存至主链系统中。
在上述任一实施例中,优选地,还包括:确定单元208,用于在检测接收到的账号信息通过验证后,确定账号信息对应的操作权限;修改单元206还用于:在获取到指定产品的身份信息后,修改操作权限对应的当前状态信息,并将当前状态信息通过秘钥加密后保存至区域链中。
在上述任一实施例中,优选地,还包括:保存单元210,用于在操作权限为第一权限时,将指定产品的生产信息通过哈希编码进行编码后,采用第一私钥加密后保存至侧链系统中;保存单元210还用于:在操作权限为第二权限时,将指定产品的当前状态信息修改为入库状态,并通过哈希编码进行编码后,采用第二私钥加密后保存至主链系统中;保存单元210还用于:在操作权限为第三权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为运输状态,并通过哈希编码进行编码后,采用第三私钥加密后保存至主链系统中;保存单元210还用于:在操作权限为第四权限时,采用第一公钥对当前状态信息进行解密,并将当前状态信息修改为销售状态,并通过哈希编码进行编码后,采用第四私钥加密后保存至主链系统中,其中,从第一权限至第四权限,权限等级依次降低。
在上述任一实施例中,优选地,主链系统包括相关用户的操作权限的权限信息和产品溯源信息,侧链系统包括产品信息,溯源装置还包括:第一更新单元212,用于实时更新主链系统中的数据信息;第二更新单元214,用根据预设的更新频率定时更新侧链系统中的数据信息。
在上述任一实施例中,优选地,还包括:报警单元216,用于在检测到主链系统中更新的区块数据与对应的父节点数据和/或子节点数据不匹配时,生成报警信息。
根据本发明的实施例的服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第一方面的任一项实施例的基于区块链的溯源方法。
根据本发明的实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的任一项实施例的基于区块链的溯源方法。
本发明方法中的步骤可根据实际需要进行顺序调整、合并和删减。
本发明装置中的单元可根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。