CN111092896A - 基于优化paxos的食品溯源分布式数据同步方法 - Google Patents
基于优化paxos的食品溯源分布式数据同步方法 Download PDFInfo
- Publication number
- CN111092896A CN111092896A CN201911336572.6A CN201911336572A CN111092896A CN 111092896 A CN111092896 A CN 111092896A CN 201911336572 A CN201911336572 A CN 201911336572A CN 111092896 A CN111092896 A CN 111092896A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- information
- tracing
- traceability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明提供一种基于优化PAXOS的食品溯源分布式数据同步方法,包括如下步骤:步骤1、基于食品溯源业务流程构建基于联盟区块链的食品溯源模型,客户端基于API接口进行溯源相关信息的录入与查询;所述溯源模型包括多个节点;步骤2、在追溯模型中,定义token为用户身份认证标识,节点将本业务流程的溯源信息上传溯源系统,当客户端API接口接收到信息上链请求时,校验是否初始节点;步骤3、判断该初始节点的类型,若该初始节点为养殖厂,转步骤4;若该初始节点为非养殖厂,转步骤5;在联盟区块链内部署动态节点;步骤4、若该节点为养殖厂,校验该节点资质信息,只有资质信息通过后,才允许将该条初始信息上传至溯源区块链上进行同步存储;步骤5、执行信息上链智能合约。
Description
技术领域
本发明涉及区块链技术和食品安全领域,具体涉及一种基于优化PAXOS的食品溯源分布式数据同步方法。
背景技术
国内的溯源制度还在起步阶段,各大食品企业也并未全面使用溯源系统,这导致我国企业的发展以及贸易推进都受到了阻碍,同时在常规的追溯技术中,追溯数据主要在数据库中进行简单的存储,极易遭到非法的篡改。另一方面,追溯信息数据量巨大,对于存储端服务器压力极大。
发明内容
为了解决传统食品溯源追中,追溯数据易遭到泄露、篡改以及追溯数据量极大,数据同步效率低等问题,本发明提出了一种基于优化PAXOS的食品溯源分布式数据同步方法。该方法使用联盟区块链技术,以其弱中心化,信息不可篡改,集体维护,可靠数据库等特点,确保追溯数据的信息安全。另一方面,通过部分去中心化的方法以及设定共识节点的方式,分层多链的数据存储方案以及基于优化PAXOS技术的数据处理方法,提升食品溯源系统的数据处理效率,加速联盟区块链技术在食品溯源系统中的应用。
本发明根据食品溯源行业的业务流程,并基于联盟区块链技术,设计了符合食品溯源业务的追溯模型,通过智能合约的改造、共识节点的动态配置,达到解决业务难题、提高存储性能的目的,同时对PAXOS数据处理方法进行优化,在保证信息安全的前提下,大大提升了信息存储性能以及数据同步效率。具体发明内容如下:
一种基于优化PAXOS的食品溯源分布式数据同步方法,包括如下步骤:
步骤1、基于食品溯源业务流程构建基于联盟区块链的食品溯源模型,所述溯源模型的功能包括:用户获取token、溯源信息上链、溯源信息查询;客户端基于API接口进行溯源相关信息的录入与查询;所述溯源模型包括多个节点;
步骤2、在追溯模型中,定义token为用户身份认证标识,后续发起业务流转、查询溯源信息时输入该token,获取token后,节点将本业务流程的溯源信息上传溯源系统,当客户端API接口接收到信息上链请求时,校验是否初始节点;
步骤3、判断该初始节点的类型,若该初始节点为养殖厂,转步骤4;若该初始节点为非养殖厂,转步骤5;在联盟区块链内部署动态节点,选取部分节点作为动态节点,在业务轮转时进行部署;
步骤4、若该节点为养殖厂,则需监管系统执行监管智能合约进行监管,校验该节点资质信息,只有资质信息通过后,才允许将该条初始信息上传至溯源区块链上进行同步存储;
步骤5、执行信息上链智能合约,通过优化后的PAXOS算法校验时间、业务流程、追溯ID信息与上一次流转是否匹配,校验通过后,数据将通过联盟区块链在所有追溯环节进行数据同步。
进一步的,在联盟区块链内部署动态节点,其步骤如下:
步骤1:新增节点,线下获取角色证书(RCert)、准入证书(ECert)后,新节点连接成联盟链内节点,新请求接入的节点提供证书签证机关(CA)提供的证书,被联盟链上各节点认证通过后,即开始形成共识:
步骤2:新节点验证,已通过CA认证的新节点发送的加入请求被接收,并给全网节点发送广播<AddNode>消息,在原节点收到的<AddNode>请求满足数量条件并进行验证后,在路由表中加入新的节点信息,并与当前的新节点进行反向连接:
步骤3:全网广播,发现全网中与自身建立连接的节点达到N-f个节点后,初始化新节点后进入Recovery状态,即一个索引的分片分配到另外一个节点的过程,并请求将未加入前的区块数据加入节点,在完成Recovery后,即新节点通过更新写入最新的系统区块数据,并将<ReadyForN>消息广播自全网,表明已同步化账本,可在系统加入已完备的新节点;其中N为节点总数,f为拜占庭节点总数;
步骤4:全局更新,新节点所发送的新节点准备完备<ReadyForN>消息已经送达现有节点,在验证通过后执行本地计算,并全网广播<AgreeUpdateN>消息;表明系统将暂停三阶段的交易处理流程,为更新N,视图(view)做准备;假设节点收到<AgreeUpdateN>即同意对节点进行更新的消息大于等于N-f个,主节点广播<Update>消息,此时各节点更新系统状态。
进一步的,所述的同步存储是基于联盟区块链技术的食品溯源切分存储,通过部分去中心化的方法,设定共识节点的方式,分层多链的数据存储方法以及基于PAXOS算法的数据处理方法,分层多链的数据存储过程如下:
步骤1、首先对区块进行分组,由主节点存储完整的食品流转行为数据,副节点则根据一致性哈希原理分片存储食品溯源数据;
步骤2、假设每个区块组中有K+1个区块节点,首先采用基于位置的分组设计,每个组中根据节点区块的性能以及可靠性选出一个节点区块担任主区块节点,令其存储完整的溯源数据,使除主节点外的其他区块节点共同存储分片区块数据,随后对2^32取模,2^32个点组成的圆环称为哈希环,根据服务节点的IP或者机器名称进行哈希,就能确定每台机器就能确定其在哈希环上的位置;
步骤3、另外,将一致的哈希环划分为相同大小的W区域以对应于W个虚拟节点,并结合各节点的性能情况对虚拟节点的总量进行调配;
步骤4、结合各节点对应的性能值,推出各节点的虚拟节点分配状况公式: 其中,V(ni)表示第i个区块节点应分配的节点个数,W表示虚拟节点总数,表示第i个节点在一个区块组中的总节点比重,其中,p(ni)代表区块节点i的性能值。
进一步的,对PAXOS算法处理的事件进行预处理,对时钟系统和事件系统进行界定;
针对初始阶段的PAXOS算法,只能实现对单条追溯信息上链请求议案的通过,为了让算法通过若干个上链请求,使用最邻近算法对时钟和事件进行关联分析,并根据关联对对时间与事件进行关联和分组,通过加权计算确定提交顺序,采用分组提交的方式发送信息上链请求,系统将同时对一组中的若干条上链请求进行判定。
进一步的,将议案和议案编号实现有效的分离,从而促使提案者(proposer)提出若干个议案的编号,并将其充当原议案,构建分布式时钟中心,之后按照既定的流程,备份若干副本,实现对食品追溯数据上链请求的并行处理,利用全局时钟来让进程能够向前执行,对提交C号码进行标准化的设计,从而对所需的提案进行良好的提交;对PAXOS算法的公式展开标准化的验证,设定最为适用的C;其采用的时钟系统算法与投票流程包括为:
1)系统准备阶段,在学习者(learner)初始化的过程中,其对应的时钟值I=0;
2)提案者(proposer)在获取request请求之后,将定时器timer有效的开启,同时把它压缩为提案摘要P并等待计时器到期以前将完整提案PR请求提交给接受者;议案提交者(proposer)便进入可以提交议案,而acceptor进入了promise状态;
3)投票表决,当learner通过一个PR的时候,解析PR并提取推入的ID;投票表决,在接受者收到动作后,它进入接受状态。然后取出动作编号,同意并忽略受约人持有的最大数量的动作。假如有多于二分之一的acceptor选择同意,那么其必然会把数值传输至learner,acceptor的状态也会调整至accepted。所有学习者都会收到查询并增加编号以实现同步。如果ID未被批准,则将其写入执行代表exe_project_T,并且更新时钟I=I+1;另外,通过角色A,一直持续到PR被彻底解析;
4)学习议案,当账单被接受时,账单将被发送给学习者,一旦该议案被学习便可以进行下一议案的审批。直到下一条议案提出的是停止提出议案的要求时,系统才终止运行。
有益效果:
使用联盟区块链技术可以有效地避免传统追溯技术中数据易遭到窃取的问题,同时针对海量追溯数据,分布式存储方法可以有效地提高服务器存储能力,降低系统负载。优化后的PAXOS中,各客户端可以提出标准化的请求,从而实现半存储操作,避免请求出现丢失的情况。一旦应用了该号码,该请求会转变至执行前状态,之后维持于这个状态,一直持续到该请求进行具体执行位置。对于该过程而言,因为出现了多路复用的情况,并且PAXOS算法应用于数字赋值。各分配都会对应全局编号,所以,其明显缩减了由多次运动引起的交通过度升高的现象,如此就优化了算法的整体性能。具体而言,本发明:
(1)制定追溯模型框架:分析食品追溯的业务模式,详细研究食品加工、流通、销售各工作流程的特性,基于业务流程,明确了追溯模型的业务框架和技术框架;
(2)解决追溯业务难题:分析了传统集中式追溯模式存在的问题,例如中心化存储导致的信息安全问题、业务流程不规范造成的追溯信息不完整等问题,为解决这些传统模式下的业务难题,改造区块链的智能合约,提升了信息可信度,并保证了食品可追溯,可追责;
(3)提升追溯平台性能:传统的共有区块链中,一个新的区块是否能够上链,需要由区块链中所有的节点来决定,导致信息存储性能较低,在食品溯源业务中,追溯对象的流转对于时效性要求较强,传统公有链不适应此业务场景,故本发明采用联盟区块链,基于业务模式设计了共识节点动态配置的方法,在保证信息安全的前提下,大大提升了信息存储性能。针对食品溯源的数据是海量数据,在传统的区块链技术下,网络中单节点的性能较低、同时数据存储采用链式本地存储导致无法平行扩展的问题。本发明结合追溯对象流转数据的特点,研究分层多链的切分存储方式,提高节点处理食品溯源流转数据的性能。
(4)基于优化Paxos的食品安全溯源分布式数据同步方法,针对传统区块链技术基于Block区块,效率一直比较低,由于区块链链式的存储结构,整个网络同时只能有一条单链,基于POW共识机制出块无法并发执行的问题。而且分布式系统需要数据一致且同步。联盟区块链采用了工作量证明(PoW)或权益证明(PoS)等共识机制保证数据的强同步。但是,食品流转数据与金融等领域相比较,实时性要求较弱。因此,本方法研究基于Paxos技术,提高食品溯源相对海量数据的同步能力。
附图说明
图1为本发明方法的实现流程图;
图2为本发明中分布式数据存储模型;
图3为本发明中基于联盟区块链技术的食品溯源模型。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
参见图1,本发明提出一种基于优化PAXOS的食品溯源分布式数据同步方法,包括如下步骤:
步骤1、基于食品溯源业务流程构建基于联盟区块链的食品溯源模型,所述溯源模型的功能包括:用户获取token、溯源信息上链、溯源信息查询;客户端基于API接口进行溯源相关信息的录入与查询;所述溯源模型包括多个节点;
步骤2、在追溯模型中,定义token为用户身份认证标识,后续发起业务流转、查询溯源信息时输入该token,获取token后,节点将本业务流程的溯源信息上传溯源系统,当客户端API接口接收到信息上链请求时,校验是否初始节点;
步骤3、判断该初始节点的类型,若该初始节点为养殖厂,转步骤4;若该初始节点为非养殖厂,转步骤5;在联盟区块链内部署动态节点,选取部分节点作为动态节点,在业务轮转时进行部署;
步骤4、若该节点为养殖厂,则需监管系统执行监管智能合约进行监管,校验该节点资质信息,只有资质信息通过后,才允许将该条初始信息上传至溯源区块链上进行同步存储;
步骤5、执行信息上链智能合约,通过优化后的PAXOS算法校验时间、业务流程、追溯ID信息与上一次流转是否匹配,校验通过后,数据将通过联盟区块链在所有追溯环节进行数据同步。
进一步的,在联盟区块链内部署动态节点,其步骤如下:
步骤1:新增节点,线下获取角色证书(RCert)、准入证书(ECert)后,新节点连接成联盟链内节点,新请求接入的节点提供证书签证机关(CA)提供的证书,被联盟链上各节点认证通过后,即开始形成共识;
步骤2:新节点验证,已通过CA认证的新节点发送的加入请求被接收,并给全网节点发送广播<AddNode>消息,在原节点收到的<AddNode>请求满足数量条件并进行验证后,在路由表中加入新的节点信息,并与当前的新节点进行反向连接;
步骤3:全网广播,发现全网中与自身建立连接的节点达到N-f个节点后,初始化新节点后进入Recovery状态,即一个索引的分片分配到另外一个节点的过程,并请求将未加入前的区块数据加入节点,在完成Recovery后,即新节点通过更新写入最新的系统区块数据,并将<ReadyForN>消息广播自全网,表明已同步化账本,可在系统加入已完备的新节点;其中N为节点总数,f为拜占庭节点总数;
步骤4:全局更新,新节点所发送的新节点准备完备<ReadyForN>消息已经送达现有节点,在验证通过后执行本地计算,并全网广播<AgreeUpdateN>消息;表明系统将暂停三阶段的交易处理流程,为更新N,视图(view)做准备;假设节点收到<AgreeUpdateN>即同意对节点进行更新的消息大于等于N-f个,主节点广播<Update>消息,此时各节点更新系统状态。
参见图2,在食品溯源数据存储联盟链中,采用基于位置的分组设计,每个组中根据节点(节点由所有的食品流转环节与监管部门构成)选择一个可靠且性能较强的节点作为主节点,令其存储完整的溯源数据,组内的其他节点即副节点分别存储溯源数据作为备份,存储模型根据节点加入食品溯源数据存储联盟链时提供的信息,通过相邻区块的位置关系来进行区块组的划分。将节点分配至最近的组中,从而减少因为距离问题导致的组间通信延迟。
本发明提出一种基于优化PAXOS的食品溯源分布式数据同步方法,包括如下步骤:设定共识节点的方式,分层多链的数据存储方法以及基于PAXOS算法的数据处理方法,分层多链的数据存储过程如下:
步骤1、首先对区块进行分组,由主节点存储完整的食品流转行为数据,副节点则根据一致性哈希原理分片存储食品溯源数据;
步骤2、假设每个区块组中有K+1个区块节点,首先采用基于位置的分组设计,每个组中根据节点区块的性能以及可靠性选出一个节点区块担任主区块节点,令其存储完整的溯源数据,使除主节点外的其他区块节点共同存储分片区块数据,随后对2^32取模,2^32个点组成的圆环称为哈希环,根据服务节点的IP或者机器名称进行哈希,就能确定每台机器就能确定其在哈希环上的位置;
步骤3、另外,将一致的哈希环划分为相同大小的W区域以对应于W个虚拟节点,并结合各节点的性能情况对虚拟节点的总量进行调配;
步骤4、结合各节点对应的性能值,推出各节点的虚拟节点分配状况公式: 其中,V(ni)表示第i个区块节点应分配的节点个数,W表示虚拟节点总数,表示第i个节点在一个区块组中的总节点比重,其中,p(ni)代表区块节点i的性能值。
进一步的,对PAXOS算法处理的事件进行预处理,对时钟系统和事件系统进行界定;
针对初始阶段的PAXOS算法,只能实现对单条追溯信息上链请求议案的通过,为了让算法通过若干个上链请求,使用最邻近算法对时钟和事件进行关联分析,并根据关联对对时间与事件进行关联和分组,通过加权计算确定提交顺序,采用分组提交的方式发送信息上链请求,系统将同时对一组中的若干条上链请求进行判定。
进一步的,将议案和议案编号实现有效的分离,从而促使提案者(proposer)提出若干个议案的编号,并将其充当原议案,构建分布式时钟中心,之后按照既定的流程,备份若干副本,实现对食品追溯数据上链请求的并行处理,利用全局时钟来让进程能够向前执行,对提交C号码进行标准化的设计,从而对所需的提案进行良好的提交;对PAXOS算法的公式展开标准化的验证,设定最为适用的C;其采用的时钟系统算法包括为:
1)系统准备阶段,在学习者(learner)初始化的过程中,其对应的时钟值I=0;
2)提案者(proposer)在获取request请求之后,将定时器timer有效的开启,同时把它压缩为提案摘要P并等待计时器到期以前将完整提案PR提交给接受者;议案提交者(proposer)可以提交议案,acceptor进入承诺状态(promise);
3)投票表决,当learner通过一个PR的时候,解析PR并提取推入的ID;投票表决,在接受者收到动作后,它进入接受状态。然后取出动作编号,同意并忽略受约人持有的最大数量的动作。假如有多于二分之一的acceptor选择同意,那么其必然会把数值传输至learner,acceptor的状态也会调整至accepted。所有学习者都会收到查询并增加编号以实现同步。如果ID未被批准,则将其写入执行代表exe_project_T,并且更新时钟I=I+1;另外,通过角色A,一直持续到PR被彻底解析;
4)学习议案,当账单被接受时,账单将被发送给学习者,一旦该议案被学习便可以进行下一议案的审批。直到下一条议案提出的是停止提出议案的要求时,系统才终止运行。
在传统的追溯系统中,追溯信息上传系统的模式为各业务单位分别上传各自的产品流转信息,存在信息上报不规范,信息缺失等问题,导致追溯信息流不完整,监管部门及消费者无法追踪食品的整个生命周期流转信息。
参见图3,本发明提出一种基于优化PAXOS的食品溯源分布式数据同步方法,发明使用Hyperledger Fabric框架,根据基于优化PAXOS的食品溯源分布式数据同步方法搭建食品溯源模型。追溯数据由养殖场、配送车辆、屠宰场、冷库、终端商超等单元产生,生产轮转时数据将上传至联盟区块链追溯系统,该过程可以确保食品在整个生命周期的流转信息是连续且完整的。
数据申请上链时,申请新增节点,线下获取RCert、ECert后,新节点连接成联盟链内节点,新请求接入的节点提供CA证书,被联盟链上各节点认证通过后将对新节点进行验证,验证通过后将进行全屏广播,进行全局更新。存储端,由主节点存储完整的食品流转行为数据,副节点则根据一致性哈希原理分片存储食品溯源数据。
由于结构去中心化,在流转过程中,每个流转节点都是区块链网络中的一个节点,都存储有一份完整的追溯信息,且每次新增信息时,需经过多个共识节点认证,极大程度保证了信息可信性;信息上链后除非同时攻破所有共识节点,否则无法对链上信息进行修改,保证了信息的安全性。由于分层多链的数据存储方案以及优化PAXOS技术的数据处理方法,在减轻系统负载的同时有效地提高了食品溯源系统的数据处理效率。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (5)
1.一种基于优化PAXOS的食品溯源分布式数据同步方法,其特征在于,包括如下步骤:
步骤1、基于食品溯源业务流程构建基于联盟区块链的食品溯源模型,所述溯源模型的功能包括:用户获取token、溯源信息上链、溯源信息查询;客户端基于API接口进行溯源相关信息的录入与查询;所述溯源模型包括多个节点;
步骤2、在追溯模型中,定义token为用户身份认证标识,后续发起业务流转、查询溯源信息时输入该token,获取token后,节点将本业务流程的溯源信息上传溯源系统,当客户端API接口接收到信息上链请求时,校验是否初始节点;
步骤3、判断该初始节点的类型,若该初始节点为养殖厂,转步骤4;若该初始节点为非养殖厂,转步骤5;在联盟区块链内部署动态节点,选取部分节点作为动态节点,在业务轮转时进行部署;
步骤4、若该节点为养殖厂,则需监管系统执行监管智能合约进行监管,校验该节点资质信息,只有资质信息通过后,才允许将该条初始信息上传至溯源区块链上进行同步存储;
步骤5、执行信息上链智能合约,通过优化后的PAXOS算法校验时间、业务流程、追溯ID信息与上一次流转是否匹配,校验通过后,数据将通过联盟区块链在所有追溯环节进行数据同步。
2.根据权利要求1所述的一种基于优化PAXOS的食品溯源分布式数据同步方法,其特征在于:所述步骤3中,在联盟区块链内部署动态节点,其步骤如下:
步骤1:新增节点,线下获取角色证书(RCert)、准入证书(ECert)后,新节点连接成联盟链内节点,新请求接入的节点提供证书签证机关(CA)提供的证书,被联盟链上各节点认证通过后,即开始形成共识;
步骤2:新节点验证,已通过CA认证的新节点发送的加入请求被接收,并给全网节点发送广播<AddNode>消息,在原节点收到的<AddNode>请求满足数量条件并进行验证后,在路由表中加入新的节点信息,并与当前的新节点进行反向连接;
步骤3:全网广播,发现全网中与自身建立连接的节点达到N-f个节点后,初始化新节点后进入Recovery状态,即一个索引的分片分配到另外一个节点的过程,并请求将未加入前的区块数据加入节点,在完成Recovery后,即新节点通过更新写入最新的系统区块数据,并将<ReadyForN>消息广播自全网,表明已同步化账本,可在系统加入已完备的新节点;其中N为节点总数,f为拜占庭节点总数;
步骤4:全局更新,新节点所发送的新节点准备完备<ReadyForN>消息已经送达现有节点,在验证通过后执行本地计算,并全网广播<AgreeUpdateN>消息;表明系统将暂停三阶段的交易处理流程,为更新N,视图(view)做准备;假设节点收到<AgreeUpdateN>即同意对节点进行更新的消息大于等于N-f个,主节点广播<Update>消息,此时各节点更新系统状态。
3.根据权利要求1所述的一种基于优化PAXOS的食品溯源分布式数据同步方法,其特征在于:
所述的步骤4中的同步存储是基于联盟区块链技术的食品溯源切分存储,通过部分去中心化的方法,设定共识节点的方式,分层多链的数据存储方法以及基于PAXOS算法的数据处理方法,分层多链的数据存储过程如下:
步骤1、首先对区块进行分组,由主节点存储完整的食品流转行为数据,副节点则根据一致性哈希原理分片存储食品溯源数据;
步骤2、假设每个区块组中有K+1个区块节点,首先采用基于位置的分组设计,每个组中根据节点区块的性能以及可靠性选出一个节点区块担任主区块节点,令其存储完整的溯源数据,使除主节点外的其他区块节点共同存储分片区块数据,随后对2^32取模,2^32个点组成的圆环称为哈希环,根据服务节点的IP或者机器名称进行哈希,就能确定每台机器就能确定其在哈希环上的位置;
步骤3、另外,将一致的哈希环划分为相同大小的W区域以对应于W个虚拟节点,并结合各节点的性能情况对虚拟节点的总量进行调配;
步骤4、结合各节点对应的性能值,推出各节点的虚拟节点分配状况公式:
4.根据权利要求3所述的一种基于优化PAXOS的食品溯源分布式数据同步方法,其特征在于:
所述步骤4中,对PAXOS算法处理的事件进行预处理,对时钟系统和事件系统进行界定;
针对初始阶段的PAXOS算法,只能实现对单条追溯信息上链请求议案的通过,为了让算法通过若干个上链请求,使用最邻近算法对时钟和事件进行关联分析,并根据关联对对时间与事件进行关联和分组,通过加权计算确定提交顺序,采用分组提交的方式发送信息上链请求,系统将同时对一组中的若干条上链请求进行判定。
5.根据权利要求4所述的一种基于优化PAXOS的食品溯源分布式数据同步方法,其特征在于:
将议案和议案编号实现有效的分离,从而促使提案者(proposer)提出若干个议案的编号,并将其充当原议案,构建分布式时钟中心,之后按照既定的流程,备份若干副本,实现对食品追溯数据上链请求的并行处理,利用全局时钟来让进程能够向前执行,对提交C号码进行标准化的设计,从而对所需的提案进行良好的提交;对PAXOS算法的公式展开标准化的验证,设定最为适用的C;其采用的时钟系统算法与投票流程包括:
1)系统准备阶段,在学习者(learner)初始化的过程中,其对应的时钟值I=0;
2)提案者(proposer)在获取request请求之后,将定时器timer有效的开启,同时把它压缩为提案摘要P并等待计时器到期以前将完整提案PR提交给接受者;议案提交者(proposer)可以提交议案,acceptor进入承诺状态(promise);
3)投票表决,当learner通过一个PR的时候,解析PR并提取推入的ID;投票表决,在接受者收到动作后,它进入接受状态;然后取出动作编号,同意并忽略受约人持有的最大数量的动作;假如有多于二分之一的acceptor选择同意,那么其必然会把数值传输至learner,acceptor的状态也会调整至accepted;所有学习者都会收到查询并增加编号以实现同步;如果ID未被批准,则将其写入执行代表exe_project_T,并且更新时钟I=I+1;另外,通过角色A,一直持续到PR被彻底解析;
4)学习议案,当账单被接受时,账单将被发送给学习者,一旦该议案被学习便可以进行下一议案的审批;直到下一条议案提出的是停止提出议案的要求时,系统才终止运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911336572.6A CN111092896B (zh) | 2019-12-23 | 2019-12-23 | 基于优化paxos的食品溯源分布式数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911336572.6A CN111092896B (zh) | 2019-12-23 | 2019-12-23 | 基于优化paxos的食品溯源分布式数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111092896A true CN111092896A (zh) | 2020-05-01 |
CN111092896B CN111092896B (zh) | 2022-08-26 |
Family
ID=70396358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911336572.6A Active CN111092896B (zh) | 2019-12-23 | 2019-12-23 | 基于优化paxos的食品溯源分布式数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092896B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111640023A (zh) * | 2020-06-08 | 2020-09-08 | 上海分布信息科技有限公司 | 一种抗混杂的区块链数据管理方法及系统 |
CN111708833A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络 |
CN112532718A (zh) * | 2020-11-26 | 2021-03-19 | 中国船舶工业系统工程研究院 | 基于区块链的海上装备数据共享系统、方法和介质 |
CN113177799A (zh) * | 2021-05-13 | 2021-07-27 | 江阴兴澄特种钢铁有限公司 | 一种基于区块链的钢铁防伪溯源系统和方法 |
CN113222625A (zh) * | 2021-06-02 | 2021-08-06 | 安徽国科检测科技有限公司 | 一种农产品检测结果的多元异构数据模型及其构建方法 |
CN113469713A (zh) * | 2021-07-21 | 2021-10-01 | 贵州大学 | 一种基于区块链的食品数据防伪溯源方法及系统 |
CN113672959A (zh) * | 2021-08-25 | 2021-11-19 | 重庆生产力促进中心 | 一种可溯源的基于区块链的无纸化办公痕迹保留方法 |
CN113905035A (zh) * | 2021-09-29 | 2022-01-07 | 上海万向区块链股份公司 | 基于区块链的生物数据非同质化映射系统 |
CN114331462A (zh) * | 2021-07-26 | 2022-04-12 | 合肥海尔电冰箱有限公司 | 基于区块链的产品信息处理方法与计算机可读存储介质 |
WO2022134797A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285810A1 (en) * | 2017-03-29 | 2018-10-04 | Ripe Technology, Inc. | Systems and methods of blockchain transaction recordation in a food supply chain |
US20180284093A1 (en) * | 2017-03-29 | 2018-10-04 | Innit International S.C.A. | Trusted Food Traceability System and Method and Sensor Network |
CN108960863A (zh) * | 2018-07-03 | 2018-12-07 | 广州市格利网络技术有限公司 | 一种食品区块链追溯方法、装置及电子设备 |
CN109727043A (zh) * | 2018-12-29 | 2019-05-07 | 厦门物之联智能科技有限公司 | 一种基于区块链的产品溯源方法、系统及存储介质 |
CN109784916A (zh) * | 2018-12-12 | 2019-05-21 | 广东工业大学 | 一种改进pbft的以太坊共识机制应用于联盟链的方法 |
CN109993628A (zh) * | 2019-03-05 | 2019-07-09 | 浙江牧猪人智慧农业科技有限公司 | 一种基于区块链的多端互联的种植品、养殖品供需管理系统及方法 |
EP3540662A1 (en) * | 2018-03-15 | 2019-09-18 | Deutsche Telekom AG | Computer implemented method for supply chain management and provenance in a data processing network |
CN110516965A (zh) * | 2019-08-27 | 2019-11-29 | 北京工商大学 | 基于区块链的粮油食品全供应链可信追溯模型及构建方法 |
-
2019
- 2019-12-23 CN CN201911336572.6A patent/CN111092896B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285810A1 (en) * | 2017-03-29 | 2018-10-04 | Ripe Technology, Inc. | Systems and methods of blockchain transaction recordation in a food supply chain |
US20180284093A1 (en) * | 2017-03-29 | 2018-10-04 | Innit International S.C.A. | Trusted Food Traceability System and Method and Sensor Network |
EP3540662A1 (en) * | 2018-03-15 | 2019-09-18 | Deutsche Telekom AG | Computer implemented method for supply chain management and provenance in a data processing network |
CN108960863A (zh) * | 2018-07-03 | 2018-12-07 | 广州市格利网络技术有限公司 | 一种食品区块链追溯方法、装置及电子设备 |
CN109784916A (zh) * | 2018-12-12 | 2019-05-21 | 广东工业大学 | 一种改进pbft的以太坊共识机制应用于联盟链的方法 |
CN109727043A (zh) * | 2018-12-29 | 2019-05-07 | 厦门物之联智能科技有限公司 | 一种基于区块链的产品溯源方法、系统及存储介质 |
CN109993628A (zh) * | 2019-03-05 | 2019-07-09 | 浙江牧猪人智慧农业科技有限公司 | 一种基于区块链的多端互联的种植品、养殖品供需管理系统及方法 |
CN110516965A (zh) * | 2019-08-27 | 2019-11-29 | 北京工商大学 | 基于区块链的粮油食品全供应链可信追溯模型及构建方法 |
Non-Patent Citations (3)
Title |
---|
FENG TIAN: "An agri-food supply chain traceability system for China based on RFID & blockchain technology", 《2016 13TH INTERNATIONAL CONFERENCE ON SERVICE SYSTEMS AND SERVICE MANAGEMENT (ICSSSM)》 * |
YUNGPOTSANG,KINGLUNCHOY,CHUNHOWU,GEORGETOSUMHO,HOIYANLAM: "Blockchain-Driven IoT for Food Traceability With an Integrated Consensus Mechanism", 《IEEE ACCESS》 * |
李明佳,汪 登,曾小珊,白倩兰,孙耀杰: "基于区块链的食品安全溯源体系设计", 《食品科学》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708833A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络 |
CN111708833B (zh) * | 2020-05-18 | 2023-06-06 | 杜晓楠 | Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络 |
CN111640023A (zh) * | 2020-06-08 | 2020-09-08 | 上海分布信息科技有限公司 | 一种抗混杂的区块链数据管理方法及系统 |
CN112532718A (zh) * | 2020-11-26 | 2021-03-19 | 中国船舶工业系统工程研究院 | 基于区块链的海上装备数据共享系统、方法和介质 |
CN112532718B (zh) * | 2020-11-26 | 2023-10-10 | 中国船舶工业系统工程研究院 | 基于区块链的海上装备数据共享系统、方法和介质 |
WO2022134797A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
CN113177799A (zh) * | 2021-05-13 | 2021-07-27 | 江阴兴澄特种钢铁有限公司 | 一种基于区块链的钢铁防伪溯源系统和方法 |
CN113222625A (zh) * | 2021-06-02 | 2021-08-06 | 安徽国科检测科技有限公司 | 一种农产品检测结果的多元异构数据模型及其构建方法 |
CN113469713A (zh) * | 2021-07-21 | 2021-10-01 | 贵州大学 | 一种基于区块链的食品数据防伪溯源方法及系统 |
CN114331462A (zh) * | 2021-07-26 | 2022-04-12 | 合肥海尔电冰箱有限公司 | 基于区块链的产品信息处理方法与计算机可读存储介质 |
CN113672959A (zh) * | 2021-08-25 | 2021-11-19 | 重庆生产力促进中心 | 一种可溯源的基于区块链的无纸化办公痕迹保留方法 |
CN113905035A (zh) * | 2021-09-29 | 2022-01-07 | 上海万向区块链股份公司 | 基于区块链的生物数据非同质化映射系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111092896B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092896B (zh) | 基于优化paxos的食品溯源分布式数据同步方法 | |
CN110784346B (zh) | 一种基于信誉值的pbft共识系统及方法 | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
CN112685796B (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN108512652B (zh) | 基于时间证明的去中心化共识方法、系统及区块链系统 | |
EP3545665B1 (en) | System and method for detecting replay attack | |
CN109688199B (zh) | 一种多域分层物联网联盟链平台及其分片方法、计算机 | |
CN111949672B (zh) | 一种支持物联网数据增量更新的区块链存储方法 | |
US20210258375A1 (en) | Sharding block chain generation method based on tree structure | |
CN110399424B (zh) | 区块生成方法、装置、区块链节点及存储介质 | |
CN110268679B (zh) | 基于区块链的认证方法和系统 | |
CN111682942B (zh) | 一种应用于许可链的二元加权拜占庭容错共识方法 | |
CN110298754B (zh) | 一种应用于区块链的共识方法 | |
WO2019019056A1 (zh) | 前置机参与区块链共识的方法 | |
CN111931220B (zh) | 区块链网络的共识处理方法、装置、介质及电子设备 | |
CN112270550A (zh) | 一种基于区块链的新能源电力溯源方法及系统 | |
CN110324331B (zh) | 基于区块链的电力系统安全稳定控制终端身份认证方法 | |
CN112540926A (zh) | 一种基于区块链的资源分配公平的联邦学习方法 | |
CN111798234B (zh) | 一种轻量级区块链系统及构造方法 | |
CN113626875B (zh) | 一种区块链分片赋能的知识图谱文件存储方法 | |
CN114978684B (zh) | 基于改进凝聚型层次聚类的pbft共识方法 | |
CN114862397B (zh) | 一种基于双链结构的双解耦区块链分布式方法 | |
CN110673966B (zh) | 一种基于区块链链上-链下协同的数据交互方法 | |
Na et al. | A derivative PBFT blockchain consensus algorithm with dual primary nodes based on separation of powers-DPNPBFT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |