High-efficiency storage and retrieval model to trace agri-food supply chain using redactable blockchain
-
摘要:
基于区块链的农产品追溯系统可有效解决农产品追溯的信任问题。然而,区块链的不可篡改性和全冗余存储导致了区块链节点存储数据量的持续增加,提高了区块链设备的门槛,限制了农产品区块链追溯系统的大规模落地应用。针对农产品区块链追溯系统的高存储量问题,该研究提出了一种基于可编辑区块链的农产品供应链追溯高效存储查询模型。首先,针对农产品追溯数据的周期特性,总结了农产品供应链追溯信息生命周期。其次,通过卸载超出生命周期的追溯数据降低数据存储量,研究农产品可编辑区块链存储模型。最后,通过计数布隆过滤器降低了农产品可编辑区块链数据卸载后假阳率高的问题,提高了农产品可编辑区块链追溯系统的查询效率。试验结果表明,在系统运行60个月时,模型的存储量为传统农产品区块链追溯系统的48.70%。当区块数据量为1 000条,数据卸载量为30%时,模型的假阳率较传统模型下降了21个百分点,数据查询效率提高了19.02%。该研究为农产品区块链追溯系统的规模化落地应用提供了解决方案。
Abstract:A blockchain-based agri-food traceability can be expected to remedy the inherent trust within agri-food supply chains. However, the immutable and redundant nature of traditional blockchain storage has posed formidable challenges, particularly on the scalability of data storage for blockchain nodes. Agri-food traceability has also been limited to historically impede the widespread adoption in recent years. In this study, an efficient storage and query model was introduced to specifically design for the agri-food supply chain traceability, in order to leverage the concept of a redactable blockchain. The cyclical nature of agri-food traceability data was examined to form the model. The lifecycle of the supply chain was analyzed for the agri-food products. The opportunities were identified for streamline data management. A key innovation involved the strategic offloading of traceability data over the lifecycle. Storage resources were optimized to preserve the essential traceability functionalities. The information remained accessible throughout the supply chain journey. Furthermore, the counter Bloom filter was incorporated to enhance the operational efficiency of data offloading. The high false positive rates were reduced for the data manipulation in redactable blockchains. False positives were effectively reduced to significantly enhance the overall query efficiency of the agri-food traceability system, thereby facilitating expedient access to accurate supply chain information. A counter Bloom filter was operated to leverage the probabilistic hashing techniques. The large datasets were efficiently managed and queried to minimize the occurrence of false positives. A robust mechanism was translated to verify the accuracy of traceability information post-data offloading in the context of the agri-food traceability system. A compact representation of recently offloaded data was maintained to employ the efficient hash functions. The counter Bloom filter effectively reduced the likelihood of mistakenly, in order to identify non-existent data during queries. The efficacy of the improved model was underscored to validate the comprehensive empirical data. The extensive experiment was conducted over a simulated 60-month operational period. Notably, the better performance of the model was achieved with a remarkable 48.70% reduction in storage volume, compared with the conventional agri-food blockchain traceability systems. This reduction was attributed to the strategic lifecycle-based data management, and the storage was optimized without compromising data integrity. The improved model was often verified in a simulated scenario involving 1 000 block records and a 30% data offloading rate. There was a notable 21 percentage points decrease in the false positive rates, indicating the efficacy of the integrated counter Bloom filter with the data accuracy post-offloading. Moreover, there was a commendable 19.02% enhancement in the data query efficiency, compared with the traditional approaches. The compelling solution fully met the operational demands of large-scale agri-food supply chain environments. The blockchain-based agri-food traceability was presented to facilitate the widespread deployment. A significant advancement was achieved in data integrity with the pragmatic storage and query optimizations in the field. Beyond technical innovation, a robust framework was offered to enhance transparency, accountability, and consumer confidence across agri-food supply chains. Looking ahead, the scalability and adaptability of the improved model can promise to support the diverse applications within the agri-food sector. Product authenticity and quality assurance can be enhanced to enable efficient recalls and regulatory compliance. As the blockchain continues to evolve, insights can be gained to pave the way for future advancements in agri-food traceability and industry-wide transformation toward a more resilient and sustainable supply chain.
-
Keywords:
- blockchain /
- agricultural products /
- traceability /
- storage /
- efficient querying
-
0. 引 言
农产品质量安全问题是民生中的焦点问题。农产品供应链(agri-food supply chain, AFSC)因其时间跨度大,责任主体繁多,易产生食品安全问题[1]。据统计,国内2011—2020年暴发食源性疾病事件34 558起,发病人数259 481人[2]。农产品供应链追溯系统(agri-food supply chain traceability system, AFSCTS)因其可降低质量安全风险,提高产品召回率,保障公众健康水平,受到了各国的广泛关注[3-4]。《中华人民共和国食品安全法》第四十二条规定,食品生产经营者应当依照本法的规定,建立食品安全追溯体系,保证食品可追溯[5]。然而,传统的中心化AFSCTS追溯信息易遭篡改,存在断链风险[6-7],这些问题削弱了消费者对追溯数据的信心,导致消费者对农产品追溯数据的信任度降低。
区块链技术(blockchain technology, BCT)具有去中心化,不可篡改,透明可审计等特性[8]。结合BCT的AFSCTS降低了生产商和消费者之间信息不对称的程度,可有效解决AFSCTS的信任问题[9-10]。但在实际应用中,BCT的不可篡改性也带来了新的问题。区块链系统是一个持续增长的数据账本,且采用全冗余存储架构,每个加入区块链的全节点都要存储一份完整的数据账本[11]。因此,随着系统运行时间的增长,区块链节点存储的数据量也会持续增加,最终导致存储资源耗尽[12-13]。截至2024年4月,Geth版本的以太坊归档节点的存储容量已超过17 TB(https://etherscan.io.)。这一问题已成为制约农产品区块链追溯系统大规模落地应用的技术瓶颈。
为解决区块链追溯系统的存储问题,SHAHID等[14]提出了一种链上链下存储方案,使用星际文件系统(interplanetary file system, IPFS)存储追溯数据,区块链存储追溯数据的哈希值。CHEN等[15]提出了一种利用分布式哈希表(distributed hash table,DHT)和IPFS的可扩展区块链存储模型,通过DHT和IPFS分担区块链的存储压力。ZHAO等[16]提出了一种基于DHT的区块链双分片存储机制,将网络划分为多个DHT集群缓解存储压力。NIE等[17]提出了一种基于Chord的区块链存储模型,链上区块通过结构拆分,去中心化存储在各个节点集群中。WU等[18]提出了一种提出了一种基于Kademlia的双区块链框架,提高了系统的存储可扩展性。这些模型通过引入外部存储技术,极大的降低了区块链的存储压力。但增加了系统的复杂性和实施难度,节点之间的通信和系统间的数据同步也会变得复杂且耗时。
NARTEY等[19]提出了一种在雾节点上为设备创建侧链的方案,通过多目标粒子群优化算法确定应传输到云端进行存储的最佳块数。孙传恒等[20]提出了一种面向追溯主体的区块链多链追溯架构,在降低主链存储容量的同时保护企业的隐私数据安全。王柯元等[21]提出了一种区块链星型分片架构,将交易分散至各分片中。段田田等[22]提出了一种可扩展的跨链架构并提出了一套4层跨链交互协议栈,解耦跨链传输、验证、事务与应用。HONG等[23]提出了一种分层分片的区块链存储方案,根据硬件性能存储不同数量的分片。WEI等[24]提出了一种基于网络分片和多共识策略的方案,通过改进区块链的拓扑结构和共识过程显著降低了区块链的数据存储量。这些模型架构通过多链或多分片并行存储的方式降低了单个区块链节点区块链的存储压力。但也带来了分片/链划分、数据同步、跨链/跨分片交易等问题。景旭等[25]提出了一种区块链数据压缩存储方案,使用自适应有损压缩方法降低农业物联网数据的存储量,该方法可有效减少区块链链上存储空间,提高数据价值密度。但该方法会导致数据精度降低,进而影响后续数据分析的准确性。MISHRA等[26]提出了一种基于可编辑区块链的存储方案,通过删除重复数据降低区块链数据存储量。YANG等[27]提出了一种可编辑数据管理方案,进行错误数据的修复。上述研究均为通过BCT的突破降低区块链本身的存储容量,没有考虑到AFSC追溯数据本身的周期特性。部分研究虽降低了区块链的存储容量,但同时也导致了查询效率的降低,无法满足AFSCTS查询密集型的特点。
针对上述问题,本研究通过深入分析AFSC追溯数据的生命周期,提出了一种基于可编辑区块链的农产品供应链追溯高效存储查询模型。通过分析AFSC追溯关键信息及其生命周期确定AFSC追溯数据的保存期限,通过可编辑区块链卸载超出生命周期的AFSC追溯数据降低AFSCTS的存储容量。此外,通过计数布隆过滤器解决可编辑区块链引入导致的布隆过滤器假阳和假阴问题,在不出现假阴的情况下,降低查询的假阳率,提高系统的查询效率。
1. 农产品供应链追溯关键信息及其生命周期
1.1 农产品供应链追溯关键信息
AFSC追溯即在农产品的品种繁育、种植、加工、流通等特定环节,对农产品的生产过程和流向进行追踪记录。AFSCTS通过信息化手段记录AFSC关键环节的关键信息,实现对农产品全流程的追溯和数据记录,从而实现向上游的溯源。中国发布了针对果蔬[28]、畜禽肉[29]、水产品[30]等农产品的质量安全追溯国家标准,规定了各类农产品需记录的供应链关键环节和关键信息,结合国家标准与追溯实际应用需求,AFSC追溯关键环节和关键信息如表1所示:
表 1 农产品供应链关键环节和关键信息Table 1. Key links and information in the agri-food supply chain关键环节
Key links关键信息
Key information品种繁育
Variety breeding种子名称*、种子批号*、种子数量*、种子规格*、亲本品种*、亲本批号*、亲本数量*、亲本规格*、繁育时间*、繁育品种*、繁育数量*、批次号、品种选择、种子质量、繁殖材料质量、植保信息、繁殖信息、附加信息等 种植
Cultivation种苗名称*、原批号*、产地*、数量与规格*、新生产的批号*、产品名称*、产品批号*、产品数量*、产品规格*、批次号、种植基地信息、施肥灌溉信息、病虫草害防治信息、采收日期*、采收基地编号*、采收数量*、采收规格*、采收方式、作业人员、容器信息、附加信息等 加工
Processing并批信息*、分批信息*、原批号*、新产生的批号*、加工产品名称*、加工产品批号*、加工产品数量*、加工产品规格*、批次号、清洗信息、加工设施设备信息、添加物信息、车间*、生产线编号*、生产日期和时间*、卫生控制与检查记录、加工温度记录、加工过程控制记录、加工人员、班组、附加信息等 仓储
Storage仓库编号*、出入库数量*、出入库产品名称、产品入库时间*、产品出库时间*、批次号、出入库产品名称、温度记录、检验记录、附加信息等 物流
Logistics运输工具编号*、运输时间*、批次号、运输人员、客户名称、服务日期、食品名称、视频数量、产品温度记录、收发货地点、附加信息等 批发
Wholesale温度记录、存储时间记录、质量检验信息、批次号、附加信息等 零售和餐饮
Retail and catering温度记录、存储时间记录、质量检验信息、批次号、附加信息等 注:表中带*的关键信息为基本追溯信息,其他关键信息为扩展追溯信息。 Note: In the table, the key information marked with an asterisk (*) represents the basic traceability information, while the other key information represents the extended traceability information. 1.2 农产品供应链追溯信息生命周期
AFSC链条长,关键环节多,涉及大量繁杂的关键信息。一方面,AFSCTS会将每一条追溯记录视作一笔交易进行存储,每一个加入区块链的全节点都将存储一份完整的数据账本,随着系统应用时间的推移,系统中存储的数据量会不断增加,导致数据存储总量逐渐增大。但作为区块链节点的物理设备存在容量限制,长期积累的大量数据会超出机器的存储容量,导致无法继续存储数据或系统性能下降。另一方面,农产品具有一定的保质期,且AFSC追溯信息具有时效性。各国对农产品追溯数据的保存时间做出了规定,中国食品安全法第五十条要求追溯记录保存期限不得少于产品保质期满后6个月,没有明确保质期的,保存期限不得少于2a。其中,生产日期为食品成为最终产品的日期,在加工环节确定[31]。
因此,AFSC追溯信息无需永久保存,仅需在AFSC追溯信息的有效生命周期内进行存储。针对此问题,本文提出了AFSC追溯信息生命周期的概念,即AFSC追溯信息保存周期。设AFSC共有N个关键环节,则农产品全供应链追溯信息可记为
TraceInfo={Info1,Info2,⋯,Infop,⋯,InfoN−1,InfoN} (1) 式中Infoi代表了第i个关键环节的追溯信息,Infop特指确定产品生产日期的环节,即加工环节的追溯信息。根据追溯记录保存期限,可定义第i个关键环节追溯信息的产生时间为STi,追溯记录超期时间为ETi。第i个关键环节追溯信息的生命周期LCi可表示为
LCi=ETi−STi (2) 若在加工环节的食品成品中存在明确的保质期SL,则加工环节追溯信息的生命周期LCp为
LCp=ETp−STp=SL+6 (3) 式中STp和ETp分别特指加工环节的追溯信息产生时间和追溯记录超期时间。若无明确的保质期,则加工环节追溯信息的生命周期LCp为
LCp=ETp−STp=24 (4) 全供应链追溯信息的生命周期LC被定义为各个环节中最长的生命周期,即
LC=max(LC1,LC2,⋯,LCN) (5) AFSC各环节追溯信息的生命周期如图1所示。
图 1 农产品供应链追溯信息生命周期注:LCi为第i个关键环节追溯信息的生命周期,共有 N 个关键环节, i 的取值范围为1到 N 的整数;LCp为加工环节追溯信息的生命周期。Figure 1. Traceability information lifecycle(LC) of the agri-food supply chainNote: LCi represents the lifecycle of traceability information for the i-th key stage, where there are N key stages, and i ranges from 1 to N, an integer; LCp represents the lifecycle of traceability information for the processing stage.2. 农产品可编辑区块链追溯存储模型
2.1 区块链数据结构
BCT具有去中心化和不可篡改的特性,其本质是由一系列数据块通过哈希指针链接而成的块链式数据账本,这些数据块被称为区块。使用B表示区块,Bi表示第i个区块。每个区块由区块头H和区块体T构成,即B≡(H,T),为区分不同区块,Hi表示第i个区块的区块头,Ti表示第i个区块的区块体,即Bi≡(Hi,Ti)。区块头H包含有指向父区块区块头的字段parentHash,交易树根哈希值字段transactionsRoot,状态树根哈希值字段stateRoot,收据树根哈希值字段receiptsRoot以及收据树布隆过滤器字段logsbloom等关键字段,记为H≡(parentHash,transactionsRoot,stateRoot,receiptsRoot,logsbloom,others)。区块体T包含了多条交易数据组成的以默克尔树形式存储的交易树,记交易为Tx,区块包含的第i笔交易为Txi,以太坊区块链的数据结构示意图如图2所示。这种块链式存储的级联效应确保了区块链的不可篡改性。只要该区块有足够多的后续区块,要更改该区块的内容就必须要对后续所有的区块进行重新计算。如果Bi的交易数据Tx1发生了改变,则该改变会通过默克尔树的对应分支传导至该区块交易树的树根,致使Hi的transactionsRoot字段发生改变,从而导致该区块区块头的哈希值发生改变,无法与Hi+1的parentHash字段相匹配,从而导致区块链断裂。
区块链的块链式数据结构保证了区块链的安全性和不可篡改性,但也导致了存储数据量只增不减,限制了数据量庞大的AFSCTS的大规模落地应用,也与超出AFSC追溯信息生命周期的数据卸载产生了冲突,因此,需设计新的结构实现超出生命周期数据的卸载。
2.2 变色龙哈希函数
哈希函数是一种将任意长度数据映射为固定长度数据的函数,具有单向性和抗碰撞性的特点。即从哈希值难以推算出原始输入数据,且在计算上难以找到两个不同的输入数据具有相同的哈希值。变色龙哈希函数是由KRAWCZYK[32]提出的一种特殊的单向陷门函数。每个变色龙哈希函数都有一个相对应的陷门,对于没有陷门的参与者,变色龙哈希函数与普通的哈希函数性质相同,都具有单向性和抗碰撞性。但对于拥有陷门的参与者,可以高效的寻找到一组哈希碰撞,即找到两个不同的输入具有相同的哈希值。因此,使用变色龙哈希函数替换区块链中的父区块哈希parentHash使用的哈希函数,可实现对区块进行修改且不改变区块头的哈希值。变色龙哈希函数算法由陷门生成函数KeyGen,哈希函数CHash和碰撞生成函数Forge组成,算法元组集合形式如下:
ChamHash=(KeyGen,CHash,Forge) (6) KeyGen函数通过输入安全参数λ计算陷门TK、原始数据的一次哈希HK和随机数salt,其表示如下
(TK,HK,salt)←KeyGen(λ) (7) CHash函数通过一次哈希HK和随机数salt计算变色龙哈希CH,其表示为
CH←CHash(HK,salt) (8) Forge函数通过陷门TK计算新的随机数salt∗,使得原始数据的一次哈希HK、随机数salt、修改数据的一次哈希HK∗和新的随机数salt∗,满足等式(4)
CHash(HK,salt)=CHash(HK∗,salt∗) (9) 新的随机数salt∗的计算过程为
salt∗←Forge(TK,HK,salt,HK∗) (10) 2.3 可编辑区块链存储模型
引入变色龙哈希函数可以为区块链编辑功能的实现提供可能性。在这种新的结构下,重新定义可编辑区块链的区块为B∗,区块B∗包含可编辑区块头H∗和区块体T,即B∗≡(H∗,T)。其中,H∗≡(H,salt)。与传统区块链不同的是,可编辑区块头H∗中的parentHash字段采用的哈希函数为变色龙哈希函数,并引入了一个额外的salt字段。第i+1个区块B∗i+1中的parentHash字段由B∗中的H和salt共同计算得出。定义当前区块链为C,修改后的区块链为C∗,修改过程如图3所示。
可编辑区块链存储模型通过定期遍历链上所有加工环节追溯信息,检查是否存在超出生命周期的数据,当AFSC追溯信息超出其生命周期时,读取该追溯信息的批次号,对超期AFSC追溯数据进行数据卸载,即生成一个哈希碰撞,使得区块变色龙哈希不发生改变的情况下,删除超期AFSC追溯信息对应的交易。首先需检索出该批次号的全部交易,其次重构该交易所在区块体的默克尔树,计算得出新的TransactionRoot值,并重新打包编辑后的新区块,最后使新区块替换原区块。
可编辑区块链存储模型打破了传统区块链模型的不可篡改性,陷门密钥的保管是确保该模型不被恶意篡改的关键。使用秘密共享技术保管陷门密钥[33],可以显著提高超期数据卸载操作的安全性和可靠性。秘密共享技术通过将陷门密钥分成多个份额,并分发给不同的节点,确保只有在达到预定门限值时才能重建密钥,从而授权超期数据卸载操作。这种方法不仅增强了系统的安全性和容错性,还促进了去中心化管理,防止单点控制和集中化风险。通过定期更新密钥份额,可进一步提升系统的健壮性和数据的完整性。
3. 农产品区块链高效查询模型
3.1 区块链查询模型
AFSC追溯时间跨度大,涉及环节多,因此会产生大量的追溯数据。这些数据会在不同的时间点通过交易记录的方式传入区块链进行记录,这些记录存储在区块链上多个区块的多个交易中,并通过批次号相关联。当通过批次号查询该AFSC追溯信息时,需要遍历全部区块的全部交易找到该批次号涉及的所有交易。为方便查询,通常会在数据存储智能合约中通过设置事件的方式将批次号作为一个主题,即一个可索引的字段存入收据的日志中,以便后续的快速查询。每笔AFSC追溯信息存储的交易对应一个收据,该收据的日志主题中存储了该笔AFSC追溯信息的批次号作为可索引字段。但遍历查询所有收据日志的主题仍然是困难且耗时的,因此,区块链系统引入了布隆过滤器(bloom filter, BF)辅助快速筛选与特定主题相关的收据日志以提高查询效率。布隆过滤器是一种概率型数据结构,用于快速判断一个元素是否可能存在于一个集合中。它通过使用位数组和多个哈希函数来表示和检索元素,并且具有较低的存储空间需求。图4展示了一个位阵列长度为16个点,对每个元素进行3次哈希操作的BF结构示例。
初始状态时,BF可以看作是一个长度为m的位数组,所有位都被设置为0。在区块链存储AFSC追溯信息时,BF会将收据日志的主题信息经过k个哈希函数的计算,得到k个哈希值。然后,将这k个哈希值对应位置上的位都设置为1。在查询对应主题时,使用相同的哈希函数对待查询的主题进行计算,并检查位数组中对应的位是否被置为1。如果对应的k个位都为1,则可以确定该主题可能存在于收据日志中。如果至少有一位为0,则可以确定该主题不存在于收据日志中。在区块链中,通常使用长度m=2 048的位数组进行存储,并对每个元素进行k=3次哈希操作以减少误判率。定义BF函数为M,则区块链中的BF定义为M3:2048。
区块链通过为每个收据日志设置BF,快速筛查该收据是否可能存储有对应主题的信息。记每个收据日志的BF为Mlog,第i个收据日志的BF为Mlogi。此外,因为区块链的数据查询经常需要跨越多个区块,收据日志的BF不足以满足多区块查询的需求,因此,除事务级日志BF外,区块链还定义了块级日志BF,即将一个区块内所有的事务级日志BF取并集,并将该块级日志BF存储于区块头中,便于快捷定位该区块中是否可能含有该主题的记录。含有N个交易的区块的块级日志BF定义为Mlogs=Mlog1∪Mlog2∪⋯∪MlogN。区块链AFSC追溯信息的插入和查询流程如图5所示。
3.2 农产品区块链查询模型
区块链通过布隆过滤器快速筛选可能存在的主题,极大的提高了区块链的查询效率。但原生区块链因不具备删除功能,故布隆过滤器的设计未考虑数据卸载的情况。在评价布隆过滤器性能时,通常使用假阳率(false positive rate, FPR),假阴率(false negative rate, FNR)和查询速度等,其中查询速度受假阳率和假阴率的影响。假阳率和假阴率是在二分类问题中常用的评价指标,它们分别表示了分类器的两种错误情况。假阳率是指在实际样本为负类时,被错误地判断为正类的样本所占的比例,即BF中不存在的AFSC追溯信息判断为存在的比例。假阴率是指在实际样本为正类时,被错误地判断为负类的样本所占的比例,即BF中存在的AFSC追溯信息判断为不存在的比例。图6a和图6b分别展示了当部分AFSC追溯信息被删除后,原生区块链布隆过滤器不删除元素(not removing elements, NRE)和删除元素(removing elements, RE)两种方案的查询结果。
可以看出,NRE方案会导致BF的FPR维持在一个较高值,不会随着AFSC追溯信息的删除而降低。RE方案会导致BF产生FNR,导致AFSCTC查询错误,无法查询到存储的AFSC追溯信息。因此,为解决该问题,提出使用计数布隆过滤器(counting bloom filter, CBF),使得数据删除后,在不会产生FNR的情况下,降低FPR。CBF是一种改进的BF,它在传统BF的基础上引入了计数器,使其支持数据删除的操作,其插入和删除过程如图7所示。
3.3 基于计数布隆过滤器的可编辑区块链工作流程
CBF插入元素时,对应的数组元素计数器会递增,查询元素是否存在时,CBF会根据对应的数组元素计数器值来判断元素的存在性。由于计数器记录了元素的插入次数,CBF支持删除操作,可以通过递减计数器的方式来实现删除操作。此外,CBF可以提供更快速的查询,降低了AFSC追溯信息删除后的FPR,同时,缩短了假阳回溯路径。基于CBF的可编辑区块链AFSC追溯信息的查询流程如图8所示。
计数布隆过滤器相较标准布隆过滤器,引入了计数器,在实际应用中,四位二进制数组成的计数器即可满足应用需求。长度为m的计数布隆过滤器初始状态为m个计数器,所有计数器被设置为0。在区块链存储AFSC追溯信息时,CBF会将收据日志的主题信息经过k个哈希函数的计算,得到k个哈希值,并增加这k个位置的计数器的计数值。在查询AFSC追溯信息时,使用相同的哈希函数对待查询的主题进行计算,检查对应计数器中的数字是否大于0。
4. 性能分析
4.1 测试环境
为了测试所提出模型的性能,通过修改以太坊Geth客户端,构建了一个使用权威证明(proof of authority, PoA)共识机制的可编辑以太坊联盟链。测试使用的节点配置为:8核处理器,1 T存储容量,16 G内存。测试数据来自智慧农场云平台。测试链有34个区块链节点。品种繁育,种植,加工,仓储,物流,批发,零售和餐饮环节分别有4个区块链节点。政府,监管机构和消费者分别有2个区块链节点。具体配置如表2所示。
表 2 区块链配置Table 2. Configuration of blockchain参数设置Parameter settings 参数Parameter Geth版本Go-ethereum version 1.10.17 Go版本Go version 1.17.7 共识机制Consensus mechanism PoA 节点数量Number of nodes 34 陷门密钥份额Trapdoor key share 34 密钥重建份额Key reconstruction share 30 注:PoA为权威证明。
Note: PoA represents proof of authority.4.2 存储效率分析
为验证所提出的农产品可编辑区块链追溯存储模型的存储效率,以农场云平台2019年3月至2024年2月的AFSC追溯信息记录为测试数据进行了存储效率测试分析,共计48万条AFSC追溯信息记录。其中单条AFSC追溯信息的平均存储容量约为35 KB,AFSC追溯信息生命周期约为2a。对比分析了传统区块链存储(traditional blockchain storage solution, TBS)方案,DHT+IPFS方案[15],网络分片存储(network sharded storage, NSS)方案[24]和本文提出的可编辑区块链存储(redactable blockchain storage, RBT)方案的存储性能,如图9所示。各方案的存储量计算均基于设备总存储量。
图 9 存储性能对比注:TBS为传统区块链存储方案;DHT+IPFS为分布式哈希表+星际文件系统方案;NSS为网络分片存储方案;RBT为可编辑区块链存储方案。Figure 9. Comparison of storage performanceNote: TBS is traditional blockchain storage solution; DHT+IPFS is distributed hash table with interplanetary file system solution; NSS is network sharding storage solution; RBT is redactable blockchain storage solution.测试结果表明,在系统运行的前24个月,由于没有超出生命周期的AFSC追溯数据,TBS方案,DHT+IPFS方案与RBT存储量基本一致,NSS方案数据存储量略低,此时各方案的空间复杂度均为O(n)。25~41个月,因超期数据的卸载,DHT+IPFS方案和RBT方案的存储量低于TBS方案。此外,DHT+IPFS方案将数据卸载至IPFS后仍需占用部分空间,因此,DHT+IPFS方案存储量高于RBT方案。第42~59个月,RBT模型的数据存储量优于其他方案。第60个月时,RBT的存储量约为TBS的48.70%。随着时间的推移,当新增数据量与超期卸载数据量达到平衡时,RBT的空间复杂度降至O(1)。
4.3 布隆过滤器性能分析
本研究通过对布隆过滤器进行FPR和FNR测试,评估其在实际应用中的性能表现。图10对比了原生BF的NRE方案、RE方案和CBF在删除数据分别为插入数据的10%、20%和30%时的查询成功率。
测试结果表明原生BF的RE方案存在明显的FNR,会导致保存在区块链中的AFSC追溯数据出现无法查询的结果,无法满足AFSCTS的实际应用需要。BF的NRE方案和CBF不存在假阴的情况。
图11对比了在区块数据量为800、1 000和1 200条时,原生BF的NRE方案和CBF在数据卸载量分别为10%、20%和30%时的FPR。
试验结果表明,CBF的FPR低于原生BF的NRE方案的FPR,且随着数据删除量的增加,CBF的FPR随之降低。当区块数据量为1 000条时,原生BF的NRE方案的FPR为47.80%,CBF在删除数据量为30%时的FPR为26.80%,FPR降低了21个百分点。
4.4 查询效率分析
图12对比了原生BF的NRE方案和CBF的数据查询效率,数据查询在geth版本的以太坊联盟链环境下,使用JSON-RPC API调用只读类型的智能合约函数进行数据查询。
试验结果表明,原生BF的NRE方案平均查询时间为21.14 ms,CBF的平均查询时间为17.12 ms,查询时间低于原生BF的NRE方案,查询效率提高了19.02%。
4.5 区块链编辑性能分析
区块链编辑性能主要包括超期数据卸载性能,可编辑修改对区块链原本上链时间的影响以及编辑的安全性。区块链编辑的安全性及秘密共享保存陷门密钥的合理性已经过验证[33]。因此,本节仅讨论超期数据卸载的性能和可编辑修改对区块链原本上链时间的影响。
可编辑因修改了区块结构,且在原本的哈希计算中,增加了变色龙哈希函数的二次哈希计算,因此会对区块链上链时间产生影响,图13对比了TBS方案和RBT方案的数据上链时间,共进行了10轮试验,每轮上传100条数据,并取平均值作为数据上链时间。
区块链上链时间主要受共识机制影响,可编辑区块链的修改会导致区块生成效率降低,但对整体上链时间影响较小。此外,农产品供应链追溯并不是时间敏感型应用场景,可编辑区块链的上链时间可以满足实际应用的需求。
图14展示了农产品可编辑区块链追溯存储模型超期数据卸载性能,数据卸载吞吐量稳定在44 TPS。由于卸载数据需生成新区块替换旧区块,因此,数据卸载会影响数据上传效率。在实际应用中,可选择闲时进行数据卸载,以最小化对数据上传效率的影响。
5. 结 论
农产品区块链追溯系统使得农产品从农田到餐桌的每一个环节都可以被记录下来,有效地提升了农产品的安全性。但全冗余存储的不可篡改账本制约了农产品区块链追溯系统的长期稳定运行和落地应用。目前降低农产品区块链追溯系统存储容量的方案复杂性高,查询效率低。
针对农产品供应链(agri-food supply chain, AFSC)追溯数据本身的周期特性,本研究提出了一种基于可编辑区块链的农产品供应链追溯高效存储查询模型。采用可编辑区块链存储AFSC追溯数据,并定期卸载超出AFSC追溯数据生命周期的数据降低数据存储量。使用计数布隆过滤器解决数据卸载后假阳率高的问题,提高了可编辑区块链的查询效率。试验结果表明,在系统运行60个月时,模型的存储量为传统农产品区块链追溯系统的48.70%。当区块数据量为1 000条,数据卸载量为30%时,模型的假阳率较传统模型下降了21个百分电点,数据查询效率提高了19.02%。随着系统运行时间的增长,本模型可有效降低区块链节点的存储容量,提高AFSC追溯数据的查询效率。
下一步研究中,将重点考虑针对农产品可编辑区块链追溯系统的编辑权管理问题。在区块链中,数据被写入区块链通常需要共识机制来达成一致,在数据编辑时,也需要区块编辑共识机制达成编辑权的一致性。因此,编辑权管理问题是实现农产品区块链追溯系统安全可编辑的另一关键技术。
-
图 1 农产品供应链追溯信息生命周期
注:LCi为第i个关键环节追溯信息的生命周期,共有 N 个关键环节, i 的取值范围为1到 N 的整数;LCp为加工环节追溯信息的生命周期。
Figure 1. Traceability information lifecycle(LC) of the agri-food supply chain
Note: LCi represents the lifecycle of traceability information for the i-th key stage, where there are N key stages, and i ranges from 1 to N, an integer; LCp represents the lifecycle of traceability information for the processing stage.
图 9 存储性能对比
注:TBS为传统区块链存储方案;DHT+IPFS为分布式哈希表+星际文件系统方案;NSS为网络分片存储方案;RBT为可编辑区块链存储方案。
Figure 9. Comparison of storage performance
Note: TBS is traditional blockchain storage solution; DHT+IPFS is distributed hash table with interplanetary file system solution; NSS is network sharding storage solution; RBT is redactable blockchain storage solution.
表 1 农产品供应链关键环节和关键信息
Table 1 Key links and information in the agri-food supply chain
关键环节
Key links关键信息
Key information品种繁育
Variety breeding种子名称*、种子批号*、种子数量*、种子规格*、亲本品种*、亲本批号*、亲本数量*、亲本规格*、繁育时间*、繁育品种*、繁育数量*、批次号、品种选择、种子质量、繁殖材料质量、植保信息、繁殖信息、附加信息等 种植
Cultivation种苗名称*、原批号*、产地*、数量与规格*、新生产的批号*、产品名称*、产品批号*、产品数量*、产品规格*、批次号、种植基地信息、施肥灌溉信息、病虫草害防治信息、采收日期*、采收基地编号*、采收数量*、采收规格*、采收方式、作业人员、容器信息、附加信息等 加工
Processing并批信息*、分批信息*、原批号*、新产生的批号*、加工产品名称*、加工产品批号*、加工产品数量*、加工产品规格*、批次号、清洗信息、加工设施设备信息、添加物信息、车间*、生产线编号*、生产日期和时间*、卫生控制与检查记录、加工温度记录、加工过程控制记录、加工人员、班组、附加信息等 仓储
Storage仓库编号*、出入库数量*、出入库产品名称、产品入库时间*、产品出库时间*、批次号、出入库产品名称、温度记录、检验记录、附加信息等 物流
Logistics运输工具编号*、运输时间*、批次号、运输人员、客户名称、服务日期、食品名称、视频数量、产品温度记录、收发货地点、附加信息等 批发
Wholesale温度记录、存储时间记录、质量检验信息、批次号、附加信息等 零售和餐饮
Retail and catering温度记录、存储时间记录、质量检验信息、批次号、附加信息等 注:表中带*的关键信息为基本追溯信息,其他关键信息为扩展追溯信息。 Note: In the table, the key information marked with an asterisk (*) represents the basic traceability information, while the other key information represents the extended traceability information. 表 2 区块链配置
Table 2 Configuration of blockchain
参数设置Parameter settings 参数Parameter Geth版本Go-ethereum version 1.10.17 Go版本Go version 1.17.7 共识机制Consensus mechanism PoA 节点数量Number of nodes 34 陷门密钥份额Trapdoor key share 34 密钥重建份额Key reconstruction share 30 注:PoA为权威证明。
Note: PoA represents proof of authority. -
[1] ARADE M S, PISE N N. Benefits, challenges, and future research directions for blockchain-based agri-food supply chain[C]//International Conference on Intelligent Sustainable Systems. Singapore: Springer Nature Singapore, 2023: 725-737.
[2] 陈婷,周庆琼,戚平,等. 2011—2020年中国食源性疾病流行病学分析[J]. 中国食品卫生杂志,2023,35(10):1545-1550. CHEN Ting, ZHOU Qingqiong, QI Ping, et al. Epidemiological analysis of foodborne diseases in China from 2011 to 2020[J]. Chinese Journal of Food Hygiene, 2023, 35(10): 1545-1550. (in Chinese with English abstract)
[3] BALEZENTIS T, ZICKIENE A, VOLKOV A, et al. Measures for the viable agri-food supply chains: A multi-criteria approach[J]. Journal of Business Research, 2023, 155: 113417. doi: 10.1016/j.jbusres.2022.113417
[4] ZHOU X Y, XU Z D. Traceability in food supply chains: A systematic literature review and future research directions[J]. International Food and Agribusiness Management Review, 2022, 25(2): 173-196. doi: 10.22434/IFAMR2020.0065
[5] 国务院办公厅. 中华人民共和国食品安全法(2015 年版)[EB/OL]. https://www.gov.cn/zhengce/2015-04/25/ content_2853643.htm. [6] 伍德伦,饶元,许磊,等. 农产品区块链信息可信评估差异化共享模型设计与实现[J]. 农业工程学报,2022,38(11):309-317. doi: 10.11975/j.issn.1002-6819.2022.11.034 WU Delun, RAO Yuan, XU Lei, et al. Design and implementation of the trusted evaluation and differentiated sharing model for agricultural blockchain information[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2022, 38(11): 309-317. (in Chinese with English abstract) doi: 10.11975/j.issn.1002-6819.2022.11.034
[7] 李佳利,陈宇,钱建平,等. 融合 HACCP 体系的农产品区块链追溯系统精准上链机制改进[J]. 农业工程学报,2022,38(20):276-285. doi: 10.11975/j.issn.1002-6819.2022.20.031 LI Jiali, CHEN Yu, QIAN Jianping, et al. Improvement of the precise up-chain mechanism of the agricultural products blockchain traceability system integrating the HACCP system[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2022, 38(20): 276-285. (in Chinese with English abstract) doi: 10.11975/j.issn.1002-6819.2022.20.031
[8] VAIGANDLA K K, KARNE R K, SILUVERU M, et al. Review on blockchain technology: Architecture, characteristics, benefits, algorithms, challenges and applications[J]. Mesopotamian Journal of CyberSecurity, 2023, 2023: 73-84.
[9] VERN P, PANGHAL A, MOR R S, et al. Unlocking the potential: Leveraging blockchain technology for agri-food supply chain performance and sustainability[J]. The International Journal of Logistics Management, 2024: 35(7): 103.
[10] 葛宏义,吴旭阳,蒋玉英,等. 基于区块链技术的粮油食品溯源研究进展及展望[J]. 农业工程学报,2023,39(5):214-223. GE Hongyi, WU Xuyang, JIANG Yuying, et al. Research progress and prospect of grain and oil food traceability based on blockchain technology[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2023, 39(5): 214-223. (in Chinese with English abstract)
[11] 谢晴晴,董凡. 轻量级区块链技术综述[J]. 软件学报,2023,34(1):33-49. XIE Qingqing, Dong Fan. Survey on lightweight blockchain technology[J]. Journal of Software, 2023, 34(1): 33-49. (in Chinese with English abstract)
[12] 石晶,张奥,白晓颖,等. 分布式账本系统性能优化技术综述[J]. 软件学报,2023,34(10):4607-4635. SHI Jing, ZHANG Ao, BAI Xiaoying, et al. Survey on performance optimization technologies of distributed ledger system[J]. Journal of Software, 2023, 34(10): 4607-4635. (in Chinese with English abstract)
[13] FAN X, NIU B N, LIU Z L. Scalable blockchain storage systems: Research progress and models[J]. Computing, 2022, 104(6): 1497-1524.
[14] SHAHID A, ALMOGREN A, JAVAID N, et al. Blockchain-based agri-food supply chain: A complete solution[J]. IEEE Access, 2020, 8: 69230-69243. doi: 10.1109/ACCESS.2020.2986257
[15] CHEN L, ZHANG X, SUN Z X. Scalable blockchain storage model based on DHT and IPFS[J]. KSII Transactions on Internet & Information systems, 2022, 16(7): 2286-2304.
[16] ZHAO J D, ZHANG D H, LIU W X, et al. DHT-based blockchain dual-sharding storage extension mechanism[J]. Applied Sciences, 2022, 12(19): 9635. doi: 10.3390/app12199635
[17] NIE Z X, LI J, DUAN F H, et al. A collaborative ledger storing model for lightweight blockchains based on chord ring[J]. The Journal of Supercomputing, 2024, 80(4): 5593-5615. doi: 10.1007/s11227-023-05667-5
[18] WU T T, JOURJON G, THILAKARATHNA K, et al. MapChain-D: A distributed blockchain for IIoT data storage and communications[J]. IEEE Transactions on Industrial Informatics, 2023, 19(9): 9766-9776. doi: 10.1109/TII.2023.3234631
[19] NARTEY C, TCHAO E T, GADZE J D, et al. Blockchain-IoT peer device storage optimization using an advanced time-variant multi-objective particle swarm optimization algorithm[J]. EURASIP Journal on Wireless Communications and Networking, 2022, 2022(1): 5. doi: 10.1186/s13638-021-02074-3
[20] 孙传恒,万宇平,罗娜,等. 面向追溯主体的果蔬全供应链区块链多链模型研究[J]. 农业机械学报,2023,54(4):416-427. doi: 10.6041/j.issn.1000-1298.2023.04.044 SUN Chuanheng, WAN Yuping, LUO Na, et al. Blockchain multi-chain model of fruit and vegetable supply chain for traceability subjects[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(4): 416-427. (in Chinese with English abstract) doi: 10.6041/j.issn.1000-1298.2023.04.044
[21] 王柯元,姜鑫,贾林鹏,等. 区块链星型分片架构通量模型及应用[J]. 软件学报,2023,34(9):4294-4309. WANG Keyuan, JIANG Xin, JIA Linpeng, et al. Throughput model of starlike sharding structure for blockchains and its applications[J]. Journal of Software, 2023, 34(9): 4294-4309. (in Chinese with English abstract)
[22] 段田田,郭仪,李博,等. PieBridge:一种按需可扩展的跨链架构[J]. 计算机研究与发展,2023,60(11):2520-2533. doi: 10.7544/issn1000-1239.202230284 DUAN Tiantian, GUO Yi, LI Bo, et al. An on-demand scalable cross-chain architecture[J]. Journal of Computer Research and Development, 2023, 60(11): 2520-2533. (in Chinese with English abstract) doi: 10.7544/issn1000-1239.202230284
[23] HONG Z C, GUO S, LI P. Scaling blockchain via layered sharding[J]. IEEE Journal on Selected Areas in Communications, 2022, 40(12): 3575-3588. doi: 10.1109/JSAC.2022.3213350
[24] WEI W X, ZHU N F, WANG J, et al. A scalable blockchain storage scheme for VANET[J]. Cluster Computing, (2024-02-02), https:doi.org/10.1007/s10586-023-04238-w.
[25] 景旭,石引娣. 具有高价值密度的农业物联网数据区块链压缩存储方案[J]. 农业工程学报,2024,40(2):273-282. doi: 10.11975/j.issn.1002-6819.202306027 JING Xu, SHI Yindi. Agricultural IOT data blockchain compressed storage solution with high value density[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2024, 40(2): 273-282. (in Chinese with English abstract) doi: 10.11975/j.issn.1002-6819.202306027
[26] MISHRA R, RAMESH D, KANHERE S S, et al. Enabling efficient deduplication and secure decentralized public auditing for cloud storage: A redactable blockchain approach[J]. ACM Transactions on Management Information Systems, 2023, 14(3): 1-35.
[27] YANG S X, LI S W, CHEN W J, et al. A redactable blockchain-based data management scheme for agricultural product traceability[J]. Sensors, 2024, 24(5): 1667. doi: 10.3390/s24051667
[28] 中国标准化研究院,国家市场监督管理总局. 农产品追溯要求果蔬:GB/T 29373-2012[S]. 北京:中国标准出版社,2012. [29] 全国屠宰加工标准化技术委员会,农业农村部. 畜禽肉追溯要求:GB/T 40465-2021[S]. 北京:中国标准出版社,2023. [30] 中国标准化研究院,国家市场监督管理总局. 农产品追溯要求水产品:GB/T 29568-2013[S]. 北京:中国标准出版社,2013. [31] 国家标准化管理委员会,全国食品工业标准化技术委员会. 食品安全国家标准—预包装食品标签通则:GB 7718-2011[S]. 北京:中国标准出版社,2011. [32] KRAWCZYK H RABIN T. Chameleon signatures[C]// NDSS 2000. Citeseer, Rosten, VA, USA 2000: 143-154.
[33] ATENIESE G, MAGRI B, VENTURI D, et al. Redactable blockchain–or–rewriting history in bitcoin and friends[C]//2017 IEEE European symposium on security and privacy (EuroS&P). Paris, IEEE, 2017: 111-126.