论文部分内容阅读
随着生活水平的提高,人们对食品安全质量的要求越来越高,而近年来层出不穷的食品假冒伪劣问题,使得对食品溯源的需求日益迫切。传统的基于中心化的食品供应链溯源系统的解决方案较为成熟,但存在由于数据管理者可对数据库中数据任意篡改而导致的信任问题。基于区块链技术的食品供应链溯源系统利用区块链的去中心化和数据不可篡改特性,能够很好的解决中心化食品溯源系统存在的信任问题,提供可信的食品溯源信息。
当前基于区块链技术实现的食品供应链溯源系统分为公有链和联盟链两类。由于本文研究食品溯源数据仅涉及多个大型相关组织的应用场景,因此使用基于Fabric的联盟链技术实现。但当前较为常用的联盟链共识算法Fabric存在通信复杂度较高,并且随着节点数量的增加,系统吞吐量快速下降,共识时延快速增长的问题。提出了一种拜占庭容错分组混合共识机制,该共识机制先随机化分组,再在组内使用chain-raft拜占庭容错共识算法,最后在组间使用PBFT(Practical Byzantine Fault Tolerance)共识算法完成共识。
目前的食品供应链溯源系统只考虑食品溯源信息或食品原料溯源信息,食品与食品原料缺乏关联性,系统防伪性弱。并且大部分已有的食品供应链溯源系统存储为单链结构存储,随着溯源数据量的增加,溯源查询的响应速度会逐渐降低的问题。提出了利用默克尔树结构存储食品溯源信息与食品原料溯源信息,增强食品与食品原料的关联性以提高系统的防伪性,并借助Fabric多通道多链结构,实现食品溯源信息与食品原料溯源信息的隔离存储。
本文提出的基于区块链的食品供应链溯源系统实现了食品信息查询、食品原料信息查询、食品和食品原料关联存储和多通道多链存储的功能,应用提出的共识机制,在16个节点分为四组的情况下消息复杂度比PBFT降低了92%,吞吐量达到了PBFT的3.6倍,在四链结构数据分布均匀的情况下溯源时延可以比单链结构降低4倍。
当前基于区块链技术实现的食品供应链溯源系统分为公有链和联盟链两类。由于本文研究食品溯源数据仅涉及多个大型相关组织的应用场景,因此使用基于Fabric的联盟链技术实现。但当前较为常用的联盟链共识算法Fabric存在通信复杂度较高,并且随着节点数量的增加,系统吞吐量快速下降,共识时延快速增长的问题。提出了一种拜占庭容错分组混合共识机制,该共识机制先随机化分组,再在组内使用chain-raft拜占庭容错共识算法,最后在组间使用PBFT(Practical Byzantine Fault Tolerance)共识算法完成共识。
目前的食品供应链溯源系统只考虑食品溯源信息或食品原料溯源信息,食品与食品原料缺乏关联性,系统防伪性弱。并且大部分已有的食品供应链溯源系统存储为单链结构存储,随着溯源数据量的增加,溯源查询的响应速度会逐渐降低的问题。提出了利用默克尔树结构存储食品溯源信息与食品原料溯源信息,增强食品与食品原料的关联性以提高系统的防伪性,并借助Fabric多通道多链结构,实现食品溯源信息与食品原料溯源信息的隔离存储。
本文提出的基于区块链的食品供应链溯源系统实现了食品信息查询、食品原料信息查询、食品和食品原料关联存储和多通道多链存储的功能,应用提出的共识机制,在16个节点分为四组的情况下消息复杂度比PBFT降低了92%,吞吐量达到了PBFT的3.6倍,在四链结构数据分布均匀的情况下溯源时延可以比单链结构降低4倍。