CN113411189B - 数据处理方法及装置、溯源方法及装置、电子设备 - Google Patents
数据处理方法及装置、溯源方法及装置、电子设备 Download PDFInfo
- Publication number
- CN113411189B CN113411189B CN202110666506.6A CN202110666506A CN113411189B CN 113411189 B CN113411189 B CN 113411189B CN 202110666506 A CN202110666506 A CN 202110666506A CN 113411189 B CN113411189 B CN 113411189B
- Authority
- CN
- China
- Prior art keywords
- document
- supply chain
- current
- flow
- upstream
- 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
Images
Classifications
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- 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
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- 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
- 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/321—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 a third party or a trusted authority
-
- 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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及数据处理方法及装置、溯源方法及装置、电子设备。数据处理方法包括:接收来自所述第二供应链节点的一笔区块链交易,其中,所述区块链交易包括交易数据,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;根据所述交易数据,利用零知识证明算法,对与所述流程类型对应的约束条件进行验证;根据所述交易数据和验证的结果,确定与所述当前供应链流程所对应的RSA累加器的累加值;根据所述交易数据和所确定的累加值,更新所述区块链网络的分布式账本。
Description
技术领域
本公开涉及计算机技术领域,特别涉及数据处理方法及装置、溯源方法及装置、电子设备、计算机可存储介质。
背景技术
随着市场的全球化,产品供应链越来越深,越来越复杂。从采购原材料开始,到最终将产品交付给消费者,产品的生产过程中涉及多项流程。在这种复杂的供应链环境中,供应链管理系统缺乏透明度和可追溯性。因此,为了更好地保护最终消费者的利益,防止假冒、污染、虚假索赔和流程不当等问题的出现,供应链透明化和可追溯化迫在眉睫。
相关技术中,利用加密方案隐藏机密数据,并使用群体签名隐藏参与者身份,以解决区块链网络上的参与者的隐私问题。
发明内容
在供应链场景中,物品在到达最终消费者之前不断地被包装、重新包装和转换,场景复杂。相关技术无法应对供应链场景的复杂性,从而无法更好地供应链数据的隐私问题。
针对上述技术问题,本公开提出了一种解决方案,可以提高供应链数据的隐私性,并保证供应链数据的完整性。
根据本公开的第一方面,提供了一种基于区块链网络的数据处理方法,所述区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,所述多个供应链节点包括第一供应链节点和第二供应链节点,所述数据处理方法由所述第一供应链节点执行,包括:接收来自所述第二供应链节点的一笔区块链交易,其中,所述区块链交易包括交易数据,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;根据所述交易数据,利用零知识证明算法,对与所述流程类型对应的约束条件进行验证;根据所述交易数据和验证的结果,确定与所述当前供应链流程所对应的RSA累加器的累加值;根据所述交易数据和所确定的累加值,更新所述区块链网络的分布式账本。
在一些实施例中,所述交易数据包括所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档引用的上游流程文档的上游文档密钥、所述当前流程文档的当前文档密钥、所述当前流程文档的文档内容的哈希值、所述第二供应链节点针对所述当前供应链流程进行零知识证明所生成的凭证集合,对与所述流程类型对应的约束条件进行验证包括:从区块链的分布式账本中,获取所述上游流程文档的文档内容的哈希值;根据所获取的所述上游流程文档的文档内容的哈希值,利用零知识证明算法,验证所述当前流程文档的文档内容的哈希值是否满足与所述流程类型对应的约束条件,以验证所述凭证集合是否有效。
在一些实施例中,确定与所述当前供应链流程所对应的RSA累加器的累加值包括:在所述凭证集合有效的情况下,根据所述当前文档密钥和所述上游文档密钥,确定与所述当前供应链流程所对应的RSA累加器的累加值。
在一些实施例中,更新所述区块链网络的分布式账本包括:根据所述流程类型、所确定的累加值、所述当前文档密钥、所述当前流程文档的文档内容的哈希值、所述上游文档密钥,更新所述区块链网络的分布式账本。
在一些实施例中,所述文档内容的哈希值包括文档内容中的至少一个属性的属性值的哈希值,验证所述当前流程文档的文档内容的哈希值是否满足与所述流程类型对应的约束条件包括:针对所述当前流程文档或者所述上游流程文档,根据相应的至少一个属性值的哈希值,构建默克尔树,所述默克尔树的每个叶子节点存储有指定数量的属性值的哈希值;针对所述当前流程文档或者所述上游流程文档,利用零知识证明算法,验证相应的默克尔树是否存在一条从叶子到根的认证路径。
在一些实施例中,所述属性值包括流程文档的发送者和接收者,所述约束条件包括所述上游流程文档的接收者的哈希值等于所述当前流程文档的发送者的哈希值。
在一些实施例中,所述属性值还包括参与供应链流程的物品数量,在所述流程类型为拆分流程、合并流程或者加工流程的情况下,所述约束条件还包括所述上游流程文档的物品数量的哈希值与所述当前流程文档的物品数量的哈希值满足相应的数量守恒条件。
在一些实施例中,在所述流程类型为合并流程或者加工流程的情况下,所述上游流程文档包括多个,所述数量守恒条件为多个上游流程文档的物品数量的哈希值之和等于所述当前流程文档的物品数量的哈希值。
在一些实施例中,在所述流程类型为拆分流程的情况下,所述当前流程文档包括多个,所述数量守恒条件为所述上游流程文档的物品数量的哈希值等于多个当前流程文档的物品数量的哈希值之和。
在一些实施例中,所述属性值还包括参与供应链流程的物品标识,在所述流程类型为转移流程或退出流程的情况下,所述约束条件还包括所述上游流程文档的物品标识的哈希值等于所述当前流程文档的物品标识的哈希值。
在一些实施例中,所述交易数据还包括区块链网络中的质数证明算法的证书,所述数据处理方法还包括:调用与所述证书相应的质数证明算法,证明所述当前文档密钥和所述上游文档密钥是否都属于质数;其中,在所述当前文档密钥和所述上游文档密钥都属于质数的情况下,从区块链的分布式账本中,获取所述上游流程文档的文档内容的哈希值。
在一些实施例中,所述交易数据存储在所述区块链交易的交易载荷中。
根据本公开第二方面,提供了一种基于区块链网络的溯源方法,所述区块链网络包括多个供应链中的供应链节点,每个供应链节点为一个区块链节点,所述溯源方法由溯源发起节点执行,包括:根据所述区块链网络中的分布式账本中的交易数据,利用零知识证明算法,对与待溯源流程文档引用的上游流程文档对应的流程类型相应的约束条件进行验证,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;根据验证的结果,确定所述待溯源流程文档的源头供应链节点,所述源头供应链节点为所述多个供应链节点中的一个。
在一些实施例中,计算待溯源流程文档的文档内容的哈希值;将所述待溯源流程文档的文档密钥赋值给当前流程文档的文档密钥,并从分布式账本中,获取与所述待溯源流程文档的文档内容的哈希值对应的、区块链交易的交易发送地址,作为当前交易发送地址;向与所述当前交易发送地址相应的供应链节点发送包括所述当前流程文档的文档内容的哈希值的溯源请求;从与所述当前交易发送地址相应的供应链节点获取与所述当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥及其文档内容的哈希值;根据所述上游流程文档的文档内容的哈希值,利用所述区块链网络的智能合约中的零知识证明算法,对与所述上游流程文档所对应的流程类型相应的约束条件进行验证;在验证结果为满足约束条件的情况下,分别更新所述当前流程文档的文档密钥和所述当前交易发送地址为所述上游流程文档的文档密钥和与所述上游流程文档的文档内容的哈希值对应的区块链交易的交易发送地址,并重复执行发送溯源请求、获取上游流程文档的文档密钥及其文档内容的哈希值、验证约束条件、更新当前流程文档的文档密钥和当前交易发送地址的操作,直到所述分布式账本中不再存在与溯源请求中的当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥;将最后一次溯源请求中的当前流程文档的文档内容的哈希值所对应的供应链节点,确定为源头供应链节点。
根据本公开第三方面,提供了一种基于区块链网络的数据处理装置,所述区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,所述多个供应链节点包括第一供应链节点和第二供应链节点,所述数据处理装置部署在所述第一供应链节点,包括:接收模块,被配置为接收来自所述第二供应链节点的一笔区块链交易,其中,所述区块链交易包括交易数据,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;验证模块,被配置为根据所述交易数据,利用零知识证明算法,对与所述流程类型对应的约束条件进行验证;确定模块,被配置为根据所述交易数据和验证的结果,,确定与所述当前供应链流程所对应的RSA累加器的累加值;更新模块,被配置为根据所述交易数据和所确定的累加值,更新所述区块链网络的分布式账本。
根据本公开的第四方面,提供了一种基于区块链网络的溯源装置,所述区块链网络包括多个供应链中的供应链节点,每个供应链节点为一个区块链节点,所述溯源装置部署在溯源发起节点,包括:验证模块,被配置为根据所述区块链网络中的分布式账本中的交易数据,利用零知识证明算法,对与待溯源流程文档引用的上游流程文档对应的流程类型相应的约束条件进行验证,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;确定模块,被配置为根据验证的结果,确定所述待溯源流程文档的源头供应链节点,所述源头供应链节点为所述多个供应链节点中的一个。根据本公开的第五方面,提供了一种电子设备,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的数据处理方法或者溯源方法。
根据本公开的第六方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的数据处理方法或者溯源方法。
在上述实施例中,可以提高供应链数据的隐私性,并保证供应链数据的完整性。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的数据处理方法的流程图;
图2是示出根据本公开一些实施例的转移流程的流程文档的示意图;
图3是示出根据本公开一些实施例的溯源方法的流程图;
图4是示出根据本公开一些实施例的数据处理装置的框图;
图5是示出根据本公开一些实施例的溯源装置的框图;
图6是示出根据本公开一些实施例的电子设备的框图;
图7是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的数据处理方法的流程图。
如图1所示,基于区块链网络的数据处理方法包括:步骤S10,接收来自第二供应链节点的一笔区块链交易;步骤S30,对与流程类型对应的约束条件进行验证;步骤S40,确定与当前供应链流程所对应的RSA累加器的累加值;步骤S50,更新区块链网络的分布式账本。区块链网络包括供应链中的多个供应链节点。每个供应链节点为一个区块链节点。多个供应链节点包括第一供应链节点和第二供应链节点。数据处理方法由第一供应链节点执行。
在步骤S10中,接收来自第二供应链节点的一笔区块链交易。区块链交易包括交易数据。交易数据与第二供应链节点的当前供应链流程的流程类型、当前供应链流程的当前流程文档以及当前流程文档引用的上游流程文档相关。在一些实施例中,交易数据包括第二供应链节点的当前供应链流程的流程类型、当前供应链流程的当前流程文档引用的上游流程文档的上游文档密钥(文档标识)、当前流程文档的当前文档密钥、当前流程文档的文档内容的哈希值、第二供应链节点针对当前供应链流程进行零知识证明所生成的凭证集合。例如,当前供应链流程的流程类型包括进入流程、转移流程、拆分流程、合并流程、加工流程和退出流程。
在一些实施例中,交易数据由第二供应链节点根据其针对当前供应链流程确定的当前流程文档和当前文档密钥生成。
例如,当前流程文档包括多个键值对。键值对包括但不限于当前流程文档的文档类型及其值、当前流程文档所引用的上游流程文档的文档密钥列表及其值、当前流程文档的文档内容及其值。当前流程文档的文档内容的值也可以表示为键值对。例如,当前流程文档的文档内容的键值对包括当前流程文档的发送者及其值、接收者及其值、参与供应链流程的物品的名称及其值、参与供应链流程的物品数量及其值。当前流程文档的发送者、接收者、参与供应链流程的物品的名称、参与供应链流程的物品数量均为文档内容的属性,它们的值为属性值。其他供应链节点的流程文档的结构与当前流程文档相同或类似。
以当前供应链流程为转移流程为例,图2是示出根据本公开一些实施例的转移流程的流程文档的示意图。
如图2所示,流程文档包括流程文档的文档类型(Type)、流程文档引用的上游流程文档的文档密钥列表(InputRef)、流程文档的文档内容(DocInfo),均为流程文档的键。键“文档类型”的值为“物品转移”。键“上游流程文档的文档密钥列表”的值为“[D1]”,即上游流程文档的文档密钥列表包括文档密钥D1。键“文档类型”的值为多个键值对,即键“物品名称(Item)”及其值“大豆(Soybean)”、键“发送者(Sender)”及其值“大豆农场(SoybeanFarm)”、键“接收者(Recipient)”及其值“大豆生产商(Soybean Producer)”和键“物品数量(Quantity)”及其值“1000”。例如,图2的流程文档的文档密钥表示为D2。
在一些实施例中,第二供应链节点根据图2的转移流程确定的当前流程文档和当前文档密钥“D2”生成的交易数据包括流程类型“Ship(转移流程)”、上游文档密钥“D1”、当前文档密钥“D2”、文档内容的哈希值、第二供应链节点针对转移流程进行零知识证明所生成的凭证集合。
在一些实施例中,交易数据存储在区块链交易的交易载荷中。交易载荷(payload)为tx:=(dt,InputRef,OutDocs,dh,pcert,π)。dt表示流程类型(交易类型),InputRef表示所引用的上游流程文档的上游文档密钥的列表,OutDocs表示当前供应链流程输出的当前流程文档的当前文档密钥列表,dh表示当前流程文档的文档内容的哈希值列表,pcert是区块链网络中的质数证明算法的证书(Pocklington证书),π表示第二供应链节点针对当前供应链流程进行零知识证明所生成的凭证集合。
以图2示出的转移流程为例,转移流程的交易数据为txship:=(dtship,InputRef=[D1],OutDocs=[D2],dh=[ho],pcert,π)。ho为转移流程的当前流程文档的文档内容的哈希值。
针对零知识证明算法的应用,本公开定义了四个基本函数。下面将以图2的四个属性为例,结合这四个基本函数来说明零知识证明算法的证明过程以及第二供应链节点所生成的凭证集合。
1)此基本函数用来证明流程文档的文档内容的哈希值hj在1≤j≤4的情况下提交给了xj,x1~x4构成Merkle树下第i片叶子,rt为树根哈希,pathj为从第j片叶子到根节点的认证路径的认证路径的相邻节点列表。更准确地说,这个函数计算出且hj=H(xj),其中1≤j≤4,H()为哈希计算。ComputeRoot是一个计算深度为4的Merkle(默克尔)树的根的函数,第j片叶子为xj,path为从第j片叶子到根的认证路径的相邻节点列表。第二供应链节点可以使用该基本函数的证明密钥生成一个或多个证明。证明密钥通过密钥对生成算法(keyGen)生成。
以合并流程为例,假设当前流程文档为doco,当前流程文档的上游流程文档为doci1和doci2,分别计算流程文档doci1、doci2和doco的文档内容的哈希值(Merkle哈希值)为hi1、hi2和ho。
以文档内容的初始四个属性是发送者(Sender)、接收者(Recipient)、物品名称(Item)和物品数量(Quantity)为例,令表示上游流程文档docij的属性发送者(Sender)、接收者(Recipient)、物品名称(Item)和物品数量(Quantity)的属性值的哈希值,其中,j=1或2。同理,令表示当前流程文档doco的这些属性的属性值的哈希值。根据每个流程文档的文档内容中的各个属性的属性值的哈希值,可以构建每个流程文档的默克尔树。例如,默克尔树的每个叶子节点存储有指定数量的属性值的哈希值。以文档内容的初始四个属性是发送者(Sender)、接收者(Recipient)、物品名称(Item)和物品数量(Quantity)为例,这四个属性可以构成Merkle树的第一片叶子节点。
在上述实施例中,使用SHA2压缩函数H:{0,1}512→{0,1}256来实例化我们的Merkle树,该哈希函数使得我们可以对每个叶子节点打包512位的数据。作为优化,我们在每个叶子节点中打包四个元素(每个128位)。因此,假如为了支持32个字段的文档内容,我们只需要8个叶子节点,可以将Merkle树的深度减少到3层。此外,我们将常用的属性打包在谓词中,即发送者(Sender)、接收者(Recipient)、物品名称(Item)和物品数量(Quantity)打包在在一个叶子节点中,因此我们只需要证明一条认证路径就可以支持这些属性的谓词。
以合并流程为例,第二供应链节点使用MerklePath函数及证明密钥pkpath生成三个证明:
π1、π2和π3是第二供应链节点生成的凭证集合π的一部分。
2)GadgetEq(hx,hy;x,rx,ry)。该函数用来证明哈希值hx和hy是相同的,即计算hx=H(x||rx)和hy=H(x||ry),rx、ry指随机数,H指哈希计算,x指代真实值(因为是零知识证明,不能让验证者知道真实值,因此需要与随机数一起哈希)。
π4和π5也是第二供应链节点生成的凭证集合π的一部分。
3)GadgetAdd(hx,hy,hz;x,y,rx,ry,rz)。该函数用来证明散列哈希值hx、hy和hz分别是x、y和z的值,其中z=x+y。更准确地说,该函数计算hx=H(x||rx)、hy=H(y||ry)和hz=H(x+y||rz),x、y指代真实值(因为是零知识证明,不能让验证者知道真实值),rx、ry、rz指3个随机数,H指哈希计算。
综上,针对合并流程,凭证集合π包括{π1,...,π6}。
返回图1,在步骤S30中,根据交易数据,利用零知识证明算法,对与流程类型对应的约束条件进行验证。
在一些实施例中,通过如下的方式实现步骤S30。
首先,从区块链的分布式账本中,获取上游流程文档的文档内容的哈希值。在一些实施例中,从区块链的分布式账本中,获取与上游文档密钥相应的文档内容的哈希值。
在一些实施例中,在交易数据还包括区块链网络中的质数证明算法的证书的情况下,先调用与所述证书相应的质数证明算法,证明当前文档密钥和上游文档密钥是否都属于质数。在当前文档密钥和上游文档密钥都属于质数的情况下,从区块链的分布式账本中,获取上游流程文档的文档内容的哈希值。例如,从区块链网络的智能合约中调用与交易数据的证书相应的质数证明算法。
在供应量场景中,利用质数证明算法进行质数证明,可以进一步提高累加器的累加值计算的可靠性,从而进一步保证供应链数据的完整性。
然后,根据所获取的上游流程文档的文档内容的哈希值,利用零知识证明算法,验证当前流程文档的文档内容的哈希值是否满足与流程类型对应的约束条件,以验证凭证集合是否有效。在当前流程文档的文档内容的哈希值满足与流程类型对应的约束条件的情况下,凭证集合有效。
例如,从区块链网络中的智能合约中,调用零知识证明算法,验证当前流程文档的文档内容的哈希值是否满足与流程类型对应的约束条件。
下面以文档内容的哈希值包括文档内容中的至少一个属性的属性值的哈希值为例,详细描述验证当前流程文档的文档内容的哈希值是否满足与流程类型对应的约束条件(即验证凭证集合是否有效)的过程。
在一些实施例中,针对当前流程文档或者上游流程文档,根据相应的至少一个属性值的哈希值,构建默克尔树。针对当前流程文档或者上游流程文档,利用零知识证明算法,验证与当前流程文档或者上游流程文档相应的默克尔树是否存在一条从叶子到根的认证路径。默克尔树的每个叶子节点存储有指定数量的属性值的哈希值。构建默克尔树的方式与前述实施例的方式相同,此处不再赘述。
仍以上述实施例提及的合并流程为例,验证上游流程文档和当前流程文档的默克尔树是否存在一条从叶子到根的认证路径可以表示为:
vkpath为与pkpath成对的验证密钥。b1、b2、b3为验证结果,取值为0或1。0表示验证失败,1表示验证成功。
在一些实施例中,属性值包括流程文档的发送者和接收者,约束条件包括上游流程文档的接收者的哈希值等于当前流程文档的发送者的哈希值。
仍以上述实施例提及的合并流程为例,验证上游流程文档的接收者的哈希值等于当前流程文档的发送者的哈希值的约束条件可以表示为:
vkeq为与pkeq成对的验证密钥。b4、b5为验证结果,取值为0或1。0表示验证失败,1表示验证成功。
在一些实施例中,属性值还包括参与供应链流程的物品数量,在流程类型为拆分流程、合并流程或者加工流程的情况下,约束条件还包括上游流程文档的物品数量的哈希值与当前流程文档的物品数量的哈希值满足相应的数量守恒条件。
例如,在流程类型为合并流程或者加工流程的情况下,上游流程文档包括多个,数量守恒条件为多个上游流程文档的物品数量的哈希值之和等于当前流程文档的物品数量的哈希值。
又例如,在流程类型为拆分流程的情况下,当前流程文档包括多个,所述数量守恒条件为上游流程文档的物品数量的哈希值等于多个当前流程文档的物品数量的哈希值之和。验证拆分流程的数量守恒条件的表示可以参考合并流程的数量守恒条件的标识。
在一些实施例中,属性值还包括参与供应链流程的物品标识,在所述流程类型为转移流程或退出流程的情况下,所述约束条件还包括所述上游流程文档的物品标识的哈希值等于所述当前流程文档的物品标识的哈希值。
例如,针对不同的流程类型,属性值的哈希值满足与流程类型相应的约束条件的情况下,凭证集合有效。
在步骤S40中,根据交易数据和验证的结果,确定与当前供应链流程所对应的RSA累加器的累加值。
在一些实施例中,在凭证集合有效的情况下,根据当前文档密钥和上游文档密钥,确定与当前供应链流程所对应的RSA累加器的累加值。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母的组合。
针对合并流程和加工流程,交易数据中还包括第二供应链节点计算得到的当前流程文档所对应的累加器的累加值以及针对累加值进行零知识证明所生成的凭证集合。此种情况下,可以根据当前文档密钥和上游文档密钥,利用离散对数问题的零知识证明算法,验证针对累加值的凭证集合的有效性。在验证有效的情况下,确定该累加值为与当前供应链流程所对应的RSA累加器的累加值。这种方式可以提高分布式账本的存储效率。
例如,假设文档doco是一个涉及输入文档doci1和doci2的合并交易的输出,输入累加器分别为dAcci1和dAcci2,Si1和Si2成为累加器dAcci1和dAcci2所代表的文档集。换句话说,我们有和其中H(S)表示Πs∈Ss。文档doco的输出集由So=Si1∪Si2∪{dpo}给出,其中dpo是文档doco对应的质数。在智能合约中计算累加器dAcco=acc(So)需要知道Π(Si1)和Π(Si2)。然而这些数字的位长会随着集合Si1和Si2的大小线性扩展,这在区块链账本上的存储效率很低。我们通过让交易发起者提供dAcco值作为交易payload的一部分,同时提供正确计算dAcco的证明(离散对数问题的零知识证明算法)来规避这个问题。
针对除合并流程和加工流程以外的其他流程,通过从区块链网络的分布式账本中,获取当前流程文档的所有上游流程文档的上游文档密钥,利用RSA算法,计算所有上游文档密钥和当前流程文档的当前文档密钥的累加值。特别说明的是,针对进入流程和退出流程,第一供应链节点和第二供应链节点为同一节点。
例如,选择一个1024位模N的RSA(RSA-1024)。让g是乘法群的一个元素,其阶数未知。那么对于一个S={p1,...,pk}的奇数集合,用acc(S)表示的累加器定义为此外,给定一个集合S的累加器acc(S),集合S′表示为S∪{pk+1},累加器为其中这就是智能合约在涉及单一输入文档的交易时,计算输出文档的累加器的依据。
在步骤S50中,根据交易数据和所确定的累加值,更新区块链网络的分布式账本。
在一些实施例中,根据流程类型、所确定的累加值、当前文档密钥、当前流程文档的文档内容的哈希值、上游文档密钥,更新区块链网络的分布式账本。
例如,将流程类型、所计算的累加值、当前文档密钥、当前流程文档的文档内容的哈希值、上游文档密钥,存储到区块链网络的分布式账本中。
在上述实施例中,在供应链场景中,以文档的形式存储供应链流程的相关数据,并基于流程文档生成交易数据,进行零知识证明和RSA累加器的累加值计算,可以提高供应链数据的隐私性,并保证供应链数据的完整性。
图3是示出根据本公开一些实施例的溯源方法的流程图。
如图3所示,基于区块链网络的溯源方法包括步骤S31-步骤S32。区块链网络包括多个供应链中的供应链节点。每个供应链节点为一个区块链节点。溯源方法由溯源发起节点执行。溯源发起者可以是供应链节点,也可以是用户。
在步骤S31中,根据区块链网络中的分布式账本中的交易数据,利用零知识证明算法,对与待溯源流程文档引用的上游流程文档对应的流程类型相应的约束条件进行验证。交易数据与第二供应链节点的当前供应链流程的流程类型、当前供应链流程的当前流程文档以及当前流程文档引用的上游流程文档相关。
在步骤S32中,根据验证的结果,确定待溯源流程文档的源头供应链节点,源头供应链节点为多个供应链节点中的一个。
例如,溯源方法的具体实现流程如下。
1)计算待溯源流程文档的文档内容的哈希值。例如,待溯源流程文档的文档密钥为k1、文档内容的哈希值为h1。
2)将待溯源流程文档的文档密钥赋值给当前流程文档的文档密钥。例如,当前流程文档的文档密钥为一个变量x,可以通过对x赋值为k1,来将待溯源流程文档标记为当前流程文档。
3)从区块链网络的分布式账本中,获取与待溯源流程文档的文档内容的哈希值对应的、区块链交易的交易发送地址,作为当前交易发送地址。
区块链网络的分布式账本中存储有描述区块链交易的整个交易过程的详细信息。从这些详细信息里可以通过待溯源流程文档的文档内容的哈希值匹配获取交易发送地址。例如,与待溯源流程文档的文档内容的哈希值h1对应的交易发送地址为u1,当前交易发送地址为一个变量y,可以通过对y赋值为u1,来将与待溯源流程文档对应的交易发送地址标记为当前交易发送地址。
4)向与当前交易发送地址相应的供应链节点发送包括当前流程文档的文档内容的哈希值的溯源请求。例如,与u1对应的供应链节点为n1,溯源请求包括h1。
5)从与当前交易发送地址相应的供应链节点获取与当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥及其文档内容的哈希值。在一些实施例中,与当前交易发送地址相应的供应链节点从区块链网络的分布式账本中查询是否存在与当前流程文档的文档密钥对应的上游流程文档的文档密钥。
例如,区块链网络的分布式账本中存储有当前流程文档的文档密钥与当前流程文档的上游流程文档的文档密钥之间的对应关系。例如,供应链节点n1通过查询分布式账本,确定与k1对应的上游流程文档的文档密钥为k2。与文档密钥k2对应文档内容的哈希值为h2。
6)根据上游流程文档的文档内容的哈希值,利用所述区块链网络的智能合约中的零知识证明算法,对与所述上游流程文档所对应的流程类型相应的约束条件进行验证。例如,利用区块链网络的智能合约中的零知识证明算法,验证上游流程文档的文档内容的哈希值是否满足与上游流程文档所对应的流程类型相应的约束条件。这里的验证过程与上述实施例中数据处理方法中的验证过程相同,此处不再赘述。
7)在验证结果为满足的情况下,分别更新当前流程文档的文档密钥和当前交易发送地址为上游流程文档的文档密钥和与上游流程文档的文档内容的哈希值对应的区块链交易的交易发送地址。例如,与h2对应的区块链交易的交易发送地址为u2,更新x的值为k2,更新y的值为u2。
8)重复执行发送溯源请求、获取上游流程文档的文档密钥及其文档内容的哈希值、验证约束条件、更新当前流程文档的文档密钥和当前交易发送地址的操作,直到分布式账本中不再存在与溯源请求中的当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥。
例如,在更新完成后,首先发送包括与h2的溯源请求到与交易发送地址u2对应的供应链节点n2。然后,从供应链节点n2获取到与h2对应的当前流程文档的上游流程文档的文档密钥k3和与k3对应的文档内容的哈希值h3。然后,从区块链网络的智能合约中,调用零知识证明算法,验证h3是否满足与k3对应的流程类型所对应的约束条件。
在验证结果为满足的情况下,例如与h3对应的区块链交易的交易发送地址为u3,更新x的值为k3,更新y的值为u3。在更新完成后,首先发送包括h3的溯源请求到与交易发送地址u3对应的供应链节点n3。然后,由于供应链节点n3从分布式账本中未查找到与h3对应的当前流程文档的上游流程文档的文档密钥及其文档内容的哈希值。这说明分布式账本中不存在与h3对应的当前流程文档的上游流程文档,无法再从供应链节点n3获取与h3对应的当前流程文档的上游流程文档。
在一些实施例中,在验证结果为不满足的情况下,溯源节点接收指示溯源失败的通知。
9)将最后一次溯源请求中的当前流程文档的文档内容的哈希值所对应的供应链节点,确定为源头供应链节点。例如,将供应链节点n3确定为源头供应链节点。
图4是示出根据本公开一些实施例的数据处理装置的框图。
如图4所示,基于区块链网络的数据处理装置4包括接收模块41、验证模块43、确定模块44和更新模块45。区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,多个供应链节点包括第一供应链节点和第二供应链节点,数据处理装置部署于第一供应链节点。
接收模块41被配置为接收来自第二供应链节点的一笔区块链交易,例如执行如图1所示的步骤S10。区块链交易包括交易数据,交易数据与第二供应链节点的当前供应链流程的流程类型、当前供应链流程的当前流程文档以及当前流程文档引用的上游流程文档相关。例如,交易数据包括第二供应链节点的当前供应链流程的流程类型、当前供应链流程的当前流程文档引用的上游流程文档的上游文档密钥、当前流程文档的当前文档密钥、当前流程文档的文档内容的哈希值、第二供应链节点针对当前供应链流程进行零知识证明所生成的凭证集合。
验证模块43被配置为根据交易数据,利用零知识证明算法,对与流程类型对应的约束条件进行验证,例如执行如图1所示的步骤S30。
确定模块44被配置为根据交易数据和验证的结果,,确定与当前供应链流程所对应的RSA累加器的累加值,例如执行如图1所示的步骤S40。
更新模块45被配置为根据交易数据和所确定的累加值,更新区块链网络的分布式账本,例如执行如图1所示的步骤S50。
图5是示出根据本公开一些实施例的溯源装置的框图。
如图5所示,基于区块链网络的溯源装置5包括验证模块51和确定模块52。区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,溯源装置部署于溯源节点。
验证模块51被配置为根据区块链网络中的分布式账本中的交易数据,利用零知识证明算法,对与待溯源流程文档引用的上游流程文档对应的流程类型相应的约束条件进行验证,例如执行如图3所示的步骤S31。交易数据与所述第二供应链节点的当前供应链流程的流程类型、当前供应链流程的当前流程文档以及当前流程文档引用的上游流程文档相关。
确定模块52被配置为根据验证的结果,确定待溯源流程文档的源头供应链节点,例如执行如图3所示的步骤S32。源头供应链节点为所述多个供应链节点中的一个。
图6是示出根据本公开一些实施例的电子设备的框图。
如图6所示,电子设备6包括存储器61;以及耦接至该存储器61的处理器62。存储器61用于存储执行数据处理方法和溯源方法中的至少一种对应实施例的指令。处理器62被配置为基于存储在存储器61中的指令,执行本公开中任意一些实施例中的数据处理方法和溯源方法中的至少一种。
图7是示出用于实现本公开一些实施例的计算机系统的框图。
如图7所示,计算机系统70可以通用计算设备的形式表现。计算机系统70包括存储器710、处理器720和连接不同系统组件的总线700。
存储器710例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行数据处理方法和溯源方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器720可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线700可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统70还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730、740、750以及存储器710和处理器720之间可以通过总线700连接。输入输出接口730可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口750为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的数据处理方法及装置、溯源方法及装置、电子设备、计算机可存储介质,可以提高供应链数据的隐私性,并保证供应链数据的完整性。
至此,已经详细描述了根据本公开的数据处理方法及装置、溯源方法及装置、电子设备、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
Claims (17)
1.一种基于区块链网络的数据处理方法,所述区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,所述多个供应链节点包括第一供应链节点和第二供应链节点,所述数据处理方法由所述第一供应链节点执行,包括:
接收来自所述第二供应链节点的一笔区块链交易,其中,所述区块链交易包括交易数据,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;
根据所述交易数据,利用零知识证明算法,对与所述流程类型对应的约束条件进行验证;
根据所述交易数据和验证的结果,确定与所述当前供应链流程所对应的RSA累加器的累加值;
根据所述交易数据和所确定的累加值,更新所述区块链网络的分布式账本。
2.根据权利要求1所述的数据处理方法,其中,所述交易数据包括所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档引用的上游流程文档的上游文档密钥、所述当前流程文档的当前文档密钥、所述当前流程文档的文档内容的哈希值、所述第二供应链节点针对所述当前供应链流程进行零知识证明所生成的凭证集合,对与所述流程类型对应的约束条件进行验证包括:
从区块链的分布式账本中,获取所述上游流程文档的文档内容的哈希值;
根据所获取的所述上游流程文档的文档内容的哈希值,利用零知识证明算法,验证所述当前流程文档的文档内容的哈希值是否满足与所述流程类型对应的约束条件,以验证所述凭证集合是否有效。
3.根据权利要求2所述的数据处理方法,其中,确定与所述当前供应链流程所对应的RSA累加器的累加值包括:
在所述凭证集合有效的情况下,根据所述当前文档密钥和所述上游文档密钥,确定与所述当前供应链流程所对应的RSA累加器的累加值。
4.根据权利要求2所述的数据处理方法,其中,更新所述区块链网络的分布式账本包括:
根据所述流程类型、所确定的累加值、所述当前文档密钥、所述当前流程文档的文档内容的哈希值、所述上游文档密钥,更新所述区块链网络的分布式账本。
5.根据权利要求2所述的数据处理方法,其中,所述文档内容的哈希值包括文档内容中的至少一个属性的属性值的哈希值,验证所述当前流程文档的文档内容的哈希值是否满足与所述流程类型对应的约束条件包括:
针对所述当前流程文档或者所述上游流程文档,根据相应的至少一个属性值的哈希值,构建默克尔树,所述默克尔树的每个叶子节点存储有指定数量的属性值的哈希值;
针对所述当前流程文档或者所述上游流程文档,利用零知识证明算法,验证相应的默克尔树是否存在一条从叶子到根的认证路径。
6.根据权利要求5所述的数据处理方法,其中,所述属性值包括流程文档的发送者和接收者,所述约束条件包括所述上游流程文档的接收者的哈希值等于所述当前流程文档的发送者的哈希值。
7.根据权利要求6所述的数据处理方法,其中,所述属性值还包括参与供应链流程的物品数量,在所述流程类型为拆分流程、合并流程或者加工流程的情况下,所述约束条件还包括所述上游流程文档的物品数量的哈希值与所述当前流程文档的物品数量的哈希值满足相应的数量守恒条件。
8.根据权利要求7所述的数据处理方法,其中,在所述流程类型为合并流程或者加工流程的情况下,所述上游流程文档包括多个,所述数量守恒条件为多个上游流程文档的物品数量的哈希值之和等于所述当前流程文档的物品数量的哈希值。
9.根据权利要求7所述的数据处理方法,其中,在所述流程类型为拆分流程的情况下,所述当前流程文档包括多个,所述数量守恒条件为所述上游流程文档的物品数量的哈希值等于多个当前流程文档的物品数量的哈希值之和。
10.根据权利要求6所述的数据处理方法,其中,所述属性值还包括参与供应链流程的物品标识,在所述流程类型为转移流程或退出流程的情况下,所述约束条件还包括所述上游流程文档的物品标识的哈希值等于所述当前流程文档的物品标识的哈希值。
11.根据权利要求2所述的数据处理方法,其中,所述交易数据还包括区块链网络中的质数证明算法的证书,所述数据处理方法还包括:
调用与所述证书相应的质数证明算法,证明所述当前文档密钥和所述上游文档密钥是否都属于质数;
其中,在所述当前文档密钥和所述上游文档密钥都属于质数的情况下,从区块链的分布式账本中,获取所述上游流程文档的文档内容的哈希值。
12.根据权利要求1所述的数据处理方法,其中,所述交易数据存储在所述区块链交易的交易载荷中。
13.一种基于区块链网络的溯源方法,所述区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,所述溯源方法由溯源发起节点执行,包括:
根据所述区块链网络中的分布式账本中的交易数据,利用零知识证明算法,对与待溯源流程文档引用的上游流程文档对应的流程类型相应的约束条件进行验证,所述交易数据与第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;
根据验证的结果,确定所述待溯源流程文档的源头供应链节点,所述源头供应链节点为所述多个供应链节点中的一个,其中,
计算待溯源流程文档的文档内容的哈希值;
将所述待溯源流程文档的文档密钥赋值给当前流程文档的文档密钥,并从分布式账本中,获取与所述待溯源流程文档的文档内容的哈希值对应的、区块链交易的交易发送地址,作为当前交易发送地址;
向与所述当前交易发送地址相应的供应链节点发送包括所述当前流程文档的文档内容的哈希值的溯源请求;
从与所述当前交易发送地址相应的供应链节点获取与所述当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥及其文档内容的哈希值;
根据所述上游流程文档的文档内容的哈希值,利用所述区块链网络的智能合约中的零知识证明算法,对与所述上游流程文档所对应的流程类型相应的约束条件进行验证;
在验证结果为满足约束条件的情况下,分别更新所述当前流程文档的文档密钥和所述当前交易发送地址为所述上游流程文档的文档密钥和与所述上游流程文档的文档内容的哈希值对应的区块链交易的交易发送地址,并重复执行发送溯源请求、获取上游流程文档的文档密钥及其文档内容的哈希值、验证约束条件、更新当前流程文档的文档密钥和当前交易发送地址的操作,直到所述分布式账本中不再存在与溯源请求中的当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥;
将最后一次溯源请求中的当前流程文档的文档内容的哈希值所对应的供应链节点,确定为源头供应链节点。
14.一种基于区块链网络的数据处理装置,所述区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,所述多个供应链节点包括第一供应链节点和第二供应链节点,所述数据处理装置部署于所述第一供应链节点,包括:
接收模块,被配置为接收来自所述第二供应链节点的一笔区块链交易,其中,所述区块链交易包括交易数据,所述交易数据与所述第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;
验证模块,被配置为根据所述交易数据,利用零知识证明算法,对与所述流程类型对应的约束条件进行验证;
确定模块,被配置为根据所述交易数据和验证的结果,确定与所述当前供应链流程所对应的RSA累加器的累加值;
更新模块,被配置为根据所述交易数据和所确定的累加值,更新所述区块链网络的分布式账本。
15.一种基于区块链网络的溯源装置,所述区块链网络包括供应链中的多个供应链节点,每个供应链节点为一个区块链节点,所述溯源装置部署于溯源节点,包括:
验证模块,被配置为根据所述区块链网络中的分布式账本中的交易数据,利用零知识证明算法,对与待溯源流程文档引用的上游流程文档对应的流程类型相应的约束条件进行验证,所述交易数据与第二供应链节点的当前供应链流程的流程类型、所述当前供应链流程的当前流程文档以及所述当前流程文档引用的上游流程文档相关;
确定模块,被配置为根据验证的结果,确定所述待溯源流程文档的源头供应链节点,所述源头供应链节点为所述多个供应链节点中的一个;其中,
验证约束条件和确定源头供应链节点包括:
计算待溯源流程文档的文档内容的哈希值;
将所述待溯源流程文档的文档密钥赋值给当前流程文档的文档密钥,并从分布式账本中,获取与所述待溯源流程文档的文档内容的哈希值对应的、区块链交易的交易发送地址,作为当前交易发送地址;
向与所述当前交易发送地址相应的供应链节点发送包括所述当前流程文档的文档内容的哈希值的溯源请求;
从与所述当前交易发送地址相应的供应链节点获取与所述当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥及其文档内容的哈希值;
根据所述上游流程文档的文档内容的哈希值,利用所述区块链网络的智能合约中的零知识证明算法,对与所述上游流程文档所对应的流程类型相应的约束条件进行验证;
在验证结果为满足约束条件的情况下,分别更新所述当前流程文档的文档密钥和所述当前交易发送地址为所述上游流程文档的文档密钥和与所述上游流程文档的文档内容的哈希值对应的区块链交易的交易发送地址,并重复执行发送溯源请求、获取上游流程文档的文档密钥及其文档内容的哈希值、验证约束条件、更新当前流程文档的文档密钥和当前交易发送地址的操作,直到所述分布式账本中不再存在与溯源请求中的当前流程文档的文档内容的哈希值对应的上游流程文档的文档密钥;
将最后一次溯源请求中的当前流程文档的文档内容的哈希值所对应的供应链节点,确定为源头供应链节点。
16.一种电子设备,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至12任一项所述的数据处理方法或者如权利要求13所述的溯源方法。
17.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至12任一项所述的数据处理方法或者如权利要求13所述的溯源方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110666506.6A CN113411189B (zh) | 2021-06-16 | 2021-06-16 | 数据处理方法及装置、溯源方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110666506.6A CN113411189B (zh) | 2021-06-16 | 2021-06-16 | 数据处理方法及装置、溯源方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113411189A CN113411189A (zh) | 2021-09-17 |
CN113411189B true CN113411189B (zh) | 2022-12-02 |
Family
ID=77684301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110666506.6A Active CN113411189B (zh) | 2021-06-16 | 2021-06-16 | 数据处理方法及装置、溯源方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411189B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2024024554A (ja) * | 2022-08-09 | 2024-02-22 | 富士通株式会社 | 対価分配プログラム、対価分配方法及び情報管理装置 |
CN116090016B (zh) * | 2023-04-10 | 2023-07-11 | 江苏省国信数字科技有限公司 | 区块链数据存储隐私保护方法、装置、设备及存储介质 |
CN117539645B (zh) * | 2024-01-09 | 2024-03-26 | 四川迅鳐科技有限公司 | 基于业务链条的区块链网络构建方法、系统及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307513A (zh) * | 2020-11-23 | 2021-02-02 | 从法信息科技有限公司 | 基于时域共识的上链文档安全管理方法、装置和电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020161662A1 (en) * | 2019-02-07 | 2020-08-13 | Financial & Risk Organisation Limited | Authentication, authorization and audit of digital assets using the blockchain |
CN110912707B (zh) * | 2019-11-22 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数字证书处理方法、装置、设备及存储介质 |
CN111698092B (zh) * | 2020-05-29 | 2023-07-21 | 湖南天河国云科技有限公司 | 基于零知识证明和区块链的文件存储证明方法、系统及介质 |
CN112035889B (zh) * | 2020-09-03 | 2023-11-28 | 平安壹钱包电子商务有限公司 | 计算外包的区块链隐私验证方法、装置及计算机设备 |
CN112101944A (zh) * | 2020-09-28 | 2020-12-18 | 平安壹钱包电子商务有限公司 | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 |
CN112417178B (zh) * | 2020-11-24 | 2022-09-30 | 从法信息科技有限公司 | 基于文档模板定义的链上合约处理方法、装置和电子设备 |
CN112488734A (zh) * | 2020-12-07 | 2021-03-12 | 崔艳兰 | 一种基于区块链的食品药品溯源方法及系统 |
-
2021
- 2021-06-16 CN CN202110666506.6A patent/CN113411189B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307513A (zh) * | 2020-11-23 | 2021-02-02 | 从法信息科技有限公司 | 基于时域共识的上链文档安全管理方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113411189A (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113411189B (zh) | 数据处理方法及装置、溯源方法及装置、电子设备 | |
US11388152B2 (en) | Manicoding for communication verification | |
US20230245131A1 (en) | Method, System, and Computer Program Product for Determining Solvency of a Digital Asset Exchange | |
KR20200096790A (ko) | 증명 검증에 기초하여 오프-체인 데이터를 인증하기 위한 시스템 및 방법 | |
US20220321360A1 (en) | Hash function attacks | |
CN113989047A (zh) | 基于区块链的资产发布方法及装置、电子设备 | |
KR20220011161A (ko) | 분산 데이터베이스에서 상태 증명들 및 원장 식별자들을 구현하기 위한 방법들 및 장치 | |
US20220239501A1 (en) | Knowledge proof | |
CN114221972A (zh) | 中继区块链系统以及跨链交易方法 | |
US20220337427A1 (en) | Cryptographically linked identities | |
CN111241586B (zh) | 区块链地址匿名处理方法及系统、终端、存储介质 | |
EP3920464A1 (en) | Method for storing transaction that represents asset transfer to distributed network and program for the same | |
EP4333368A2 (en) | Knowledge proof | |
WO2021059098A1 (en) | Partitioning a request into transactions for a blockchain | |
CN111222989A (zh) | 多通道区块链的交易方法、电子设备和存储介质 | |
CN114640463B (zh) | 一种数字签名方法、计算机设备及介质 | |
US20230394063A1 (en) | Merkle proof entity | |
US20230230078A1 (en) | Custom transaction scripts | |
CN111355757B (zh) | 供应链领域的区块链的跨链通信方法及装置 | |
Qiao et al. | Integrating Group Signatures in Complex Decentralized Marketplace Transactions for Improved Buyer Privacy | |
CN111563096B (zh) | 一种创建实体画像的方法、装置、节点及存储介质 | |
CN110889040B (zh) | 用于推送信息的方法和装置 | |
Zhuang et al. | A secure and lightweight data management scheme based on redactable blockchain for Digital Copyright | |
CN117010890A (zh) | 基于区块链的交易处理方法、相关装置及介质和程序产品 | |
Wu | Verifiable data search atop blockchain |
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 |