APP下载

基于CSBFT区块链的农作物全产业链信息溯源平台设计

2020-04-09任守纲何自明周正己顾兴健熊迎军袁培森徐焕良

农业工程学报 2020年3期
关键词:信誉共识农作物

任守纲,何自明,周正己,顾兴健,熊迎军,袁培森,徐焕良

·农产品加工工程·

基于CSBFT区块链的农作物全产业链信息溯源平台设计

任守纲1,2,3,何自明1,周正己1,顾兴健1,熊迎军1,袁培森1,徐焕良1※

(1. 南京农业大学信息科技学院,南京 210095; 2. 国家信息农业工程技术中心,南京 210095;3. 江苏省物联网技术与应用协同创新中心,南京 210023)

为提高农产品溯源信息的完整性、安全性及可信性,该文从农产品产业链角度出发,设计并实现基于区块链的农作物全产业链信息溯源平台。通过研究和分析农作物全产业链中从农资购买到粮食销售的信息流程,设计溯源平台的架构和功能模块。提出一种改进的区块链共识算法:基于信誉监督机制共识算法CSBFT(credit-supervisor byzantine fault tolerance),用以提高联盟链场景下共识机制的安全性和效率;设计并编写智能合约,自动化保存关键上链信息,并生成相应的溯源码供消费者查询。与传统食品追溯系统相比,采用区块链的农作物全产业链信息溯源平台具有去中心化及信息完整性、安全性、真实性和可靠性更高的优点;与现有基于区块链的食品溯源平台相比,CSBFT算法使得本平台在信息上链时具有更高的安全性和更小的时延。

农产品;溯源;区块链;产业链;共识算法;智能合约

0 引 言

传统农作物耕种模式中,生产各环节连接松散、种植过程不科学、上下游信息不联通,粮食安全难以保障。为保障食品安全、确保责任可追究,建立可信的食品溯源体系是关键。传统的溯源平台大多采用集中式数据库来存储供应链信息,无法保证存入信息的安全性和可靠性[1]。如何建立去中心化、可信的溯源体系是当今政府部门、食品监管部门和相关学者面前亟待解决的重要研究课题。

世界多个国家和地区,如欧盟、美国和加拿大,都已建立完善的食品安全追溯体系[2],如国际物品编码协会(GE1,原名EAN)推出的EAN·UCC系统[3]。产品电子编码(electronic product code,EPC)、无线射频识别(radio frequency identification,RFID)、地理信息系统(geographic information system, GIS)等信息技术也相继运用到传统溯源体系中[4-5]。中国的食品安全溯源技术经过十多年的研究,也日趋完善[6-9]。近年来,随着区块链技术的兴起,其去中心化、不可篡改、信息可追溯等特性可以很好地改进传统溯源体系,有效保证食品追溯信息的真实性。区块链是以比特币为代表的数字加密货币体系的核心支撑技术[10],自2008年中本聪首次提出比特币以来[11],加密数字货币和区块链技术得到了广泛关注。区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构、并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账,能够安全存储简单的、有先后关系的、能在系统内验证的数据[10]。2017年底,IBM、沃尔玛、清华大学、京东共同宣布成立中国首个安全食品区块链溯源联盟[12],区块链对于提升整个食品供应链安全水平的关键性作用已得到业界认可。在国外,研究人员开始尝试对基于区块链技术的食品供应链和食品溯源系统进行研究和改进,例如将物联网和区块链结合并在信息上链之前做必要的HACCP(危害分析和关键控制点)分析和信息提取,引入BigChainDB提高区块链的可扩展性[13]。欧洲学者提出AgriBlockIoT系统[14],其可追溯从农田到餐桌的流程记录,且该记录是透明、容错、不可变和可审计的。在国内,研究人员提出了基于区块链的牛肉溯源系统、基于区块链的大米溯源管理系统等[15-17]。上述研究大多停留在理论阶段,而且在应用时也未考虑原生共识算法的安全性和效率问题。

基于以上问题,本文设计并提出了一种改进的共识机制——基于信誉监督机制的拜占庭容错算法CSBFT,根据其搭建改进的以太坊联盟链。详细分析农作物全产业链架构,设计并编写了相应智能合约,实现农作物全产业链关键信息自动保存到联盟链中。最后以面向对象的软件工程方法设计并实现了基于区块链的农作物全产业链信息溯源平台,充分保证了追溯信息的真实性、完整性和可信性。

