基于区块链的果蔬农产品质量安全溯源系统的制作方法

文档序号:16582391发布日期:2019-01-14 18:05阅读:308来源:国知局
基于区块链的果蔬农产品质量安全溯源系统的制作方法

本发明涉及一种溯源系统,尤其涉及一种基于区块链的果蔬农产品质量安全溯源系统。



背景技术:

近年来,食品安全事件频发,禽流感、瘦肉精、三聚氰胺、大米镉超标等一系列的质量安全问题引发了消费者信任危机,也是国家建设发展诚信社会工作上的重大挑战。食品质量安全问题日益突出,水果和蔬菜作为日常基本的营养来源,其安全质量问题越来越受到重视。由于果园和农场滥用果蔬快速生长的化学添加剂和抗生素,给果蔬的质量安全带来了严重的威胁,人们也迫切希望购买到放心可靠的果蔬产品。

果蔬农产品质量安全溯源系统能够标识食品来源,提供其从生产到餐桌全过程中的详细信息。一旦发生了食品安全意外事件,通过果蔬农产品质量安全溯源系统可以快速准确地定位到发生问题环节,明确责任主体,及时召回问题食品,遏制问题蔓延势头,这是解决目前食品安全窘迫现状的有效方法之一。当前果蔬农产品质量安全溯源系统始终依赖于权威政府机构来管理中心数据库,并且食品供应链中各角色间信息传递的可靠性问题尚有待解决。对于农产品来说,从“农场到餐桌”的产前、产中、产后的过程涉及农资供应商、农户等生产商、加工商、中间商和末端消费者等,涉及到的“点多、线长、面广、错综交叉”,食品安全监管和溯源尤为困难。

目前农产品的溯源大多通过物联网与二维码结合的方式来实现,中国专利cn104933584a提供了一种基于果蔬农产品云平台的农产品溯源系统及溯源方法,将数据存储在云端服务器,不容易被篡改,保证了农产品数据的安全性,农产品信息还包括了质检信息,其由第三方认证,避免了卖方录入虚假信息,保证了农产品数据的真实性;中国专利cn106096983a提供了一种基于物联网技术的农产品溯源系统及方法,采用移动终端向用户展示各商家在售的农产品信息,然后在用户下单购买农产品后自动从云服务器获取与用户购买商家相匹配的农产品的生长信息进行显示,从而实现了农产品溯源信息的主动推送,简化了用户操作,提升了用户体验感;此外,由于在采集装置中设置lora芯片,并通过lora网关将采集装置监测到的农产品的生长信息转发至云服务器,从而增加了采集装置的无线传输距离,减少了采集装置的功耗,降低了采集装置的通信成本。

现有的这些系统及方法仍存在一些问题:由于需要手动采集录入数据,对于果蔬的养殖过程,需要耗费比较大的时间和人力成本,不太适用于果蔬养殖过程中的溯源;此外,无法保证数据和果蔬之间的一一对应关系,溯源可靠性难以保证;(2)由于每一个农产品需要配备数据采集装置,对于果蔬的养殖,无线数据采集系统的成本太高。

区块链技术是用来对比特币区块链网络以及对交易信息加密传输进行构建的基础技术,该技术要解决的核心问题是如何在缺乏可信任中心机构和渠道的情况下,分布在网络中的节点如何达成共识。区块链被定义为一个分布式的账本,区块链当中的所有参与节点都拥有整个链上的交易信息及数据。因此区块链技术具有极强的健壮性,因为链上的每个参与节点仅仅作为整个链上的一部分,每个参与节点的权利均等,都存储着相同的账簿,破坏部分参与节点对整个链来说完全不会造成影响。因为存储在区块链当中的记录信息不可篡改且真实可信,使得人们对区块链的信任日渐超过对中心公司的信任。在众多传统行业和区块链企业的共同努力之下,世界将由中心化的信任模式下慢慢过渡到由数据、算法为核心的系统模式,当中心化机构逐渐被弱化之后,以区块链为代表的系统将逐渐接管整个世界的运作,最终形成“去中心化”的系统信任。

由于应用区块链技术能保证在整个环节中数据的不可篡改、不可替换,那么,将区块链技术应用于果蔬农产品质量安全溯源系统就可以解决质量安全数据的完整和可信任,基于这个目的,本发明提出了基于区块链的果蔬农产品质量安全溯源系统。



技术实现要素:

本发明的目的是通过以下技术方案实现的。

本发明提出了一种基于区块链的果蔬农产品质量安全溯源系统,用于对果蔬农产品的交易进行质量安全溯源,其特征在于,包括:

果蔬农产品编号产生模块,用于对生产出的每一份果蔬农产品产生二维码标签与电子标签,所述二维码标签和电子标签,与果蔬农产品绑定,存储果蔬农产品唯一的身份识别标识和基于该身份识别标识的溯源网络链接,并标明生产者和生产地;

