CN113411373B - 一种交易数据存储方法、追踪溯源方法及区块链网络 - Google Patents
一种交易数据存储方法、追踪溯源方法及区块链网络 Download PDFInfo
- Publication number
- CN113411373B CN113411373B CN202110456249.3A CN202110456249A CN113411373B CN 113411373 B CN113411373 B CN 113411373B CN 202110456249 A CN202110456249 A CN 202110456249A CN 113411373 B CN113411373 B CN 113411373B
- Authority
- CN
- China
- Prior art keywords
- transaction
- block
- commodity
- chain
- node
- 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.)
- Active
Links
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/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种交易数据存储方法、追踪溯源方法及区块链网络,区块链网络中的区块链为双链式存储结构,包括根链和交易链,根链中存储有每一个区块以及每一个区块的上一个区块信息,交易链中存储有按照商品交易时间顺序排列的同一个商品的所有交易记录,在商品交易记录追踪溯源时,可以先根据商品id找到最近一次交易所在区块的区块信息,根据区块信息在根链中找到对应的区块,遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录,达到追踪溯源的目的,溯源定位准确。
Description
技术领域
本发明涉及区块链领域,更具体地,涉及一种交易数据存储方法、追踪溯源方法及区块链网络。
背景技术
不同的交易领域在追踪溯源监管方面有极高的要求,相关的技术平台也不断发展完善。造假者之所以能够造假成功,一是监管难以覆盖,二是及时的信息溯源检验比较困难。区块链技术为破解信息溯源检验问题提供了思路,区块链的数据被存储在一个个区块中,这些数据的存储主要以交易为载体,或者说,这些数据块实际上是由一系列交易组成的。
传统对交易进行溯源的方式是系统从当前区块开始遍历,判断区块中是否有目标交易,再依次向前查找之前的区块直到找到对应交易,但这种模式存在效率低、时间成本高等问题,很难仅仅依靠区块链这样的存储结构满足查询需求。
因此,为了解决数据溯源的定位困难问题,提出一种新的区块链链式存储结构是亟需解决的问题。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的一种基于区块链网络的交易数据存储方法、追踪溯源方法及区块链网络。
根据本发明的第一方面,提供了一种基于区块链网络的交易数据存储方法,包括:背书节点接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核;排序服务节点接收应用程序客户端向区块链网络发送的本次交易请求,所述本次交易请求中包括本次交易的商品id;对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块,并广播给区块链网络中的每一个peer节点;每一个peer节点将新区块更新至本地区块链中;其中,所述区块链为双链式存储结构,包括根链和交易链,所述根链中存储有每一个区块以及每一个区块的上一个区块信息,所述交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述背书节点接收应用程序客户端向区块链网络发起的本次交易提案之前包括:服务器接收应用程序客户端通过SDK发送的注册登记申请,调用证书服务进行注册和登记,通过验证后获取一对公私钥和身份证书返回给应用程序客户端;相应的,应用程序客户端通过SDK向区块链网络发起本次交易提案,所述本次交易提案中包括本次交易要调用的智能合约名称、智能合约中具体的函数和参数信息以及应用程序客户端信息。
可选的,所述背书节点接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核,包括:背书节点接收到当前交易提案后,验证应用程序签名是否正确并确定提交者是否有权执行操作,同时根据背书策略模拟执行智能合约生成读写集,并将结果及其当前背书节点签名打包通过SDK返还给应用程序客户端,使得应用程序客户端向排序服务节点发送本次交易请求。
可选的,还包括:建立区块链状态数据库,所述区块链状态数据库中存储有每一个商品id与其最近一次交易所在的区块信息;相应的,所述排序服务节点接收应用程序客户端向区块链网络发送的本次交易请求包括:应用程序客户端根据商品id,从所述区块链状态数据库中查询到所述商品id对应的最后一次交易所在的区块信息,将商品id、商品交易内容与对应的最后一次交易所在的区块信息拼装组成本次交易请求,发送给排序服务节点。
可选的,所述对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块之后包括:将商品的本次交易所在的区块信息存入到区块链状态数据库中。
可选的,所述区块信息为区块的地址信息,所述区块的地址信息为区块的哈希散列值。
可选的,所述每一个peer节点将新区块更新至本地区块链中,包括:若peer节点为全节点,则所述peer节点将新区块的全部内容更新至本地区块链;若peer节点为轻节点,则所述peer节点将新区块的部分内容更新至本地区块链中。
根据本发明的第二方面,提供一种基于区块链网络的交易数据追踪溯源方法,包括:接收应用程序客户端向区块链发送的商品交易溯源请求,所述商品交易溯源请求中包括商品id;根据商品id,从区块链状态数据库中查询与所述商品id对应的最近一次交易所在的区块信息;根据商品id对应的最近一次交易所在的区块信息,在区块链中找到对应的区块;遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录;将商品的所有历史交易记录返回给应用程序客户端。
根据本发明的第三方面,提供了一种区块链网络,包括多个peer节点,其中,多个peer节点中包括背书节点和排序服务节点;所述背书节点,用于接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核;排序服务节点,用于接收应用程序客户端向区块链网络发送的本次交易请求,所述本次交易请求中包括本次交易的商品id;对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块,并广播给区块链网络中的每一个peer节点;每一个peer节点,用于将新区块更新至本地区块链中;其中,所述区块链为双链式存储结构,包括根链和交易链,所述根链中存储有每一个区块以及每一个区块的上一个区块信息,所述交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录。
可选的,还包括区块链状态数据库;所述区块链状态数据库,用于存储每一个商品id与其最近一次交易所在的区块信息。
本发明提供的一种基于区块链网络的交易数据存储方法、追踪溯源方法及区块链网络,区块链网络中的区块链为双链式存储结构,包括根链和交易链,根链中存储有每一个区块以及每一个区块的上一个区块信息,交易链中存储有按照商品交易时间顺序排列的同一个商品的所有交易记录,在商品交易记录追踪溯源时,可以先根据商品id找到最近一次交易所在区块的区块信息,根据区块信息在根链中找到对应的区块,遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录,达到追踪溯源的目的,溯源定位准确。
附图说明
图1为本发明实施例提供的一种基于区块链网络的交易数据存储方法流程图;
图2为本发明实施例提供的一种基于区块链网络的交易数据追踪溯源方法流程图;
图3为本发明实施例提供的交易数据追踪溯源的流程图;
图4为本发明实施例提供的区块链网络结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明实施例提供的一种基于区块链网络的交易数据存储方法流程图,如图1所示,方法包括:101、背书节点接收应用程序客户端向区块链网络发起的本次交易提案,对本次交易提案进行审核;102、排序服务节点接收应用程序客户端向区块链网络发送的本次交易请求,所述本次交易请求中包括本次交易的商品id;103、对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块,并广播给区块链网络中的每一个peer节点;104、每一个peer节点将新区块更新至本地区块链中;其中,所述区块链为双链式存储结构,包括根链和交易链,所述根链中存储有每一个区块以及每一个区块的上一个区块信息,所述交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录。
可以理解的是,基于背景技术中的问题,首先,提出了一种双链式存储结构的区块链,双链式存储结构由根链与交易链组成。在区块链中,每个区块中包含了上一个区块信息构成了链式存储结构,将它定义为根链;而原本存储在区块内的交易之间是没有任何关联的,这里提出交易链结构,即同一种商品的所有交易之间依据商品交易时间顺序形成第二条链。
在对交易数据进行存储的过程中,应用程序客户端向区块链网络发起本次交易提案,背书节点对本次交易提案进行审核,将审核结果返回给应用程序客户端。当审核结果为通过时,应用程序客户端向区块链网络发送本次交易请求,本次交易请求中包括本次交易的商品id(identification,身份),排序服务节点对所有商品的包括本次交易的所有交易进行共识排序,生成新区块,新区块中包含有本次交易记录,排序服务节点将产生的新区块广播给区块链网络中的每一个peer节点。每一个peer节点将新区块更新至本地区块链中,完成本次交易在区块链网络中的存储。
本发明实施例的双链式存储方式借鉴了链式结构的优点,利用区块中的交易无序的特性,构造区块中的交易的链式结构,解决了现有链式存储结构数据溯源的定位困难的问题。双链式的实现需要借助交易的附加字段,将商品的上一次交易所在区块的区块信息写入本次交易中,这样在查询的时候可以按照链式的结构将在一条链上的所有历史数据查出,达到了交易追踪溯源的目的。
在一种可能的实施例方式中,背书节点接收应用程序客户端向区块链网络发起的本次交易提案之前包括:服务器接收应用程序客户端通过SDK发送的注册登记申请,调用证书服务进行注册和登记,通过验证后获取一对公私钥和身份证书返回给应用程序客户端;相应的,应用程序客户端通过SDK向区块链网络发起本次交易提案,所述本次交易提案中包括本次交易要调用的智能合约名称、智能合约中具体的函数和参数信息以及应用程序客户端信息。
可以理解的是,在应用程序客户端向区块链网络发起本次交易提案之前,应用程序客户端通过SDK(Software Development Kit,软件开发工具包)向服务器发送注册登记申请,服务器调用证书服务(CA)进行对应用程序客户端注册和登记,通过验证后获取一对公私钥和身份证书返回给应用程序客户端。应用程序客户端通过SDK向区块链网络发起一个交易提案(Proposal),交易提案把带有本次交易要调用的智能合约名称、智能合约中具体的函数和参数信息以及客户端等信息发送给背书节点。
在一种可能的实施例方式中,可以理解的是,背书节点接收到应用程序客户端发起的本次交易提案,首先验证应用程序签名是否正确并确定提交者是否有权执行操作,同时根据背书策略模拟执行智能合约生成读写集,并将结果及其当前背书节点签名打包在一起通过SDK发还给应用程序客户端。
应用程序客户端收到背书节点返回的信息后,验证背书节点的签名判断返回的结果是否一致。如果是查询操作那么收到响应结果即结束交易流程。如果是更新操作,还会检查是否按照指定的背书策略执行(如果没有足够的背书,则中止处理),应用程序客户端把数据打包到一起组成一个交易并签名,发送给排序服务节点。
其中,需要说明的是,在应用程序客户端向区块链网络发起本次交易请求之前,建立区块链状态数据库,区块链状态数据库中存储有每一个商品id与其最近一次交易所在的区块信息。相应的,在应用程序客户端向区块链网络发起本次交易请求时,根据商品id,从区块链状态数据库中查询到商品id对应的最后一次交易所在的区块信息,将商品id、商品交易内容与对应的最后一次交易所在的区块信息拼装组成本次交易请求,发送给排序服务节点。
在一种可能的实施例方式中,对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块之后包括:将商品的本次交易所在的区块信息存入到区块链状态数据库中。
可以理解的是,当排序服务节点接收到应用程序客户端发起的本次交易请求,对商品的包括本次交易的所有交易进行共识排序,生成新区块,将产生的新区块广播给区块链网络中的每一个peer节点。
每一个Peer节点收到新区块后,会对新区块中的每笔交易进行校验,校验的内容包括是否按照指定的背书策略执行背书,检查交易依赖的输入输出是否符合当前区块链的状态,完成后每个Peer节点将有效新区块追加到本地的区块链,通知应用程序客户端完成此次的更新操作。
在一种可能的实施例方式中,每一个peer节点将新区块更新至本地区块链中,包括:若peer节点为全节点,则所述peer节点将新区块的全部内容更新至本地区块链;若peer节点为轻节点,则所述peer节点将新区块的部分内容更新至本地区块链中。
可以理解的是,为了减轻系统的存储压力和区块链网络传输压力,提出全节点/轻节点的定义。区块链节点可以选择是否保留完整区块内容,若保留完整区块内容,该节点称作全节点;若仅保留区块头信息,则称作轻节点。全节点保留常规状态下节点的全部内容,轻节点对于排序服务节点传递过来的新区块,进行常规的验证工作,仅是在存储账本的时候把具体的交易日志去掉,但保存的仍然是完整内容。全节点保留的区块完整内容包括HDM(Block header,Block data,Block metedata)三个部分,轻节点只保留H(Block header),也就是区块头信息。全节点对于排序服务节点传递过来的新区块进行常规的验证和存储,轻节点在对排序服务节点传递过来的新区块进行常规的验证工作之后存储的内容需要删掉新区块中的Block data和Block metedata。
简单来说,就是全节点将排序服务节点产生的有效区块追加到本地的区块链,并修改世界状态,通知应用程序完成此次的更新操作;轻节点将区块的block data和metedata去掉,再将有效区块追加到本地的区块链,并修改世界状态,通知应用程序完成此次的更新操作。
对于轻节点,不是所有的区块都需要去掉交易数据,一个channel里有两种交易,一种是配置交易,一种是普通交易,普通交易存放在普通的block里面,配置交易单独存放在一个块里,配置块交易数据保存完整的交易日志。
需要说明的是,本发明实施例中的区块信息为区块的地址信息,区块的地址信息为区块的哈希散列值。
参见图2,提供了本发明的一种基于区块链网络的交易数据追踪溯源方法,包括:201、记账节点接收应用程序客户端向区块链发送的商品交易溯源请求,所述商品交易溯源请求中包括商品id;202、根据商品id,从区块链状态数据库中查询与所述商品id对应的最近一次交易所在的区块信息;203、根据商品id对应的最近一次交易所在的区块信息,在区块链中找到对应的区块;204、遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录;205、将商品的所有历史交易记录返回给应用程序客户端。
可以理解的是,基于上述的商品交易数据存储结构,本实施例对交易数据追踪溯源方法进行说明,具体步骤包括:
应用程序客户端通过SDK向区块链网络发起一个对某种商品的溯源请求并对请求签名,溯源请求中包含了存在状态数据库中的商品id。进一步的,将签名后的溯源请求和公钥证书发送给与客户端通信的记账结点。
若该记账节点为全节点,则该记账节点验证溯源请求的合法性,通过验证应用程序客户端的私钥签名与公钥证书是否匹配,如果验证不通过,那么返回错误信息,溯源过程结束。如果验证通过,那么记账结点对溯源请求中包含的键对应的值的历史记录进行溯源操作。首先获取溯源请求的商品id,即存储在状态数据库中的键,在区块中检索该商品交易的历史数据,返回全部的溯源数据。
如果该记账节点为轻节点,则记账节点将溯源请求转发给全节点,由全节点来完成交易数据的溯源。
具体的,可参见图3,为对交易数据快速追踪溯源的流程图,在查询过程中,查询接口的输入为当前已知的溯源数据,即目标数据的特征条件商品id,首先判断商品id是否存在于区块链状态数据库中,如果不存在,则说明区块链上不存在该商品的数据,溯源失败。如果存在,查询区块链状态数据库获取商品对应的最后一次交易所在区块的区块地址,随后遍历这个区块获取该交易并解析交易中的数据,分离该交易的父交易哈希地址(即这个区块的上一个区块的区块地址信息),再根据父交易的哈希地址进行查询直到找到该条溯源链的头,即交易数据中不包含父交易哈希地址,最后返回全部的溯源数据。最后将查询到的该商品的所有历史交易数据返回给应用程序客户端。
参见图4,提供了一种区块链网络,包括多个peer节点,其中,多个peer节点中包括背书节点和排序服务节点。
其中,背书节点,用于接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核;排序服务节点,用于接收应用程序客户端向区块链网络发送的本次交易请求,所述本次交易请求中包括本次交易的商品id;根据本次交易的商品id,对商品包括本次交易的所有交易进行共识排序,生成新区块,并广播给区块链网络中的每一个peer节点;每一个peer节点,用于将新区块更新至本地区块链中;其中,所述区块链为双链式存储结构,包括根链和交易链,所述根链中存储有每一个区块以及每一个区块的上一个区块信息,交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录。
其中,区块链网络还包括区块链状态数据库;区块链状态数据库,用于存储每一个商品id与其最近一次交易所在的区块信息。
其中,在上述的区块链网络的基础上,对交易数据进行追踪溯源的过程包括:接收应用程序客户端向区块链发送的商品交易溯源请求,所述商品交易溯源请求中包括商品id;根据商品id,从区块链状态数据库中查询与所述商品id对应的最近一次交易所在的区块信息;根据商品id对应的最近一次交易所在的区块信息,在区块链中找到对应的区块;遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录;将商品的所有历史交易记录返回给应用程序客户端。
本发明提供的一种基于区块链网络的交易数据存储方法、追踪溯源方法及系统,区块链网络中的区块链为双链式存储结构,包括根链和交易链,根链中存储有每一个区块以及每一个区块的上一个区块信息,交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录,在商品交易记录追踪溯源时,可以先根据商品id找到最近一次交易所在区块的区块信息,根据区块信息在根链中找到对应的区块,通过遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录,达到追踪溯源的目的,溯源定位准确。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种基于区块链网络的交易数据存储方法,其特征在于,包括:
背书节点接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核;
排序服务节点接收应用程序客户端向区块链网络发送的本次交易请求,所述本次交易请求中包括本次交易的商品id;对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块,并广播给区块链网络中的每一个peer节点;
每一个peer节点将新区块更新至本地区块链中;
其中,所述区块链为双链式存储结构,包括根链和交易链,所述根链中存储有每一个区块以及每一个区块的上一个区块信息,所述交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录。
2.根据权利要求1所述的交易数据存储方法,其特征在于,所述背书节点接收应用程序客户端向区块链网络发起的本次交易提案之前包括:
服务器接收应用程序客户端通过SDK发送的注册登记申请,调用证书服务进行注册和登记,通过验证后获取一对公私钥和身份证书返回给应用程序客户端;
相应的,应用程序客户端通过SDK向区块链网络发起本次交易提案,所述本次交易提案中包括本次交易要调用的智能合约名称、智能合约中具体的函数和参数信息以及应用程序客户端信息。
3.根据权利要求2所述的交易数据存储方法,其特征在于,所述背书节点接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核,包括:
背书节点接收到当前交易提案后,验证应用程序签名是否正确并确定提交者是否有权执行操作,同时根据背书策略模拟执行智能合约生成读写集,并将结果及其当前背书节点签名打包通过SDK返还给应用程序客户端,使得应用程序客户端向排序服务节点发送本次交易请求。
4.根据权利要求1-3任一项所述的交易数据存储方法,其特征在于,还包括:
建立区块链状态数据库,所述区块链状态数据库中存储有每一个商品id与其最近一次交易所在的区块信息;
相应的,所述排序服务节点接收应用程序客户端向区块链网络发送的本次交易请求包括:
应用程序客户端根据商品id,从所述区块链状态数据库中查询到所述商品id对应的最后一次交易所在的区块信息,将商品id、商品交易内容与对应的最后一次交易所在的区块信息拼装组成本次交易请求,发送给排序服务节点。
5.根据权利要求4所述的交易数据存储方法,其特征在于,所述对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块之后包括:
将商品的本次交易所在的区块信息存入到区块链状态数据库中。
6.根据权利要求5所述的交易数据存储方法,其特征在于,所述区块信息为区块的地址信息,所述区块的地址信息为区块的哈希散列值。
7.根据权利要求1所述的交易数据存储方法,其特征在于,所述每一个peer节点将新区块更新至本地区块链中,包括:
若peer节点为全节点,则所述peer节点将新区块的全部内容更新至本地区块链;
若peer节点为轻节点,则所述peer节点将新区块的部分内容更新至本地区块链中。
8.一种基于区块链网络的交易数据追踪溯源方法,其特征在于,包括:
基于权利要求1所述的基于区块链网络的交易数据存储方法对交易数据进行存储;
接收应用程序客户端向区块链发送的商品交易溯源请求,所述商品交易溯源请求中包括商品id;
根据商品id,从区块链状态数据库中查询与所述商品id对应的最近一次交易所在的区块信息;
根据商品id对应的最近一次交易所在的区块信息,在区块链中找到对应的区块;
遍历区块中的所有交易找到商品的最近一次交易,分解所述最近一次交易,得到商品的上一次交易所在的区块信息,以此类推,找到商品的所有历史交易记录;
将商品的所有历史交易记录返回给应用程序客户端。
9.一种区块链系统,其特征在于,包括多个peer节点,其中,多个peer节点中包括背书节点和排序服务节点;
所述背书节点,用于接收应用程序客户端向区块链网络发起的本次交易提案,对所述本次交易提案进行审核;
排序服务节点,用于接收应用程序客户端向区块链网络发送的本次交易请求,所述本次交易请求中包括本次交易的商品id;对商品的包括本次交易的所有历史交易记录进行共识排序,生成新区块,并广播给区块链网络中的每一个peer节点;
每一个peer节点,用于将新区块更新至本地区块链中;
其中,所述区块链为双链式存储结构,包括根链和交易链,所述根链中存储有每一个区块以及每一个区块的上一个区块信息,所述交易链中存储有按照商品交易时间顺序排列的所有商品的所有交易记录。
10.根据权利要求9所述的区块链系统,其特征在于,还包括区块链状态数据库;
所述区块链状态数据库,用于存储每一个商品id与其最近一次交易所在的区块信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456249.3A CN113411373B (zh) | 2021-04-26 | 2021-04-26 | 一种交易数据存储方法、追踪溯源方法及区块链网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456249.3A CN113411373B (zh) | 2021-04-26 | 2021-04-26 | 一种交易数据存储方法、追踪溯源方法及区块链网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113411373A CN113411373A (zh) | 2021-09-17 |
CN113411373B true CN113411373B (zh) | 2023-07-25 |
Family
ID=77677943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110456249.3A Active CN113411373B (zh) | 2021-04-26 | 2021-04-26 | 一种交易数据存储方法、追踪溯源方法及区块链网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411373B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051995A (zh) * | 2022-07-27 | 2022-09-13 | 南京搜文信息技术有限公司 | 一种支持数据高效溯源的区块链底层平台 |
CN115544047B (zh) * | 2022-11-25 | 2023-03-10 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539750A (zh) * | 2020-04-27 | 2020-08-14 | 中山大学 | 一种基于区块链和大数据技术的商品溯源系统 |
WO2021012572A1 (zh) * | 2019-07-25 | 2021-01-28 | 深圳壹账通智能科技有限公司 | 区块链交易数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106920167A (zh) * | 2017-02-24 | 2017-07-04 | 北京航空航天大学 | 一种基于p2p金融的区块链机制与共识算法 |
US11494344B2 (en) * | 2018-03-06 | 2022-11-08 | International Business Machines Corporation | Customized endorsement logic for blockchain |
CN109064063A (zh) * | 2018-09-11 | 2018-12-21 | 北京工商大学 | 一种基于区块链的食品安全风险溯源分析系统及方法 |
US11323243B2 (en) * | 2019-04-05 | 2022-05-03 | International Business Machines Corporation | Zero-knowledge proof for blockchain endorsement |
CN112000730B (zh) * | 2020-07-10 | 2021-12-24 | 邦邦汽车销售服务(北京)有限公司 | 基于区块链的溯源信息写入、溯源信息验证的方法、系统 |
-
2021
- 2021-04-26 CN CN202110456249.3A patent/CN113411373B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021012572A1 (zh) * | 2019-07-25 | 2021-01-28 | 深圳壹账通智能科技有限公司 | 区块链交易数据处理方法、装置、计算机设备和存储介质 |
CN111539750A (zh) * | 2020-04-27 | 2020-08-14 | 中山大学 | 一种基于区块链和大数据技术的商品溯源系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113411373A (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815530B (zh) | 数据存证方法、数据校验方法及装置 | |
CN108805570B (zh) | 数据处理方法、装置及存储介质 | |
CN110399373A (zh) | 一种区块链账本存储系统、存储查询方法及删除方法 | |
CN113411373B (zh) | 一种交易数据存储方法、追踪溯源方法及区块链网络 | |
CN109194646B (zh) | 一种基于区块链的安全认证数据存取方法 | |
CN111934996B (zh) | 消息传输方法及装置 | |
CN111241589A (zh) | 一种数据库系统、节点和方法 | |
CN110309173B (zh) | 合约数据的记录方法、装置及区块链节点、存储介质 | |
CN113421160B (zh) | 一种基于区块链的交易追踪溯源方法 | |
CN109634959A (zh) | 一种区块索引方法及区块索引装置 | |
CN112905616B (zh) | 一种区块链账本的存储系统 | |
CN107391557B (zh) | 针对设置链外勘误表的区块链串行查询方法及系统 | |
CN110633329A (zh) | 一种区块链交易记录的系统及方法 | |
CN110597922A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN107463596B (zh) | 针对设置链外勘误表的区块链并行查询方法及系统 | |
CN113111125A (zh) | 一种基于区块链的业务存证方法 | |
CN116561231B (zh) | 一种基于分链技术的联盟链数据处理方法 | |
CN110928923A (zh) | 一种基于区块链的数据存储方法及系统 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
CN101464902A (zh) | 一种外包数据库查询结果验证方法及其系统 | |
CN112187788B (zh) | 基于区块链的多级资产流转方法、系统及溯源方法 | |
CN114612115A (zh) | 基于区块链的工业产品溯源信息存储方法、溯源方法及装置 | |
CN111339089A (zh) | 一种应用于区块链的数据存储与获取方法及装置 | |
CN112712433B (zh) | 一种基于区块链的数据状态管理和查询方法及区块链装置 | |
CN117290889B (zh) | 一种基于区块链实现电子劳务合同的安全存储方法 |
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 |