火星链 火星链
Ctrl+D收藏火星链
首页 > 中币下载 > 正文

区块链:食品溯源有多难?手把手教你写一个区块链+物联网的溯源系统

作者:

时间:1900/1/1 0:00:00

用什么来证明区块链有多火呢?

大概是,区块链被搬上“两会”桌面上讨论、相关职位需求一年内增长400%、某上市公司在公司名称中加入“区块链”后股价暴涨500%之类的表现吧。

区块链和物联网已被证明是当下最受欢迎的技术,虽然其使用也才刚刚开始。目前,区块链和物联网的整合已是一些大公司的优先事项之一,且少数公司已开始在一些项目中使用它来实施计划、制定解决方案。

就在这个“人人皆链”的时候,我们需要认真思考几个严肃的问题:除了数字货币之外,区块链技术对于实体经济有哪些有价值的场景?在技术嫁接实践中如何遵循行业规律和需求?区块链如何与物联网、云计算、大数据结合达到真正理想的效果?

本文将针对如今的食品安全运输难题,为大家深度介绍如何设计解决方案架构,即如何使用区块链支持分布式账本网络和物联网设备需求,并实现过程跟踪等内容。

想要知道食物进入你的胃之前,都经历了什么?话不多说,看干货吧。

设计解决方案架构

在本章中,我们将回顾基于物联网和区块链的食品链解决方案架构,并重点探讨以下主题:

业务方面:将回顾业务组件构成和主要参与者,以及生产和消费者之间的交易过程

技术方面:将展示我们技术解决方案的架构

软件方面:将展示解决方案细节

1.食品产业

现代食品链大而复杂,参与者们直接或间接地影响着食品的生产和运输。

我们首先了解一下现代食品生产过程,现代食品链面临哪些挑战,并提出一种基于区块链和物联网技术的解决方案:

上图是现代食品链业务流程的简化版,实际链条要比上图庞大得多。例如,很多超市都有它们自己的销售中心,所以这里也没有涵盖例如港口和海关等其他参与者。

对于我们的应用案例,我们将设法从产品交付给生产商时起对其进行说明。产品任选,这里以鸡腿为例。

假设我们管理的资产是一个装满鸡腿的盒子,另一个资产是一个装满装着鸡腿的盒子的搬运托盘。在食品链中,我们将关注以下参与者流程:生产商、配送中心和零售商。

如前所述,现代食品链中有许多参与者,但我们遵循的是一个更简单的流程,而不一定是现实生活中所遵循的实际流程,目标是了解物联网和区块链如何帮助食品链中的各方解决实际问题。

a)食品生态系统的挑战

我们选择关注的食品链中有许多挑战,在这里简单列示如下:

农民面临的挑战:确保有关原材料关键信息的安全可靠,包括产品说明、检查日期、库存信息等。

生产商面临的挑战:确保产品来源安全;产品能够安全交付和接收;尽量用电子装置包装产品,减少人工参与;使用条形码和二维码为监管者和消费者提供信息标签。

零售商面临的挑战:检查包装的完整性,保证产品运输过程的可视化,对产品生产日期、仓库检验和质量控制等方面进行管理。

广州市全力推进区块链+AI+食品溯源智能监管:3月24日消息,广州市市场监督管理局近年来将食品安全监管与互联网技术深度融合,国内首创打造以区块链、AI(人工智能)技术、大数据、云计算为核心技术的广州市食用农产品溯源平台,开启智能监管模式,全面实现“源头严控、入穗严查、终端严管”,为全国建立食品安全现代化治理体系贡献“广州智慧”、提供“广州方案”。截至目前,广州通过食品农产品溯源平台覆盖90家市场8018个经营主体,实现对全市90家农贸市场(含食品专业批发市场)的线上巡检,农产品流通追溯凭证达465.7万单,日均商户上报率达95%、日均排查异常票证占总票证的5%,极大地提高日常追溯数据上报质量,全市未发现系统性、区域性食品安全风险。(中国质量新闻网)[2020/3/24]

消费者面临的挑战:对产品的原产地等包装中的信息充分信任,可迅速识别产品,且必要时能够排除可疑产品。

