WO2020224092A1 - 基于零知识证明的供应链数据管理方法及装置 - Google Patents

基于零知识证明的供应链数据管理方法及装置 Download PDF

Info

Publication number
WO2020224092A1
WO2020224092A1 PCT/CN2019/101950 CN2019101950W WO2020224092A1 WO 2020224092 A1 WO2020224092 A1 WO 2020224092A1 CN 2019101950 W CN2019101950 W CN 2019101950W WO 2020224092 A1 WO2020224092 A1 WO 2020224092A1
Authority
WO
WIPO (PCT)
Prior art keywords
account
buyer
logistics
seller
order
Prior art date
Application number
PCT/CN2019/101950
Other languages
English (en)
French (fr)
Inventor
陆陈一帆
王梦寒
赵达悦
张宝
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2020224092A1 publication Critical patent/WO2020224092A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0605Supply or demand aggregation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Definitions

  • This application relates to the field of blockchain technology, and in particular to a method and device for supply chain data management based on zero-knowledge proof.
  • the embodiment of this application provides a supply chain data management method based on zero-knowledge proof, which can improve the feasibility of realizing data following among various participants in the supply chain under the condition that private data cannot be shared, and improve the feasibility of each participant in the supply chain Fang’s data management flexibility and applicability are stronger.
  • the embodiments of the present application provide a zero-knowledge proof-based supply chain data management method.
  • the above method is suitable for the buyer to implement commodity data management in the supply chain.
  • the above method includes:
  • the buyer creates an order ledger for goods in the blockchain network, creates a buyer order account on the above order ledger through the smart encryption contract SCC, and sets the total amount of goods in the above order ledger through SCC and combines the above goods The total amount is injected into the above buyer’s order account;
  • the above-mentioned buyer creates a seller's order account on the above-mentioned order ledger for the seller through SCC, and transfers the above-mentioned total amount of goods to the above-mentioned seller's order account;
  • the above-mentioned buyer signs for the above-mentioned goods and initiates a transfer instruction of the above-mentioned goods’ logistics account and invoice account to SCC to confirm the receipt of the goods, and provides SCC with the above-mentioned logistics account and the above-mentioned invoice account.
  • the buyer verifies through SCC based on the 3D zero-knowledge proof that the product of the transfer share on the logistics ledger and the encrypted unit price of the commodity is equal to the transfer share of the invoice ledger
  • the buyer updates the total amount of goods in the buyer's logistics account in the logistics ledger
  • the embodiments of this application provide a zero-knowledge proof-based supply chain data management method.
  • the above method is suitable for sellers to implement commodity data management in the supply chain.
  • the above method includes:
  • the seller digitally signs the total amount of goods transferred into the seller’s order account on the order account through the smart encryption contract SCC to confirm the above order account;
  • the above-mentioned seller creates a logistics ledger for the goods, creates a seller's logistics account on the above-mentioned logistics ledger through SCC, and sets the total amount of goods in the above-mentioned logistics ledger through SCC and injects the above-mentioned total amount of goods into the above-mentioned seller's logistics account.
  • SCC with a 3D zero-knowledge proof that the product of the total amount of the above-mentioned commodities and the above-mentioned encrypted unit price is equal to the total amount of the above-mentioned commodities on the seller's order account;
  • the logistics account of the logistics party, the warehousing party and the buyer's logistics account are created on the above-mentioned logistics ledger through SCC;
  • the above-mentioned seller starts shipping and transfers the total amount of the above-mentioned goods to the logistics account of the above-mentioned logistics party through SCC, so that the above-mentioned total quantity of goods is transferred to the above-mentioned warehousing party logistics account through the logistics party and transferred to the above-mentioned buyer's logistics account when the above-mentioned buyer confirms the receipt .
  • an embodiment of the present invention provides a zero-knowledge proof-based supply chain data management device.
  • the above-mentioned device is suitable for buyers to implement commodity data management in the supply chain.
  • the above-mentioned device includes:
  • the creation unit is used to create an order ledger of goods in the blockchain network during the order generation link of the supply chain, create a buyer order account on the above order ledger through the smart encryption contract SCC, and set the total amount of goods in the above order ledger through SCC And inject the total amount of the aforementioned commodities into the aforementioned buyer's order account;
  • the above-mentioned creation unit is also used to create a seller's order account on the above-mentioned order ledger for the seller through the SCC in the above-mentioned order generation link, and transfer the above-mentioned total amount of goods to the above-mentioned seller's order account;
  • the confirmation unit is used to confirm the receipt of the goods when the buyer signs for the goods and initiates the transfer instruction of the logistics account and the invoice account of the above goods to the SCC to confirm the receipt, and provide the above logistics account and the invoice account to the SCC
  • the transfer share of is a 3D zero-knowledge proof with the encrypted unit price of the above commodity as a multiplier;
  • the update unit is used to update the buyer’s logistics in the logistics ledger when the confirmation unit verifies through SCC that the product of the transfer share on the logistics ledger and the encrypted unit price of the commodity is equal to the transfer share of the invoice ledger based on the 3D zero-knowledge proof.
  • the total amount of goods in the account and update the above invoice account to transfer the total amount of goods under the buyer’s order account from the buyer’s invoice account to the seller’s invoice account.
  • the embodiments of the present application provide a zero-knowledge proof-based supply chain data management device.
  • the above-mentioned device is suitable for sellers to implement commodity data management in the supply chain.
  • the above-mentioned device includes:
  • the confirmation unit is used to digitally sign the total amount of goods transferred into the seller’s order account on the order ledger through the smart encryption contract SCC during the order generation link of the supply chain to confirm the above order ledger;
  • the creation unit is used to create a logistics ledger for the goods in the commodity transportation link, create a seller's logistics account on the above-mentioned logistics ledger through SCC, and set the total amount of goods in the above-mentioned logistics ledger through SCC and inject the above-mentioned total amount of goods into the seller Logistics account, and provide SCC with a 3D zero-knowledge proof that the product of the total amount of the above-mentioned commodities and the above-mentioned encrypted unit price is equal to the total amount of the above-mentioned commodities on the seller’s order account;
  • the above creation unit is also used to create the logistics account of the logistics party and the warehousing party on the logistics ledger through the SCC when the product of the total amount of the commodity and the encrypted unit price is equal to the total amount of the commodity through SCC based on the above 3D zero-knowledge proof. And the buyer's logistics account;
  • the data processing unit is used to transfer the total amount of the above-mentioned goods to the logistics account of the logistics party through the SCC when the above-mentioned seller starts shipping the goods, so as to transfer the total amount of the above-mentioned goods to the logistics account of the warehousing party through the logistics party and confirm the receipt at the above-mentioned buyer
  • the goods are transferred from the logistics account of the warehousing party to the logistics account of the buyer.
  • an embodiment of the present application provides a terminal, including a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is configured It is used to call the above program instructions to execute the above first aspect and the method provided in any one of the possible implementation manners of the first aspect.
  • an embodiment of the present application provides a terminal, including a processor and a memory, the processor and the memory are connected to each other, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is configured It is used to call the above program instructions to execute the above second aspect and the method provided in any one of the possible implementation manners of the second aspect.
  • an embodiment of the present application provides a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program.
  • the computer program includes program instructions. When executed by a processor, the program instructions cause the processor to execute The foregoing first aspect and the method provided by any possible implementation manner of the first aspect.
  • an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, the computer program includes program instructions, and the program instructions when executed by a processor cause the processor to execute.
  • the data management of each participant in the supply chain is realized based on zero-knowledge proof, which can improve the feasibility of realizing the data following between each participant in the supply chain when private data cannot be shared, and improve the supply
  • the data management flexibility and applicability of each participant in the chain is stronger.
  • FIG. 1 is an interactive schematic diagram of a zero-knowledge proof-based supply chain data management method provided by an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a supply chain data management method based on zero-knowledge proof provided by an embodiment of the present application
  • FIG. 3 is another flowchart of a supply chain data management method based on zero-knowledge proof provided by an embodiment of the present application
  • Fig. 4 is a schematic structural diagram of a zero-knowledge proof-based supply chain data management device provided by an embodiment of the present application
  • FIG. 5 is another schematic structural diagram of a zero-knowledge proof-based supply chain data management device provided by an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of a terminal provided by an embodiment of the present application.
  • FIG. 7 is another schematic block diagram of a terminal provided by an embodiment of the present application.
  • the embodiment of the application provides a method for supply chain data management based on zero-knowledge proof (for convenience of description, it may be referred to as the method provided in this embodiment of the application), which can combine the zero-knowledge proof with the data of each participant in the supply chain , Used to realize the data management of the financial blockchain in the supply chain.
  • the method provided in this embodiment of the application Based on the method provided by the embodiments of this application, data follow-up between various participants in the financial blockchain in the supply chain can be realized, which solves the problem of data cross-validation when data privacy cannot be shared, and improves the privacy of each participant When data cannot be shared, the feasibility of data follow-up between various participants is realized.
  • the data management process of each participant in the supply chain is more flexible and more applicable.
  • the method provided in the embodiments of the present application can be applied to a supply chain including multiple participants, where the aforementioned participants may include a buyer, a seller, a logistics party, and a warehousing party.
  • the above-mentioned buyer may be a purchaser of a commodity, including but not limited to a natural person consumer or a consumer organization, which can be specifically determined according to actual application scenarios, and is not limited here.
  • the above-mentioned sellers may be sellers selling commodities, including but not limited to retailers of commodities, wholesalers of commodities, or commodity manufacturers (factory direct sales), which can be determined according to actual application scenarios and are not limited here.
  • the above-mentioned logistics party may be a logistics party that participates in the transportation of commodities in the process of buying and selling commodities, such as a logistics company, an express company, or an exclusive commodity transportation agency, which can be determined according to actual application scenarios, and there is no restriction here.
  • the above-mentioned warehousing party can be a warehouse or warehousing company used to store the goods sent by the logistics party during the purchase and transportation of goods, in scenarios where the buyer has not paid for the goods, etc., which can be determined according to the actual application scenario, and will not be done here limit.
  • the following will take the buyer, seller, logistics party, and warehousing party of the goods as examples.
  • Smart encryption contract or smart encryption contract, for the convenience of description, the following will take the smart encryption contract as an example.
  • SCC is a smart contract capable of processing ciphertext data.
  • One of its important functions is to use various zero-knowledge proof techniques to detect ciphertext.
  • zero-knowledge proof means that the prover can convince the verifier that a certain assertion is correct without providing any useful information to the verifier.
  • the prover proves to the verifier and makes it believe that he knows or possesses a certain message, but the certification process cannot leak any information about the certified message to the verifier.
  • zero-knowledge proof is to fully prove that oneself is the legal owner of a certain right (or the insider of a certain message) without revealing the relevant information-that is, the "knowledge" to the outside world is "zero" .
  • the total amount, share, total amount, and/or any other numbers of each user (that is, each participant) on any ledger are all encrypted by different secret keys.
  • the total amount, share, total amount, and/or any other increase, decrease, and/or transfer of numbers are all realized under homomorphic encryption.
  • homomorphic encryption technology can realize the calculation of the ciphertext by the keyless party, and the ciphertext calculation does not need to go through the key party, which can reduce the communication cost and transfer the calculation task, thereby balancing the calculation cost of all parties.
  • the use of homomorphic encryption technology can realize that the decryption party can only know the final result, but cannot obtain the message of each ciphertext, and can increase the total amount, share, total amount, and/or any other number of each participant on any ledger.
  • the security and applicability of blockchain transaction data is strong.
  • 3D zero-knowledge proof is one of the zero-knowledge proof technologies, and a variety of zero-knowledge proof algorithms are included in 3D zero-knowledge proof.
  • the feature of 3D zero-knowledge proof is that it can support multiple different attribute ledgers, and can verify the relationship between ledgers with different attributes through the verification method of zero-knowledge proof.
  • the above-mentioned different attribute ledgers may include the order ledgers, logistics ledgers, invoice ledgers, financing ledgers, etc. provided in the embodiments of the present application.
  • the method and device provided by the embodiment of the present application will be described below in conjunction with FIG. 1 to FIG. 7.
  • the unit price of each pair of shoes is 100 yuan, and the total amount of goods
  • the transaction between the total amount of commodities and the unit price of commodities, that is, the total amount of commodities is 1,000,000, as an example, explains the data interaction and data follow-up of each participant in the supply chain.
  • the above-mentioned shoes ordered by the buyer from the seller will be explained using the commodity as an example.
  • the unit price of each pair of shoes mentioned above is 100 yuan and the unit price of the commodity will be used as an example. Examples are explained.
  • Fig. 1 is an interactive schematic diagram of a zero-knowledge proof-based supply chain data management method provided by an embodiment of the present application.
  • the zero-knowledge proof-based supply chain data management method provided by the embodiment of the application may include the following steps:
  • the buyer creates an order ledger for goods in the blockchain network, creates a buyer order account on the order ledger through SCC, sets the total amount of goods in the order ledger through SCC and injects the total amount of goods into the buyer order Account.
  • the buyer in the order generation link of the supply chain, creates a seller's order account on the order ledger for the seller through the SCC, and transfers the above-mentioned total amount of goods to the seller's order account.
  • the realization of commodity data management in the commodity transaction process may include multiple links, including but not limited to the order generation link of the supply chain, the commodity shipping link, the commodity confirmation receiving link, and the order financing of the commodity transaction
  • the link can be determined according to actual application scenarios, and there is no restriction here.
  • the buyer in the order generation link of the supply chain, can encrypt the unit price of the commodity in the blockchain network to obtain the encrypted unit price of the commodity, and store the encrypted unit price of the commodity on the blockchain network in.
  • the buyer can encrypt the unit price of 100 yuan per pair of shoes through its own private key and/or digital signature to obtain the encrypted unit price of the shoes, and then store the encrypted unit price in the blockchain network.
  • each product category in each order can correspond to an order ledger.
  • the same order may contain 10,000 pairs of shoes and 10,000 pairs of socks. Among them, 10,000 pairs of shoes and 10,000 pairs of socks will each generate an order book.
  • the details can be determined according to actual application scenarios, and there is no restriction here.
  • an order account corresponding to 10,000 pairs of shoes (referred to as an order account book) is taken as an example for description.
  • the above-mentioned buyer can perform the following steps while creating an order ledger on the blockchain network:
  • the implementation method for the buyer to initialize the order ledger through SCC can refer to the implementation method for the initialization of various attribute ledger in the supply chain, which is not limited here.
  • the account Cocoa generated by the buyer on the above-mentioned order ledger through SCC is recorded as the buyer's order account.
  • S13 The buyer sets the total amount of the above-mentioned order book through the SCC, and injects the set total amount of the products into the above-mentioned buyer's order account.
  • the total amount of the above commodities can satisfy:
  • the buyer can set the total amount of goods in the above order account book to 1,000,000 through SCC, and inject the set total amount of goods into the above buyer’s order account. At this time, the total amount of goods in the buyer’s order account is 1,000,000.
  • the buyer in the order generation link of the supply chain, the buyer can also perform the following steps:
  • the buyer generates an account for the seller in the order ledger through the SCC.
  • the account created by the buyer for the seller on the above-mentioned order ledger can be recorded as the seller’s order account.
  • the seller needs to provide his account information (which can be understood as seller identification information) to the buyer in advance.
  • the above-mentioned seller's account information may include the seller's public key and digital certificate, etc., which can be specifically determined according to actual application scenarios, which is not limited here.
  • the buyer can obtain the seller's account information (that is, the seller's identification information), and use the SCC to combine the seller's account information to create the seller's order account on the above-mentioned order ledger for the seller.
  • the buyer transfers the total amount of the above-mentioned commodities into the seller's order account through the SCC.
  • the buyer transfers the entire share of the merchandise (ie, the total amount of merchandise, such as 1000000) to the seller's order account through the SCC, which represents the buyer's approval of the order book and its share (ie, the total merchandise).
  • the SCC represents the buyer's approval of the order book and its share (ie, the total merchandise).
  • S3 In the order generation link of the supply chain, the seller digitally signs the total amount of goods transferred into the seller's order account on the order account book through the SCC to confirm the order book.
  • the seller digitally signs its new share on the order account (that is, the total amount of goods transferred by the buyer to the seller's order account) on behalf of the seller to also approve the order account.
  • the above-mentioned digital signature may be a digital signature different from that used by the seller to transfer shares, including but not limited to adding a random number to the digital signature for transferring shares, which can be determined according to actual application scenarios, and is not limited here.
  • the seller creates a commodity logistics ledger.
  • the seller starts to ship the goods and creates a logistics ledger in the commodity shipping link.
  • the above-mentioned seller can perform the following steps when creating a commodity logistics ledger:
  • S41 Create a seller's logistics account on the logistics ledger through the SCC, and set the total amount of goods in the logistics ledger through the SCC and inject the total amount of goods into the seller's logistics account.
  • the total amount of goods on the logistics ledger may be the total amount of shoes ordered by the buyer from the seller, for example, the total amount of goods may be the total amount of shoes ordered by the buyer 10,000 (pairs).
  • the seller sets the total amount of goods in the logistics ledger to 10,000 through SCC, and injects the total amount of goods into the seller's own account, that is, the seller's logistics account.
  • the seller can provide the SCC with a 3D zero-knowledge proof that the product of the total amount of the above-mentioned commodities and the encrypted unit price of the above-mentioned commodities is equal to the total amount of the commodities in the seller's order account in the above-mentioned order ledger.
  • the seller provides a 3D zero-knowledge proof to prove that the total amount of goods injected into the seller's logistics account in the logistics ledger multiplied by the encrypted unit price is equal to the total amount of the seller's account on the order ledger (that is, the seller's order account).
  • the seller verifies that the total amount of goods injected on the logistics ledger through SCC meets:
  • the total amount of goods * the encrypted unit price the total amount of the seller's order account on the order ledger (2)
  • the seller fails to create the logistics ledger and ends the process. If the SCC verification is successful (that is, the product of the total amount of goods and the encrypted unit price of the goods is equal to the total amount of the seller’s order account on the order ledger), the seller can successfully create a logistics ledger and update the seller’s account on the logistics ledger (that is, the seller’s logistics account).
  • the share is the total amount of the aforementioned commodities.
  • the seller when the seller verifies through SCC based on the 3D zero-knowledge proof provided by the seller that the product of the total amount of the above-mentioned commodities and the encrypted unit price of the above-mentioned commodities is equal to the total amount of the newly added commodities in the seller's logistics account in the logistics ledger, the seller creates a logistics If the ledger is successful, a logistics account for the logistics party can be created on the logistics ledger, a logistics account for the warehousing party can be created on the logistics ledger, and a buyer's logistics account on the logistics ledger by the buyer.
  • the logistics party needs to provide its own account information (which can be understood as logistics party identification information), including but not limited to the logistics party’s public key and the logistics party’s digital certificate, to the seller in advance.
  • the seller obtains the account information of the logistics party (identification information of the logistics party), and uses the SCC to combine the identification information of the logistics party to create a logistics account of the logistics party on the logistics ledger for the logistics party.
  • the warehousing party needs to provide its own account information (which can be understood as the identification information of the logistics party), including but not limited to the public key of the warehousing party and the digital certificate of the warehousing party, to the seller in advance.
  • the seller obtains the account information of the warehousing party (that is, the warehousing party identification information), and uses the SCC to combine the above-mentioned warehousing party identification information to create a warehousing party's logistics account on the logistics ledger for the warehouse party.
  • the buyer also needs to provide the seller with his account information (which can be understood as the identification information of the logistics party) in advance, including but not limited to the buyer's public key and the buyer's digital certificate.
  • the seller obtains the buyer's account information (that is, the buyer's identification information), and creates a buyer's logistics account on the aforementioned logistics ledger for the buyer through the SCC combined with the aforementioned buyer's identification information.
  • the seller starts to ship the goods and transfers the total amount of goods on the seller's logistics account to the logistics account of the logistics party through SCC.
  • the seller can use the SCC to transfer the total amount of goods under his account on the logistics ledger (ie, the seller’s logistics account) (ie 10,000 (pairs) Shoes)) transferred to the logistics party’s account on the logistics ledger (ie, the logistics party’s logistics account).
  • the logistics party needs to deliver the goods to the warehouse, and transfer the total amount of goods (that is, the amount of 10,000) under their own account (the logistics account of the logistics party) to the warehouse party’s logistics account through the SCC Account is the logistics account of the warehousing party.
  • the logistics party transfers the total amount of goods (such as the amount of 10,000) under the account on its logistics ledger (ie the logistics account of the logistics party) to the buyer's logistics account through the SCC.
  • the seller in the commodity transportation link, can also perform the following steps while creating an invoice account on the blockchain network:
  • the seller initializes the invoice account through the SCC.
  • the implementation method for the seller to initialize the invoice ledger through SCC can refer to the implementation method for the initialization of various attribute ledger in the supply chain, which is not limited here.
  • the account that the seller generates for himself on the invoice ledger through the SCC can be the seller's invoice account.
  • the seller injects the initial share into the seller's invoice account through the SCC, and provides the SCC with a 3D zero-knowledge proof that the initial share of the seller's invoice account is equal to the total amount of goods in the seller's order account.
  • the initial share of the seller's invoice account is equal to the total amount of goods on the seller's order account, that is, the initial share of the seller's invoice account can be 1,000,000.
  • the seller can verify that the initial share on the seller’s invoice account is equal to the total amount of goods on the seller’s order account through the SCC, and then complete the creation of the invoice account.
  • the seller generates a buyer's invoice account on the aforementioned invoice book for the buyer through the SCC.
  • the seller can create a buyer's invoice account on the invoice account for the buyer through SCC and transfer the initial share of the above-mentioned seller's invoice account to the buyer's invoice account.
  • the buyer signs for the receipt of the goods and initiates a transfer instruction of the logistics ledger and the invoice ledger of the goods to the SCC to confirm the receipt.
  • the logistics ledger can be updated through the SCC and the invoice ledger must be updated.
  • the formation of the invoice represents the buyer's receipt of the goods. If only one account is updated, SCC will judge that the entire transaction is illegal and refuse to execute it.
  • the logistics party transfers the total amount of goods under the logistics account of the logistics party (for example, 10000 (amount of pairs of shoes)) to the buyer's logistics account through the SCC.
  • the buyer's logistics account on the logistics ledger and the seller's invoice account of the invoice account are bound in SCC (that is, the product of the total amount of goods on the buyer's logistics account and the encrypted unit price of the goods is equal to the initial share on the seller's invoice account), so
  • the buyer must also initiate an invoice transfer instruction that matches the transfer of the logistics ledger, or the transaction will fail.
  • the buyer confirms the receipt of the goods it can provide SCC with a 3D zero-knowledge proof that the transfer share of the logistics account book and the invoice account book is multiplied by the encrypted unit price of the product.
  • the initiation of the transfer of the invoice book is also the evidence that the buyer confirms the receipt.
  • the buyer sends the transfer instructions of the two accounts (including the logistics account and the invoice account) to SCC at the same time, and provides the 3D zero-knowledge proof that the transfer share of the two accounts is the multiplier of the encrypted unit price.
  • SCC will automatically determine whether the transfer share of the invoice account book is multiplied by the encrypted unit price through the 3D zero-knowledge proof provided by the buyer.
  • the buyer can successfully update the total amount of goods in the buyer’s logistics account in the logistics ledger and update the invoice ledger to The total amount of goods under the buyer's order account is transferred from the buyer's invoice account to the seller's invoice account, and the invoice is formed, that is, the transaction is successful.
  • the data tracking of each participant in the commodity transaction process can be realized.
  • the data transfer between each participant's account in various attribute ledgers does not need to be shared
  • Data content and data transfer between accounts can be executed in the state of commodity unit price encryption, which can achieve data cross-validation while ensuring the data privacy of each participant.
  • the operation is more flexible and the applicability is stronger.
  • both the buyer and the seller can use the order or invoice of the commodity transaction as the basis for commodity financing, which can be used to achieve a relationship with any financing party (such as any bank) Data cross-validation in the process of financing interaction.
  • any financing party such as any bank
  • the following will take the order as the basis of commodity financing as an example to illustrate the seller's commodity financing provided in the embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a zero-knowledge proof-based supply chain data management method provided by an embodiment of the present application.
  • the supply chain data management method shown in Figure 2 can be applied to the buyer’s financing, and the method can include the following steps:
  • S81 When the buyer needs the order of the above-mentioned goods for financing, the buyer creates a buyer's order financing account on the above-mentioned blockchain network, and creates a buyer's order financing account on the above-mentioned buyer's order financing account through SCC.
  • the buyer initializes the buyer's order financing ledger through the SCC, and generates an account for itself in the buyer's order financing ledger through the SCC.
  • the account generated by the buyer on the buyer's order financing ledger through the SCC can be referred to as the buyer's order financing account for short.
  • the buyer In S82, the buyer generates the total financing amount of the buyer's order financing account through the SCC, and provides a 3D zero-knowledge proof that the total financing amount is equal to the total amount of the commodities on the order account book.
  • the total amount of commodities in the seller's order account on the order ledger is transferred by the buyer during the commodity transaction. Therefore, the buyer also knows the total amount of commodities in the seller's order account, which is a share approved by both parties. SCC verifies that the total share of the newly generated buyer's order financing account (ie, the total financing of the buyer's order financing account) is equal to the total amount of goods in the corresponding order account (ie, the aforementioned order account generated when the buyer orders products from the seller) through 3D zero-knowledge proof.
  • SCC verifies that the total financing amount of the buyer's order financing book is equal to the total amount of goods in the corresponding order book, it is determined that the inspection of the buyer's order financing book is successful, and the generated total financing of the buyer's order financing book can be injected into the buyer's order financing book Under the account (that is, the buyer’s order financing account). At this time, SCC can record the link between the buyer's order financing account and the order account.
  • the SCC verifies that the total financing amount of the buyer's order financing ledger is not equal to the total amount of goods in the corresponding order ledger, it is determined that the inspection of the above-mentioned buyer order financing ledger has failed, and then it can be determined that the creation of the buyer's order financing ledger has failed. Financing.
  • the buyer can transfer the total amount of financing in the buyer's order financing account to the account of any financing party.
  • the buyer needs to transfer the share corresponding to the financing (that is, the total amount of financing on the buyer's order financing account) to the account of Bank A to realize financing based on the aforementioned order book.
  • the buyer can implement order-based commodity financing based on zero-knowledge proof.
  • the operation is simple, and it can be applied to various commercial institutions that are unwilling to accept data sharing, and the applicability is stronger.
  • FIG. 3 is another flow diagram of a zero-knowledge proof-based supply chain data management method provided by an embodiment of the present application.
  • the supply chain data management method shown in Figure 3 can be applied to the financing of the seller, and the method can include the following steps:
  • S91 When the seller needs the order of the above-mentioned goods for financing, the seller creates a seller's order financing account on the above-mentioned blockchain network, and creates a seller's order financing account on the above-mentioned seller's order financing account through SCC.
  • the seller initializes the seller's order financing ledger through SCC, and generates an account for itself in the seller's order financing ledger through SCC.
  • the account generated by the seller on the seller's order financing ledger through SCC can be referred to as the seller's order financing account for short.
  • the seller In S92, the seller generates the total financing amount of the seller's order financing account through the SCC, and provides a 3D zero-knowledge proof that the total financing amount is equal to the total amount of the commodities on the order account book.
  • the total amount of goods in the seller’s order account on the order ledger is transferred by the buyer during the commodity transaction. Therefore, the buyer also knows the total amount of goods in the seller’s order account, that is, the total amount of goods on the seller’s order account is the sale and purchase. A share recognized by both parties.
  • the seller may provide SCC with a 3D zero-knowledge proof that the total amount of financing on the seller's order financing account is equal to the total amount of goods on the order account.
  • the SCC verifies by 3D zero-knowledge proof that the total share of the newly generated seller's order financing account (ie, the total amount of financing of the seller's order financing account) is equal to the total amount of goods in the corresponding order account (ie, the order account generated when the buyer orders products from the seller). If the SCC verifies that the total financing amount of the buyer's order financing ledger is equal to the total amount of goods in the corresponding order ledger, it is determined that the above-mentioned seller's order financing ledger is verified successfully, and the generated total financing of the seller's order financing ledger can be injected into the seller's order financing ledger. Under the account (ie the seller’s order financing account).
  • the SCC can record the link between the seller's order financing ledger and the order ledger. If the SCC verifies that the total financing amount of the seller's order financing ledger is not equal to the total amount of goods in the corresponding order ledger, it is determined that the verification of the above seller's order financing ledger has failed, and then it can be determined that the creation of the seller's order financing ledger has failed. Financing.
  • the seller can transfer the total amount of financing on the seller's order financing account to the account of any financing party.
  • the seller needs to transfer the share corresponding to the financing (that is, the total amount of financing on the seller's order financing account) to the account of Bank A to realize financing based on the aforementioned order book.
  • the seller can realize order-based commodity financing based on zero-knowledge proof.
  • the operation is simple, and it can be applied to various commercial organizations that are not willing to accept data sharing, and the applicability is stronger.
  • FIG 4 is a schematic structural diagram of a zero-knowledge proof-based supply chain data management device provided by an embodiment of the present application.
  • the above device is suitable for the buyer to realize the commodity data management in the supply chain, and the above device includes:
  • the creation unit 41 is used to create an order ledger of goods in the blockchain network during the order generation link of the supply chain, create a buyer order account on the above order ledger through the smart encryption contract SCC, and set the goods of the above order ledger through SCC The total amount and the total amount of the above-mentioned goods are injected into the above-mentioned buyer order account.
  • the above-mentioned creation unit 41 is also used to create a seller's order account on the above-mentioned order account book for the seller through the SCC in the above-mentioned order generation link, and transfer the above-mentioned total amount of goods to the above-mentioned seller's order account.
  • the confirmation unit 42 is used to confirm the receipt of the goods by initiating the transfer instruction of the logistics account and the invoice account of the foregoing commodity to the SCC when the buyer signs for the receipt of the foregoing commodity in the link of confirming the receipt, and provides the foregoing logistics account and the foregoing invoice to SCC
  • the transfer share of the ledger is a 3D zero-knowledge proof with the encrypted unit price of the above-mentioned commodity as a multiplier.
  • the update unit 43 is configured to update the buyer in the logistics ledger when the confirmation unit verifies through the SCC based on the 3D zero-knowledge proof that the product of the transfer share on the logistics ledger and the encrypted unit price of the commodity is equal to the transfer share of the invoice ledger.
  • the total amount of goods in the logistics account and update the above invoice account to transfer the total amount of goods under the above buyer’s order account from the buyer’s invoice account to the seller’s invoice account.
  • the foregoing device further includes:
  • the encryption unit 44 is configured to encrypt the unit price of the commodity in the blockchain network to obtain the encrypted unit price of the commodity, and store the encrypted unit price of the commodity in the blockchain network.
  • the aforementioned creating unit 41 is used to:
  • the seller identification information includes at least one of the public key of the seller and the digital certificate of the seller.
  • the above device further includes a financing processing unit 45;
  • the above-mentioned creation unit 41 is further configured to create a buyer's order financing account on the above-mentioned blockchain network when the above-mentioned buyer needs an order for the above-mentioned goods for financing, and create a buyer's order financing account on the above-mentioned buyer's order financing account through SCC;
  • the financing processing unit 45 is configured to generate the total financing amount of the buyer's order financing account through the SCC, and provide a 3D zero-knowledge proof that the total financing amount is equal to the total amount of the goods on the order account book;
  • the financing processing unit 45 is further configured to inject the total financing amount into the buyer order financing account when it is verified by the SCC based on the 3D zero-knowledge proof that the total financing amount is equal to the total amount of goods;
  • the financing processing unit 45 is further configured to transfer the total amount of financing in the buyer's order financing account to the account of any financing party to complete the order financing of the goods when the buyer obtains financing from any financing party.
  • the above-mentioned zero-knowledge proof-based supply chain data management device can execute the buyer-side implementation manner provided by each step in the above-mentioned embodiment through various built-in functional units.
  • the above-mentioned creation unit 41 may be used to perform the creation of each account book in each step of the above embodiment and the implementation manner corresponding to the creation of each account in each account book.
  • the confirmation unit 42 can be used to implement the corresponding implementation manner in the buyer's confirmation and receipt link.
  • the aforementioned update unit 43 can be used to implement the implementation method corresponding to the update of the logistics account book and/or the invoice account book after the buyer confirms the receipt of the goods in the foregoing embodiment.
  • the foregoing encryption unit 44 may be used to perform the implementation manner corresponding to the encryption of the foregoing commodity unit price.
  • the above-mentioned financing processing unit 45 may be used to execute the corresponding implementation manner of the financing operation of the above-mentioned buyer based on the commodity transaction order.
  • the data tracking of each participant in the commodity transaction process can be realized.
  • the data transfer between each participant's account in various attribute ledgers does not need to be shared
  • Data content and data transfer between accounts can be executed in the state of commodity unit price encryption, which can achieve data cross-validation while ensuring the data privacy of each participant.
  • the operation is more flexible and the applicability is stronger.
  • the buyer after the buyer has completed the transaction of ordering commodities from the seller, the buyer can use the order or invoice of the commodity transaction as the basis for commodity financing, which can be used to realize the financing interaction with any financing party (such as any bank) Cross-validation of data in the process. Realizing order-based commodity financing based on zero-knowledge proof, simple operation, applicable to various commercial organizations that are unwilling to accept data sharing, and more applicable.
  • FIG. 5 is another structural schematic diagram of a supply chain data management device based on zero-knowledge proof provided by an embodiment of the present application.
  • the above device is suitable for sellers to realize commodity data management in the supply chain, and the above device includes:
  • the confirmation unit 51 is configured to digitally sign the total amount of goods transferred into the seller's order account on the order account book through the smart encryption contract SCC in the order generation link of the supply chain to confirm the order book.
  • the creating unit 52 is used to create a logistics ledger for the goods in the commodity transportation link, create a seller's logistics account on the above-mentioned logistics ledger through SCC, and set the total amount of goods in the above-mentioned logistics ledger through SCC and inject the above-mentioned total amount of goods into the above
  • the above-mentioned creation unit 52 is also used to create a logistics account and a warehousing logistics account on the above-mentioned logistics ledger through the SCC when it is verified through the SCC that the product of the above-mentioned total amount of goods and the above-mentioned encrypted unit price is equal to the above-mentioned total amount of goods based on the above 3D zero-knowledge proof Account and buyer's logistics account.
  • the data processing unit 53 is used to transfer the total amount of the above-mentioned goods to the logistics account of the logistics party through the SCC when the above-mentioned seller starts shipping the goods, so as to transfer the total amount of the above-mentioned goods to the logistics account of the warehouse party through the logistics party and confirm with the buyer Transfer from the logistics account of the warehousing party to the logistics account of the buyer when receiving the goods.
  • the aforementioned creation unit 52 is also used to:
  • the aforementioned creating unit 52 is used to:
  • warehousing party identification information of the warehousing party and combine the above-mentioned warehousing party identification information through the SCC to create a warehousing party's logistics account on the above-mentioned logistics ledger for the above-mentioned warehousing party;
  • the seller identification information includes at least one of the seller’s public key and the seller’s digital certificate
  • the warehouse party identification information includes at least one of the warehouse party’s public key and the warehouse party’s digital certificate
  • the buyer identification information includes at least one of the public key of the buyer and the digital certificate of the buyer.
  • the above device further includes a financing processing unit 54;
  • the above-mentioned creation unit 52 is further configured to create a seller order financing account on the above-mentioned blockchain network when the above-mentioned seller needs an order for the above-mentioned goods for financing, and create a seller order financing account on the above-mentioned seller order financing account through the SCC;
  • the financing processing unit 54 is configured to generate the total financing amount of the seller's order financing account through SCC, and provide a 3D zero-knowledge proof that the total financing amount is equal to the total amount of the goods on the order account book;
  • the financing processing unit 54 is further configured to inject the total financing amount into the seller order financing account when the seller verifies that the total financing amount is equal to the total amount of goods through the SCC based on the 3D zero-knowledge proof;
  • the financing processing unit 54 is configured to transfer the total amount of financing in the buyer's order financing account to the account of any financing party to complete the order financing of the goods when the seller obtains financing from any financing party.
  • the above-mentioned zero-knowledge proof-based supply chain data management device ie, the seller-side device
  • the above confirmation unit 51 may be used to execute the digital signature of the order book created by the buyer in each step of the above embodiment to confirm the corresponding implementation of the above order account.
  • the above-mentioned creation unit 52 can be used to perform the creation of each ledger realized by the seller in each step of the above-mentioned embodiment and the corresponding implementation manner of the creation of each account in each ledger.
  • the above-mentioned data processing unit 53 can be used to implement the corresponding implementation manners such as the transfer of the total amount of goods in the implementation manner of the seller starting to ship the goods in the foregoing embodiment.
  • the above-mentioned financing processing unit 45 may be used to execute the corresponding implementation manner of the financing operation performed by the above-mentioned seller based on the commodity transaction order.
  • the data tracking of each participant in the commodity transaction process can be realized.
  • the data transfer between each participant's account in various attribute ledgers does not need to be shared
  • Data content and data transfer between accounts can be executed in the state of commodity unit price encryption, which can achieve data cross-validation while ensuring the data privacy of each participant.
  • the operation is more flexible and the applicability is stronger.
  • the seller can use the order or invoice of the commodity transaction as the basis for commodity financing, which can be used to achieve financing with any financing party (such as any bank) Data cross-validation during the interaction. Realizing order-based commodity financing based on zero-knowledge proof, simple operation, applicable to various commercial organizations that are unwilling to accept data sharing, and more applicable.
  • FIG. 6 is a schematic block diagram of a terminal according to an embodiment of the present application.
  • the terminal in this embodiment may be applicable to the buyer's side, and the terminal may include: one or more processors 601 and a memory 602.
  • the aforementioned processor 601 and memory 602 are connected through a bus 603.
  • the memory 602 is configured to store a computer program.
  • the above-mentioned computer program includes program instructions.
  • the processor 601 is configured to execute the program instructions stored in the memory 602.
  • the processor 601 is configured to call the program instructions to perform the following operations:
  • an order ledger for goods is created in the blockchain network
  • a buyer order account is created on the above order ledger through the smart encryption contract SCC
  • the total amount of goods in the above order ledger is set through SCC and the total amount of the above goods Inject into the above buyer order account
  • the foregoing processor 601 is further configured to:
  • the unit price of the commodity is encrypted in the blockchain network to obtain the encrypted unit price of the commodity, and the encrypted unit price of the commodity is stored in the blockchain network.
  • the aforementioned processor 601 is configured to:
  • the seller identification information includes at least one of the public key of the seller and the digital certificate of the seller.
  • the foregoing processor 601 is further configured to:
  • the above-mentioned SCC verifies that the above-mentioned total amount of financing is equal to the above-mentioned total amount of goods based on the above-mentioned 3D zero-knowledge proof, then the above-mentioned total amount of financing is injected into the above-mentioned buyer order financing account;
  • the total amount of financing in the above-mentioned buyer's order financing account is transferred to the account of any one of the above-mentioned financing parties to complete the order financing of the above-mentioned commodities.
  • the above-mentioned processor 601 may be a central processing unit (CPU), and the processor 601 may also be other general-purpose processors, digital signal processors (DSPs). ), application specific integrated circuit (ASIC), ready-made programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory 602 may include a read-only memory and a random access memory, and provides instructions and data to the processor 601. A part of the memory 602 may also include a non-volatile random access memory. For example, the memory 602 may also store device type information.
  • the processor 601 described in the embodiment of the present application can execute the implementation provided by the buyer in the zero-knowledge proof-based supply chain data management method provided in the embodiment of the present application, and can also execute the implementation described in the embodiment of the present application.
  • the described implementation of the buyer-side device in the zero-knowledge proof-based supply chain data management device will not be repeated here.
  • the data tracking of each participant in the commodity transaction process can be realized.
  • the data transfer between each participant's account in various attribute ledgers does not need to be shared
  • Data content and data transfer between accounts can be executed in the state of commodity unit price encryption, which can achieve data cross-validation while ensuring the data privacy of each participant.
  • the operation is more flexible and the applicability is stronger.
  • the seller can use the order or invoice of the commodity transaction as the basis for commodity financing, which can be used to achieve financing with any financing party (such as any bank) Data cross-validation during the interaction. Realizing order-based commodity financing based on zero-knowledge proof, simple operation, applicable to various commercial organizations that are unwilling to accept data sharing, and more applicable.
  • FIG. 7 is another schematic block diagram of a terminal according to an embodiment of the present application.
  • the terminal in this embodiment can be applied to the seller side, and the terminal can include: one or more processors 701 and a memory 702.
  • the aforementioned processor 701 and memory 702 are connected through a bus 703.
  • the memory 702 is configured to store a computer program.
  • the above-mentioned computer program includes program instructions.
  • the processor 701 is configured to execute the program instructions stored in the memory 602.
  • the processor 701 is configured to call the program instructions to perform the following operations:
  • the total amount of goods transferred to the seller’s order account on the order book is digitally signed through the smart encryption contract SCC to confirm the order book;
  • create a logistics ledger for the goods create a seller's logistics account on the above-mentioned logistics ledger through SCC, and set the total amount of goods in the above-mentioned logistics ledger through SCC and inject the above-mentioned total amount of goods into the above-mentioned seller's logistics account SCC provides a 3D zero-knowledge proof that the product of the total amount of the above-mentioned commodities and the above-mentioned encrypted unit price is equal to the total amount of the above-mentioned commodities on the seller's order account;
  • the logistics account of the logistics party, the warehousing party and the buyer's logistics account are created on the above-mentioned logistics ledger through SCC;
  • the total amount of the above-mentioned goods is transferred to the logistics account of the above-mentioned logistics party through the SCC, so that the total amount of the above-mentioned goods is transferred to the above-mentioned warehousing party's logistics account through the logistics party, and from the above-mentioned warehousing party's logistics account when the above-mentioned buyer confirms receipt Transfer to the buyer's logistics account mentioned above.
  • the foregoing processor 701 is further configured to:
  • create an invoice account for the commodity in the blockchain network create a seller invoice account on the above invoice account through SCC and inject the initial share for the above seller invoice account, and provide the above initial share to SCC as the above 3D zero-knowledge proof of the total amount of the above commodities in the seller’s order account;
  • SCC creates a buyer's invoice account on the above-mentioned invoice account for the buyer and transfers the above-mentioned initial share of the above-mentioned seller's invoice account to the above-mentioned buyer's invoice account.
  • the aforementioned processor 701 is configured to:
  • warehousing party identification information of the warehousing party and combine the above-mentioned warehousing party identification information through the SCC to create a warehousing party's logistics account on the above-mentioned logistics ledger for the above-mentioned warehousing party;
  • the seller identification information includes at least one of the seller’s public key and the seller’s digital certificate
  • the warehouse party identification information includes at least one of the warehouse party’s public key and the warehouse party’s digital certificate
  • the buyer identification information includes at least one of the public key of the buyer and the digital certificate of the buyer.
  • the foregoing processor 701 is further configured to:
  • the above-mentioned SCC verifies that the above-mentioned total amount of financing is equal to the above-mentioned total amount of goods based on the above-mentioned 3D zero-knowledge proof, the above-mentioned total amount of financing is injected into the above-mentioned seller’s order financing account;
  • the total amount of financing on the above-mentioned seller's order financing account is transferred to the account of any one of the above-mentioned financing parties to complete the order financing of the above-mentioned commodities.
  • the aforementioned processor 701 may be a CPU, and the processor 701 may also be other general-purpose processors, DSP, ASIC, FPGA) or other programmable logic devices, discrete gates or transistor logic devices. , Discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory 702 may include a read-only memory and a random access memory, and provides instructions and data to the processor 701. A part of the memory 702 may also include a non-volatile random access memory. For example, the memory 702 may also store device type information.
  • the processor 701 described in the embodiment of the application can execute the implementation provided by the seller in the zero-knowledge proof-based supply chain data management method provided in the embodiment of the application, and can also execute the implementation described in the embodiment of the application.
  • the described implementation of the seller-side device in the zero-knowledge proof-based supply chain data management device will not be repeated here.
  • the data tracking of each participant in the commodity transaction process can be realized.
  • the data transfer between each participant's account in various attribute ledgers does not need to be shared
  • Data content and data transfer between accounts can be executed in the state of commodity unit price encryption, which can achieve data cross-validation while ensuring the data privacy of each participant.
  • the operation is more flexible and the applicability is stronger.
  • the seller can use the order or invoice of the commodity transaction as the basis for commodity financing, which can be used to achieve financing with any financing party (such as any bank) Data cross-validation during the interaction. Realizing order-based commodity financing based on zero-knowledge proof, simple operation, applicable to various commercial organizations that are unwilling to accept data sharing, and more applicable.
  • the embodiments of the present application also provide a computer-readable storage medium, the computer-readable storage medium stores a computer program, the computer program includes program instructions, and the program instructions are executed by a processor to implement the zero-knowledge proof provided by the foregoing embodiments
  • the implementation manner performed by the buyer side in the supply chain data management method of please refer to the implementation manner provided in the foregoing embodiment for specific details, which will not be repeated here.
  • the embodiments of the present application also provide a computer-readable storage medium, the computer-readable storage medium stores a computer program, the computer program includes program instructions, and the program instructions are executed by a processor to implement the zero-knowledge proof provided by the foregoing embodiments
  • the implementation method performed on the seller side in the supply chain data management method of please refer to the implementation method provided in the foregoing embodiment for specific details, which will not be repeated here.
  • the foregoing computer-readable storage medium may be the zero-knowledge proof-based supply chain data management apparatus or the internal storage unit of an electronic device provided by any of the foregoing embodiments, and the computer-readable storage medium may also be an external storage device of the electronic device . Further, the computer-readable storage medium may also include both an internal storage unit of the electronic device and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device.
  • the computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

