物联网+区块链溯源方案

2023-10-26

物联网硬件(蓝牙/wifi)加区块链的方式可有效对现实世界中的实例进行链上映射,本文介绍一种基于硬件的轮胎区块链防伪溯源以及渠道管控的方案思路。

更多区块链技术与应用分类:

区块链应用    区块链开发

以太坊 | Fabric | BCOS | 密码技术 | 共识算法 | 比特币其他链

通证经济传统金融场景 | 去中心化金融 | 防伪溯源 | 数据共享 | 可信存证

 

1.总体思路方案:

轮胎溯源的技术方案如图1所示,两类用户:B端用户数据上链,C端用户信息查询:

(1) B端:

为了减少B端用户扫码工作量,采用“一批次一码”的方式进行数据上链。即每个轮胎上的溯源蓝牙拥有一个Individual ID,一批次(N个)轮胎拥有同一个Group ID。基于Fabric的存储特性,在每个渠道上,如生产商、经销商、零售商等处数据的上链均是采用键值对<Group ID:对应渠道信息>的方式。

(2) C端:

基于这种设计方案,C端用户蓝牙存储Group ID、Individual ID、产品基本信息。用户登录APP,然后获取蓝牙中这三种信息,并向云端发送Group ID、Individual ID两个信息,云端向APP返回溯源信息详情,对比云端返回信息和来自蓝牙的产品基本信息,若一致,则认为是正品。

 

图1 轮胎信息溯源初步方案

注:

本方案一批轮胎作为交易流转的最小粒度,若考虑到一批轮胎的拆分或者交叉售卖等问题,可采用追加Sub Group ID等方案(需要进一步考虑)。

2.硬件功能

本方案只针对溯源蓝牙的开发,该蓝牙模块需存储数据:Group ID,Individual ID,产品信息。采用固定数据格式,然后使用非对称加密进行数据保密。生产商预先生成公私钥,公钥用于数据加密,私钥则放入后台服务器,方便对加密数据进行解密。使用公钥对存储数据进行加密,将生成的密文写入蓝牙。

 

图2 蓝牙模块存储示例

3. 软件功能

(1)客户端

1) 读取蓝牙中数据:Group ID,individual ID,产品信息

2) 向服务器发送Group ID,individual ID信息,等待溯源详细信息的返回。

3) 服务器向APP返回溯源信息。

4) APP端选择性向客户展示数据,先进行蓝牙数据与云端数据的对比,匹配无误的情况下可以认定为正品并向用户展示,整个过程如图3所示。

 

图3 APP端功能

(2) 服务端:

服务端由nodejs后台+Fabric区块链网络构成,向外界开放区块链存储和查询接口。Fabric中的状态账本均是以Group ID为“键”,对应溯源信息为“值”的键值对(因为信息是以Group ID为“键”存储的),因此必须以Group ID为索引拿出溯源信息,图4是溯源功能服务端基本架构,以数据流向可分为两部分功能。

1) 数据存储:

每个B端用户通过扫描二维码得出Group ID,并每个渠道上以“Group ID+自己渠道的信息”的格式存于Fabric账本。

2) 数据查询:

C端用户通过蓝牙获取存储的密文,并使用node后台上存的私钥解密,得到明文中的Group ID,Individual ID,并使用Group ID查询溯源信息,最后将溯源信息+ Individual ID返回给APP,如图4所示,例如解密得到的Group ID,Individual ID 分别为(G01235,G01235_P234),然后使用G01235去区块链上查询,最后将查询结果加上G01235_P234返回给用户。

 

图4 区块链后台功能


原文链接:物联网+区块链溯源方案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物联网+区块链溯源方案 的相关文章

  • 常用网址合集

    常用网址合集 一 壁纸网站 a AweSome Wallpapers 二 音乐网站 a 音乐下载器 三 电子书下载网站 a PDF之家 四 摸鱼网站 a Fakeupdate 很早之前就想收集一些比较常用的网址 最开始是直接放浏览器里面 但
  • 北大学生控诉字节跳动backup制度,怎么破解职场pua?

    5月13日下午 一名北大学生在校内论坛未名BBS上写下4000多字长文 陈述自己在字节跳动实习的经历 该同学表示 2021年1月份在字节跳动办理实习生入职 四月中旬实习期已满 且因毕业事宜繁忙向leader表达了近期需要离职的诉求 但竟遭遇