b)食品加工环节

下面从我们的目标开始。案例中,产品原料到达工厂后,被切割、打包、装盒、储存,在交货前将盒子放在搬运托盘上。

搬运托盘是用于运输货物的木制、金属或塑料平台,我们在下图中可以看到:

产品在加工环节必须进行登记的重要数据包括:

库存量单位

动物来源

生产厂家名称

动物信息

质量控制

减排日期

是否冷藏

技术主管信息

发货日期

温度和物流信息

在登记盒子或搬运托盘时记录下列详细信息:

库存量单位

日期

厂家地址

冷藏温度

质量记录

搬运托盘代码

我们来看下一个环节:

c)食品配送环节

经过切割、包装和运输后,产品到达配送中心,那里负责接收货物并检查产品储存情况。根据实际运输需求,产品可能会被放在一个更大的搬运托盘中,以便更适合火车或卡车运输。

为了避免产品出现任何问题,配送中心会检查工厂发送的数据。如果有任何额外变化,如搬运托盘转移,都需要在产品信息包中添加相应信息。

对于产品来讲,要记录如下信息:

收货日期

搬运托盘号

收货温度

储存温度

运输公司名称

密封情况

对于搬运托盘来讲,要记录如下信息:

目的地代码

搬运托盘代码

日期

分销环节温度

运输公司名称

动态 | 雀巢开展利用区块链技术的食品溯源试点项目:据雀巢官网消息,瑞士食品零售巨头雀巢公司计划利用区块链技术进行产品溯源。试点项目将主要跟踪新西兰农场生产商生产的牛奶以及仓储流程,另外也计划对美洲大陆采购棕榈油进行跟踪溯源。[2019/7/2]

经过检验,产品被送到零售商手中。

d)食品零售环节

商店收到产品后需要查货物是否符合要求,拆开搬运托盘,打开盒子,产品检查过程结束:

在零售环节,一定要记录如下信息:

收货日期

搬运托盘号

收货温度

储存温度

运输公司名称

密封情况

现在,商店可以在产品上贴上标签了,产品将直接或过一段时间被摆在货架上出售。

6.2 技术方案

现在我们已经了解了食品链的整个过程以及每个环节的潜在问题,下面我们来看看区块链和物联网技术在此如何发挥作用。下图为标准的区块链HyperledgerFabric架构图示:

上图向我们展示了区块链的三层架构,包括前端应用、API/SDK、HyperledgerFabric和物联网平台。

下面对每层架构进行解读:

a)前端应用

该层负责数据输入,可以是一个数据包,比如来自SAP、Salesforce或Siebel的数据包,或者是自定义的应用。它还可以与物联网设备交互,收集数据并在区块链账号中注册。开发前端应用由以下几个方面组成:

好吧,我知道每层架构都有很多工具,这里只用了我比较熟悉的工具。

这种前端架构使得我们可以将服务从单个接口中分离出来,这样我们就可以将用户体验扩展到其他平台,而不用重新构建服务内容。

b)基于物联网的资产跟踪技术

物联网在食品链中起着重要作用。物联网设备可以跟踪资产,而且有很多型号可供选择。有测量温度的传感器,进行位置跟踪的GPS、信标、SigFox、Wi-Fi、4G和Sub1Ghz。这些设备和网络可以广泛应用于农场、工厂、运输公司、配送中心和零售网点,适用范围涵盖食品链中的所有参与者。

食品链的主要挑战来自运输环节。许多食品的运输需要特定环境,因为一些食品易腐烂,而温度控制对于预防食品污染和腐烂至关重要。

声音 | 荷兰皇家菲仕兰中国董事长:利用区块链等科技实现食品溯源:据中国新闻网消息,4月18日,在“2019 国际食品安全与健康大会”上,荷兰皇家菲仕兰中国董事长高瑞宏(Rahul Colaco)表示,菲仕兰利用科技创新促进食品安全。通过在产品上增加QR二维码、运用区块链技术等科技手段,实现食品安全的全程追溯。[2019/4/18]