果蔬种植记录模块,用于对果蔬种植过程中的种植时间地域记录、种植时间记录、气象条件记录、病虫害记录、浇灌施肥记录、收割时间记录进行记录;

所述气象条件记录、病虫害记录可以对同一区域种植商的横向记录进行比较,甄别记录是否虚假;

所述收割时间记录可以显示收割和保藏方式,并确定果蔬保鲜时间周期,给出价格促销时间建议;

果蔬交易产生记录模块,当一笔新的果蔬交易产生后,产生交易单,交易单的发送者用自己的私钥进行数字签名,以接受者的公钥作为接收方地址,并将交易单广播至网络,所述交易记录采用基于模式基元的存储结构,以模式基元的私有数据属性表征生长、交易的逻辑关系;

验证区块链模块,验证区块链模块中的验证节点通过共识算法来验证交易,达成对该交易的共识,若验证成功,则产生新的验证区块,接入验证区块链,若交易验证失败,则交易无效,不会继续存储数据;

交易区块链模块,最先生成验证区块的验证节点会将该验证区块广播至网络,交易区块链模块中的节点核对该验证区块记录的数据是否正确,若确认无误,将该区块接入交易区块链,广播该区块的节点获得记账权;

移动终端,用于扫描、解析二维码标签上的二维码,并基于二维码存储的溯源网络链接,发送基于身份识别标识的溯源网络链接。

根据本发明的一个方面,交易区块链模块中的交易主体包括生产者、分销者、零售者、顾客或物流机构。

根据本发明的一个方面,验证区块链模块中的验证节点上布置果蔬合约市场,并辅以审计和公证的验证步骤完成审计认证等验证请求。

根据本发明的一个方面,交易区块包含以下三部分:交易信息、前一个区块形成的哈希散列、随机数;交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量、交易双方身份信息;前一个区块形成的哈希散列用来将区块连接起来,实现过往交易的顺序排列。

根据本发明的一个方面,验证区块包括区块头、版本号、上一区块的哈希值、merkle根节点、时间戳、难度值、随机数和交易数据。新区块与上一个区块之间通过2次sha256哈希值,来说明果蔬的来源。

本发明还提出了一种采用基于区块链的果蔬农产品质量安全溯源系统对果蔬农产品进行质量安全溯源的方法,其特征在于,包括如下步骤:

对生产出的每一份果蔬产生一个果蔬编号,用于唯一标识该份果蔬,并标明生产者和生产地;

当一笔新的果蔬交易产生后,产生交易单,交易单的发送者用自己的私钥进行数字签名,以接受者的公钥作为接收方地址,并将交易单广播至网络;

验证区块链模块中的验证节点通过共识算法来验证交易,达成对该交易的共识,若验证成功,则产生新的验证区块,接入验证区块链,若交易验证失败,则交易无效,不会继续存储数据;

最先生成验证区块的验证节点会将该验证区块广播至网络,交易区块链模块中的节点核对该验证区块记录的数据是否正确,若确认无误,将该区块接入交易区块链,广播该区块的节点获得记账权。

根据本发明的一个方面,在区块的产生过程中,采用果蔬加密算法的加密过程。

所述果蔬加密算法将密钥和纯文本中的字母a-z转换为对应数字0-25,采用密文空间为26;

使用密钥k来加密明文:

ci=ek(pi)=(pi+ki)mod{26}

使用密钥k来解密密文:

pi=dk(ci)=(ci-ki)mod{26}

其中p=p0p1…pn是明文,c=c0c1…cn是密文,k=k0k1…kn。

采用本发明的基于区块链的果蔬农产品质量安全溯源系统,利用了区块链技术,能保证在整个环节中数据的不可篡改、不可替换,通过交易区块链对整个交易过程进行记录,通过验证区块链对交易行为进行验证,从而解决了果蔬农产品质量安全溯源系统中质量安全数据的完整和可信任。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1示出了根据本发明实施方式的果蔬农产品质量信息采集系统框图。

附图1-1示出了根据本发明实施方式的散列原理图。

附图2a示出了根据本发明实施方式的交易哈希图。

附图2b示出了根据本发明实施方式的一种区块内部结构。

附图2c示出了根据本发明实施方式的一种区块链链结构。

附图2d示出了根据本发明实施方式的一种区块内部结构图。

附图3示出了根据本发明实施方式的一种流密码通信示意图。

附图4示出了根据本发明实施方式的一种基于区块链的果蔬农产品质量安全溯源系统架构图。

附图5示出了根据本发明实施方式的一种基于区块链的果蔬农产品质量安全溯源系统结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,根据本发明实施例的基于区块链的果蔬农产品质量安全溯源系统中,包括果蔬农产品质量信息采集系统。果蔬农产品质量信息采集系统包括果蔬农产品数据采集单元、果蔬种植记录模块、果蔬农产品云平台、移动终端、二维码标签与电子标签,其中,