1 基于信誉监督机制的共识算法

1.1 区块链共识算法

区块链按照中心化程度递减可以分为公有链、联盟链和私有链[18],公有链由所有参与成员维护,以比特币为代表;联盟链则由一些机构发起,只允许组织内成员参加,具有“部分中心化”的特点;私有链的写入权限只受一个实体组织控制,为了追求性能已渐渐演变成中心化的模式。考虑农产品供应链场景的成员准入与交易规模,联盟链是最佳选择。共识算法是区块链的核心技术,主要分为3类:工作量证明(POW, proof of work),权益证明(POS, proof of stack)和实用拜占庭容错算法(PBFT, practical byzantine fault tolerance)。POW[19]和POS[20]主要运用在公有链中,在高交易量和低成本需求的联盟链中并不适用,而PBFT算法却可以很好地适应该场景。PBFT共识算法由Castro等于1999年提出[21],通过节点之间传递状态消息来解决拜占庭错误。然而PBFT共识算法存在一些不足,如主节点出错情况,因此研究人员提出一种基于监督模型的共识算法MBFT(multisignature byzantine fault tolerance)[22]。但是PBFT及MBFT算法在实际应用中仍容易出现主节点发送不同消息给不同节点、无法判断所选节点是否为错误节点等问题,将给系统的安全性带来严重隐患。

1.2 基于信誉监督机制的共识算法

基于以上问题,本文提出一种基于信誉监督机制的共识算法(credit supervisor byzantine fault tolerance,CSBFT)。CSBFT算法以MBFT算法中的监督者模型为基础,并对其做出改进:首先加入信誉值模型激励节点参与共识,然后设计新的节点选择策略,即固定主节点和根据信誉值选择监督节点,防止选择错误节点,具体如图1所示。

注:n为分布式节点个数。

1.2.1 基于信誉值的监督者选择策略

CSBFT算法中结合包含时间衰减的节点共识信誉值模型,该模型是一种用于提高节点共识积极性的奖励机制。当节点主动签名转发消息,那么它的信誉值将会增加,相反则会减少。信誉值变化算法根据节点类型的不同可以分为2类:监督节点信誉值变化算法和普通节点信誉值变化算法,具体如下表1、2所示。其中Proposal为提案消息,除此之外CSBFT中还存在监督节点签名消息SV-Proposal以及确认消息Commit。值得注意的是,在系统初始时每个节点的信誉值Cre将被设置为1,算法1和2中出现的和为信誉增长率,为激励主动共识竞争成为监督节点,设置监督节点的信誉增长率大于普通节点,如=0.02,=0.01。同时网络延迟和节点故意延迟发送消息会降低整个系统的性能表现,如算法1中第8步设置节点的信誉值随时间延迟而减小的策略可以减少节点的惰性,提高节点共识效率。其中为时延固定值,Δ为节点在某一轮次达成共识耗费的时间。算法1中第10~11步针对拜占庭错误节点,系统将会直接将其信誉值置0,节点掉线、不广播消息、广播不一样的消息和共识时延大于都可能被当做拜占庭错误节点。

表1 监督节点信誉值变化算法

表2 普通节点信誉值变化算法

此外不同于MBFT算法的循环选择监督节点的方法,本文提出一种基于信誉值概率模型的监督节点选择策略,节点的信誉值越高,选为监督节点的概率越大,具体计算方法如公式(1)所示。

式中为优节点集,系统将所有节点按信誉值与阈值的大小关系可分为优节点集、劣节点集和错误节点集,划分规则如公式(2)。一般设定值为1,如果当前监督节点和优节点不积极参与共识,那么它们将在下一轮次共识中被调整为劣节点或错误节点,相反也同样成立。

1.2.2 监督者模型