下面看一下如何使用物联网设备来解决这个问题。粒子电子资产跟踪器可用于收集温度和环境数据,识别GPS定位,并进行蜂窝三角测量等:

这个跟踪器允许我们连接u-bloxM8GNSSGPS接收器和AdafruitLIS3DH三轴加速器。我们也可以将Grove传感器与其连接。

下面让我来看一下这种物联网平台的架构:

上图向我们展示了解决方案的重要组件,包括:

消息队列遥测传输:这是指一个基于TCP的可发布–订阅消息的传递协议;专门用于远程连接,需要少量代码占用,或者对网络带宽有要求;发布–订阅消息传递模式需要消息代理。

Node-RED:这是一个编程工具,利用可以创建JavaScript函数的流编辑器将硬件设备、API和在线服务以一种简单的方式连接起来。

IBMCloud:这是一组云计算服务。

BoschIoTRollouts:这是博世物联网套件中的一项云服务,使用户能够管理边缘设备、控制器和网关的软件更新。

那么,这些组件是如何结合在一起来帮助食品链运转的呢?

Node-RED控制面板仪表盘使我们能够选择一个资产跟踪器,并检查位置、数据、设备状态和其他信息

资产跟踪器可以在移动网络上激活或更新

地理位置数据可以定期传输,通过Node-RED仪表盘进行跟踪

资产跟踪器设备查询温度数据,然后查询位置或速度数据

Node-Red可以将温度、位置和速度数据写入HyperledgerFabric中

Node-Red仪表盘查询Hyperledger结构中的各种任务信息,例如交易历史记录、日期和时间数据以及地理传感器数据

c)API/SDK

API/SDK是区块链网络中连接的集成层,通常使用Node.js开发,在调用智能合约中起着重要的作用。今天,我们可以找到使用Go和Java的API/SDK文档,以及Python文档。

有关如何使用API/SDK将应用程序与区块链网络集成,可以参考此链接:

https:/hyperledger-fabric.readthedocs.io/en/release-1.3/fabric-sdks.html

动态 | 欧尚将在五个国家实施区块链食品溯源方案:据Prweb消息,全球食品零售商欧尚决定在五个国家实施基于区块链的可追溯性解决方案TE-FOOD,该系统将跟踪从农场到餐桌的选定产品类别,记录所有重要的食品质量和物流相关数据。据了解,五个国家分别为法国,意大利,西班牙,葡萄牙和塞内加尔。[2018/12/4]

下图展示了一个与API/SDK集成且与HyperledgerFabric交互的应用:

ComposerJavaScriptSDK是从Node.js派生的,它允许开发人员将应用程序与他们的业务网络集成起来。包括两个npm模块:

Composer-client:此模块通常作为应用程序的本地必安装项。它提供API,用来将业务应用程序连接到业务网络,目的是访问资产和参与者并提交交易。对于生产商来讲,这是应用程序唯一需要添加的模块。

Composer-admin:此模块通常作为管理应用的本地必安装项。这个API允许创建和定义业务网络。

现在让我们继续讨论解决方案中的最后一层。

d)HyperledgerComposer—高级概述

HyperledgerComposer是一种创建区块链网络的简单方法,它集成了一个全栈工作解决方案,就像HyperledgerComposer架构站点提供的那样。

在较高级别上,HyperledgerComposer由以下组件组成:

执行runtime

JavaScriptSDK

命令行接口

REST服务器

环回连接器

Playground网络用户界面

Yeoman代码生成器

VSCode和Atom编辑器插件

详细介绍这些插件不在本书的内容范围之内。你可以访问这个链接,简要地了解这些组件:https://hyperledger.github.io/composer/latest/introduction/solution-architecture

6.3 软件组件

现在,我们将从架构师的角度来看看解决方案的软件组件。这是熟悉所有组件并更好地理解它们是如何集成的一个好方法。

首先,我们探究最重要的组件之一:身份验证过程。

如何保证食品链中的每个成员在前端应用中都有正确的访问权限?在回答了这个问题之后,我们将深入研究HyperledgerComposer最重要的组件:建模语言和交易处理器功能。

a)ComposerREST服务器