二维码标签,与果蔬农产品绑定,存储果蔬农产品唯一的身份识别标识和基于该身份识别标识的溯源网络链接。二维码标签固定在果蔬农产品上,不可拆除,保证其身份信息与果蔬农产品一一对应。

电子标签,与果蔬农产品绑定,并与二维码标签中的身份识别标识一一对应,进而链接到果蔬农产品云平台。养殖者通过果蔬农产品数据采集单元按照周期将果蔬农产品的生长历史数据定时上传到果蔬农产品云平台,方便批发商或者终端客户随时查询果蔬农产品的生长历史。批发商或者终端客户只需识别电子标签,即可登录果蔬农产品云平台,并在果蔬农产品云平台中显示果蔬农产品的生长历史,从而自动将采集的溯源数据与果蔬农产品一一对应起来,实现自动化操作。优选的,所述电子标签采用rfid标签,当然,也可以采用其他本领域技术人员可以想象得到的其它可读取无线存储器。如此,可保证每只果蔬农产品配备全平台唯一的身份识别标识,并基于身份识别标识在果蔬农产品云平台建立其溯源数据的数据库。

果蔬种植记录模块,用于对果蔬种植过程中的种植时间地域记录、种植时间记录、气象条件记录、病虫害记录、浇灌施肥记录、收割时间记录进行记录。所述气象条件记录、病虫害记录可以对同一区域种植商的横向记录进行比较,甄别记录是否虚假。所述收割时间记录可以显示收割和保藏方式,并确定果蔬保鲜时间周期,给出价格促销时间建议。

无线数据采集单元,与电子标签信号连接,采集果蔬农产品溯源数据。具体的,所述无线数据采集单元包括网关和多个数据采集单元,数据采集单元感应识别或者扫描电子标签上存储的身份识别标识信息,并采集果蔬农产品重量、体温、图像或者视频信息,多个数据采集单元与网关无线通信连接,网关与果蔬农产品云平台网络通信连接。具体的,根据不同的溯源数据采集需求,可以选择不同类型的数据采集单元,包括但不限于:视频摄像头、数码相机、温度计、称等。具体的,多个数据采集单元与网关采用lora或zigebee协议无线通信连接。具体的,网关通过宽带网络或者4g通信协议与果蔬农产品云平台进行通信连接。

果蔬农产品云平台,与无线数据采集单元网络连接,针对每一只果蔬农产品存储其养殖期间采集的溯源数据并与身份识别标识建立关联数据库;根据基于身份识别标识的网络链接请求,查找并发送与身份识别标识相关联的溯源数据到移动终端。

移动终端,用于扫描、解析二维码标签上的二维码,并基于二维码存储的溯源网络链接,发送基于身份识别标识的溯源网络链接。具体的,移动终端可采用智能手机,通过微信、app等方式扫描二维码,获取果蔬农产品溯源数据。

根据本发明的一种实施方式,本发明的果蔬农产品全自动溯源方法如下:

a,通过标签生成单元向果蔬农产品云平台申请生成全平台唯一的身份识别标识并发送给标签生成单元,标签生成单元根据身份识别标识生成二维码标签上的二维码并将身份识别标识信息存储在电子标签上;

b,果蔬农产品在生长过程中,每一只果蔬农产品同时绑定二维码标签和相对应的电子标签;

c,果蔬农产品养殖期间,无线数据采集单元读取电子标签识别果蔬农产品的身份,并采集果蔬农产品重量、体温、图像或者视频信息,传送至果蔬农产品云平台,果蔬农产品云平台针对每一只果蔬农产品存储其养殖期间采集的溯源数据并与身份识别标识建立关联数据库。具体的,果蔬农产品云平台保存有原始的散养果蔬农产品的养殖周期以及养殖周期内重量增长参考曲线,根据每只果蔬农产品养殖周期内采集的果蔬农产品重量绘制果蔬农产品重量增长曲线,并与重量增长参考曲线进行对比,初步判断果蔬农产品是否为散养果蔬农产品,并将果蔬农产品是否为散养果蔬农产品的初步判断作为溯源数据发送到移动终端,方便消费者进行溯源查询。具体的,所述步骤c中,果蔬农产品云平台将果蔬农产品养殖周期内的图像数据作为溯源数据发送到移动终端。同时,果蔬农产品云平台根据采集到的大量的果蔬农产品重量参数,优化散养果蔬农产品养殖周期内重量增长参考曲线,提高自动判断的准确性。

d,果蔬农产品成熟时,电子标签,二维码标签跟随果蔬农产品进入市场流通环节,并在每一次交易时通过电子标签、二维码标签生成交易信息,并写入区块链中;