CSBFT算法是集中式中央节点和分布式节点共同作用的的共识方法,即主节点固定,不需要循环产生,并且遵从上述监督节点选择策略。算法共识过程可用图2来描述,这里假设总节点数All314,其中错误节点数1,监督节点数也为1。图中第1列箭头表示客户端发送transaction交易信息给主节点。第2列箭头表示主节点将交易打包成区块后发送携带区块信息和签名的proposal给选出的监督节点。监督节点在收到来自主节点的proposal消息后开始验证该消息,验证通过后对该消息进行签名,至此该消息变为SV-proposal消息。第3列箭头代表监督节点将SV-proposal消息发送给所有节点。第4列箭头表示所有节点在收到验证过的SV-Proposal消息后发送commit消息给其他节点。最后一列的箭头表示每个节点在收到2+1个commit消息后,将消息中包含的区块添加到本地区块链中并发送reply消息给客户端。当错误节点数≤,系统仍可以正确的达成共识。其中第2~4列的箭头代表着共识过程中主节点、监督节点和普通节点提交消息。下面以主节点提交消息为例详细说明算法过程。

图2 CSBFT算法过程

假设系统在进行区块高度为的区块提交,此时的共识轮数为。固定主节点发送proposal消息阶段的算法流程如表3所示,此时算法的输入包括候选区块、区块高度、当前轮次和上一轮缓存消息集lastset(,-1)。其中算法第1步需要判断节点是否为固定的主节点,第2步为固定主节点按照监督者选择策略选出监督节点,第3步为根据输入生成proposal消息。第4~11步为根据当前共识轮次确定消息中包含的区块信息,当=0时,将区块添加到中,然后广播给监督节点。当>0时,主节点需重新选择监督节点,然后根据lastset(,-1)中的签名数,选择将lastset(,-1)中的区块或者空的区块广播至监督节点。第12步和第13步为主节点对消息进行签名和将消息广播至监督节点。

表3 主节点提交消息算法

基于信誉模型的监督节点选择方法,使得CSBFT算法相对于PBFT算法和MBFT算法理论上具有更高的安全性。现通过基于CSBFT算法搭建以太坊联盟链,并在共识时延方面与PBFT算法MBFT算法进行比较,从而验证该算法的安全性。

1.3 试验与方法

1.3.1 试验环境与数据

CSBFT算法与PBFT算法在总节点个数和容错能力保持一致,即≥31。故本次试验部署4个节点参与共识,其中错误节点数量≤1。其中节点运行环境如表4所示。

表4 CSBFT节点运行环境

在试验数据方面,本文主要采用以太坊中使用的交易数据,这些数据按照以太坊规则,由以太坊账户控制,定义交易双方账户地址和交易值。分别统计区块交易数为5、10、20、50的共识时延,重复试验10次取平均值作为最终统计结果。

1.3.2 试验评价指标

共识时延是衡量共识算法的重要指标,共识时延越低,交易越快得到确认,区块链的安全性就越高,同时也越实用。共识时延为区块达成共识耗费的时间,可以用公式(3)表示:

式中success为成功产生新区块的时间,ms;submit为交易开始提交时间,ms。

1.3.3 试验结果与分析

算法共识时延对比如图3所示,可以看出系统中存在错误节点时,MBFT和PBFT算法的共识时延均大于CSBFT算法的共识时延,同时在试验中MBFT因其节点选择策略问题导致其具有 50%的概率无法达成共识,所以试验结果出现波动,例如交易数量为10出现比CSBFT时延低的结果,事实上此时该算法只有6次有效记录。PBFT算法因为其随机选择主节点的做法使得其有可能选择错误节点作为主节点,而这将大大增加共识时延。CSBFT采用固定主节点和基于信誉值的监督节点选择策略,使其即使在存在错误节点的情况下仍然具有鲁棒性,且在交易处理过程中具有更低的共识时延和更高的安全性。其中安全性主要体现在2个方面:其一,CSBFT算法中的信誉惩罚机制使得节点作恶要付出高昂代价,监督者模型使共识节点成为作恶节点的概率不断降低。其二,引入监督者缩短了交易确认时间,每一轮留给节点可能作恶的时间进一步缩减,区块链中诚实节点比例越来越大,参照文献[11]中攻击者落后依然能够赶上的概率将会由此指数级下降,因此安全性也得到了提升。

注:PBFT、MBFT、CSBFT为3种区块链共识算法。

2 基于区块链的农作物全产业链信息溯源平台设计