Abstract

一种基于零知识证明的供应链数据管理方法及装置,该方法包括:买方在区块链网络中创建商品的订单账本,通过SCC在订单账本上创建买方订单账户,通过SCC设置订单账本的商品总额并将商品总额注入买方订单账户;买方通过SCC为卖方在订单账本上创建卖方订单账户,并为所述卖方订单账户转入商品总额;买方签收商品并向SCC发起商品的物流账本和发票账本的转让指令以确认收货;当买方通过SCC基于3D零知识证明验证物流账本上的转让份额与商品的加密单价的乘积等于发票账本的转让份额时,更新物流账本中买方物流账户的商品总量,并更新发票账本,可提高供应链中各个参与方的数据管理灵活性。

Description

基于零知识证明的供应链数据管理方法及装置
本申请要求于2019年5月7日提交中国专利局、申请号为201910382454.2、申请名称为“基于零知识证明的供应链数据管理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于零知识证明的供应链数据管理方法及装置。
背景技术
目前区块链技术备受关注,通过数据共享增加可信度是区块链技术中被说得最多的好处之一,尤其是在供应链上的应用。然而,供应链上的各个供应机构之间实现数据共享基本很难被供应机构所接受,通过数据共享增加可信度的方式来实现各供应机构之间的数据管理的实现难度大,可行性差。如何在供应链上的业务处理流程中,在各个供应机构的隐私数据无法共享的情况下实现各个供应机构之间的数据追随是当前亟待解决的技术问题之一。
发明内容
本申请实施例提供一种基于零知识证明的供应链数据管理方法,可提高在隐私数据无法共享的情况下实现供应链中各个参与方之间的数据追随的可行性,提高供应链中各个参与方的数据管理灵活性,适用性更强。
第一方面,本申请实施例提供了一种基于零知识证明的供应链数据管理方法,上述方法适用于买方在供应链中实现商品数据管理,上述方法包括:
在供应链的订单生成环节中,买方在区块链网络中创建商品的订单账本,通过智能加密合约SCC在上述订单账本上创建买方订单账户,通过SCC设置上述订单账本的商品总额并将上述商品总额注入上述买方订单账户;
在上述订单生成环节中,上述买方通过SCC为卖方在上述订单账本上创建卖方订单账户,并为上述卖方订单账户转入上述商品总额;
在确认收货环节中,上述买方签收上述商品并向SCC发起上述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供上述物流账本和上述发票账本的转让份额为以上述商品的加密单价为乘数的3D零知识证明;
当上述买方通过SCC基于上述3D零知识证明验证上述物流账本上的转让份额与上述商品的加密单价的乘积等于上述发票账本的转让份额时,上述买方更新上述物流账本中买方物流账户的商品总量,并更新上述发票账本以将上述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
第二方面,本申请实施例提供了一种基于零知识证明的供应链数据管理方法,上述方法适用于卖方在供应链中实现商品数据管理,上述方法包括:
在供应链的订单生成环节中,卖方通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认上述订单账本;
在商品运货环节中,上述卖方创建商品的物流账本,通过SCC在上述物流账本上创建卖方物流账户,并通过SCC设置上述物流账本的商品总量并将上述商品总量注入上述卖方物流账户,并向SCC提供上述商品总量与上述加密单价的乘积等于上述卖方订单账户上的上述商品总额的3D零知识证明;
当上述卖方通过SCC基于上述3D零知识证明验证上述商品总量与上述加密单价的乘 积等于上述商品总额时,通过SCC在上述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户;
上述卖方开始运货并通过SCC将上述商品总量转入上述物流方物流账户以通过物流方将上述商品总量转入上述仓储方物流账户并在上述买方确认收货时转入上述买方物流账户。
第三方面,本发明实施例提供了一种基于零知识证明的供应链数据管理装置,上述装置适用于买方在供应链中实现商品数据管理,上述装置包括:
创建单元,用于在供应链的订单生成环节中,在区块链网络中创建商品的订单账本,通过智能加密合约SCC在上述订单账本上创建买方订单账户,通过SCC设置上述订单账本的商品总额并将上述商品总额注入上述买方订单账户;
上述创建单元,还用于在上述订单生成环节中,通过SCC为卖方在上述订单账本上创建卖方订单账户,并为上述卖方订单账户转入上述商品总额;
确认单元,用于在确认收货环节中,在上述买方签收上述商品时并向SCC发起上述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供上述物流账本和上述发票账本的转让份额为以上述商品的加密单价为乘数的3D零知识证明;
更新单元,用于在当上述确认单元通过SCC基于上述3D零知识证明验证上述物流账本上的转让份额与上述商品的加密单价的乘积等于上述发票账本的转让份额时,更新上述物流账本中买方物流账户的商品总量,并更新上述发票账本以将上述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
第四方面,本申请实施例提供了一种基于零知识证明的供应链数据管理装置,上述装置适用于卖方在供应链中实现商品数据管理,上述装置包括:
确认单元,用于在供应链的订单生成环节中,通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认上述订单账本;
创建单元,用于在商品运货环节中,创建商品的物流账本,通过SCC在上述物流账本上创建卖方物流账户,并通过SCC设置上述物流账本的商品总量并将上述商品总量注入上述卖方物流账户,并向SCC提供上述商品总量与上述加密单价的乘积等于上述卖方订单账户上的上述商品总额的3D零知识证明;
上述创建单元,还用于在通过SCC基于上述3D零知识证明验证上述商品总量与上述加密单价的乘积等于上述商品总额时,通过SCC在上述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户;
数据处理单元,用于在上述卖方开始运货时,通过SCC将上述商品总量转入上述物流方物流账户以通过物流方将上述商品总量转入上述仓储方物流账户并在上述买方确认收货时从上述仓储方物流账户转入上述买方物流账户。
第五方面,本申请实施例提供了一种终端,包括处理器和存储器,上述处理器和存储器相互连接,其中,上述存储器用于存储计算机程序,上述计算机程序包括程序指令,上述处理器被配置用于调用上述程序指令,执行上述第一方面以及第一方面中任一种可能的实现方式提供的方法。
第六方面,本申请实施例提供了一种终端,包括处理器和存储器,上述处理器和存储器相互连接,其中,上述存储器用于存储计算机程序,上述计算机程序包括程序指令,上述处理器被配置用于调用上述程序指令,执行上述第二方面以及第二方面中任一种可能的实现方式提供的方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时使上述处理器执行上述第一方面以及第一方面中任一种可能的实现方式提供的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时使上述处理器执行上述第二方面以及第二方面中任一种可能的实现方式提供的方法。
在本申请实施例中,基于零知识证明实现供应链上各个参与方的数据管理,可提高在隐私数据无法共享的情况下实现供应链中各个参与方之间的数据追随的可行性,提高供应链中各个参与方的数据管理灵活性,适用性更强。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的基于零知识证明的供应链数据管理方法的交互示意图;
图2是本申请实施例提供的基于零知识证明的供应链数据管理方法的一流程示意图;
图3是本申请实施例提供的基于零知识证明的供应链数据管理方法的另一流程示意图;
图4是本申请实施例提供的基于零知识证明的供应链数据管理装置的一结构示意图;
图5是本申请实施例提供的基于零知识证明的供应链数据管理装置的另一结构示意图;
图6是本申请实施例提供的终端的一示意性框图;
图7是本申请实施例提供的终端的另一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供了一种基于零知识证明的供应链数据管理方法(为方便描述,可简称为本申请实施例提供的方法),可将零知识证明与供应链中各个参与方的数据结合,用于实现供应链中金融区块链的数据管理。基于本申请实施例提供的方法可实现供应链中金融区块链中各个参与方之间的数据追随,解决了在数据隐私无法共享的情况下的数据交叉验证,提高了在各个参与方的隐私数据无法共享的情况下实现各个参与方之间的数据追随的可行性,供应链中各个参与方的数据管理过程中操作更灵活,适用性更强。
本申请实施例提供的方法可适用于包括多个参与方的供应链中,其中上述参与方可包括买方、卖方、物流方以及仓储方等。其中,上述买方可为购买商品的购买者,包括但不限于自然人消费者或者消费机构,具体可根据实际应用场景确定,在此不做限制。上述卖方可为销售商品的卖方,包括但不限于商品的零售商、商品的批发商或者商品生产厂家(厂家直销),具体可根据实际应用场景确定,在此不做限制。其中,上述物流方可为在商品的买卖过程中参与商品运输的物流方,比如物流公司、快递公司或者商品专属运输机构,具体可根据实际应用场景确定,在此不做限制。上述仓储方可为商品的买卖、运输过程中,在商品买方还未付款等场景下用于存储物流方发送的商品的仓库或者仓储公司等等,具体可根据实际应用场景确定,在此不做限制。为方便描述,下面将以商品的买方、卖方、物流方以及仓储方为例进行说明。
为方便描述和/或理解本申请实施例提供的方法,下面将对本申请实施例提供的方法中所涉及的多个术语进行简单介绍:
一、智能加密合约(smartcryptocontract,SCC)
智能加密合约,或称智能加密合同,为方便描述,下面将以智能加密合约为例进行说明。SCC是一种具备处理密文数据的智能合约,其中一个重要功能就是利用各种零知识证明技术检测密文。其中,零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。证明者向验证者证明并使其相信自己知道或者拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。顾名思义, 零知识证明就是既能充分证明自己是某种权益的合法拥有者(或者某个消息的知情者),又不把有关的信息泄露出去——即给外界的“知识”为“零”。
二、总额、份额、总量、和/或其他任何数字
在本申请实施例中,各个用户(即各个参与方)在任意账本上的总额、份额、总量、和/或其他任何数字等区块链交易数据都由不同秘钥加密,所有账本上的总额、份额、总量、和/或其他任何数字增加、递减和/或转移都在同态加密状态下实现。这里,利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价。利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高各个参与方在任意账本上的总额、份额、总量、和/或其他任何数字等区块链交易数据的安全性,适用性强。
三、3D零知识证明
3D零知识证明是零知识证明技术之一,3D零知识证明中包含了多种零知识证明算法。3D零知识证明的特点是可以支持多个不同属性账本,并可通过零知识证明的验证方式验证各个不同属性的账本之间的关系。其中,上述不同属性账本可包括本申请实施例提供的订单账本、物流账本、发票账本以及融资账本等等,具体可参见如下各个实施例所提供的实现方式,在此不做限制。
下面将结合图1至图7对本申请实施例提供的方法及装置进行说明。为方便描述,本申请实施例将以买方从卖方订购10000双鞋(或者其他类别的商品,基于可根据实际应用场景确定,在此不做限制),每双鞋的单价为100元,商品总额为商品总量与商品单价的成交,即商品总额为1000000为例对供应链中各个参与方的数据交互以及数据追随进行说明。为方便描述,上述买方从卖方订购的鞋将以商品为例进行说明,上述每双鞋的单价为100元将以商品的单价为例进行说明,上述10000(双鞋)将以商品总量为例进行说明。
参见图1,图1是本申请实施例提供的基于零知识证明的供应链数据管理方法的交互示意图。本申请实施例提供的基于零知识证明的供应链数据管理方法可包括如下步骤:
S1,在供应链的订单生成环节中,买方在区块链网络中创建商品的订单账本,通过SCC在订单账本上创建买方订单账户,通过SCC设置订单账本的商品总额并将商品总额注入买方订单账户。
S2,在供应链的订单生成环节中,买方通过SCC为卖方在订单账本上创建卖方订单账户,并为卖方订单账户转入上述商品总额。
在一些可行的实施方式中,在商品交易过程中实现商品数据管理可包括多个环节,包括但不限于供应链的订单生成环节、商品运货环节、商品确认收货环节以及商品交易的订单融资环节,具体可根据实际应用场景确定,在此不做限制。
在一些可行的实施方式中,在供应链的订单生成环节中,买方可在区块链网络中为商品的单价进行加密以得到商品的加密单价,并将商品的加密单价存储至区块链网络中。比如,买方可通过自己的私钥和/或数字签名对每双鞋100元的单价进行加密得到鞋的加密单价,再将该加密单价存储至区块链网络中。
在供应链的订单生成环节中,买方可在区块链网络中创建商品的订单账本。这里,每一个订单中的每个商品类别可对应一个订单账本。比如,在同一个订单中可能含有10000双鞋和10000双袜子,其中,10000双鞋和10000双袜子均会各自产生一个订单账本。具体可根据实际应用场景确定,在此不做限制,为方便描述,这里以10000双鞋子对应的订单账本(简称订单账本)为例进行说明。此外,上述买方在区块链网络上创建一个订单账本的同时还可执行如下步骤:
S11,买方通过SCC初始化订单账本。
这里,买方通过SCC初始化订单账本的实现方式可参见供应链中各类属性账本的初始化实现方式,在此不做限制。
S12,买方通过SCC为自己在上述订单账本上生成账户。
这里,为方便描述,买方通过SCC为自己在上述订单账本上生成的账户可可记为买方订单账户。
S13,买方通过SCC设置上述订单账本的商品总额,并将设置的商品总额注入到上述买方订单账户中。
其中,上述商品总额可满足:
商品总额=商品总量*商品单价=10000*100=1000000(1)
买方可通过SCC设置上述订单账本的商品总额为1000000,并将设置的商品总额注入到上述买方订单账户中,此时,买方订单账户中的商品总额则为1000000。
在一些可行的实施方式中,在供应链的订单生成环节中,买方还可执行如下步骤:
S21,买方通过SCC为卖方在订单账本生成账户。
这里,为方便描述,买方为卖方在上述订单账本上创建的账户可记为卖方订单账户。在一些可行的实施方式中,卖方需提前将自己账户信息(可理解为卖方标识信息)提供给买方。其中,上述卖方的账户信息(即卖方标识信息)可包括卖方的公钥以及数字证书等等,具体可根据实际应用场景确定,在此不做限制。买方可获取卖方的账户信息(即卖方标识信息),并通过SCC结合卖方的账户信息为卖方在上述订单账本上创建卖方订单账户。
S22、买方通过SCC为卖方订单账户转入上述商品的商品总额。
这里,买方通过SCC为卖方订单账户转入商品的全部份额(即商品总额,比如1000000)的这个动作代表买方认可该订单账本和它的份额(即商品总额)。
S3,在供应链的订单生成环节中,卖方通过SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认上述订单账本。
在一些可行的实施方式中,卖方为自己在订单账本上的新增份额(即买方转入卖方订单账户的商品总额)进行数字签名代表卖方也认可上述订单账本。其中,上述数字签名可为有别于卖方转移份额用的数字签名,包括但不限于在转移份额用的数字签名的基础上增加随机数,具体可根据实际应用场景确定,在此不做限制。
S4,在商品运货环节中,卖方创建商品的物流账本。
在一些可行的实施方式中,在商品运货环节中,卖方开始运货并创建商品运货环节中的物流账本。其中,上述卖方创建商品的物流账本时可执行如下步骤:
S41,通过SCC在物流账本上创建卖方物流账户,并通过SCC设置物流账本的商品总量并将商品总量注入卖方物流账户。
在一些可行的实施方式中,上述物流账本上的商品总量可为买方从卖方订购的鞋的总量,比如上述商品总量可为买方订购的鞋的总量10000(双)。卖方通过SCC设置该物流账本的商品总量为10000,并将该商品总量注入到卖方自己账户,即卖方物流账户中去。
这里,卖方可向SCC提供上述商品总量与上述商品的加密单价的乘积等于上述订单账本中卖方订单账户上的商品总额的3D零知识证明。卖方提供3D零知识证明来证明注入物流账本中卖方物流账户的商品总量乘以加密单价等于卖方在订单账本上账户(即卖方订单账户)的总额。卖方通过SCC校验物流账本上注入的商品总量满足:
商品总量*加密单价=订单账本上卖方订单账户的总额(2)
如果SCC校验失败(即商品总量与商品的加密单价的乘积不等于订单账本上卖方订单账户的总额),则卖方创建物流账本失败,并结束进程。如果SCC校验成功(即商品总量与商品的加密单价的乘积等于订单账本上卖方订单账户的总额),卖方则可成功创建物流账 本并更新物流账本上的卖方账户(即卖方物流账户)的份额为上述商品总量。
S42,通过SCC在上述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户。
在一些可行的实施方式中,当卖方通过SCC基于卖方提供的3D零知识证明验证上述商品总量与上述商品的加密单价的乘积等于物流账本中卖方物流账户新增的商品总额时,卖方创建物流账本成功,进而可在物流账本上为物流方创建物流方物流账户,在上述物流账本上为仓储方创建仓储方物流账户,以及买方在物流账本上的买方物流账户。
这里,物流方需提前将自己账户信息(可以理解为物流方标识信息),包括但不限于物流方的公钥和物流方的数字证书提供给卖方。卖方获取物流方的账户信息(物流方标识信息),并通过SCC结合上述物流方标识信息为物流方在上述物流账本上创建物流方物流账户。同理,仓储方需提前将自己账户信息(可以理解为物流方标识信息),包括但不限于仓储方的公钥和仓储方的数字证书提供给卖方。卖方获取仓储方的账户信息(即仓储方标识信息),并通过SCC结合上述仓储方标识信息为仓储方在物流账本上创建仓储方物流账户。买方也需提前将自己账户信息(可以理解为物流方标识信息),包括但不限于买方的公钥和买方的数字证书提供给卖方。卖方获取买方的账户信息(即买方标识信息),并通过SCC结合上述买方标识信息为买方在上述物流账本上创建买方物流账户。
S5,卖方开始运货并通过SCC将上述卖方物流账户上的商品总量转入物流方物流账户。
在一些可行的实施方式中,假设卖方发货的商品总量为10000双鞋,则卖方可通过SCC将自己在物流账本上的账户(即卖方物流账户)下的商品总量(即10000(双鞋))转入物流方在物流账本上的账户(即物流方物流账户)。这里,由于商品未付款等原因,物流方需要把商品运送到仓库,并通过SCC将自己账户(物流方物流账户)下的商品总量(即10000的量)转入仓储方在物流账本上的账户,即仓储方物流账户。当买方确认收货后,物流方通过SCC将自己物流账本上的账户(即物流方物流账户)下的商品总量(比如10000的量)转入买方物流账户。
S6,在商品运货环节中,卖方在区块链网络中创建商品的发票账本。
在一些可行的实施方式中,在商品运货环节中,卖方在区块链网络上创建发票账本的同时还可执行的如下步骤:
S61、卖方通过SCC初始化发票账本。
这里,卖方通过SCC初始化发票账本的实现方式可参见供应链中各类属性账本的初始化实现方式,在此不做限制。
S62、卖方通过SCC为自己在上述发票账本上生成账户。
这里,为方便描述,卖方通过SCC在发票账本上为自己生成的账户可为卖方发票账户。
S63、卖方通过SCC为卖方发票账户注入初始份额,并向SCC提供卖方发票账户的初始份额等于卖方订单账户中的商品总额的3D零知识证明。
这里,上述卖方发票账户的初始份额等于卖方订单账户上的商品总额,即上述卖方发票账户的初始份额可为1000000。卖方可通过SCC校验上述卖方发票账户上的初始份额与上述卖方订单账户上的商品总额相等,进而完成发票账本的创建。
S64、卖方通过SCC为买方在上述发票账本上生成买方发票账户。
S65、卖方通过SCC为买方发票账户转入全部份额。
这里,卖方可通过SCC为买方在发票账本上创建买方发票账户并将上述卖方发票账户中的初始份额转入买方发票账户。
S7,在确认收货环节中,买方签收商品并向SCC发起商品的物流账本和发票账本的转让指令以确认收货。
在一些可行的实施方式中,买方签收商品之后,可通过SCC更新物流账本的同时必须更新发票账本。这里,发票的形成代表买方收货,如果只更新一个账本,SCC将判断整个交易非法而拒绝执行。
在一些可行的实施方式中,当买方确认收货后,物流方通过SCC将物流方物流账本账户下的商品总量(比如10000(双鞋的量))转入买方物流账户。这里,由于物流账本上的买方物流账户和发票账本的卖方发票账户在SCC存在绑定关系(即买方物流账户上的商品总量与商品加密单价的乘积等于卖方发票账户上的初始份额),所以买方必须同时发起一个匹配物流账本转让的发票转让指令,不然交易就会失败。买方确认收货时,可向SCC提供物流账本和发票账本的转让份额为以商品的加密单价为乘数的3D零知识证明。
在一些可行的实施方式中,买方可通过SCC发起发票账本转让,以将自己在订单账本上的订单账户(即买方订单账户)下的商品总额(即10000*100=1000000)转入卖方发票账户下。这里,发票账本转让的发起也是买方确认收货的证据。买方将两个账本(包括物流账本和发票账本)的转账指令同时发给SCC,并提供两个账本的转让份额是以加密单价为乘数的3D零知识证明。SCC会通过买方提供的3D零知识证明自动判断发票账本的转让份额是不是物流账本转让的份额乘以加密单价。若通过SCC基于3D零知识证明验证物流账本上的转让份额与商品的加密单价的乘积等于发票账本的转让份额,买方则可成功更新物流账本中买方物流账户的商品总量,并更新发票账本以将买方订单账户下的商品总额从买方发票账户转入卖方发票账户,发票形成,即本次交易成功。若通过SCC基于3D零知识证明验证物流账本上的转让份额与商品的加密单价的乘积不等于发票账本的转让份额,则全部操作回滚,即发票账本更新失败,也就是本次交易失败。
在本申请实施例中,基于上述各个步骤可实现在商品交易过程中各个参与方的数据追随,在商品的交易过程中各个参与方在各类属性账本中的账户之间的数据转移均无需共享数据内容,各个账户之间的数据转移均可商品单价加密的状态下执行,从而可实现在保证各个参与方的数据隐私的同时完成数据的交叉验证,操作更灵活,适用性更强。
在本申请实施例中,买方从卖方订购商品的交易完成之后,买卖双方均可以使用该商品交易的订单或者发票作为商品融资的依据,从而可用于实现与任一融资方(比如任一银行)融资交互过程中的数据交叉验证。为方便描述,下面将以订单作为商品融资的依据为例,对本申请实施例提供的卖方的商品融资进行说明。
参见图2,图2是本申请实施例提供的基于零知识证明的供应链数据管理方法的一流程示意图。在图2所示的供应链数据管理方法可适用于买方的融资,该方法可包括如下步骤:
S81,当买方需要上述商品的订单进行融资时,买方在上述区块链网络上创建买方订单融资账本,并通过SCC在上述买方订单融资账本上创建买方订单融资账户。
在一些可行的实施方式中,买方通过SCC初始化买方订单融资账本,并通过SCC为自己在该买方订单融资账本生成账户。为方便描述,这里买方通过SCC为自己在买方订单融资账本上生成的账户可简称为买方订单融资账户。
S82,买方通过SCC生成上述买方订单融资账本的融资总额,并提供上述融资总额等于上述订单账本上的上述商品总额的3D零知识证明。
S83,若买方通过上述SCC基于上述3D零知识证明验证上述融资总额等于上述商品总额,则将上述融资总额注入上述买方订单融资账户。
在一些可行的实施方式中,卖方订单账户在订单账本上的商品总额是在商品交易时买方转入的,因此,买方也知道卖方订单账户的商品总额,该商品总额为买卖双方认可的份额。SCC通过3D零知识证明验证新生成的买方订单融资账本的总份额(即买方订单融资 账本的融资总额)等于对应订单账本(即上述买方从卖方订购商品时生成的订单账本)的商品总额。如果SCC验证上述买方订单融资账本的融资总额等于对应订单账本的商品总额,则确定上述买方订单融资账本检验成功,进而可将生成的买方订单融资账本的融资总额注入到买方在该买方订单融资账本的账户(即买方订单融资账户)下。此时,SCC可记录买方订单融资账本和订单账本的链接。如果SCC验证上述买方订单融资账本的融资总额不等于对应订单账本的商品总额,则确定上述买方订单融资账本检验失败,进而可确定买方订单融资账本创建失败,此时买方将无法完成基于该订单账本的融资。
S84,当买方获得任一融资方的融资时,买方将上述买方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。
在一些可行的实施方式中,买方订单融资账本创建成功之后,当买方获得任一融资方的融资时,买方则可将上述买方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。比如,如果买方获得银行A的融资,买方需要将与融资对应的份额(即买方订单融资账户上的融资总额)转移到银行A的账户下,以实现基于上述订单账本的融资。
在本申请实施例中,买方可基于零知识证明实现基于订单的商品融资,操作简单,可适用于不愿意接受数据共享的各个商业机构,适用性更强。
参见图3,图3是本申请实施例提供的基于零知识证明的供应链数据管理方法的另一流程示意图。在图3所示的供应链数据管理方法可适用于卖方的融资,该方法可包括如下步骤:
S91,当卖方需要上述商品的订单进行融资时,卖方在上述区块链网络上创建卖方订单融资账本,并通过SCC在上述卖方订单融资账本上创建卖方订单融资账户。
在一些可行的实施方式中,卖方通过SCC初始化卖方订单融资账本,并通过SCC为自己在该卖方订单融资账本生成账户。为方便描述,这里卖方通过SCC为自己在卖方订单融资账本上生成的账户可简称为卖方订单融资账户。
S92,卖方通过SCC生成上述卖方订单融资账本的融资总额,并提供上述融资总额等于上述订单账本上的上述商品总额的3D零知识证明。
S93,若卖方通过上述SCC基于上述3D零知识证明验证上述融资总额等于上述商品总额,则将上述融资总额注入上述卖方订单融资账户。
在一些可行的实施方式中,卖方订单账户在订单账本上的商品总额是在商品交易时买方转入的,因此,买方也知道卖方订单账户的商品总额,即卖方订单账户上的商品总额为买卖双方都认可的份额。卖方可向SCC提供上述卖方订单融资账本上的融资总额等于上述订单账本上的商品总额的3D零知识证明。SCC通过3D零知识证明验证新生成的卖方订单融资账本的总份额(即卖方订单融资账本的融资总额)等于对应订单账本(即上述买方从卖方订购商品时生成的订单账本)的商品总额。如果SCC验证上述买方订单融资账本的融资总额等于对应订单账本的商品总额,则确定上述卖方订单融资账本检验成功,进而可将生成的卖方订单融资账本的融资总额注入到卖方在该卖方订单融资账本的账户(即卖方订单融资账户)下。此时,SCC可记录卖方订单融资账本和订单账本的链接。如果SCC验证上述卖方订单融资账本的融资总额不等于对应订单账本的商品总额,则确定上述卖方订单融资账本检验失败,进而可确定卖方订单融资账本创建失败,此时卖方将无法完成基于该订单账本的融资。
S94,当上述卖方获得任一融资方的融资时,上述卖方将上述卖方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。
在一些可行的实施方式中,卖方订单融资账本创建成功之后,当卖方获得任一融资方 的融资时,卖方则可将上述卖方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。比如,如果卖方获得银行A的融资,卖方需要将与融资对应的份额(即卖方订单融资账户上的融资总额)转移到银行A的账户下,以实现基于上述订单账本的融资。
在本申请实施例中,卖方可基于零知识证明实现基于订单的商品融资,操作简单,可适用于不愿意接受数据共享的各个商业机构,适用性更强。
参见图4,图4是本申请实施例提供的基于零知识证明的供应链数据管理装置的一结构示意图。上述装置适用于买方在供应链中实现商品数据管理,上述装置包括:
创建单元41,用于在供应链的订单生成环节中,在区块链网络中创建商品的订单账本,通过智能加密合约SCC在上述订单账本上创建买方订单账户,通过SCC设置上述订单账本的商品总额并将上述商品总额注入上述买方订单账户。
上述创建单元41,还用于在上述订单生成环节中,通过SCC为卖方在上述订单账本上创建卖方订单账户,并为上述卖方订单账户转入上述商品总额。
确认单元42,用于在确认收货环节中,在上述买方签收上述商品时并向SCC发起上述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供上述物流账本和上述发票账本的转让份额为以上述商品的加密单价为乘数的3D零知识证明。
更新单元43,用于在当上述确认单元通过SCC基于上述3D零知识证明验证上述物流账本上的转让份额与上述商品的加密单价的乘积等于上述发票账本的转让份额时,更新上述物流账本中买方物流账户的商品总量,并更新上述发票账本以将上述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
在一些可行的实施方式中,上述装置还包括:
加密单元44,用于在上述区块链网络中为上述商品的单价进行加密以得到上述商品的加密单价,并将上述商品的加密单价存储至上述区块链网络中。
在一些可行的实施方式中,上述创建单元41用于:
获取卖方的卖方标识信息,并通过SCC结合上述卖方标识信息为上述卖方在上述订单账本上创建卖方订单账户;
其中,上述卖方标识信息包括上述卖方的公钥和上述卖方的数字证书中的至少一种。
在一些可行的实施方式中,上述装置还包括融资处理单元45;
上述创建单元41,还用于当上述买方需要上述商品的订单进行融资时,在上述区块链网络上创建买方订单融资账本,并通过SCC在上述买方订单融资账本上创建买方订单融资账户;
上述融资处理单元45,用于通过SCC生成上述买方订单融资账本的融资总额,并提供上述融资总额等于上述订单账本上的上述商品总额的3D零知识证明;
上述融资处理单元45,还用于在通过上述SCC基于上述3D零知识证明验证上述融资总额等于上述商品总额时,将上述融资总额注入上述买方订单融资账户;
上述融资处理单元45,还用于在上述买方获得任一融资方的融资时,将上述买方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。
具体实现中,上述基于零知识证明的供应链数据管理装置可通过其内置的各个功能单元执行上述实施例中各个步骤所提供的买方侧实现方式。可选的,上述创建单元41可用于执行上述实施例的各个步骤中各个账本的创建以及各个账本中各个账户的创建所对应的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述确认单元42可用于实现上述买方确认收货环节中相应的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述更新单元43可用于执行上述实施例中买方确认收货后的物流 账本和/或发票账本的更新所对应的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述加密单元44可用于执行上述商品单价的加密所对应的实现方式,具体可参见上述实施例中相应的实现方式,在此不再赘述。上述融资处理单元45可用于执行上述买方基于商品交易的订单进行的融资操作所对应的实现方式,具体可参见上述实施例中相应的实现方式,在此不再赘述。
在本申请实施例中,基于上述各个步骤可实现在商品交易过程中各个参与方的数据追随,在商品的交易过程中各个参与方在各类属性账本中的账户之间的数据转移均无需共享数据内容,各个账户之间的数据转移均可商品单价加密的状态下执行,从而可实现在保证各个参与方的数据隐私的同时完成数据的交叉验证,操作更灵活,适用性更强。在本申请实施例中,买方从卖方订购商品的交易完成之后,买方可以使用该商品交易的订单或者发票作为商品融资的依据,从而可用于实现与任一融资方(比如任一银行)融资交互过程中的数据交叉验证。基于零知识证明实现基于订单的商品融资,操作简单,可适用于不愿意接受数据共享的各个商业机构,适用性更强。
参见图5,图5是本申请实施例提供的基于零知识证明的供应链数据管理装置的另一结构示意图。上述装置适用于卖方在供应链中实现商品数据管理,上述装置包括:
确认单元51,用于在供应链的订单生成环节中,通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认上述订单账本。
创建单元52,用于在商品运货环节中,创建商品的物流账本,通过SCC在上述物流账本上创建卖方物流账户,并通过SCC设置上述物流账本的商品总量并将上述商品总量注入上述卖方物流账户,并向SCC提供上述商品总量与上述加密单价的乘积等于上述卖方订单账户上的上述商品总额的3D零知识证明。
上述创建单元52,还用于在通过SCC基于上述3D零知识证明验证上述商品总量与上述加密单价的乘积等于上述商品总额时,通过SCC在上述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户。
数据处理单元53,用于在上述卖方开始运货时,通过SCC将上述商品总量转入上述物流方物流账户以通过物流方将上述商品总量转入上述仓储方物流账户并在上述买方确认收货时从上述仓储方物流账户转入上述买方物流账户。
在一些可行的实施方式中,在上述商品运货环节中,上述创建单元52还用于:
在区块链网络中创建商品的发票账本,通过SCC在上述发票账本上创建卖方发票账户并为上述卖方发票账户注入初始份额,并向SCC提供上述初始份额为上述卖方订单账户中的上述商品总额的3D零知识证明;
通过SCC为买方在上述发票账本上创建买方发票账户并将上述卖方发票账户中的上述初始份额转入上述买方发票账户。
在一些可行的实施方式中,上述创建单元52用于:
获取物流方的物流方标识信息,并通过SCC结合上述物流方标识信息为上述物流方在上述物流账本上创建物流方物流账户;
获取仓储方的仓储方标识信息,并通过SCC结合上述仓储方标识信息为上述仓储方在上述物流账本上创建仓储方物流账户;
获取买方的买方标识信息,并通过SCC结合上述买方标识信息为上述买方在上述物流账本上创建买方物流账户;
其中,上述卖方标识信息包括上述卖方的公钥和上述卖方的数字证书中的至少一种,上述仓储方标识信息包括上述仓储方的公钥和上述仓储方的数字证书中的至少一种,上述买方标识信息包括上述买方的公钥和上述买方的数字证书中的至少一种。
在一些可行的实施方式中,上述装置还包括融资处理单元54;
上述创建单元52,还用于当上述卖方需要上述商品的订单进行融资时在上述区块链网络上创建卖方订单融资账本,并通过SCC在上述卖方订单融资账本上创建卖方订单融资账户;
上述融资处理单元54,用于通过SCC生成上述卖方订单融资账本的融资总额,并提供上述融资总额等于上述订单账本上的上述商品总额的3D零知识证明;
上述融资处理单元54,还用于在上述卖方通过上述SCC基于上述3D零知识证明验证上述融资总额等于上述商品总额时,将上述融资总额注入上述卖方订单融资账户;
上述融资处理单元54,用于在上述卖方获得任一融资方的融资时,将上述买方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。
具体实现中,上述基于零知识证明的供应链数据管理装置(即卖方侧装置)可通过其内置的各个功能单元执行上述实施例中各个步骤所提供的卖方侧实现方式。可选的,上述确认单元51可用于执行上述实施例的各个步骤中对买方创建的订单账本的数字签名以确认上述订单账本对应的实现方式,具体可参见上述实施例中对应的实现方式,在此不再赘述。上述创建单元52可用于执行上述实施例的各个步骤中基于卖方实现的各个账本的创建以及各个账本中各个账户的创建对应的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述数据处理单元53可用于执行上述实施例中卖方开始运货的实现方式中商品总量的转移等所对应的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。上述融资处理单元45可用于执行上述卖方基于商品交易的订单进行的融资操作所对应的实现方式,具体可参见上述实施例中相应的实现方式,在此不再赘述。
在本申请实施例中,基于上述各个步骤可实现在商品交易过程中各个参与方的数据追随,在商品的交易过程中各个参与方在各类属性账本中的账户之间的数据转移均无需共享数据内容,各个账户之间的数据转移均可商品单价加密的状态下执行,从而可实现在保证各个参与方的数据隐私的同时完成数据的交叉验证,操作更灵活,适用性更强。在本申请实施例中,买方从卖方订购商品的交易完成之后,卖方均可以使用该商品交易的订单或者发票作为商品融资的依据,从而可用于实现与任一融资方(比如任一银行)融资交互过程中的数据交叉验证。基于零知识证明实现基于订单的商品融资,操作简单,可适用于不愿意接受数据共享的各个商业机构,适用性更强。
参见图6,图6是本申请实施例提供的终端的一示意性框图。如图6所示,本实施例中的终端可适用于中买方侧,该终端可以包括:一个或多个处理器601和存储器602。上述处理器601和存储器602通过总线603连接。存储器602用于存储计算机程序,上述计算机程序包括程序指令,处理器601用于执行存储器602存储的程序指令。其中,处理器601被配置用于调用该程序指令执行如下操作:
在供应链的订单生成环节中,在区块链网络中创建商品的订单账本,通过智能加密合约SCC在上述订单账本上创建买方订单账户,通过SCC设置上述订单账本的商品总额并将上述商品总额注入上述买方订单账户;
在上述订单生成环节中,通过SCC为卖方在上述订单账本上创建卖方订单账户,并为上述卖方订单账户转入上述商品总额;
在确认收货环节中,签收上述商品并向SCC发起上述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供上述物流账本和上述发票账本的转让份额为以上述商品的加密单价为乘数的3D零知识证明;
当通过SCC基于上述3D零知识证明验证上述物流账本上的转让份额与上述商品的加密单价的乘积等于上述发票账本的转让份额时,更新上述物流账本中买方物流账户的商品 总量,并更新上述发票账本以将上述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
在一些可行的实施方式中,上述处理器601还用于:
在上述区块链网络中为上述商品的单价进行加密以得到上述商品的加密单价,并将上述商品的加密单价存储至上述区块链网络中。
在一些可行的实施方式中,上述处理器601用于:
获取卖方的卖方标识信息,并通过SCC结合上述卖方标识信息为上述卖方在上述订单账本上创建卖方订单账户;
其中,上述卖方标识信息包括上述卖方的公钥和上述卖方的数字证书中的至少一种。
在一些可行的实施方式中,上述处理器601还用于:
当买方需要上述商品的订单进行融资时,在上述区块链网络上创建买方订单融资账本,并通过SCC在上述买方订单融资账本上创建买方订单融资账户;
通过SCC生成上述买方订单融资账本的融资总额,并提供上述融资总额等于上述订单账本上的上述商品总额的3D零知识证明;
若通过上述SCC基于上述3D零知识证明验证上述融资总额等于上述商品总额,则将上述融资总额注入上述买方订单融资账户;
当上述买方获得任一融资方的融资时,将上述买方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。
应当理解,在一些可行的实施方式中,上述处理器601可以是中央处理单元(central processing unit,CPU),该处理器601还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器601可执行本申请实施例提供的基于零知识证明的供应链数据管理方法中买方侧所提供的实现方式,也可执行本申请实施例所描述的基于零知识证明的供应链数据管理装置中买方侧装置的实现方式,在此不再赘述。
在本申请实施例中,基于上述各个步骤可实现在商品交易过程中各个参与方的数据追随,在商品的交易过程中各个参与方在各类属性账本中的账户之间的数据转移均无需共享数据内容,各个账户之间的数据转移均可商品单价加密的状态下执行,从而可实现在保证各个参与方的数据隐私的同时完成数据的交叉验证,操作更灵活,适用性更强。在本申请实施例中,买方从卖方订购商品的交易完成之后,卖方均可以使用该商品交易的订单或者发票作为商品融资的依据,从而可用于实现与任一融资方(比如任一银行)融资交互过程中的数据交叉验证。基于零知识证明实现基于订单的商品融资,操作简单,可适用于不愿意接受数据共享的各个商业机构,适用性更强。
参见图7,图7是本申请实施例提供的终端的另一示意性框图。如图7所示,本实施例中的终端可适用于中卖方侧,该终端可以包括:一个或多个处理器701和存储器702。上述处理器701和存储器702通过总线703连接。存储器702用于存储计算机程序,上述计算机程序包括程序指令,处理器701用于执行存储器602存储的程序指令。其中,处理器701被配置用于调用该程序指令执行如下操作:
在供应链的订单生成环节中,通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认上述订单账本;
在商品运货环节中,创建商品的物流账本,通过SCC在上述物流账本上创建卖方物流账户,并通过SCC设置上述物流账本的商品总量并将上述商品总量注入上述卖方物流账户,并向SCC提供上述商品总量与上述加密单价的乘积等于上述卖方订单账户上的上述商品总额的3D零知识证明;
当通过SCC基于上述3D零知识证明验证上述商品总量与上述加密单价的乘积等于上述商品总额时,通过SCC在上述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户;
在卖方开始运货时通过SCC将上述商品总量转入上述物流方物流账户以通过物流方将上述商品总量转入上述仓储方物流账户并在上述买方确认收货时从上述仓储方物流账户转入上述买方物流账户。
在一些可行的实施方式中,上述处理器701还用于:
在上述商品运货环节中,在区块链网络中创建商品的发票账本,通过SCC在上述发票账本上创建卖方发票账户并为上述卖方发票账户注入初始份额,并向SCC提供上述初始份额为上述卖方订单账户中的上述商品总额的3D零知识证明;
在上述商品运货环节中,通过SCC为买方在上述发票账本上创建买方发票账户并将上述卖方发票账户中的上述初始份额转入上述买方发票账户。
在一些可行的实施方式中,上述处理器701用于:
获取物流方的物流方标识信息,并通过SCC结合上述物流方标识信息为上述物流方在上述物流账本上创建物流方物流账户;
获取仓储方的仓储方标识信息,并通过SCC结合上述仓储方标识信息为上述仓储方在上述物流账本上创建仓储方物流账户;
获取买方的买方标识信息,并通过SCC结合上述买方标识信息为上述买方在上述物流账本上创建买方物流账户;
其中,上述卖方标识信息包括上述卖方的公钥和上述卖方的数字证书中的至少一种,上述仓储方标识信息包括上述仓储方的公钥和上述仓储方的数字证书中的至少一种,上述买方标识信息包括上述买方的公钥和上述买方的数字证书中的至少一种。
在一些可行的实施方式中,上述处理器701还用于:
当上述卖方需要上述商品的订单进行融资时,在上述区块链网络上创建卖方订单融资账本,并通过SCC在上述卖方订单融资账本上创建卖方订单融资账户;
通过SCC生成上述卖方订单融资账本的融资总额,并提供上述融资总额等于上述订单账本上的上述商品总额的3D零知识证明;
若通过上述SCC基于上述3D零知识证明验证上述融资总额等于上述商品总额,则将上述融资总额注入上述卖方订单融资账户;
当上述卖方获得任一融资方的融资时,将上述卖方订单融资账户上的上述融资总额转移至上述任一融资方的账户以完成上述商品的订单融资。
应当理解,在一些可行的实施方式中,上述处理器701可以是CPU,该处理器701还可以是其他通用处理器、DSP、ASIC、FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器。例如,存储器702还可以 存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器701可执行本申请实施例提供的基于零知识证明的供应链数据管理方法中卖方侧所提供的实现方式,也可执行本申请实施例所描述的基于零知识证明的供应链数据管理装置中卖方侧装置的实现方式,在此不再赘述。
在本申请实施例中,基于上述各个步骤可实现在商品交易过程中各个参与方的数据追随,在商品的交易过程中各个参与方在各类属性账本中的账户之间的数据转移均无需共享数据内容,各个账户之间的数据转移均可商品单价加密的状态下执行,从而可实现在保证各个参与方的数据隐私的同时完成数据的交叉验证,操作更灵活,适用性更强。在本申请实施例中,买方从卖方订购商品的交易完成之后,卖方均可以使用该商品交易的订单或者发票作为商品融资的依据,从而可用于实现与任一融资方(比如任一银行)融资交互过程中的数据交叉验证。基于零知识证明实现基于订单的商品融资,操作简单,可适用于不愿意接受数据共享的各个商业机构,适用性更强。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现上述实施例提供的基于零知识证明的供应链数据管理方法中买方侧所执行的实现方式,具体细节请参照上述实施例提供的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现上述实施例提供的基于零知识证明的供应链数据管理方法中卖方侧所执行的实现方式,具体细节请参照上述实施例提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例所提供的基于零知识证明的供应链数据管理装置或电子设备的内部存储单元,该计算机可读存储介质也可以是该电子设备的外部存储设备。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

  1. 一种基于零知识证明的供应链数据管理方法,其特征在于,所述方法适用于买方在供应链中实现商品数据管理,所述方法包括:
    在供应链的订单生成环节中,买方在区块链网络中创建商品的订单账本,通过智能加密合约SCC在所述订单账本上创建买方订单账户,通过SCC设置所述订单账本的商品总额并将所述商品总额注入所述买方订单账户;
    在所述订单生成环节中,所述买方通过SCC为卖方在所述订单账本上创建卖方订单账户,并为所述卖方订单账户转入所述商品总额;
    在确认收货环节中,所述买方签收所述商品并向SCC发起所述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供所述物流账本和所述发票账本的转让份额为以所述商品的加密单价为乘数的3D零知识证明;
    当所述买方通过SCC基于所述3D零知识证明验证所述物流账本上的转让份额与所述商品的加密单价的乘积等于所述发票账本的转让份额时,所述买方更新所述物流账本中买方物流账户的商品总量,并更新所述发票账本以将所述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
  2. 根据权利要求1所述的方法,其特征在于,在所述买方在区块链网络中创建商品的订单账本之前,所述方法还包括:
    所述买方在所述区块链网络中为所述商品的单价进行加密以得到所述商品的加密单价,并将所述商品的加密单价存储至所述区块链网络中。
  3. 根据权利要求1或2所述的方法,其特征在于,所述买方通过SCC为卖方在所述订单账本上创建卖方订单账户包括:
    所述买方获取卖方的卖方标识信息,并通过SCC结合所述卖方标识信息为所述卖方在所述订单账本上创建卖方订单账户;
    其中,所述卖方标识信息包括所述卖方的公钥和所述卖方的数字证书中的至少一种。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    当所述买方需要所述商品的订单进行融资时,所述买方在所述区块链网络上创建买方订单融资账本,并通过SCC在所述买方订单融资账本上创建买方订单融资账户;
    所述买方通过SCC生成所述买方订单融资账本的融资总额,并提供所述融资总额等于所述订单账本上的所述商品总额的3D零知识证明;
    若所述买方通过所述SCC基于所述3D零知识证明验证所述融资总额等于所述商品总额,则将所述融资总额注入所述买方订单融资账户;
    当所述买方获得任一融资方的融资时,所述买方将所述买方订单融资账户上的所述融资总额转移至所述任一融资方的账户以完成所述商品的订单融资。
  5. 一种基于零知识证明的供应链数据管理方法,其特征在于,所述方法适用于卖方在供应链中实现商品数据管理,所述方法包括:
    在供应链的订单生成环节中,卖方通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认所述订单账本;
    在商品运货环节中,所述卖方创建商品的物流账本,通过SCC在所述物流账本上创建卖方物流账户,并通过SCC设置所述物流账本的商品总量并将所述商品总量注入所述卖方物流账户,并向SCC提供所述商品总量与所述加密单价的乘积等于所述卖方订单账户上的所述商品总额的3D零知识证明;
    当所述卖方通过SCC基于所述3D零知识证明验证所述商品总量与所述加密单价的乘积等于所述商品总额时,通过SCC在所述物流账本上创建物流方物流账户、仓储方物流账 户以及买方物流账户;
    所述卖方开始运货并通过SCC将所述商品总量转入所述物流方物流账户以通过物流方将所述商品总量转入所述仓储方物流账户并在所述买方确认收货时转入所述买方物流账户。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    在所述商品运货环节中,所述卖方在区块链网络中创建商品的发票账本,通过SCC在所述发票账本上创建卖方发票账户并为所述卖方发票账户注入初始份额,并向SCC提供所述初始份额为所述卖方订单账户中的所述商品总额的3D零知识证明;
    在所述商品运货环节中,所述卖方通过SCC为买方在所述发票账本上创建买方发票账户并将所述卖方发票账户中的所述初始份额转入所述买方发票账户。
  7. 根据权利要求5或6所述的方法,其特征在于,所述通过SCC在所述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户包括:
    所述卖方获取物流方的物流方标识信息,并通过SCC结合所述物流方标识信息为所述物流方在所述物流账本上创建物流方物流账户;
    所述卖方获取仓储方的仓储方标识信息,并通过SCC结合所述仓储方标识信息为所述仓储方在所述物流账本上创建仓储方物流账户;
    所述卖方获取买方的买方标识信息,并通过SCC结合所述买方标识信息为所述买方在所述物流账本上创建买方物流账户;
    其中,所述卖方标识信息包括所述卖方的公钥和所述卖方的数字证书中的至少一种,所述仓储方标识信息包括所述仓储方的公钥和所述仓储方的数字证书中的至少一种,所述买方标识信息包括所述买方的公钥和所述买方的数字证书中的至少一种。
  8. 一种基于零知识证明的供应链数据管理装置,其特征在于,所述装置适用于买方在供应链中实现商品数据管理,所述装置包括:
    创建单元,用于在供应链的订单生成环节中,在区块链网络中创建商品的订单账本,通过智能加密合约SCC在所述订单账本上创建买方订单账户,通过SCC设置所述订单账本的商品总额并将所述商品总额注入所述买方订单账户;
    所述创建单元,还用于在所述订单生成环节中,通过SCC为卖方在所述订单账本上创建卖方订单账户,并为所述卖方订单账户转入所述商品总额;
    确认单元,用于在确认收货环节中,在所述买方签收所述商品时并向SCC发起所述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供所述物流账本和所述发票账本的转让份额为以所述商品的加密单价为乘数的3D零知识证明;
    更新单元,用于在当所述确认单元通过SCC基于所述3D零知识证明验证所述物流账本上的转让份额与所述商品的加密单价的乘积等于所述发票账本的转让份额时,更新所述物流账本中买方物流账户的商品总量,并更新所述发票账本以将所述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
  9. 根据权利要求8所述的装置,其特征在于,所述装置还包括:
    加密单元,用于在所述区块链网络中为所述商品的单价进行加密以得到所述商品的加密单价,并将所述商品的加密单价存储至所述区块链网络中。
  10. 根据权利要求8或9所述的装置,其特征在于,所述创建单元用于:
    获取卖方的卖方标识信息,并通过SCC结合所述卖方标识信息为所述卖方在所述订单账本上创建卖方订单账户;
    其中,所述卖方标识信息包括所述卖方的公钥和所述卖方的数字证书中的至少一种。
  11. 根据权利要求10所述的装置,其特征在于,所述装置还包括融资处理单元;
    所述创建单元,还用于当所述买方需要所述商品的订单进行融资时,在所述区块链网 络上创建买方订单融资账本,并通过SCC在所述买方订单融资账本上创建买方订单融资账户;
    所述融资处理单元,用于通过SCC生成所述买方订单融资账本的融资总额,并提供所述融资总额等于所述订单账本上的所述商品总额的3D零知识证明;
    所述融资处理单元,还用于在通过所述SCC基于所述3D零知识证明验证所述融资总额等于所述商品总额时,将所述融资总额注入所述买方订单融资账户;
    所述融资处理单元,还用于在所述买方获得任一融资方的融资时,将所述买方订单融资账户上的所述融资总额转移至所述任一融资方的账户以完成所述商品的订单融资。
  12. 一种基于零知识证明的供应链数据管理装置,其特征在于,所述装置适用于卖方在供应链中实现商品数据管理,所述装置包括:
    确认单元,用于在供应链的订单生成环节中,通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认所述订单账本;
    创建单元,用于在商品运货环节中,创建商品的物流账本,通过SCC在所述物流账本上创建卖方物流账户,并通过SCC设置所述物流账本的商品总量并将所述商品总量注入所述卖方物流账户,并向SCC提供所述商品总量与所述加密单价的乘积等于所述卖方订单账户上的所述商品总额的3D零知识证明;
    所述创建单元,还用于在通过SCC基于所述3D零知识证明验证所述商品总量与所述加密单价的乘积等于所述商品总额时,通过SCC在所述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户;
    数据处理单元,用于在所述卖方开始运货时,通过SCC将所述商品总量转入所述物流方物流账户以通过物流方将所述商品总量转入所述仓储方物流账户并在所述买方确认收货时转入所述买方物流账户。
  13. 根据权利要求12所述的装置,其特征在于,所述创建单元还用于:
    在区块链网络中创建商品的发票账本,通过SCC在所述发票账本上创建卖方发票账户并为所述卖方发票账户注入初始份额,并向SCC提供所述初始份额为所述卖方订单账户中的所述商品总额的3D零知识证明;
    通过SCC为买方在所述发票账本上创建买方发票账户并将所述卖方发票账户中的所述初始份额转入所述买方发票账户。
  14. 根据权利要求12或13所述的装置,其特征在于,所述创建单元用于:
    获取物流方的物流方标识信息,并通过SCC结合所述物流方标识信息为所述物流方在所述物流账本上创建物流方物流账户;
    获取仓储方的仓储方标识信息,并通过SCC结合所述仓储方标识信息为所述仓储方在所述物流账本上创建仓储方物流账户;
    获取买方的买方标识信息,并通过SCC结合所述买方标识信息为所述买方在所述物流账本上创建买方物流账户;
    其中,所述卖方标识信息包括所述卖方的公钥和所述卖方的数字证书中的至少一种,所述仓储方标识信息包括所述仓储方的公钥和所述仓储方的数字证书中的至少一种,所述买方标识信息包括所述买方的公钥和所述买方的数字证书中的至少一种。
  15. 一种终端,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下操作:
    在供应链的订单生成环节中,在区块链网络中创建商品的订单账本,通过智能加密合约SCC在所述订单账本上创建买方订单账户,通过SCC设置所述订单账本的商品总额并 将所述商品总额注入所述买方订单账户;
    在所述订单生成环节中,通过SCC为卖方在所述订单账本上创建卖方订单账户,并为所述卖方订单账户转入所述商品总额;
    在确认收货环节中,签收所述商品并向SCC发起所述商品的物流账本和发票账本的转让指令以确认收货,并向SCC提供所述物流账本和所述发票账本的转让份额为以所述商品的加密单价为乘数的3D零知识证明;
    当通过SCC基于所述3D零知识证明验证所述物流账本上的转让份额与所述商品的加密单价的乘积等于所述发票账本的转让份额时,更新所述物流账本中买方物流账户的商品总量,并更新所述发票账本以将所述买方订单账户下的商品总额从买方发票账户转入卖方发票账户。
  16. 根据权利要求15所述的终端,其特征在于,所述处理器还用于:
    当买方需要所述商品的订单进行融资时,在所述区块链网络上创建买方订单融资账本,并通过SCC在所述买方订单融资账本上创建买方订单融资账户;
    通过SCC生成所述买方订单融资账本的融资总额,并提供所述融资总额等于所述订单账本上的所述商品总额的3D零知识证明;
    若通过所述SCC基于所述3D零知识证明验证所述融资总额等于所述商品总额,则将所述融资总额注入所述买方订单融资账户;
    当所述买方获得任一融资方的融资时,将所述买方订单融资账户上的所述融资总额转移至所述任一融资方的账户以完成所述商品的订单融资。
  17. 一种终端,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下操作:
    在供应链的订单生成环节中,通过智能加密合约SCC对转入订单账本上的卖方订单账户的商品总额进行数字签名以确认所述订单账本;
    在商品运货环节中,创建商品的物流账本,通过SCC在所述物流账本上创建卖方物流账户,并通过SCC设置所述物流账本的商品总量并将所述商品总量注入所述卖方物流账户,并向SCC提供所述商品总量与所述加密单价的乘积等于所述卖方订单账户上的所述商品总额的3D零知识证明;
    当通过SCC基于所述3D零知识证明验证所述商品总量与所述加密单价的乘积等于所述商品总额时,通过SCC在所述物流账本上创建物流方物流账户、仓储方物流账户以及买方物流账户;
    在卖方开始运货时通过SCC将所述商品总量转入所述物流方物流账户以通过物流方将所述商品总量转入所述仓储方物流账户并在所述买方确认收货时从所述仓储方物流账户转入所述买方物流账户。
  18. 根据权利要求17所述的终端,其特征在于,所述处理器还用于:
    在所述商品运货环节中,在区块链网络中创建商品的发票账本,通过SCC在所述发票账本上创建卖方发票账户并为所述卖方发票账户注入初始份额,并向SCC提供所述初始份额为所述卖方订单账户中的所述商品总额的3D零知识证明;
    在所述商品运货环节中,通过SCC为买方在所述发票账本上创建买方发票账户并将所述卖方发票账户中的所述初始份额转入所述买方发票账户。
  19. 根据权利要求17或18所述的终端,其特征在于,所述处理器用于:
    获取物流方的物流方标识信息,并通过SCC结合所述物流方标识信息为所述物流方在所述物流账本上创建物流方物流账户;
    获取仓储方的仓储方标识信息,并通过SCC结合所述仓储方标识信息为所述仓储方在所述物流账本上创建仓储方物流账户;
    获取买方的买方标识信息,并通过SCC结合所述买方标识信息为所述买方在所述物流账本上创建买方物流账户;
    其中,所述卖方标识信息包括所述卖方的公钥和所述卖方的数字证书中的至少一种,所述仓储方标识信息包括所述仓储方的公钥和所述仓储方的数字证书中的至少一种,所述买方标识信息包括所述买方的公钥和所述买方的数字证书中的至少一种。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-7任一项所述的方法。
