基于区块链的大米可追溯系统研究
2023-12-15于连军于蕴吉刘啸天陈桂芬
于连军,于蕴吉,刘啸天,张 浩,陈桂芬
(1.长春市农业信息中心,吉林长春 130118;2.农安县动物卫生监督所,吉林农安 130216;3.东北师范大学长春人文学院,吉林长春 130117)
0 引言
近几年,因食品质量问题引发的纠纷、事故等屡见不鲜,所以食品安全问题逐渐受到各界的广泛关注[1,2]。食品安全问题的屡次发生,不仅打击了消费者对食品行业的信心,同时也对食品种植地、生产地的经济造成了严重影响。大米作为我国主要的粮食之一,保证其食品安全就显得尤为重要[3]。大米从种植到销售,步骤繁多,涉及的人员更是很广泛,因此要想从根源保证大米的质量是非常困难的。尤其目前用于大米溯源的系统非常单一,并且存在管理人员随意篡改大米信息的现象,因而就导致了大米信息可信度低的问题。基于此,构建一套大米追溯系统是非常必要的。本文基于区块链、RFID技术等设计了一款可以应用于大米信息追溯的追溯系统。
1 关键技术
1.1 区块链
区块链从本质上来说就是一个去中心化的数据库,其将不同数量的区块按照链式方式连接在一起。链中的每一个区块都保存了相应的信息,并严格按照时间顺序连接在一起。在区块链中,这些区块称为节点,每一个节点都保存在不同的个体手中,因此要想对区块链内任一节点中的信息进行更改,都必须经过一半以上的节点同意,不然更改信息的要求就无法实现。区块链结构图如图1所示,区块链中的每一个区块都包含两个部分,分别是区块头和区块主体。其中区块头包含区块好、哈希值以及时间戳等信息;区块主体则包含所有的交易信息。
1.2 AES算法
AES的全称是Advanced Encryption Standard,意思是高级加密标准。AES是经典的加密算法,加密流程图如图2。
AES加密过程包括三个轮次,分别是初始轮、普通轮和最终轮。密钥长度不同,轮次也会不同。除去初始轮,密钥为128位,设置10轮;密钥为192位,设置12轮;密钥为256位,设置14轮(后续介绍以10轮为例)。除最后一轮外,每一轮都包含四个处理步骤,分别是字节替换、移位行、列混合转换和轮密钥添加。
1.3 ECB模式
ECB模式全称为Electronic CodeBook,是一种加密模式,其基本工作原理是先将需要进行加密的数据进行分组,然后严格按照分组进行加密和解密操作。在区块链中,ECB模式会将明文按照一定的位长进行分组,然后对明文块进行加密处理,处理以后得到密文组。在后续进行解密的时候,操作相似,只不过是将经过加密以后由明文变成密文的密文块再转换为明文。
1.4 超级账本
超级账本(Hyperledger Fabric)属于联盟链,参与者需要进行成员身份管理和验证,且超级账本同时可以支持多种不同的成员管理。超级账本的参与者可以建立不同的通道,在相同通道内的参与者可以共享该通道内的账内,而不属于该通道的参与者则不能拥有该通道内账本的信息。
1.5 智能合约
为了约束区块链内各节点的行为会设置智能合约,智能合约实质上就是一种计算机交易协议,被称为Chaincode。在不属于区块链内部程序需要调用区块链内账本的情况下,智能合约才会被调用。且在通常情况下,智能合约是不会查阅区块链主体内的交易记录的。
1.6 二维码技术
二维码技术是近几年应用较为广泛的一种编码技术,与其他编码技术相比,二维码技术不仅可以存储更多的信息,同时还可以表示更多的数据类型。本次编码规则依据农业农村部发布的《中华人民共和国农业行业标准》中的编码规则进行编码。
2 基于区块链大米追溯系统的设计与实现
2.1 系统设计
2.1.1 系统需求设计分析
大米在种植、加工、运输、销售等过程中都会涉及很多工作步骤,同时也会涉及很多参与人员,所以整个追溯系统是一个综合性的系统。为保证可以对追溯系统的需求进行准确分析,将追溯系统的参与者分为三个部分,分别是服务提供者、消费者和监管者以及管理者。其中服务者、提供者包括所有提供服务的参与人员,包括农民、仓库工作人员、销售人员等等,这些人员需要完成身份认证,然后还需要将所有有关大米的信息都录入到区块链内。消费和监督者包括消费者以及监管部门的人员等,无论是消费者,还是监管部门的人员,都可以通过查询大米的追溯码以查看大米的所有信息,且可以进行监督,如果发现大米存在质量问题,或者是信息不真实的问题,就可以进行举报,尤其是监管部门人员,一旦发现上述问题就应该立刻根据区块链内保存的信息对大米生产地、销售地等进行追踪溯源,将不合格的产品追回,且还要对相关人员进行相应的惩罚。区块链管理人员是区块链内部重要的组成成员之一,其负责区块链内部的数据管理以及用户管理等等,因此区块链管理人员直接决定着区块链的使用效能。
2.1.2 系统数据库设计
区块链内部的信息是公开的,因此很多用户在上传信息的时候就涉及隐私问题。比如,在大米种植技术上,不同农户使用的可能是不同的种植技术,而这些种植技术农户是不想公开的;工厂在进行加工的时候,不同工厂可能也会采用不同的加工技术,而这些技术同样是工厂不想公开的等等,所以为了解决这个问题,就应用到了AES算法以及EBC模式。依托于这两种技术,参与者可以将隐私信息加密以后再上传。为减少区块链内出现信息冗余的现象,在此对不同参与者需要上传的信息进行规定,具体信息见表1。
2.1.3 系统框架设计
大米追溯系统总共包括5层,分别是数据采集层、存储层、合约层、共识层和应用层。其中,数据采集层包括各个阶段的数据信息采集,比如,利用RFID射频技术采集大米条形码信息;应用各种传感器获取大米种植的湿度信息、温度信息以及氧气信息;应用GPS技术获取地理位置信息等等。存储层主要负责各个阶段上传信息的存储,尤其对于需要加密的数据信息,要在加密以后才能上传至区块链,这样才能有效保证数据信息的安全性。合约层则是存放了各种交易规则以及相关的法律法规,这样才能保证区块链内的所有行为都按照相应的规则进行,且在特定情况下不需要人为调用,可以自动调取,这样还可以提升交易的速度。共识层的主要职责是对交易的信息进行验证,只有在保证所有节点的信息都一致的情况下,才能进行交易,不然是无法进行交易的,这样可以充分保证交易的信息不会被篡改。应用层则保证了参与者可以通过链上录入信息,同时还可以通过二维码查询信息。
2.2 系统实现
2.2.1 区块链交易查询页面
区块链交易信息查询网页左侧,有主页、消息、账户三个选项栏,用户可根据需要选择。在网页上方,可以通过合约号查询相应的交易信息。也可以根据交易发生的时间,通过搜索具体的时间查找在规定时间发生的交易信息。在网页主体部分,展示了符合搜索信息的所有交易信息,可以看到有关交易的交易时间、哈希值等等。
2.2.2 二维码实现
每一份大米产品都有单独的二维码和追溯码,用户可以通过在Web端输入可追溯码查询,同时也可以通过手机端扫描二维码查询。
2.2.3 Web端和手机端查询实现
网页有四个选项,用户可根据需要选择,如发现质量问题也可以通过售后服务解决问题,同时也可以通过投诉渠道投诉。只要输入可追溯码,就可以查看到有关产品的基本信息、产地信息、加工信息、运输信息。用户在扫描二维码以后,同样可以看到与Web端相同的产品信息。
3 结论
在充分查阅了国内外有关可追溯系统的资料以后,我们从大米食品安全角度出发,将区块链融合在可追溯系统内,研发了一套大米可追溯系统。基于区块链,融合了智能合约、AES算法、ECB模式、RFID射频技术、二维码技术等,记录了大米从种植到售卖到消费者的所有信息,AES技术保证了隐私数据可以加密上传,区块链保证了大米信息不可随意篡改,从根本上解决了大米信息造假问题。同时我们还研发了Web端和手机端,消费者和监管者可以随时通过电子设备查询大米信息,实现了可以随时监管,这样就可以给保证大米质量再加一道屏障。在未来工作中,我们会着力于改进区块链,使大米可追溯系统更完善。