2.1 农作物全产业链

农作物全产业链包含产前、产中和产后多阶段,是关联原料购买、种植管理、仓储服务等多环节的完整链状结构,结构如图4所示。整合物流、资金流和信息流,串联农资提供商、农场主、农产品生产商、消费者等不同角色是全产业链建立的基础。参与者之间信息共享、风险共担、业务整合,实现价值的增值并最终实现供应链“多赢”是全产业链建立的目的。在本文农作物全产业链信息溯源实际应用场景中,审核通过的特定成员主要由以下群体构成,包括5 000家左右种植大户,各50家左右的农资供应商企业、加工企业、物流企业、销售企业。全产业链的目标是通过信息的共享实现信息的增值,强实时性非首要目标,且全产业链各部门信息传输明显有着随农作物生产分阶段进行的特点,比如多数地区的水稻小麦生长周期长达100 d以上,用户记录关键信息的时间相对较分散。本文研究业务场景下的溯源平台有着“多用户低并发”的特点,故溯源平台的吞吐率不要求达到电商平台数量级。综合考虑用户量和业务需求,最高并发量达到50即可满足系统的正常运转。原生以太坊的吞吐率在15TPS左右,提升其性能以达到全产业链溯源应用的需求是上文提出CSBFT算法的价值所在。

图4 农作物全产业链示意图

2.2 上链环节设计

农产品溯源过程中信息复杂多样,如何整合产业链中关键环节信息并安全上链是本平台设计的重点。农产品溯源体系与其他溯源体系很大不同在于种植过程的复杂性,精确到地块的种植过程记录是确保食品安全的强有力保障。比如当某批农药被检测出不合格,企业以往可能需要几天甚至几周时间才能查明哪几批农产品被污染,而种植过程信息一旦上链,上述问题的解决会变得简单且迅速。由于农产品溯源的特殊性,种植过程相较农资购买和物流信息更难设计和溯源,且不同农作物种植过程又各有特点,需每种作物单独设计。本节将以水稻为例详细分析其种植过程关键信息的提取记录与上链。水稻种植过程信息记录可以分为以下5个部分执行:

耕整播种:包括种子处理方式、拌种药剂、药剂用量、拌种成本、直播方式、播种量、有无封闭除草、耕整方式、秸秆处理方式、播栽时间等。

苗情墒情:包括时间、苗情图片、类型等。

施肥管理:包括施肥类型(基肥/追肥/调节剂)、有机肥的数量和产品名称、复合肥的数量和产品名称、尿素的数量和产品名称、施肥时间等。

水分管理:生育时期(移栽期/返青期/分蘖期/孕穗期等)、田间水层高度等。

病虫草害:主要病害名称(条纹叶枯病/黑条矮缩病/纹枯病等)和照片、主要虫害名称(灰飞虱/褐飞虱/三眼螟等)和照片、主要草害名称(稗草/杂草稻/千金子等)和照片、作业方式、用药名称、用药剂量、用药时间等。

总体信息流上链逻辑如图5所示。

2.3 溯源平台智能合约设计

种植过程信息自动化筛选并保存到区块交易信息依赖于特定的智能合约。美国数学家Nick Szabo于1994年提出了智能合约的概念[23],他定义智能合约为一种计算机协议,旨在以数字方式促进、验证或自动执行合约的相关内容。而在区块链中,智能合约是一段由事件驱动的、具有状态信息的可执行程序[24]。当签署合约的各方就合约内容、执行条件、违约条件等达成一致时,智能合约就被部署到区块链上,使参与方无需依赖任何中心组织自动地执行合约。本文将智能合约分为保存函数、查询函数和溯源码生成函数3部分进行设计,采用以太坊常用的智能合约开发语言Solidity进行合约设计,基于Solidity设计规则,结合农作物生产方案维护流程设计智能合约的以上3部分内容,以水稻耕整播种保存和大米溯源码生成方案设计为例,具体方法如表5和表6所示。

图5 农作物全产业链信息上链逻辑

表5 耕种播种保存函数

表6 溯源码生成方案

智能合约的保存函数将全产业链上的信息自动化保存在区块中,消费者在溯源界面输入产品包装上的溯源码,服务器收到后对其按类型分割,并调用智能合约的查询函数,将所有记录按时间顺序反馈至用户界面。