PCT/CN2019/101950 2019-05-07 2019-08-22 基于零知识证明的供应链数据管理方法及装置 WO2020224092A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910382454.2A CN110223063B (zh) 2019-05-07 2019-05-07 基于零知识证明的供应链数据管理方法及装置
CN201910382454.2 2019-05-07

Publications (1)

Publication Number Publication Date
WO2020224092A1 true WO2020224092A1 (zh) 2020-11-12

Family

ID=67820722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/101950 WO2020224092A1 (zh) 2019-05-07 2019-08-22 基于零知识证明的供应链数据管理方法及装置

Country Status (2)

Country Link
CN (1) CN110223063B (zh)
WO (1) WO2020224092A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11854056B2 (en) 2021-03-25 2023-12-26 Ebay Inc. Buyer initiated automatic seller account creation for item

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553792A (zh) * 2020-03-24 2020-08-18 平安科技(深圳)有限公司 基于区块链的数据验证方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108109017A (zh) * 2018-01-11 2018-06-01 杭州秘猿科技有限公司 基于区块链智能合约的商品交易系统
CN108389046A (zh) * 2018-02-07 2018-08-10 西安交通大学 一种电子商务中基于区块链技术的隐私保护交易方法
US20180232731A1 (en) * 2017-02-14 2018-08-16 Digital Treasury Corporation Supply chain recording method with traceable function by implementing blockchain technique
CN109102285A (zh) * 2018-07-30 2018-12-28 上海淳麒金融信息服务有限公司 基于区块链双链结构的供应链金融实现方法及其控制系统
CN109584055A (zh) * 2018-09-20 2019-04-05 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418689B (zh) * 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
MX2019009412A (es) * 2018-12-21 2019-10-02 Alibaba Group Holding Ltd Proteccion de datos de cadena de bloques con base en modelo de cuenta generico y cifrado homomorfico.
BR112019014629A2 (pt) * 2018-12-21 2021-07-20 Advanced New Technologies Co., Ltd. método implementado por computador, meio de armazenamento legível por computador e sistema

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180232731A1 (en) * 2017-02-14 2018-08-16 Digital Treasury Corporation Supply chain recording method with traceable function by implementing blockchain technique
CN108109017A (zh) * 2018-01-11 2018-06-01 杭州秘猿科技有限公司 基于区块链智能合约的商品交易系统
CN108389046A (zh) * 2018-02-07 2018-08-10 西安交通大学 一种电子商务中基于区块链技术的隐私保护交易方法
CN109102285A (zh) * 2018-07-30 2018-12-28 上海淳麒金融信息服务有限公司 基于区块链双链结构的供应链金融实现方法及其控制系统
CN109584055A (zh) * 2018-09-20 2019-04-05 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11854056B2 (en) 2021-03-25 2023-12-26 Ebay Inc. Buyer initiated automatic seller account creation for item