e,消费者购买果蔬农产品时,通过移动终端扫描果蔬农产品的二维码标签向果蔬农产品云平台发送溯源网络链接请求,果蔬农产品云平台查找并发送与身份识别标识相关联的溯源数据到移动终端。

区块链(blockchain)首次在中本聪发表的《bitcoin:apeer-to-peerelectroniccashsystem》文章中出现。文章中指出目前几乎所有的交易都是借助第三方机构来完成的,这种交易方式的出现是因为交易双方互不信任,商家会要求客户填写完整但非必要的信息,却依然不能避免某些欺诈行为。第三方机构的存在,增加了中介费用,扩大了不必要的交易规模。区块链有很多优势,区块链是一个不可篡改的,全网全程的、分布式数据库系统,它通过多方共识算法建立起了互联网上的信任,并通过智能合约实现了服务流程自动化。供应链将是区块链技术的典型应用领域,不可篡改的流通记录、物品溯源、公正防伪、流通环节多方参与确认等概念验证应用场景都很具有代表性,将有助于大幅提升供应链效率,降低供应链成本。

也就是说,通过区块链可以将商品交易信息保留在区块链中,买家可以快速、简单、低成本的核实卖家的真实信息,有助于账户数据标准化,改善数据质量。

区块链的技术特点使用户之间的交易数据更加真实可信,在区块链系统中,产生的每笔记录信息都需要多个参与者达成共识,每个参与者的权利都是平等的,区块链当中的每个参与者都将存储整个链上记录的所有交易数据,即使某个参与者节点遭到攻击或者被被损坏,不会对区块链产生任何不好的影响。同样的,当链上参与者之间产生一笔新的交易记录时,链上的全部参与者都可以有权利验证交易记录的真实可信性,若这些参与角色人为交易记录不可信,则该交易不能生效,交易失败,区块链上存储的交易数据是由链上参与者共同维护的。将区块链技术应用到供应链领域当中,可以追踪商品的交易信息,降低错误成本。

本发明根据区块链的去中心化、防篡改等技术特点对基于区块链的果蔬农产品质量安全溯源系统的可信溯源问题提出了解决方案并进行实现。

区块链技术是用来对比特币区块链网络以及对交易信息加密传输进行构建的基础技术,该技术要解决的核心问题是如何在缺乏可信任中心机构和渠道的情况下,分布在网络中的节点如何达成共识。区块链被定义为一个分布式的账本,区块链当中的所有参与节点都拥有整个链上的交易信息及数据。因此区块链技术具有极强的健壮性,因为链上的每个参与节点仅仅作为整个链上的一部分,每个参与节点的权利均等,都存储着相同的账簿,破坏部分参与节点对整个链来说完全不会造成影响。另一方面,区块链的运行机制能够确保交易的安全性,在一个偌大的系统中,除非掌握并控制大多数节点,否则整个系统依据会参照链上参与者的一键决定真实的结果是什么,对链上的部分信息进行修改毫无意义。最后,于区块链中不存在权利过大的中心化机构,进而使得交易成本大幅度降低,交易效率也得到很大的提升。

merkle哈希是保护数据安全的关键技术。数据以哈希值的形式存储在区块中,并影响后续区块哈希值的计算。因此任何一个达成共识后的数据都是不可篡改,不可消除的,任何一个数据的微小改变都会造成瀑布效应,使后续所有数据发生大的变动。区块链采用全民记账方式,任何符合条件的节点都可以加入区块链,区块链上的每个节点都是平等的,拥有相同的权利。区块链运用加解密算法来保障账户的隐私安全,交易的安全性是基于密码学而不是基于信任。

根据本发明的一个方面,基于区块链的果蔬农产品质量安全溯源系统使用随机散列的方法并对全部的交易加上时间戳,链式的散列原理如图1所示。

在图1-1中,对于u2来说,首先u2使用u1的公钥来对u1通过u2公钥发给u2的使用u1私钥进行签名的先前的交易信息进行验证,以及u1与u2的交易信息来确认u1的身份,然后对交易信息进行重新整合,使用u2的私钥对重新整合的交易信息以及对u2与u3的交易信息进行签署一个随机散列的数字签名之后,并将此签名通过u3的公钥发送给u3,u3按照u2的方式再次进行验证等处理。如此一来区块包含的交易信息就产生了。

通过对区块链链式结构的散列原理进行分析可以发现,如果链上的大部分节点是可信任的,则伴随着区块链的不断增长,区块链的信用也会相应的更加快速的増长,如果攻击方试图对已经加入到区块链的区块信息进行篡改,则必须更改所有可信参与者存储的区块信息及该区块后面的交易信息,对于一个不断增长的区块链来说,攻击方要想完称所有工作进行修改几乎没有可能,区块链的去中心化技术及区块的共识机制实现了区块链上交易的有效证明。

