张 新 彭祥贞 许继平 王小艺 李海生 赵峙尧
(1.北京工商大学人工智能学院, 北京 100048; 2.北京工商大学北京市食品安全大数据技术重点实验室, 北京 100048;3.北京工商大学计算机学院, 北京 100048)
稻米作为中国最主要的粮食作物之一,其质量安全关系国家安全和人民健康,截止到2020年全国水稻种植面积超3×107hm2,总产量超2×108t[1]。但我国亟需提高在稻米供应链上的粮食安全和品质监管能力[2-4]。我国稻米主产区分为长江中下游地区、华南地区以及东北地区,水稻分为早、中、晚稻,稻米的种植周期长,不同地区的种植时间不同步,且稻米分为籼米、粳米和糯米3种,相比于传统食品,稻米供应链全生命周期监管难度大。且针对稻米的危害物信息众多,监管部门监管审查的效率也变得低下[5]。传统的稻米供应链监管系统多为分层式管理,存在着监管效率低、监管难度大的问题,监管人员难以对其各个供应环节进行全方位动态监管[6-7]。稻米供应链的监管直接关系着稻米的粮食安全,国内外研究人员对稻米监管作了很多深入研究[8-9]。这些监管措施虽然在一定程度上加强了稻米供应链的监管能力,但稻米全供应链数据信息复杂,传统监管方式难以对其进行动态可信监管[10-11]。
区块链技术具有独特的链式结构、非对称加密形式以及分布式节点存储方式,并且利用P2P网络进行节点之间的信息广播[12-14]。作为一种全新的去中心化链式架构,利用区块链技术可以实现节点之间共同维护数据的安全,并且全链数据具有可追溯性。在数据安全方面,区块链技术利用非对称加密算法、代理重加密方法等对数据进行加密处理,以实现数据传输的安全性[15-16]。智能合约是区块链2.0的重要标志,使得区块链从数字货币扩展到其他领域[17-19]。智能合约是运行在分布式账本上的一段具有状态和条件响应的计算机程序,合约通过可预置规则,完成封装、验证、执行分布式节点复杂行为,实现信息交换、价值转移和资产管理的功能[20]。智能合约的运行不需要人工操作且可以运行在整个稻米供应链上,这不但可以提高稻米供应链的监管效率,而且程序化的设定使整个供应链更具有安全性。近些年来,国内外研究人员开始探究区块链技术在监管方面的应用:通过隐私数据分级加密及存储模式和定制化业务逻辑监管智能合约,来实现对稻米供应链全链条监管[21];利用二维码等标识技术,对数据进行显示,安全性更高,防伪程度更好,提高了监管的可信度[22-24];提出分级多层的智能服务交易监管框架,建立可以有效监管区块链交易的交易区块链和监管区块链双链结构[25-27]。基于智能合约,可以对稻米供应链全链条实现数据监管、参与人员监管、环节监管、信息可信溯源以及互联互通,可以有效地解决传统监管系统信息堵塞、难定位、难定责等问题。但现有的智能合约设计只是简单逻辑上的封装,稻米供应链时间、空间上跨度大,难以对稻米供应链进行实时的监管[28-30]。且监管人员处于一个动态流动的过程,保证监管人员可信是实现稻米供应链全链监管重要举措。
针对上述问题,本文在分析稻米供应链全生命周期信息的基础上,基于区块链智能合约构建稻米供应链动态监管模型,定制化设计多业务监管智能合约,设计稻米供应链监管原型系统并进行验证分析。
稻米供应链环节主要分为种植、收储、加工、运输、仓储、销售。收储环节包含收购、干燥、除杂、入仓4部分,加工分为了垄谷、碾米、色选、抛光、包装5部分。对稻米每个环节的基本信息、危害物信息、交易记录以及环节参与人员工作要求等进行了关键数据分类,具体如表1所示。在整个稻米供应链环节中,危害物主要分为重金属、真菌毒素、病虫害与农药残留4方面,其中重金属以及真菌毒素贯穿整个供应链。从种植环节开始,工厂排放的“三废”(废烟、废水、废气)等可能导致土壤污染,使土壤中的镉、铅、砷等重金属含量超标,从而导致稻米重金属污染。在收储环节,当工作人员对稻米进行干燥除杂时,残留的熏蒸剂以及除草剂也是主要的危害物之一。加工环节中碾米的方式以及抛光的方式不同也会导致不同危害物的产生,其主要分为了两种——化学方法、机械方法,整个过程可能会产生化学污染以及重金属污染。包装环节的材料来源也是监管的重要方面。在仓储环节以及运输环节极易出现稻米发生霉变,产生有害菌类,危害稻米的使用安全。交易记录中主要提取了供应链中每个环节的成本价格以及销售价格。供应链的参与人员主要分为了生产人员、收储人员、加工人员、仓储人员、运输人
员以及销售人员。参与供应链的各类人员中,参与人员的工作要求关系着稻米的质量安全,这也是监管部门监管的重要方面。
稻米监管模型服务于参与企业、监管机构以及消费者,对其权限数据信息进行采集。参与企业包含生产企业、收储企业、加工企业、仓储企业、运输企业以及销售企业共6大类型企业。其权限数据信息采集主要包含企业名称、企业地址、主营业务等基础信息以及该企业的信用数据。监管机构包含国家粮食和物资储备局、财政部、国家卫生健康委员会、国家市场监督管理总局、农业农村部等。其权限数据信息采集主要包含监管机构的所属部门、监管环节、规章制度等信息。对消费者的权限数据信息采集主要包含身份信息、联系方式、购买记录等。
在稻米供应链监管信息解析及分类的基础上,基于区块链智能合约构建了稻米供应链动态监管模型框架。稻米供应链动态监管模式如图1所示。整个供应链分为8小类参与人员,分别为生产人员、收储人员、加工人员、仓储人员、运输人员、销售人员、监管人员以及消费者。分别对应稻米供应链6类企业,即生产企业、收储企业、加工企业、运输企业、仓储企业、销售企业。框架将其归为3大类,分别为销售企业、查验人员、监管人员。销售企业为稻米供应链的信息发布者,主要提供稻米需求,查验人员为除监管部门以外的所有参与人员,目的在于与监管机构形成相互监督的关系,既保证了监管的可信性,也能依托于查验人员筛选出违规监管人员,形成对监管部门以及稻米质量安全的双向监管。
图1 稻米供应链动态监管模式示意图Fig.1 Schematic of dynamic supervision model of rice supply chain
框架分为3部分,分别为区块链网络、数据挖掘模块、模型融合模块。区块链网络服务于整个框架,分为了8个骨干节点,分别对应稻米供应链中的种植、收储、加工、运输、仓储、销售、监管以及消费8个环节;收储骨干节点包含4个子节点,分别为收购、干燥、除杂、入仓;加工骨干节点包含5个子节点,分别为垄谷、碾米、色选、抛光以及包装。模型融合模块实现的功能为对环节参与人员进行贡献评估,依据贡献系数,指导融合形成可信监管模型、标准环节地区模型、可信查验模型以及辅验模型,并对其信用进行更新。数据挖掘模块通过智能合约对稻米供应链各环节的关键数据进行提取,通过智能合约对数据进行分析,进而实现稻米全供应链数据信息动态监管以及监管行为动态监管。区块链模块贯穿整个稻米监管框架,数据挖掘模块将数据信息进行挖掘分析,通过智能合约实现数据交互的作用。数据融合模块依据智能合约调用数据挖掘模块分析整理的数据,进而进行贡献评估、模型融合以及参与人员信用更新。
稻米供应链监管模型在区块链以及智能合约的基础上形成了4个可信监管数据源,分别为可信监管数据库、可信查验数据库、辅验数据库以及标准环节地区数据库。可信监管数据库由稻米供应链监管模型中筛选出来完全可信的监管模型组成。可信查验数据库为在业务流程中实行供应链监管的企业数据库。可信查验数据库为智能合约在查验人员的贡献系数基础上,形成的可信查验模型集合。辅验数据库是针对消费人员的数据库,是在消费者参与查验工作并且对稻米供应链监管发挥一定作用的模型集合。标准环节地区数据库为稻米供应链各环节筛选出来的有害物含量符合国家标准的模型集合。
智能合约为稻米供应链监管框架核心部分,通过编写相互调用、相互监督的智能合约来实现对参与人员的身份初始化、数据传输、数据调用、模型验证、信用评估以及贡献评估。利用智能合约之间相互调用与相互监督的设计实现稻米供应链的实时动态监管与信息的采集,并通过业务迭代对数据进行整合处理,为后续系统监管提供可信监管数据库。
稻米供应链监管框架利用智能合约之间的协作实现,即初始化智能合约(Initialization smart contract,ITSC)、数据调用智能合约(Data calling smart contract,DCSC)、模型验证智能合约(Model verification smart contract,MVSC)、数据传输智能合约(Smart contract for data transmission,SCDT)、贡献评估智能合约(Contribution evaluation smart contract,CESC)、信用评估智能合约(Credit assessment smart contract,CASC),合约与合约之间相互调用、相互监督。智能合约之间的调用关系如图2所示。
图2 动态监管智能合约关系图Fig.2 Dynamic supervision smart contract relationship diagram
智能合约的定义以及作用如下。
ITSC:服务于稻米供应链参与人员的身份初始化、业务信息发布。实现对业务进度的把控以及对参与人员的职责定位。形成查验人员名单、监管人员名单以及参与企业名单。
DCSC:作用于参与人员在各个环节之间的数据调用以及各企业之间信息的查询,包括环节污染物含量数据、各企业主体信息以及信用积分。
SCDT:应用于参与企业实时数据的上链以及模型验证环节中数据的加密传输以及报告、名单等数据的上链。主要作用为在区块链上保留交互记录信息。
MVSC:用于查验人员以及监管人员之间的评估报告提交,以及达成共识之后,发布最终评估报告,通过报告之间的定量分析得出可信查验人员名单、失信人员名单、可信监管人员名单以及违规监管人员名单。
CESC:用于计算监管人员以及查验人员的贡献系数,并指导形成可信监管模型、标准环节地区模型、可信查验模型以及辅验模型。
CASC:对参与该业务的所有参与者的信用积分进行统计,并在区块链网络上进行记录。
智能合约是稻米监管模型的核心部分,稻米供应链监管模型依靠多个智能合约实现信息的采集以及模型的融合。本文对ITSC、DCSC、MVSC、SCDT、CESC、CASC进行编程,对稻米供应链各环节步骤进行梳理,采取程序化语言对稻米供应链的合约设计进行描述。为了区分稻米供应链模型各个阶段,本文采用两个无符号标志位进行区分,分别为{startI,endO}={link,link}、{startI,endO}={link,break}以及{startI,endO}={break,break},其中link为真,break为假,分别对应模型的初始化阶段、业务监管阶段以及贡献量化阶段。该模型的一些重要的符号表示如表2所示。
表2 变量说明以及描述Tab.2 Variable introduction and description
3.1.1ITSC智能合约
ITSC是稻米供应链运行的首要阶段,主要实现稻米供应链参与人员的初始化功能。首先,ITSC对发布企业O进行信用积分验证,符合条件后,对该发布企业O赋予唯一角色代号a。之后,合约将任务需求书TRADE广播至区块链网络,本批次稻米业务D正式上链启动。当企业查看TRADE后,申请参与此次业务,合约依据TRADE对企业的信用积分进行验证后,按照企业的主营业务类型赋予相应的环节编号,并生成Flist列表。ITSC主要对监管人员的身份以及信用积分进行验证,符合条件后,赋予该监管人员唯一角色代号b,并生成Rlist列表。除了监管人员以外,所有的参与人员都可以申请成为查验人员,ITSC对其身份以及信用积分认证后,赋予该查验人员唯一角色代号c,并生成相应的Clist列表。在初试化阶段,除了发布人员之外,合约依据申请时间先后以及TRADE规定,对本次D所产生的Clist、Rlist以及Flist列表的长度进行规定,当Clist、Rlist以及Flist列表人员数量达到Clim、Rlim、Flim时,ITSC不再接受申请。
合约对参与企业进行了限定,如F需参与此次业务,信用积分必须达到一定的数值。F的积分计算公式为
HF=H1+H2+…+Hj
(1)
式(1)中,Hj为该企业参与查验工作的人员的个体信用积分,F的信用积分体现在该企业参与查验工作的人员的信用度累积和。
除此之外,合约对F的数量也进行了限定。对于申请认定查验者身份,合约采取对申请人员进行信用积分审核的方式进行验证,信用积分是稻米供应链监管框架进行资格认定的必要条件。
3.1.2DCSC智能合约
为了方便查验人员获取环节污染物含量数据以及各参与企业之间沟通交流,本文设计DCSC来解决此问题。查验人员、监管人员以及各参与企业向DCSC发送调用数据的哈希值,如果申请人在Clist、Rlist以及Flist中,DCSC分发数据集Cset、Rset以及Fdate给相应申请人员。为了便于确定各个企业的访问权限,本文通过赋予企业唯一哈希值来解决这个问题,DCSC通过辨别企业哈希值来确定企业的权限。DCSC分发数据集的路径公式为
Pathfile={RDS{Di{Hi{file}}},pkp}
(2)
各企业查看其他企业信息路径公式为
Pathfile={RDS{Fi{file}},pkp}
(3)
式(2)中,RDS为云数据库,Di为云数据库中该项目所在库位置,DCSC利用参与人员的公钥定位到数据的具体位置,对数据集进行分发。式(3)中Fi为各参与企业具体信息的存储库位置,各企业通过各自的公钥对所需查看的其他企业具体信息进行提取。
3.1.3SCDT智能合约
SCDT主要服务于MVSC,作用体现在参与企业在稻米供应链各环节产生的数据ZDi进行实时上链以及MVSC对模型进行验证时产生的数据进行传输,并将整个交互记录存储到区块链网络。当Ci以及Ri在本地生成Eci报告以及Ei报告之后,SCDT首先对其身份进行验证,确定Ci以及Ri属于本次业务D参与人员,之后对报告进行加密上链。同样,当Ri请求获取Eci报告时,SCDT验证其身份,并对Eci报告进行传输。
SCDT保证了数据的安全传输,整个传输过程采用非对称加密的形式对数据进行加密处理,即参与企业、查验人员与监管人员使用私钥进行签名,利用公钥进行验证。SCDT智能合约与DTSC智能合约贯穿于整个稻米供应链,共同对供应链内部数据进行传输与调用。SCDT智能合约与DTSC智能合约是其他智能合约相互连接、相互监督的纽带。
3.1.4MVSC智能合约
MVSC智能合约为稻米供应链的核心智能合约,实现对查验人员以及监管人员对数据信息的查验与监管,以及对查验行为、监管行为的管理,其伪代码设计如算法1所示。
算法1:模型验证智能合约(MVSC)
Input:{startI,endO}={link,break};O;Clist;φ;Rlist;SGR;
Output:{startI,endO}={break,break};Eci;Ei;Ecr;Csuclist;CBFlist;RBflist;Rverlist;
1:ifCi∈Clist
Ri∈Rlist
C⟹DCSC
R⟹DCSC
//调用DCSC
returnCi⟸Cset
Ri⟸Rset
//分发数据集
else
end
2:ifC∈Clist
C依据φ查验环节污染物含量
//实时查验
returnEci
Eci⟹SCDT
ifR∈Rlist
R依据φ查验环节污染物含量
//实时监管
returnEi
Ei⟹DCSC
3:ifRi∉RBFlist
dist(Eci,Ei)≤θC
returnRi→Ci(γi)
send (Ci,Ri,γi)
Ri→Rverlist
else
Ri驳回Eci
Ci→CBFlist
return 2
//对查验行为进行实时监管
3:ifγi的数量≥SGR
return 4
else
return 2
4:C生成Ecr
Ecr⟹SCDC
//调用SCDC
5:if dist(Ei,Ecr)≥θR
returnRi→RBFlist
将Rverlist中Ri删除
//对监管行为进行实时监督
ifEci的数量小于该环节所需最少数量
return 2
else
Ci→Csuclist
6:ifCsuclist=ClistorO对稻米满意
return
{startI,endO}={break,break}
else
return 2
7:output:{startI,endO}={break,break};Eci;Ei;Ecr;Csuclist;CBFlist;RBflist;Rverlist
查验人员以及监管人员在本地形成Eci与Ei,调用SCDT将其加密传输到区块链网络,Eci与Ei加密传输公式为
SendEci={Wi,Yi,Zi}skp
(4)
SendEi={Wi,Yi,Zi}skp
(5)
本文设定的传输方式为私钥加密公钥解密,以此来保证数据的安全性。可信监管人员(在模型经过多次业务迭代之后形成的可信监管数据库中的监管人员)调用SCDT获取Eci,获取方式为
Path={RDS{Di{Hi{Eci}}},pkp}
(6)
在检查Eci的可信性后,该监管人员将认证签名发送给该查验人员,该查验人员在获取到足够的签名之后发布Ecr到区块链网络。本文将Eci与Ei报告中3个维度的数据进行量化,MVSC依据设定好的欧氏距离对Eci、Ei、Ecr进行对比,从而生成Csuclist、CBFlist、RBflist、Rverlist共4个列表,以便CESC与CASC进行模型的融合以及信用积分的评估。欧氏距离计算公式为
Dist(Eci,Ei)=
(7)
Dist(Ei,Ecr)=
(8)
式(4)显示的是查验人员利用本身私钥对Eci进行加密然后传输到区块链网络,Eci为Wi、Yi、Zi的整合,同理式(5)显示的是监管人员对Ei的加密传输方式。式(6)中,模型首先访问到云数据库,之后访问到该项目库,再访问到该环节库,最后查询到该Eci。式(7)、(8)是Eci与Ei之间的欧氏距离具体算法,其中WRi和WCi、YRi和YCi、ZRi和ZCi分别表示监管人员和查验人员的第i个环节有害物记录、交易记录、主体信息,具体为首先对Eci与Ei中3个维度的信息进行量化,之后按照公式对其进行计算。
3.1.5CESC智能合约
CESC首先对Ri和Ci进行可信性验证,确定Ri属于Rverlist列表以及Ci属于Csuclist列表,并对Ci进行中的消费者S以及其他查验人员进行区分。其次,CESC对Ecr报告与供应链各环节Hi进行匹配,并确定确认的第i个环节的稻米污染物含量PLAi小于预设的污染物含量要求φ。之后,CESC对查验人员以及监管人员进行贡献系数的计算,并依据贡献系数对可信查验模型StepCi、可信监管模型TSM、辅验模型FY以及标准环节地区模型TL进行指导融合,融合方式为
(9)
(10)
(11)
其中TL为相应Ecr对应环节数据。模型在反复业务迭代的过程中形成可信查验数据库、可信监管数据库、辅验数据库以及标准环节地区数据库。贡献系数σi的计算依据各类参与人员发布的Eci、Ei、Ecr的数量决定,是一个等量转化的过程。CESC形成的数据信息存储在云数据库中,区块链各节点存储相关索引信息,两者呈平行映射关系。
3.1.6CASC智能合约
在稻米供应链监管模型中,信用积分是评判企业的参与资格以及监管人员监管质量的唯一指标。本文设计CASC对一个迭代业务过程中各个参与人员的信用积分进行计算更新。CASC对信用积分的评判采取的方法为参与人员本身的信用积分加上预先设定好的积分奖励以及惩罚,这一部分可以依据现实情况进行定量设计。除此之外,CASC将各环节的确定污染物含量传输至区块链网络,传输方式定义为MSG,使CESC能够依据此进行标准环节地区模型的融合。CASC的设计如算法2所示。
算法2:信用评估智能合约(CASC)
Input: {startI,endO}={break,break};Csuclist;Rverlist;CBFlist;RBFlist;T+;T-;
Output: {startI,endO}={link,link};TCi;TRi;
1:ifRi∈RBFlist
Ci∈CBFlist
returnTRi=TRi-T-
TCi=TCi-T-
//对查验/监管失信人员进行相应信用积分的扣除
Ri→ListRe
Ci→ListRe
2:ifCi∈Csuclist
Ri∈Rverlist
returnTCi=TCi+T+
TRi=TRk+T+
//对查验/监管可信人员进行相应信用积分的增加
3:ifCi∈Csuclist
return send(Ci,O,MSG)
//传输可信环节各数据信息,以便形成标准环节地区数据库,Sig为数字签名
4:if len(ListRe)=len(RList∪CList)
//验证所有人员是否更新完毕
return {startI,endO}={link,link}
else
return 1
5:output:{startI,endO}={link,link};TCi;TRi;ListRe
在整个模型中,所有的数据都可以存储在区块链节点之中,表3为智能合约在处理稻米供应链监管模型监管逻辑时产生的一些交互记录。
表3 模型运行参数Tab.3 Model operating parameters
本文通过设计定制化的智能合约对稻米供应链监管模型内部逻辑进行封装。智能合约的设计类型主要分为功能型合约与服务型合约,功能型合约为ITSC、MVSC、CESC以及CASC,主要实现稻米供应链监管模型的初始化工作、模型验证、信用评估等主要功能。服务型合约主要为DCSC与SCDT,其主要服务于稻米供应链监管模型内部数据的流动。本文在稻米供应链监管模型框架以及智能合约的基础上,对稻米供应链监管模型流程进行了设计。
稻米供应链环节框架涵盖了从种植环节到消费环节,为稻米监管提供了一套完备的监管体系。在此基础上,本文构建了稻米供应链监管模型,整个模型的运行模式分为3个步骤,分别为初始化阶段、动态监管阶段以及贡献量化阶段,稻米供应链模型流程图如图3所示。
图3 模型运行流程示意图Fig.3 Schematic of model running process
该模型与区块链网络成平行映射的关系,整个流程3个阶段的具体操作流程如下:
(1)初始化阶段
销售企业向ITSC递交该业务说明书,申请发布此次业务。业务说明书包含所需稻米品种、参与该企业所需最低信用评分等。ITSC验证总资金以及该销售企业信用积分,达到标准后,ITSC通过该申请,将该业务发布到区块链上,并赋予企业代号a,否则驳回。
各类企业查询业务说明书,向ITSC申请参与该业务,ITSC查验各类企业信用积分,达到要求后,ITSC通过申请,赋予各申请企业代号(1,2,…),每个代号对应唯一哈希值。输出参与企业名单。该业务开始,企业将数据实时上传至区块链。销售企业以及各参与企业可通过DCSC查询其他企业具体信息,例如地址、名称、信用积分等。
监管部门向ITSC申请参与该业务,ITSC验证监管部门信用积分,达到标准后,赋予角色代号b输出参与此次业务监管部门名单,否则驳回。
除监管部门外所有参与企业人员均可向ITSC申请成为查验人员,ITSC验证申请人员信用积分,达到标准后,通过验证,赋予角色代号c,输出查验人员名单,否则驳回。
(2)动态监管阶段
查验人员以及监管部门向DCSC提出申请获取各环节污染物含量数据,DCSC验证角色代号(哈希值),分发给查验人员以及监管部门相对应实时数据。查验人员依据获得的数据在本地形成该环节污染物报告Ei,并将Eci发布到区块链网络上。监管人员依据获得的数据在本地形成该环节污染物报告Ei,并将Eci发布到区块链网络上。可信监管人员查看Eci,符合要求,将认证签名发送给查验人员,如果Eci仅只是不符合要求而不是存在欺骗行为,仅驳回该报告,该查验人员可以再次提交。当查验人员发布的Eci报告获得足够多的签名(达到标准)后,发布Ecr到区块链网络。
设定欧氏距离,定量分析各报告差异。如果dist(Ei,Eci)≥θC,该查验人员涉及欺骗行为,将其添加到失信列表中。如果dist(Ei,Ecr)≥θR,该监管人员涉嫌欺骗行为,将其添加到失信列表。CASC依据设定好的奖惩规则,对列表中的信用积分进行扣除,否则增加。
(3)贡献量化阶段
当所有过程完成后,或者销售企业收到满意稻米后,查验人员向CESC发送所查验环节的污染物含量报告以及获得认证签名,CESC融合形成标准环节地区数据模型,CASC更新各查验人员信用积分,并匹配到相对应企业,将其和作为该企业信用积分,计算各个查验人员贡献度,CESC融合形成可信查验人员数据模型,并分离出消费者,形成辅验数据模型。更新监管人员信用积分,计算监管人员贡献度,CESC融合形成可信监管数据模型。一次业务的完成为一次迭代,当多次迭代之后,形成相应4个可信数据库。
稻米供应链监管模型能够对各个环节进行动态实时监管,且能够使参与人员与监管机构之间形成双向监管,保证了监管人员的监察可信。本文对稻米供应链监管模型进行了正确性以及实用性验证,建立稻米供应链监管原型系统,并通过系统的实际运用情况对该模型进行测试。
本文以稻米供应链监管模型为核心,构建稻米供应链监管原型系统。原型系统分为应用层、合约层、网络层、共识层以及数据层,系统架构图如图4所示。
图4 稻米供应链监管系统架构示意图Fig.4 Schematic of rice supply chain supervision system architecture
应用层服务于参与企业、消费者以及监管机构,主要实现数据采集、依据信用积分赋予相应权限、辅助监管、全供应链监管、监管部门内部监管等功能。合约层主要由6个智能合约组成,主要服务于应用层的调用以及系统内部逻辑的封装。系统采取P2P网络进行信息的广播,参与人员共同提供数据与服务,共同获取所需信息。系统采用的共识机制为实用拜占庭容错算法(Practical Byzantine fault tolerance,PBFT),并采用联盟链的准入机制。数据层分为区块链节点存储数据以及云数据库存储数据。为了提高系统的运行效率,区块链节点存储各个环节的索引信息,存储量少。系统主体数据通过区块链的数据索引加密存储在云数据库,整个云数据库分为4部分:可信查验数据库、可信监管数据库、辅验数据库以及标准环节地区数据库。数据采集层由频射技术(RFID)、条形码、二维码、互联网、手机等组成,主要为参与企业对数据进行实时采集并且上传到云数据库并将其存储位置以及相关索引信息加密传输至区块链网络,以便数据的及时处理,即模型对相关人员以及上传的数据信息进行动态监管。
稻米供应链原型系统的实现分为客户端、服务器、区块链网络以及云端数据库4部分,客户端以Web界面的形式给用户提供服务。服务器是连接客户端与区块链的中介,为整个系统提供哈希计算、数据共享等服务。本系统使用JavaScript开发语言以及Golang开发语言进行区块链的开发,并使用 Gin、Vue 作为前、后端框架进行全栈开发,平台采用Hyperledger Fabric,智能合约运行环境为Docker沙箱,加密体系采用ECDH(密钥协商算法),存储介质为RDS。本系统设计的本质为各参与人员利用智能合约以及区块链技术,对稻米供应链产生的数据进行采集以及对整个稻米供应链参与人员本身产生的数据进行分析,将数据库分为4个可信数据库,从而提高监管的力度。稻米供应链监管系统的运行流程如图5所示。
图5 系统运行流程示意图Fig.5 Schematic of system operation process
稻米供应链监管系统的实现过程从用户通过网页进行注册登记开始,其中销售企业在系统中发布稻米收购需求,认定为信息发布者,将该需求通过P2P网络对整个系统进行广播,相关企业获取到需求信息后,经过系统审核,并参与此次业务。本次业务正式开始,参与企业通过智能合约对数据进行实时上链,然后监管部门进入系统对此次业务进行监管,参与人员申请参与稻米供应的查验。查验人员以及监管人员达成PBFT共识,在获取相关环节数据后,分别形成Eci、Ei以及Eci,并将其存储到区块链网络,系统调用智能合约,在服务器端对报告进行处理,整理出可信/违规监管列表、可信/违规查验列表,并对其信用积分进行相应的奖励以及惩罚,并依据这些列表数据以及采集数据,系统形成可信监管模型、可信查验模型、可信标准环节地区模型以及辅验模型。在业务迭代过程中,形成4个模型的数据库。整个系统的数据调用与传输采用非对称加密传输的形式,即公钥加密、私钥解密或私钥加密、公钥解密,因此数据的安全性得到保证。
通过对东北地区某批次稻米供应链进行调研,该批次稻米环节数据记录详细且保存完整。本文利用该批次稻米数据对稻米供应链监管系统进行分析验证。并在某监管单位的帮助下,对本系统的实用性进行测试。系统Web端登录界面如图6a所示。不同的用户可选择相应的所属类别进行登陆。拥有管理权限的监管机构登录系统后的主页如图6b所示。系统分为9个管理模块,其中在主页界面,系统采取可视化方式对当天业务数量、本月监管合格率、报告数量、本月监管违规次数进行展示,并采取图表的形式对系统完成业务批次信息进行公示。监管机构可以实时把控稻米供应链系统的监管情况。监管部门通过监管业务模块可以查看查验完成情况以及监管完成情况。其中查验情况如图6c所示,包括查验人员、联系方式、数据获取情况、报告发布情况、是否可信以及参与人数等。监管情况如图6d所示,包括监管人员、联系方式、数据获取情况、认证环节数量、信用积分是否更新完毕等。此设计使监管机构对监管情况更好地把控,及时对监管人员违规情况进行处理,从而保证监管的可信度,提高稻米质量安全。
图6 系统界面Fig.6 System interface diagrams
本系统通过定制化设计多业务智能合约来实现稻米全供应链的动态监管,通过实例验证,本系统能够实现发布企业对稻米需求的及时公布,并通过合约及时确定参与此次业务的人员,并进行任务分配。参与企业在获取稻米需求信息后能够实时将生产、加工、运输等数据及时上传到区块链网络,系统通过智能合约能够实时对所采集的信息进行智能挖掘,并进行分析,从而对数据进行监管以及监管行为进行监督。且系统能够提供可信数据来源库,在业务迭代过程中可信数据库中人员的可信度以及数量将会不断增加,因此,本原型系统处理业务的效率也随时间不断增加。
本文对系统的业务能力进行仿真,初试条件设为业务数量不限,模型融合数量随时间的增加情况如图7a所示。本文仿真了24 h内TSM、StepCi、FY以及TL模型的融合数量随着时间的增加而进行动态变化的过程。随着时间的增加,每小时融合形成的4个模型数量呈近似线性增加,并且当仿真时间达到12 h时,每小时融合形成的4个模型的数量增长速度大幅增加,可以得出本文设计的原型系统随着融合的可信模型数量的增加,处理业务的速度得到了相应的提高。系统处理业务数量随时间的变化情况如图7b所示。本文将原型系统测试时间延长至35 d,可以更加明显地看出原型系统处理业务的数量随时间的增加不断变快,例如,系统在第5天时,处理的业务数量达到1 500个左右,当第10天时,处理的业务数量达到了3 500个左右,当第15天时,处理的业务数量达到了6 200个左右。本系统在随着运行时间的增加,业务能力得到不断增强。
图7 业务能力测试Fig.7 Prototype system business capability test
(1)分析了稻米供应链全生命周期复杂数据并以此为基础构建了稻米供应链动态监管模型,以模型为框架,定制化设计多业务监管智能合约。最后结合模型以及智能合约构建了稻米供应链监管原型系统,实现了稻米供应链全链数据动态监管。
(2)主要结合区块链智能合约技术对稻米供应链进行研究。首先,对稻米供应链进行分析,提炼出稻米供应链各环节需上传的稻米供应链关键信息,并对稻米全供应链参与者归为企业、监管机构以及消费者3类,并对其主要数据进行整理。其次,结合区块链智能合约的方法构建稻米全供应链监管模型框架。通过设计相互调用与监督的智能合约,实现稻米供应链全生命周期复杂数据的动态监管以及可信人员数据模型的融合,最后,依据稻米全供应链监管模型,提出稻米全供应链监管原型系统设计方案,并结合某批次稻米对该系统进行验证和分析。
(3)实现了稻米供应链复杂数据的动态监管,解决了监管人员的可信监管行为实时监督问题,并提供了无需验证的可信人员库以及稻米数据信息库,为加快我国粮食行业产业数字化转型,增强粮食作物监管能力,保障粮食安全提供了一种可行务实的应用解决思路。