区块链在食品追溯上的应用_启航软件

区块链在食品追溯上的应用

文章分类: 智慧食安 发布时间:2018-02-02 14:54:38
原文作者:启航软件 阅读量:2473
关键词:追溯,溯源,共识机制,食品追溯,区块链

食品追溯在当今社会越来越被广大消费者知晓,食品追溯是为了保证食品质量安全,尽量避免食品安全事件的发生。最近两年,随着区块链技术的火热,因为区块链防篡改和数据实时共享的特点,采用区块链技术实现食品追溯受到重视。如20177月,沃尔玛、京东、IBM和清华大学已经组成区块链联盟,以提高中国食品供应链的可追溯性和透明度。在之前沃尔玛公司和IBM公布了去年在美国和中国推出的食品溯源区块链项目的最新消息。该试点项目由沃尔玛、IBM和学术合作伙伴共同开发,旨在利用区块链技术、对供应链中的产品如美国的芒果和中国的猪肉进行跟踪。

据沃尔玛透露,到目前为止,该试点项目的成果令人满意。美国和中国的早期试验表明,区块链技术可以成功地对食品从供应商到零售商、以及最终消费者之间的流通过程进行追踪,进行分布式存储。产品的地产、批号、生产厂家和处理数据、到期日期和运输细节等详细信息都将可以在区块链网络上进行查询。沃尔玛的测试表明,通过应用区块链技术,追溯一袋芒果从农场到门店的过程从以往的几天甚至几星期缩短到了2秒。

采用区块链与采用传统技术实现食品追溯的区别

前端没什么区别,都是数据采集。主要的区别在后端,区块链从业务层面的本质是去中心化,那么在技术层面的本质是去数据库化。如下图所示:

1.jpg

传统的三层架构应用一般就是实现UI的客户端,实现业务逻辑的业务层,和存储数据的数据库层。并不断演进,如客户端从字符终端到GUI图形界面到Web浏览器到如今的移动终端。业务逻辑的实现也从最开始的Tuxedo服务,J2EEEJBServletWeb serviceJava BeanREST,但后端的数据库一直没有变化。最近几年,随着并发访问的增大和改善用户体验的需要,对响应时间要求越来越高。增加了缓存层(采用memcacheRedisCoherence等)。

区块链应用同传统应用不一样的地方是它把数据保存在账本中。通过共识机制(共识机制听起来很高大上,但其实就是一段代码,它实现的功能类似传统应用中的EJB,Servlet,Web service, Java Bean等,也就是实现业务逻辑)对账本进行读写操作。而账本是一个Key-value的状态库加区块链,区块链对应的是文件,以追加的方式写入,不可更改。如下图为Hyperledger Fabric中的账本逻辑示意图:

2.jpg

如上图所示,账本Ledger主要包含两块:blockchainstateblockchain就是一系列连在一起的block,用来记录历史交易。state对应账本的当前最新状态,它是一个key-value数据库,Fabric默认采用Level DB, 可以替换成其他的Key-value数据库,如Couch DB。举个例子。我们采用区块链实现一个弹珠交易的系统。我们开发了一个共识机制, 每个弹珠有以下几个属性:Name, owner, color, size.  可以定义一个JSON对象,用nameKEY, JSON对象做Value,存储在Level DB或者Couch DB中。所以区块链应用一般采用JSON数据格式,并直接存储在key-value数据库和区块链中。这样就省去了传统应用做O/R Mapping的工作。

从部署架构看区块链和传统应用的区别,如下图,传统应用的应用服务器层很容易扩展,但在数据层比较难。而区块链是把应用(共识机制)和数据(账本)分布式部署在每个节点上。

3.jpg

那么这种情况下,如何保证数据的原子操作和一致性。我们知道数据库通过行级锁,事务等机制保证数据的原子操作和一致性。区块链是通过共识机制来保证数据的一致性。

业务场景

如下图所示,通过区块链技术,农牧场的出栏信息,食品厂的出厂信息,商品信息,超市的上架信息,监管部门的检测检验信息可以在这不同的组织之间共享,消费者也可以实时查询到上面这些信息,进行溯源。当然原产地认证信息,有机食品认证,生产许可证等信息等也可以放到区块链网络中,利用区块链不可篡改的特点。保证查询到信息是真实的。

4.jpg

具体实现

如下图所示,我们在后端采用Oracle的区块链云服务BCS,前端采用Oracle的开源框架JET实现了一个区块链食品追溯的DEMO。前端JET中通过REST调用后端部署在BCS上面的共识机制。共识机制采用Go语言开发,部署在BCS上面。

5.jpg

优势总结

基于区块链技术实现食品追溯有以下几点优势:

6.jpg

总之,利用区块链的数据不可篡改和数据可以实时同步的特点,很适合用于各种追溯类的应用。如上面介绍的食品追溯,其他的如汽车零部件追溯,贵重物品如珠宝,钻石的追溯,药品追溯等等。

 


原文来自:启航软件
在线客服
在线客服