从区块链的本质上来看,区块链是一个巨大的去中心化的账本数据库。随着交易的不断产生,所有参与的矿工节点不断的对交易信息进行验证并找到合适的区块对交易进行存储,这个链式结构会不断增长延长。这些区块依照时间的顺序不断添加到原有的区块链上。每一个参与认证的节点都拥有一份完整的区块链的备份记录,而这些都是通过数据验证算法解密的矿工网络自动完成。区块链上保存所有相关节点的比特币余额信息,这些信息被完整的记录在区块链中。新产生的区块将会获得奖励给生成该区块的矿工电子货币,通过这种奖励机制的方法,让矿工有利可图,成为矿工挖矿的动机。

在区块链的结构中没有中心化的结构,每个参与节点只作为区块链当中的一部分,并且每个参与节点拥有相等的权利,网络中的黑客若试图篡改或者破坏部分节点信息,对整个区块链来说并没有影响,而且参与节点越多,该区块链越安全。

在基于区块链的果蔬农产品质量安全溯源系统中,交易主体包括生产者、分销者、零售者、顾客、物流机构、这些交易主体之中任何一个交易主体都有交易行为证明的能力,如果某一个交易主体单独或者联合其他交易主体试图篡改交易记录,其他交易主体可以根据自己对交易的记录证明其不法行为,并将其踢出供应链。在以后交易过程中可以避免与该商家进行交易,如果销售商中的一个或者多个交易主体试图欺诈客户,由于用户本身也具有交易证明的能力,用户可以向其他交易主体反映,经多个交易主体核实情况后将不法销售商踢出供应链。如果用户试图欺诈销售商。经多交易主体协同认证后将不法用户进行记录,取消其交易资格。

生产者是供应链上的主要参与者,负责果蔬的生产、与分销者之间进行果蔬的批量交易。生产者定义自己的交易信息,将生产的果蔬数量发布网络中,创建交易;2.将交易信息发送给分销者;作为共识节点参与到网络中对交易信息进行验证。

分销者是专门从事将果蔬从生产者转移到消费者的活动的机构和人员,负责将与生产者的交易果蔬与零售者进行交易。分销者定义自己的交易信息;2.将交易信息发送给零售者;作为共识节点参与到网络中对交易进行验证;

零售者将商品直接销售给最终消费者的中间商,是相对于生产者和批发商而言的,处于商品流通的最终阶段。零售者的基本任务是直接为最终消费者服务。它又是联系生产企业、批发商与消费者的桥梁,在分销途径中具有重要作用。零售者定义自己的交易信息;将交易信息发送给顾客;作为共识节点参与到网络中对交易进行验证。

顾客:直接与零售商进行交易。泛指商店或服务行业前来购买果蔬的人或要求服务的对象,包括组织和个人。因此,凡是已经来购买和可能来购买你的果蔬或服务的单位和个人都可以算是顾客。顾客接收零售商发送的交易信息;作为共识节点参与到网络中对交易进行验证。

物流机构传递网络中的交易信息,确认之后对交易信息用私钥进行签名加密。物流机构作为每个交易主体中间信息传递者;对交易信息进行验证之后,用私钥进行签名加密;基于区块链的交易主体协同认证模型可以保证多个交易主体组成的认证机构。具有一定的稳定性,这样便于交易主体以及用户共同掌握果蔬的销售情况和用户行为情况,共同经营供应链,保证交易信息的高度透明性、一致性和真实性,促进各交易主体集体作出决策。

首先所有参与者在注册时会创建出一个对应的信息档案,档案内应对其个人信息/或企业信息、职能、地址、资格认证等必要信息。参与者在成功注册后,将会获得一个公钥和私钥,公钥向区块链中全体成员公开,而私钥作为交易过程中验证身份与信息的关键。每个参与者都可以利用已注册id登陆用户界面,进入基于区块链的果蔬农产品质量安全溯源系统。所有信息都存储在区块链中并且支持被授权的节点对其进行访问。信息存取的权限又取决于参与者在供应链中的角色与职能。此外,区块链的运行规则由代码定义并存储在区块链中,无法被区块链中的某一参与者所修改,从而保证数据的真实性与有效性。若要改变区块链运行规则,则同数据存储一般,需要向全部节点进行广播并且由重点部门核实确认。

基于区块链的果蔬农产品质量安全溯源系统的区块链技术防篡改的具体做法是将生产者、供应者、分销者、零售者及最终用户都纳入到区块链这个系统应用当中,果蔬在市场正式销售之前,生产者先将该果蔬记录到区块链网络中。随后,在市场交易过程当中,每运行一步都将该交易记录到系统当中。当用户发现果蔬存在某些问题,此时中间环节的某个交易商想要逃避责任,删除自己的不法记录,也只能删除在自己电脑上记录的信息,而无法改变其它参与成员存储的交易信息。