随机推荐

  • unity3d课后练习(四)

    文章目录 1 基本操作演练 建议做 2 编程实践 1 基本操作演练 建议做 下载 Fantasy Skybox FREE 构建自己的游戏场景 在 Asset Store 中搜索 Fantasy Skybox FREE 下载完成后 按照介绍导
  • better-scroll的学习和使用

    better scroll的学习和初始化 介绍 在日常的移动端开发中 列表滚动条的处理是非常常见的需求 横竖的滚动条使用better scroll都可以帮助我们在开发中实现 什么是better scroll better scroll是一个
  • Lattice Planner从入门到放弃

    Lattice Planner相关背景和更正式的公式推导可以直接参考其原始论文 Optimal Trajectory Generation for Dynamic Street Scenarios in a Fren t Frame ICR
  • protobuf快速上手

    protobuf快速上手 一 序列化与反序列化 序列化与反序列化的场景 常用的工具 二 protobuf工作原理 三 快速上手 protobuf中的数据类型 proto文件格式 编译选项 快速上手 四 通讯录demo 编写proto文件 编
  • 多DBWR进程与IO slave

    DBWn DBWn定期写脏数据到磁盘 频繁的磁盘I O会影响性能 所以每当数据库内存中产生脏数据时 是不一定也不应该产生写数据到磁盘的操作的 DBWn会尽量少的写入磁盘 虽然一个数据库DBW0进程适用于所有系统 为了提高数据库写的能力可以配
  • 使用gSOAP与WebService - 第一部分 为VC++从WSDL读取信息

    CurrencyConvertor How use gSOAP and WebServices Part 1 Get ready with VC 6 from WSDL file Download Demo 42 1 KB Download
  • Angular js 中angular is not defined 的问题

    觉得很搞笑 我现在还是不知道这是什么情况 反正这样能解决问题 1 我用下面这种方式引入js文件 在js文件中使用angular module方法会报angular is not defined 2 然后把引入的angular js文件放在上
  • Proteus(8.9版本) 51单片机-烟雾探测器的设计-仿真

    第一步是收集有关室外温度 湿度和气体浓度的信息 作为敏感元件烟雾传感器的输入信息 当信号输入值与放大模块的A D转换器输入电平相匹配时 无需放大放大器 当信号输入值与放大模块的A D转换器输入级别不匹配时 放大器将放大电气信号 A D电路的
  • 小熊派学习:手册查询和ADC深入使用

    弯曲传感器 折弯弯曲传感器 它的电阻值就会上升 那么flex value的值就会越来越小 连带地让led value的值越小 LED就会越暗 涉及到 上下拉电阻 电源至元器件引脚上的电阻称为上拉电阻 作用是平时使该引脚为高电平 地至元器件引
  • sqli-labs第二十三关(注释过滤绕过)

    从源码可知此关将注释符全部过滤掉 需要绕过 使用and 1 1即可 http localhost 90 sqli labs master Less 23 id 1 union select 111 select group concat s
  • 【linux-kali】网络模式host-only设置及注意事项

    网络模式 host only 设置 环境 kali vmware windows10 步骤 1 关闭kali系统下 虚拟机 编辑 虚拟机网络编辑器 Vmnet1 设置或确认子网IP 192 167 0 0 和DHCP范围 2 宿主机 上网网
  • CentOS8安装mysql8.0.24

    记录一下CentOS8安装mysql的过程 CentOS系统版本为CentOS Linux release 8 1 1911 安装的mysql版本为8 0 24 一 下载mysql安装包并解压 执行以下命令 创建mysql安装目录 mkdi
  • WebSocket的基本使用

    目录 为何使用websocket 1 后端搭建 2 搭建webSocket前后分离 1 配置跨域过滤器与初始化websocket 2 定义websocket服务 3 定义控制器进行测试webSocket向前端发送消息 2 前端准备 3 进行
  • 如何从gitee上拉项目?

    目录 第一步 下载git软件 第二步 一直下一步 傻瓜式安装 第三部 使用 新建一个文件夹 2 右击 打开命令窗口 3 复制项目下载url 4 命令窗口输入这样一串命令 第一步 下载git软件 CNPM Binaries Mirror np
  • spring-boot是否还和spring mvc一样存在父子容器

    文章目录 一 spring boot在自动集成了spring springmvc后是否在有父子容器之分 1 看下spring boot run方法 2 为什么spring mvc弄了一个父子容器 二 spring mvc中父子容器初始化过程
  • @Autowired 和 @Resource 的区别

    Autowired 和 Resource 的区别 区别 Autowired Resource 区别 区别1 Autowired 是spring提供的注解 Resource 是JDK提供的注解 区别2 Autowired 默认的注入方式是By
  • 第三十章、containers容器类部件QMdiArea多文档界面部件功能介绍及开发应用

    专栏 Python基础教程目录 专栏 使用PyQt开发图形界面Python应用 专栏 PyQt入门学习 老猿Python博文目录 一 引言 老猿在前期学习PyQt相关知识时 对每个组件的属性及方法都研究得很透彻 并将学习的感悟都写成了博文
  • linux中jdk安装/java环境安装

    第一步首先下载java jdk jdk 8u144 linux x64链接 https pan baidu com s 1uvSB 7JP037AdZJPDdGF6A 提取码 mdat 然后使用工具将文件传输到linux上 然后将tar g
  • 在树莓派中安装ROS系统(Kinetic)

    在树莓派中安装ROS系统 重新梳理了一下树莓派的安装流程 现在我们来开始吧 打开官网教程 http wiki ros org kinetic step1 安装源 中国 sudo sh c etc lsb release echo deb h
  • 物联网+区块链溯源方案

    物联网硬件 蓝牙 wifi 加区块链的方式可有效对现实世界中的实例进行链上映射 本文介绍一种基于硬件的轮胎区块链防伪溯源以及渠道管控的方案思路 更多区块链技术与应用分类 区块链应用 区块链开发 以太坊 Fabric BCOS 密码技术 共识