要验证客户端,我们需要设置一个REST服务器。有了这个选项,在允许客户端在RESTAPI中进行调用之前,应该对其进行身份验证。

REST服务器使用一个名为PASSPORT的开源软件,它是Node.js的身份验证中间件。它灵活且模块化,支持通过用户名和密码、Facebook、Twitter、Google和轻量级目录访问协议等进行身份验证。在第7章中,我们将就此进行详细说明。现在,让我们回顾一下组件将如何工作。

Genaro Network联合创始人刘家绮表示 区块链做食品溯源的难度极高:区块链底层Genaro Network联合创始人刘家绮在接受采访时表示,农产品溯源,要溯源到产地、产量,甚至产地的归属权是谁。区块链能够把归属权分割。如果只是在过程当中做记录,源头就可能是假的。因为源头开始没有使用区块链,就有可能在后续的阶段中进行造假。同时,刘家绮还认为,做食品溯源的难度很大,因为要与政府合作,与当地的农场主合作,以及要考虑土地的拥有权等问题。当产业链上的人都认可区块链技术本身,且将区块链技术落到实处的时候,区块链技术才能真正意义上被使用。[2018/1/27]

下图中,我们可以看到使用ComposerREST服务器的高级身份验证架构:

下面的组件已经在图中进行了描述:前端应用、ComposerREST服务器、LDAP和云。

如果正在进行测试,或者需要快速创建身份证明,建议使用Facebook、Google或Twitter进行身份验证,这将比其他方法更容易、更快。

要使用前面的方法,并利用ComposerREST服务器,我们需要进行一些定制,这需要执行下列步骤:

1)?下面一行是composer-rest-server安装时,需要在行之前执行的命令:

apk?delmakegccg++pythongit

在使用此方法之前,请确保你有一个干净的环境,清除所有以前的安装。

2)?若要自定义ComposerREST服务器Dockerfile,请在Run语句中添加以下命令:

su?-c?"npm?install?-g?passport-ldapauth"?-?composer&&

3)创建以下环境变量:

4)如果正在检查API调用并接收到404,这意味着没有登录:

5)检查钱包中是否有API:

为了更好地理解身份验证流程,我们看一下这个执行流程:

身份验证要求composer-rest-server的每个API调用都必须包括access_token。想了解更多相关内容,请访问:

https://hyperledger.github.io/composer/v0.16/integrating/enabling-rest-authentication

使用curl的一些示例包括:

又例如:

6)这是设置composer-rest-server的最后一步:使用Cloudant创建名片。

利用接下来的几个属性创建成员卡片:

上传附件,如下所示:

在第7章中,我们将对此进行部署。

b)HyperledgerComposer模型

识别区块链应用案例的方法有很多,让我们记住第3章中讲到的一些好的应用案例的重要指标。

是否涉及业务网络?

如果是,是否存在需要验证且可审计的事务?

数据透明度以及数据更改是否重要?

在确定了这些问题的答案之后,头脑风暴会议是比较好的沟通方式,会议可详细说明解决方案、确定最佳解决方案平台或开始创建自定义应用案例。

使用HyperledgerComposer建模语言可以很容易地定义资源结构,该结构将作为交易处理,并记录在账本上。

CTO文件使用三个主要元素为业务网络定义创建域模型:

包含文件中所有资源声明的单个命名空间

包含资产、事务、参与者和事件的一组资源定义

从其他命名空间导入资源的可选导入声明

在本书第7章,创建区块链和物联网解决方案时,我们创建了一个业务网络。让我们更详细地研究我们使用的代码:

名称空间是资产、事件、参与者和事务的基本定义,如下所示。

资源和枚举类型的声明显示在以下代码中:

交易过程函数在使用业务网络连接API提交交易时由运行库自动调用;

有关HyperledgerComposer建模语言的更多信息,请访问以下链接:

https://hyperledger.github.io/composer/v0.16/reference/cto_language.html

https://hyperledger.github.io/composer/v0.16/reference/js_scripts.html

c)HyperledgerComposer访问控制语言

HyperledgerComposer有一个访问控制文件,可以用它来对业务访问控制和网络访问控制进行编程。业务访问控制用于业务网络中的资源,而网络访问控制是指对管理网络更改的控制。