根据本发明的一个方面,果蔬农产品的交易过程采用全程可追溯标准,全程可追溯标准对可追溯系统的要求是记录4w1e,即是人(who)、地(where)、时(when)、物(what)和事(event),因此基于全程可追溯标准进行模式基元及其存储结构的设计,4w1e应是12类模式基元的公有数据属性。当模式基元的数据结构以关系形式存储时,模式基元的公有数据属性rcommon定义为rcommon=r(eid,ename,tid,handler,time,location)

其中eid是一个模式基元的唯一实例标识,ename是一个模式基元的实例名称(event),tid是追溯单元标识(what),handler是操作人员标识(who),time是一次操作的发生时刻(when),location是—次操作的发生位置(where)。

由于每一个模式基元都表征一类果蔬农产品供应链上追溯单元转化逻辑关系,因此在基于模式基元的追溯数据存储结构中,应体现这种逻辑关系。在基于模式基元的存储结构中,以模式基元的私有数据属性表征这类逻辑关系。12类模式基元的私有数据属性及其实例如下表所示。

采用上述12类模式基元的私有数据对果蔬的生长、交易过程进行记录,能够保证所有信息都留存在数据记录里。

在基于区块链的果蔬农产品质量安全溯源系统的区块链网络当中,由于算法的约束条件,任何恶意欺骗行为都将被网络中其余参与节点进行排斥和压制,所以在基于区块链的果蔬农产品质量安全溯源系统中的交易信息是否被更改不依赖中央权威机构的可信度。传统的网络信任体系结构心中,参与者需要对中央机构有足够的信任,伴随着网络体系中的参与者数目不断增加,进一步导致整个系统的安全性降低。而区块链技术恰恰与其相反,参与者不许对任何人信任,并且随着网络中参与者的不断递增,整个区块链网络中的安全性也在不断增加,同时交易数据可以做到完全透明公开。对于区块链技术的加密安全和不可篡改特性来说,区块链技术采用的是单项哈希算法,同时新产生的区块按照时间顺序不断推进,由于时间的不可逆使得区块链内存储的交易数据很容易被追踪溯源,限制了不法行为的产生。

基于区块链的果蔬农产品质量安全溯源系统能确保交易信息不被篡改,为了使区块链的校验效率得到提高,将一个区块当中存储的所有交易记录,构建merkle树结构的二叉树结构,若区块中存储的交易记录个数为奇数。

例如图2a中的3个记录,则剩下的二叉树节点由自己自行填补,图2中的交易2单独剩下则和自己构成了一个二叉树。以此类推,直到最终的根节点。二叉树中的两个交易记录之间的哈希值直接进行串联,作为下一颗二叉树的输入。通过这种方式,如果有人试图更改其中任意一个交易记录,由于sha256加密哈希的特性,则最终merkle树的根节点就会发生很大的变动,使得其它参与节点在对区块信息进行验证时,明显发现内容被更改的现象。其中区块链是链式结构,交易记录先后相连,上一个交易记录的2次sha256哈希值,说明了果蔬的来源。

区块链中,首先对交易数据进行哈希运算,以哈希值的形式存储在区块中,新的区块通过共识算法不断被创建用于存储交易数据。

如图2b所示,将交易的哈希值不断进行再哈希,直到最后计算出一个merkle根哈希值,存储在区块头中,用于验证交易。根据哈希算法的特性,交易难破解,易验证,任何一个交易哈希值的微小改变,都会导致merkle根的明显改变,从而使数据篡改很容易被发现。区块头部分封装了前哈希值(prev-block)、区块生成时的解随机数(nonce)、merkle根(merkle-root)、时间戳(timestamp)、目标哈希值(bits)、等信息,时间戳可以证明区块链上什么时候发生了什么事情,便于确定所有权,且任何人无法篡改,随机数用于控制区块产生的难度和间隔时间,前哈希值可以找到区块的正确位置,将所有区块以链的形式链接起来。

区块之间用块链结构进行链接,如图2c所示。区块间通过前一个区块的哈希值进行链接,前后顺连,保证了区块链的不可篡改性。区块链的结构特点保证了他可以记录链上所有发生过的交易信息,交易过程透明且可以保证数据隐私安全,能满足果蔬在生产和流通领域要求高透明、高安全的应用需求。

区块的链接结构的另一种形式如图2d所示。每个区块包括区块头、版本号、上一区块的哈希值、merkle根节点、时间戳、难度值、随机数和交易数据。新区块与上一个区块之间通过2次sha256哈希值,来说明果蔬的来源。

在区块的产生过程中,采用流密码的加密过程。

流密码的加解密如图3所示。先由原始密钥k和随机数r生成一个密钥流,再将明文流和密钥流运用加密算法生成密文。密钥流的周期越长,频率分布越平均,则对频率分析攻击的抵抗力越高,越安全,甚至其理想程度的一次一密算法可以达到不可破解的安全。