Also Published As

Publication number Publication date
CN110223063B (zh) 2023-06-20
CN110223063A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
Hasan et al. Blockchain-based proof of delivery of physical assets with single and multiple transporters
KR102355550B1 (ko) 블록체인을 기반으로 한 실물 자산의 디지털 자산화 방법, 장치 및 시스템
WO2020211462A1 (zh) 一种基于区块链的业务数据上链方法及其系统
CN110135819B (zh) 一种基于区块链的第三方可信数据交易系统及方法
JP5591431B2 (ja) セキュリティトランザクションプロトコル
CN108650077B (zh) 基于区块链的信息传输方法、终端、设备及可读存储介质
WO2019148783A1 (zh) 交易处理方法、装置、计算机设备和存储介质
JP2022542168A (ja) 透明な取引履歴の管理を可能にする資産取引システム
US20230087360A1 (en) Stake pool of a system digital asset-backed data interaction system
Li et al. FAPS: A fair, autonomous and privacy-preserving scheme for big data exchange based on oblivious transfer, Ether cheque and smart contracts
TW201626301A (zh) 電子憑證產生裝置及其系統
WO2018018175A1 (zh) 物品的防伪验证装置及方法
WO2022134612A1 (zh) 隐私授权转账方法、设备和存储介质
JP5084746B2 (ja) ピアツーピアでのカルマおよび信頼を確立する方法ならびにその装置
CN106663272A (zh) 一种电子交易凭证管理系统
US7620585B2 (en) Electronic contract system
WO2020224092A1 (zh) 基于零知识证明的供应链数据管理方法及装置
CN116545773B (zh) 一种处理隐私数据的方法、介质及电子设备
CN112085551A (zh) 一种基于区块链的交易方法及相关设备
CN112801785A (zh) 基于区块链智能合约的公平数据交易方法及装置
US20200242573A1 (en) Cryptographic transactions supporting real world requirements
JP2008004042A (ja) 電子商取引方法
US20200134615A1 (en) System and methods for creating, transfering, and invoking a transferable promise
JP2020017069A (ja) 情報処理方法、情報処理装置、およびプログラム
US20150379511A1 (en) Cryptographic trust verification system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19928214

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19928214

Country of ref document: EP

Kind code of ref document: A1