下面是授予网络访问控制的一个示例:

又例如:

通过访问以下链接,可以获得有关HyperledgerComposer访问控制语言的更多信息:

https://hyperledger.github.io/composer/v0.16/reference/acl_language.html。

d)HyperledgerComposer交易处理函数

HyperledgerComposer业务网络定义由一组模型文件和一组脚本组成。脚本可以包含执行交易过程的交易处理函数,这些交易是在业务网络的模板文件中定义的。

下面是一个交易执行脚本文件的样例:

如我们所见,在使用BusinessNetworkConnectionAPI提交交易时,交易处理器函数由runtime自动调用。文档中的Decorators用于注释runtime处理所需的元数据函数,并且每个交易类型都有一个用于存储交易的关联注册表。

小结

本章描述的架构涉及许多组件,实现起来有点复杂。到目前为止,我们已经确定,物联网和区块链的结合可以缓解几个问题,改变现代食品链的运作方式。

例如:增加成员之间信息透明度,使它们能够更有效地控制数据;提高数据安全性;使流程更加自动化;尽量减少中间环节;使链条整体更加简化。

我们还看到物联网设备、传感器功能的扩展,它们能够在需要最少人工或不需要人工的情况下实现机器间的交互。这些技术组件带来了前所未有的自动化,既降低供应成本,也节约能源。

区块链与物联网的集成将使边缘设备和基于视频识别的资产之间的数据交换成为可能。与传感器连接的资产将能够记录敏感信息,如特定仓库的位置和温度,并且可以在区块链上自动记录或更新这些信息。

随着对架构及其技术组件的更好理解,我们将能够为现代食品链充分实现一个使用物联网和区块链的解决方案。

在下一章中,我们将学习如何用物联网创建自己的区块链。

来源|《基于区块链的物联网项目开发》

作者|?马克西米利亚诺·桑托斯、埃尼奥·莫拉

责编|Carol

出品|区块链大本营

标签:区块链SERCOMCOMP玩区块链挣的钱合法吗sero币挖矿显卡算力compound币最新消息comp币叫什么

中币下载热门资讯
区块链:央行官员“画像”法定数字货币

“央行数字货币可以说是呼之欲出。”在10日举行的第三届中国金融四十人伊春论坛上,CF40特邀成员、中国人民银行支付结算司副司长穆长春表示,从2014年至今,央行数字货币的研究已经进行了五年,“去.

1900/1/1 0:00:00
ripple:观点 | 论比特币的安全预算

本文旨在探讨比特币抵御51%攻击的能力。矿工之间的激烈竞争使得系统无法从一个网络中征收足以维持安全预算的交易费用,因此我们应该从所有的支付市场中取得交易费.

1900/1/1 0:00:00
ETH:以太坊2.0术语揭秘,为何需要信标链

摘要:从V神所谓的“软件开发苦干阶段”,到目前的规范“冻结”。时隔一年多,以太坊2.0的交付计划已经开始步入正轨.

1900/1/1 0:00:00
虚拟币:新京报:央行数字人民币欲出,比特币天秤币要凉?

中国人民银行推出的数字货币,是基于互联网新技术,推出全新的加密电子货币体系,这无疑是一场货币体系的重大变革。研究五年之久的中国央行数字货币“呼之欲出”.

1900/1/1 0:00:00
PPL:投资者诉讼直指Ripple,XRP大厦将倾?

摘要:XRP投资者是依据今年4月美国证券交易委员会发布的《数字资产投资合同分析框架》相关内容来证明Ripple非法出售未注册的证券。今日,XRP投资者再次对Ripple提出了新诉讼.

1900/1/1 0:00:00
TERA:曾经红极一时的区块链游戏“加密猫”,现在怎么样了?

如果你曾经关注过2017年加密牛市巅峰时期的行业新闻,你大概一定还记得“加密猫”。这款基于以太坊的游戏允许玩家收集,交易和繁殖独一无二的加密猫—没有两只猫是相同的—它成功抓住了用户的欢心.

1900/1/1 0:00:00