为了满足基于区块链的果蔬农产品质量安全溯源系统的需求,我们采用果蔬加密算法来加密信息。为了方便计算,将密钥和纯文本中的字母a-z转换为对应数字0-25,因此密文空间为26。

使用密钥k来加密明文:

ci=ek(pi)=(pi+ki)mod{26}

(1)

使用密钥k来解密密文:

pi=dk(ci)=(ci-ki)mod{26}(2)

其中p=p0p1…pn是明文,c=c0c1…cn是密文,k=k0k1…kn。

该算法的时间复杂度为o(1),空间复杂度为o(1)。

通过添加字符的数量可以减少单个字母出现的频率,可以将果蔬密码库从原来的26个字符修改为alpha-qwerty(ascii码表)密码,由92个字符组成,包括数字和其他一些可以从键盘键入的常用符号。扩展版本的公式描述类似于原始加密方法。只是它使用的是modulo92而不是modulo26,密文c也同时得到了扩充,也更难破解。扩充密文空间后的加解密过程变为:

加密:

ek(p1,p2...pm)=(p1+k1,p2+k2...pm+km)(mod92)(3)

解密:

dk(c1,c2...cm)=(c1-k1,c1-k2...cm-km)(mod92)(4)

首先生成一个长度很短的密钥,然后逻辑运算公式计算生成一个足够长的密钥。如果生成的密钥没有重复,或其长度比纯文本长,则很难发现密钥的规律性,就难以通过频率分析来获得密钥,从而解密出明文文本,那么该算法就会像otp密码一样很难破解,因此,明文将是安全的。新密钥由线性反馈移位寄存器lfsr(linearfeedbackshiftingregister)生成。此外,lfsr可以很容易地在硬件上实现,为传输提供了非常好的安全性。它通常用于在密码系统中生成伪随机位序列。

基于区块链的果蔬农产品质量安全溯源系统的网络内部主要由区块链网络中所有的矿工节点组成的分布式部署的认证节点构成。区块链的矿工节点负责将每两个交易节点之间进行的交易信息找到工作量证明并验证,保证这些交易信息在绝大部分的认证节点中保持最终一致性并达成共识,最终确认正确之后保存到区块链当中。区块链技术的公开透明、无法作弊、不可篡改等特性都是通过区块链认证节点的共识机制实现的。

图4中细地描述了基于区块链的果蔬农产品质量安全溯源系统的组成结构,主要包括存储模块、交易认证模块和系统接口模块。主要进行工作的参与者有商家与商家、商家与用户之间交易信息存储模块,商家及用户对交易信息的查询和溯源模块。

基于区块链的果蔬农产品质量安全溯源系统中,存储模块主要用来存储节点之间的交易信息,一旦成功存储到区块当中,则无法进行更改。

交易认证模块需要解决一些技术问题,供应链中所有参与交易的交易主体作为本发明的区块链网络中的矿工节点存在,当这些节点接收到交易之后,区块链网络中的参与节点开始进行“挖矿”,最先找到的矿工获得此笔交易的记账权。在交易认证模块中,主要采用区块链技术的pow共识机制,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起对该交易信息进行存储。采用pow证明的原因是,该机制完全去中心化,节点自由进出。不可篡改性也是由交易认证模块的共识机制提供的,加入到网络中的节点共同维护整个链上的运作,一旦发现有人试图篡改信息则将该节点踢出网络。

用户通过系统接口模块与基于区块链的果蔬农产品质量安全溯源系统进行连接,通过系统接口模块提供的接口输入交易信息进行交易,经交易认证模块处理之后最终存储到存储模块。

用户和商家可以通过系统接口模块的交易溯源查询模块和交易信息验证模块对果蔬进行交易和溯源查询。每一次交易通过系统接口模块的输入接口对接收交易信息进行记录,矿工节点通过系统接口模块的共识节点显示和账户信息显示参与并获取交易的记账权。认证节点通过交易认证模块的交易验证模块和交易发布模块对交易进行验证和发布。

在基于区块链的果蔬农产品质量安全溯源系统中,整条链上的各交易角色生产者、分销者、零售者、顾客在区块链网络都做为矿工认证节点存在。初始时,这些节点通过系统申请成为共识节点,与网络当中正在参加共识的节点进行连接,最终模拟搭建成为一个区块链底层的p2p网络,通过编码在该网络中引入共识机制,最终模拟形成一个区块链网络。

由于区块链是区块以链的方式组合在一起,每一个区块的块头都包含了前一个区块的交易信息压缩值,这就使得从第一个区块到当前区块连接在一起形成了一条长链。如果不知道前一区块的“交易缩影”值,就没有办法生成当前区块,因此每个区块必定按时间顺序跟随在前一个区块之后。这种所有区块包含前一个区块引用得结构让现存得区块集合形成了一条数据长链。