2.4 平台架构

为了有效整合农资购销、作物生产、粮食销售和追踪溯源过程,构建信息可共享、安全可追溯的农作物全产业链平台,本文提出了基于区块链的农作物全产业链信息溯源平台,其逻辑架构如图6所示,主要分为数据层、接口层、业务层、展示层和用户层。其中数据层包括平台中心数据库和区块链系统,中心数据库支持系统基础数据的增删改查,满足数据快速反馈的需求,同时在检查溯源信息有无篡改时供真实性对比,区块链用于保存农作物全产业链中关键节点的信息。接口层为智能合约,自动化执行保存、查询业务层产生的信息。业务层提供平台的主要功能,包括农资采购、农事活动、粮贸服务和农产品追溯。展示层提供多种功能的前端Web界面,采用浏览器/服务器(Browser/Server,B/S)结构。用户层根据角色划分为农场主、供应商、作物专家、收购商、管理员和其他用户6种,不同角色对应产业链中不同的组成成分,系统根据用户的不同分配不同的功能和界面。

图6 平台逻辑架构

2.5 功能模块

基于区块链的农作物全产业链信息溯源平台根据系统工程中顶层设计的方法,采用模块化的设计方法来划分系统主要功能模块,结合需求分析和业务流程,平台功能主要分为:登录模块、基础信息管理模块、生产方案管理模块、农资服务模块、粮贸服务模块和产品追溯模块。其中复杂的功能模块下又可分为多个小模块,层层递进,共同构成该功能完整的信息溯源平台,平台功能模块结构图如图7所示。

图7 平台功能模块结构图

3 基于区块链的农作物全产业链信息溯源平台实现

本平台采用Intellij IDEA集成开发环境进行软件开发,结合B/S结构(Browser/Server,浏览器/服务器)的方式进行。平台加入了基于以太坊的联盟链以确保溯源数据的可信性,将传统的MVC模式转变为MVBC模式(model, view, blockchain, controller)[25],从开发技术架构的角度可以分为前端、服务器端和数据端3部分,具体如图8所示。

图8 平台开发技术架构

用户在登录验证成功后首先进入附有地图的主界面。根据被授予角色和权限的不同,用户可视的功能模块也随之改变。以农场主用户为例简要说明平台使用过程,首先,农场主需在基础信息和地块信息中添加农场和地块,地块位置信息录入后便可在系统主界面查看。其次,创建即将种植农作物的生产方案,进入商城购买农资。在作物生长过程中,在种植管理功能页面中按实记录下日常农事活动如病虫草害及防治措施。待粮食成熟时,在打包收获功能中生成包装号。将收获打包后的粮食在粮贸服务中挂单拍卖,打通上下游信息壁垒,维护农民利益。最后,平台核心溯源功能如图9所示,消费者在产品溯源功能页面中输入产品的溯源包装号,便可获得中心数据库和区块链的双份记录。同时标红篡改数据,保证信息的真实性和可靠性,为消费者和监管部门提供食品质量安全验证的有效途径。

图9 溯源平台追溯功能界面

基于表4的试验环境,在有限的试验条件下进行了系统吞吐率实测。系统可在2 s内完成50条关键节点数据作为交易内容并发上链,一分钟可处理1 000个以上的交易;当进行溯源查询时,由于查询处理不需要产生新的交易,在索引的支持下查询时间可控制在100 ms以内。采用CSBFT算法的联盟链可以达到一个较高的吞吐率水平,满足全产业链溯源场景的需求。

4 结 论

区块链技术具有的去中心化、不可篡改和可追溯等特点可以进一步提高传统溯源系统追溯信息的真实性、可靠性,同时全产业链式的信息流设计保证了农作物可追溯信息的完整性。以此为基础,本文详细分析农作物全产业链各部分关键信息的抽取和上链过程,尤其是最重要的种植过程信息,设计符合特定场景的智能合约、溯源平台的架构和功能模块,提出一种基于信誉监督机制的拜占庭容错算法CSBFT,以此搭建联盟链,减小共识时延,增加平台安全性。目前的研究已经取得了阶段性的进展,但仍然存在一些问题值得进一步探讨:

1)在数据采集方面,全产业链关键节点(key point, KP)的数据可通过传感器实时传输到平台。随着5G通信技术的到来,“5G+物联网”条件下的KP数据实时采集,安全上链是未来工作中值得留意的方向。

2)在数据隐私方面,本溯源平台当前已具有农产品关键信息的安全可追溯能力,打通上下游信息不对称的壁垒。但在实际应用中,用户出于对隐私的考虑,分享记录数据的意愿并不强烈。在保证隐私数据不泄露的前提下对信息进行采集和分析,比如将支持同态加密的智能决策模型或联邦学习模型加入到平台中,实现隐私保护的智能化过程控制是未来可深入研究的方向之一。

[1]董玉德,丁保勇,张国伟,等. 基于农产品供应链的质量安全可追溯系统[J]. 农业工程学报,2016,32(1):280-285.

Dong Yude, Ding Baoyong, Zhang Guowei, et al. Quality and safety traceability system based on agricultural product supply chain[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2016, 32(1): 280-285.(in Chinese with English abstract)

[2]王东亭,饶秀勤,应义斌. 世界主要农业发达地区农产品追溯体系发展现状[J]. 农业工程学报,2014,30(8):236-250.

Wang Dongting, Rao Xiuqin, Ying Yibin. Development of agri-products traceability in main developed agriculture region of the world[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2014, 30(8): 236-250. (in Chinese with English abstract)

[3]Cao W , Zheng L , Zhu H , et al. General Framework for Animal Food Safety Traceability Using GS1 and RFID[J]. Journal of Superconductivity & Novel Magnetism, 2014, 25(6): 1947-1950.

[4]任守纲,徐焕良,黎安,等. 基于RFID/GIS物联网的肉品跟踪及追溯系统设计与实现[J]. 农业工程学报,2010,26(10):229-235.

Ren Shougang, Xu Huanliang, Li An, et al. Meat-productions tracking and traceability system based on internet of things with RFID and GIS[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2010, 26(10): 229-235. (in Chinese with English abstract)

[5]颜波,石平,黄广文. 基于RFID和EPC物联网的水产品供应链可追溯平台开发[J]. 农业工程学报,2013,29(15):172-183.

Yan Bo, Shi Ping, Huang Guangwen. Development of traceability system of aquatic foods supply chain based on RFID and EPC internet of things[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2013, 29(15): 172-183. (in Chinese with English abstract)

[6]杨信廷,钱建平,孙传恒,等. 蔬菜安全生产管理及质量追溯系统设计与实现[J]. 农业工程学报,2008,24(3):162-166.

Yang Xinting, Qian Jianping, Sun Chuanheng, et al. Design and application of safe production and quality traceability system for vegetable[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2008, 24(3):162-166. (in Chinese with English abstract)

[7]杨信廷,钱建平,孙传恒,等. 农产品及食品质量安全追溯系统关键技术研究进展[J]. 农业机械学报,2014,45(11):212-222.

Yang Xinting, Qian Jianping, Sun Chuanheng, et al. Key technologies for establishment agricultural products and food quality safety traceability systems[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(11): 212-222. (in Chinese with English abstract)

[8]姜爽,韩贵清,司震宇,等. 第三方稻米溯源平台设计与实现[J]. 农业工程学报,2017,33(24):215-221.

Jiang Shuang, Han Guiqing, Si Zhenyu, et al. Design and implementation of third-party traceability platform for rice[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(24): 215-221. (in Chinese with English abstract)

[9]陈长喜,许晓华. 基于物联网的肉鸡可追溯与监管平台设计与应用[J]. 农业工程学报,2017,33(5):224-231.

Chen Changxi, Xu Xiaohua. Design and application of traceability and supervision platform for broiler based on Internet of Things[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(5): 224-231. (in Chinese with English abstract)

[10]袁勇,王飞跃. 区块链技术发展现状与展望[J]. 自动化学报,2016,42(4):481-494.

Yuan Yong, Wang Feiyue. Blockchain: The state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481−494. (in Chinese with English abstract)

[11]Nakamoto. Bitcoin: A peer-to-peer electronic cash system[EB/OL]. https://bitcoin.org/bitcoin.pdf.2009.

[12]紫琳. 中国首个安全食品区块链溯源联盟成立[J]. 吉林畜牧兽医,2018,39(1):48.

Zi Lin. China’s first safe food blockchain traceability alliance established[J]. Jilin Animal Husbandry and Veterinary Medicine, 2018, 39(1): 48. (in Chinese with English abstract)

[13]Tian F. A supply chain traceability system for food safety based on HACCP, blockchain & Internet of things[C]//2017 International Conference on Service Systems and Service Management. IEEE, 2017: 1-6.

[14]Caro M P, Ali M S, Vecchio M, et al. Blockchain-based traceability in Agri-Food supply chain management: A practical implementation[C]//2018 IoT Vertical and Topical Summit on Agriculture-Tuscany (IOT Tuscany). IEEE, 2018: 1-4.

[15]林延昌. 基于区块链的食品安全追溯技术研究与实现-以牛肉追溯为例[D]. 南宁:广西大学,2017.

Lin Yanchang. The Implement and Research on Food Safety Traceability Technology Based on Blockchain-Taking Beef Traceability as an Example[D]. Nanning: Guangxi University, 2017. (in Chinese with English abstract)

[16]陶启,崔晓晖,赵思明,等. 基于区块链技术的食品质量安全管理系统及在大米溯源中的应用研究[J]. 中国粮油学报,2018,33(12):102-110.

Tao Qi, Cui Xiaohui, Zhao Siming, et al. The food quality safety management system based on blockchain technology and application in rice traceability[J]. Journal of the Chinese Cereals and Oils, 2018, 33(12): 102-110. (in Chinese with English abstract)

[17]于丽娜,张国锋,贾敬敦,等. 基于区块链技术的现代农产品供应链[J]. 农业机械学报,2017,48(S1):387-393.

Yu Lina, Zhang Guofeng, Jia Jingdun, et al. Modern agricultural product supply chain based on block chain technology[J]. Transactions of the Chinese Society for Agricultural Machinery, 2017, 48(S1): 387-393. (in Chinese with English abstract)

[18]朱建明,付永贵. 区块链应用研究进展[J]. 科技导报,2017,35(13):70-76.

Zhu Jianming, Fu Yonggui. Progress in blockchain application research[J].Seience&Technology Review, 2017, 35(13): 70-76. (in Chinese with English abstract)

[19]袁勇,倪晓春,曾帅,等. 区块链共识算法的发展现状与展望[J]. 自动化学报,2018,44(11):2011-2022.

Yuan Yong, Ni Xiaochun, Zeng Shuai, et al. Blockchain consensus algorithms: the state of the art and future trends[J]. Acta Automatica Sinica, 2018, 44(11): 2011-2022. (in Chinese with English abstract)

[20]韩璇,刘亚敏. 区块链技术中的共识机制研究[J]. 信息网络安全,2017,17(9):147-152.

Han Xuan, Liu Yamin. Research on the consensus mechanisms of blockchain technology[J]. Netinfo Security, 2017,17(9): 147-152. (in Chinese with English abstract)

[21]Castro M, Liskov B. Practical Byzantine fault tolerance[C]// OSDI. 1999, 99: 173-186.

[22]Chen C W, Su J W, Kuo T W, et al. MSig-BFT: A witness-based consensus algorithm for private blockchains[C]//2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 2018: 992-997.

[23]Liang J, Han W, Guo Z. DESC: Enabling secure data exchange based on smart contracts[J]. Science China (Infromation Sciences), 2018, 61(4): 262-264.

[24]Chen Y, Zhang Z, Yang B. Research and application of warehouse receipt transaction based on smart contract on the blockchain[C]//2018 International Conference on Mechanical, Electronic, Control and Automation Engineering (MECAE 2018). Atlantis Press, 2018.

[25]蔡维德,郁莲,王荣,等. 基于区块链的应用系统开发方法研究[J]. 软件学报,2017,28(6):1474-1487.

Tsai W T, Yu Lian, Wang Rong, et al. Blockchain application development techniques [J]. Journal of Software, 2017, 28(6): 1474-1487. (in Chinese with English abstract)

Design and implementation of information tracing platform for crop whole industry chain based on CSBFT-Blockchain

Ren Shougang1,2,3, He Ziming1, Zhou Zhengji1, Gu Xingjian1, Xiong Yingjun1, Yuan Peisen1, Xu Huanliang1※

(1.,210095,; 2.,210095,; 3.,210023,)

The safety of agricultural products concerns people’s health. To ensure food safety and accountability, it is crucial to establish a credible food traceability system. The blockchain technology can greatly improve the integrity, security and credibility of traceability information of traditional agricultural product traceability system, thanks to its properties such as decentralization, non-tamperability and information traceability. This paper proposes an improved blockchain consensus algorithm, based on the Credit-Supervisor Byzantine Fault Tolerance (CSBFT). It mainly includes credit update strategy and supervisor node selection strategy. Various credit update strategies are formulated according to the node types and whether they can actively forward a message, and then the supervisor node selection strategies are made based on the credit of the node. The CSBFT algorithm uses the supervisor to monitor the behavior of the master node to prevent problems such as sending different messages to different nodes; while the consensus mechanism of centralized nodes and distributed nodes can improve the supervisory node generating efficiency because the master node does not need to be generated cyclically and it can choose a more reliable node as a supervisory node according to the supervisory node selection strategy. To prove the effectiveness of CSBFT algorithm, the paper uses the common transfer transaction information as experimental data and the experiments were repeated ten times to compare the consensus delays of PBFT (Practical Byzantine Fault Tolerance), MBFT and CSBFT with the transaction numbers of 5, 10, 20 and 50 respectively. The average of 10 repeated experiments is used as the final statistical value and the result proves that CSBFT has higher robustness, lower consensus delay and higher safety. This paper studied and analyzed the information flow of the whole industrial chain of crops from agricultural product purchase, planting management, processing and production, logistics and transportation to grain sales, to build a blockchain alliance chain based on CSBFT. It analyzed, designed and realized the whole industrial chain information traceability platform based on embedded CSBFT, via object-oriented software engineering method. The platform can automatically save the key up-chain information through pre-designed smart contracts to generate corresponding traceability codes for consumers to query. Compared with the traditional food traceability system, the CSBFT algorithm endows the platform with higher security and less delay in information chaining. Future research on data privacy protection will be conducted. To protect the data privacy, users of various levels in the whole industrial chain hesitate to share their data. Therefore, how to collect and share the information without leaking the private data is the future research direction.

agricultural products; traceability; blockchain; industry chain; consensus algorithm; smart contract

任守纲,何自明,周正己,顾兴健,熊迎军,袁培森,徐焕良. 基于CSBFT区块链的农作物全产业链信息溯源平台设计[J]. 农业工程学报,2020,36(3):279-286.doi:10.11975/j.issn.1002-6819.2020.03.034 http://www.tcsae.org

Ren Shougang, He Ziming, Zhou Zhengji, Gu Xingjian, Xiong Yingjun, Yuan Peisen, Xu Huanliang. Design and implementation of information tracing platform for crop whole industry chain based on CSBFT-Blockchain[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(3): 279-286. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2020.03.034 http://www.tcsae.org

2019-10-12

2019-11-14

国家自然科学基金项目(61806097);中央高校基本科研业务费专项(KYZ201753);国家重点研发计划项目(2018YFD0501900)

任守纲,副教授,博士,研究方向为软件工程、人工智能。Email:rensg@njau.edu.cn

徐焕良,教授,博士,研究方向为农业信息化与大数据技术。Email:huanliangxu@njau.edu.cn.

10.11975/j.issn.1002-6819.2020.03.034

TS207.7; TP311.5

A

1002-6819(2020)-03-0279-08

猜你喜欢

信誉共识农作物
高温干旱持续 农作物亟须“防护伞”
俄发现保护农作物新方法
夏季农作物如何防热害
基于单片机MCU的IPMI健康管理系统设计与实现
厉害了!农作物“喝”上环保酵素
共识 共进 共情 共学:让“沟通之花”绽放
论思想共识凝聚的文化向度
信誉如“金”
商量出共识
지수형:신뢰는 배달에 경쟁력을 실어준다池水炯:信誉,让外卖更具竞争力