区块包含以下三部分:交易信息、前一个区块形成的哈希散列、随机数。交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量、交易双方信息等;前一个区块形成的哈希散列用来将区块连接起来,实现过往交易的顺序排列。

用户与零售商交易成功之后,通过输入果蔬编号对果蔬在区块链上进行溯源,由于区块的结构是每个区块的区块头包含上一个区块的哈希散列,系统通过当前区块的区块包含的哈希散列回溯之前的区块并找到对应交易编号的果蔬的之前的交易,最终查询到果蔬的初始交易,以此来达到溯源目的。

交易角色通过网络开始进行交易,每笔交易确认成功存储到区块链上广播到整个网络,最终用户想要查询果蔬的来源,通过区块链的结构,回溯到初始交易。

交易进行溯源的具体流程如下:

1.首先溯源之前的交易,需要由发货方对交易信息进行填写,并成功存储到区块当中,这样交易信息进行存储之后才能根据区块链的结构以及交易信息单中的上一笔交易编号进行溯源。

2.进行溯源的用户可以通过客户端输入交易编号来显示该笔交易所在的区块,该块中包含多笔交易,此时用户通过交易编号来定位到当前交易的位置。点击发货方姓名,系统内部通过区块链结构依次向前查询当前交易的前一笔交易。

3.重复第2步的做法。直到回溯到初始交易,以此达到溯源。

区块链能够结合加密算法和零知识证明来保证账户隐私安全,可以让用户不受国籍限制,跨境交易便捷安全且成本较低。虽然目前区块链技术发展迅速,但要将其真正应用到果蔬农产品质量安全溯源交易中,区块链无监管、无法律保护的特点,便利的是违法犯罪分子,不利于管理,也不利于合法的消费者进行维权。因此,本发明设计了验证区块链。

1)验证区块链:在基于区块链的果蔬农产品质量安全溯源系统中设计验证中心节点,参与交易的组织和相关机构都可以设立节点成为分布式的验证节点,负责存储完整的交易数据,验证节点通过共识机制始终保持数据一致,不可篡改。验证节点上布置智能合约市场,并辅以审计、公证等应用程序完成审计认证等验证请求。申请将数据存入验证链,验证链的主要作用是保存完整的交易数据,为交易区块链提供合格的智能合约,响应用户验证请求,解决交易纠纷等。

2)交易区块链:作为交易平台,不断产生新区块用来存储交易数据,结合加密算法来保证隐私,结合智能合约来保证交易按照预定规则实行,结合共识算法来决定新区块的产生速度,从而决定交易的效率和安全性。可根据实际应用需求来进行多样化的加密算法,智能合约和共识算法的组合,以便更好的满足应用的功能性和非功能性的需求。

在基于区块链的果蔬农产品质量安全溯源系统中,果蔬的交易过程如下:

第一步:一笔新的果蔬交易产生后,生成交易单,交易单的发送者用自己的私钥进行数字签名,以接受者的公钥作为接收方地址,将交易金额发送给接受者。

第二步:交易单广播至网络,交易金额根据公钥地址到达接收方账户,但这个金额接收方暂时不可用,直到交易确认后,金额才能真正到账。

第三步:验证节点通过共识算法来验证交易,达成对该交易的共识,若验证成功,则产生新区块,若交易验证失败,则交易无效,不会继续存储数据。

第四步:新区块产生后,最先生成区块的节点会将该区块广播至网络,其他节点核对该区块记录的数据是否正确,确认无误后,将该区块接入区块链,广播该区块的节点获得记账权,产生收益。

根据本发明的一个方面,图5示出了一种基于区块链的果蔬农产品质量安全溯源系统,包括:果蔬编号产生模块,用于对生产出的每一份果蔬产生一个果蔬编号,用于唯一标识该份果蔬,并标明生产者和生产地,具体可采用前述二维码标签与电子标签记录所属信息;果蔬交易产生记录模块,当一笔新的果蔬交易产生后,产生交易单,交易单的发送者用自己的私钥进行数字签名,以接受者的公钥作为接收方地址,并将交易单广播至网络,即写入前述果蔬农产品云平台;验证区块链模块,验证区块链模块中的验证节点通过共识算法来验证交易,达成对该交易的共识,若验证成功,则产生新的验证区块,接入验证区块链,若交易验证失败,则交易无效,不会继续存储数据;交易区块链模块,最先生成验证区块的验证节点会将该验证区块广播至网络,上传至果蔬农产品云平台,交易区块链模块中的节点核对该验证区块记录的数据是否正确,若确认无误,将该区块接入交易区块链,广播该区块的节点获得记账权。

本发明中的各个模块和节点可以通过软件、硬件、软件和硬件相结合的方式实现,可以采用计算机程序,存储有计算机程序的存储器件,通过处理器、数字处理单元、中央控制器等方式运行以实现其相应的功能。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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