Anonymous dual offline transaction method and system for digital currency
Through the central bank's digital currency system and trusted intermediaries, anonymous dual offline transactions of digital currencies are realized, solving the problem of not anonymous transactions in the existing technology and the inability to conduct dual offline transactions, protecting the identity information of traders and supporting multiple transaction processes.
Patent Information
- Application Number
- CN202011304842.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-19
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2040-11-19
AI Technical Summary
Existing digital currency trading methods cannot realize dual offline anonymous transactions, user identities are exposed, and the transaction process depends on online communication.
The central bank's digital currency system issues digital currencies to the issuing terminal and the receiving terminal respectively, and use trusted intermediaries to conduct dual offline transactions to ensure that both parties to the transaction do not understand each other's information.
Anonymous dual offline transactions are realized, which protects the identity information of traders and supports all types of transaction processes, including dual offline, issuer online payee offline, issuer offline payee online and both parties online transactions.
Smart Images

Figure CN114519574B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of digital currency, and in particular to an anonymous dual offline transaction method and system for digital currency. Background Art
[0002] The core elements of the digital currency D-RMB system of the People's Bank of China are one currency, two types of libraries and three centers. One currency, namely "D-RMB" (DC / EP), referred to as D currency, specifically refers to a string of encrypted digital strings representing a specific amount signed by the central bank. Two types of libraries: the D-RMB issuance library and the bank library (central bank digital currency database, commercial bank digital currency database). Digital currency in the issuance library is represented by the central bank's digital currency fund; digital currency in the bank library is represented by the commercial bank's inventory of digital cash. Three centers: one is the registration center (recording the entire process of currency generation, circulation, counting and verification, and extinction); the other two are certification centers, namely CA certification center (based on the PKI system, centralized management of institutional and user certificates, such as CFCA) and IBC certification center [that is, the certification center established based on identity-based cryptographic technology (Identity-Based Cryptograph)]. Two tables can be designed in the registration center, one is the digital currency ownership registration table, which records the ownership of digital currency, and the other is the transaction flow table.
[0003] The D-RMB system is a hierarchical system, which is jointly built by the central bank and commercial banks. The central bank digital currency system is a computer system operated and maintained by the central bank or an institution designated by the central bank to process information about digital currency. Its main functions include being responsible for the issuance and verification monitoring of digital currency. The commercial bank digital currency system is a computer system operated and maintained by commercial banks or institutions designated by commercial banks to process information about digital currency. It performs various currency-related functions of existing banks, namely banking functions, mainly including being directly responsible for meeting various needs of providing digital currency circulation services to the society after applying for digital currency from the central bank.
[0004] Patent CN201911053809 discloses an anonymous transaction method and system based on digital currency, but this method and system have some problems: only online transactions can be carried out, and the user's temporary identity can only be used for subsequent transaction processes when it is recognized by its own server. When the user cannot communicate with its own server, the payee of this method cannot use the user's temporary identity to verify its digital signature for the transaction (in a mathematical signature based on a digital certificate, since the user needs to hide his true identity, he cannot provide a digital certificate containing his true identity, and cannot prove the association between his temporary identity and his digital certificate, so he cannot use his digital certificate to verify his digital signature for the transaction; in a mathematical signature based on ID cryptography, since the user needs to hide his true identity, he cannot provide his true identity, and cannot prove the association between his temporary identity and his true identity, so he cannot use his true identity to verify his digital signature for the transaction). Therefore, the payee cannot recognize the legitimacy of the transaction and complete the entire transaction process without receiving any identity credentials from the sender.
[0005] Based on the above analysis, the existing technology of digital currency communication system has the following defects:
[0006] 1. Most of the existing digital currency transaction methods based on digital certificates or user IDs expose the user's identity;
[0007] 2. Existing digital currency anonymous transaction methods based on digital certificates or user IDs can ensure the anonymous identity of users but cannot perform anonymous transactions when both the payee and the payee are offline (i.e., double offline). Summary of the invention
[0008] In view of the problems in the related art, the present invention proposes a method to overcome the above technical problems existing in the existing related art.
[0009] To this end, the specific technical solution adopted by the present invention is as follows:
[0010] According to one aspect of the present invention, a method for anonymous dual offline transaction of digital currency is provided, the method comprising the following steps:
[0011] S1. Preparation stage: The central bank digital currency system issues digital currency to the payment terminal and the payment terminal respectively;
[0012] S2, dual offline transaction stage: the payment terminal and the payment terminal conduct dual offline transactions through a trusted intermediary;
[0013] S3, online transaction stage: using the central bank digital currency system to confirm transactions;
[0014] The central bank digital currency system in S1 issues digital currency to the payment terminal and the payment terminal respectively, including the following steps:
[0015] S11. The central bank digital currency system issues digital currency to payment terminals;
[0016] S12. The central bank digital currency system issues digital currency to payment terminals;
[0017] The central bank digital currency system in S11 specifically includes the following steps for issuing digital currency to the payment terminal:
[0018] The payment terminal generates a set of public-private key pairs and sends the public key to the corresponding payment issuing commercial bank. The payment issuing commercial bank sends the public key to the central bank digital currency system. The central bank digital currency system generates digital currencies of corresponding values according to the public key and currency value and sends them to the payment issuing commercial bank. The payment issuing commercial bank then sends the digital currency to the payment terminal.
[0019] The central bank digital currency system in S12 specifically includes the following steps to issue digital currency to the payment terminal:
[0020] The payment terminal generates a set of public-private key pairs and sends the public key to the corresponding payee commercial bank. The payee commercial bank sends the public key to the central bank digital currency system. The central bank digital currency system generates digital currencies of corresponding values based on the public key and currency value and sends them to the payee commercial bank. The payee commercial bank then sends the digital currency to the payment terminal.
[0021] Furthermore, the dual offline transaction between the payment sending terminal and the payment receiving terminal in S2 through a trusted intermediary includes the following steps:
[0022] S21. The trusted intermediary sends the second combination information to the payment terminal, and the payment terminal verifies the second combination information;
[0023] S22, the payment terminal sends the third combination information to the trusted intermediary, and the trusted intermediary verifies the third combination information;
[0024] S23, the trusted intermediary sends the fifth combination of information to the payment terminal, and the payment terminal verifies the fifth combination of information;
[0025] S24, the payment terminal sends the transaction to the payment terminal;
[0026] S25. The payment terminal confirms the transaction.
[0027] Furthermore, in S21, the trusted intermediary sends the second combination information to the payment terminal, and the payment terminal verifies the second combination information, specifically including the following steps:
[0028] S211, the trusted intermediary obtains the first timestamp, and combines the first timestamp and the ID of the trusted intermediary into first combination information, and signs the first timestamp with the private key of the trusted intermediary to obtain first signature information, then takes out the trusted intermediary digital certificate and combines the trusted intermediary ID, the first timestamp and the first signature information into second combination information, and sends the second combination information to the payment terminal;
[0029] S212. After receiving the second combination information, the payment terminal confirms that the first timestamp is the current time, and verifies the first signature information with the public key of the trusted intermediary, and verifies the digital certificate of the trusted intermediary at the same time. If the verification is successful, the payment terminal recognizes the trusted intermediary as the owner of the trusted intermediary digital certificate and proceeds to subsequent steps. Otherwise, the payment terminal confirms that the transaction has failed and does not proceed to subsequent steps.
[0030] Furthermore, in S22, the payment terminal sends the third combination information to the trusted intermediary, and the trusted intermediary verifies the third combination information, specifically including the following steps:
[0031] S221, the payment terminal generates a temporary public-private key pair of the payment terminal, and signs the temporary public key of the payment terminal and the first timestamp with the private key of the payment terminal to obtain second signature information, and at the same time takes out the digital certificate of the payment terminal and encrypts it with the public key of the trusted intermediary to obtain first encrypted information, and combines the temporary public key of the payment terminal, the first timestamp, the second signature information and the first encrypted information into third combination information, and sends the third combination information to the trusted intermediary;
[0032] S222. After receiving the third combination information, the trusted intermediary confirms the first timestamp, and uses the trusted intermediary private key to decrypt the first encrypted information to obtain the digital certificate of the payment terminal. At the same time, the second signature information is verified using the payment terminal public key in the payment terminal digital certificate. If the verification is successful, the identity of the payment terminal can be confirmed.
[0033] Furthermore, in S23, the trusted intermediary sends the fifth combination information to the payment terminal, and the payment terminal verifies the fifth combination information, specifically including the following steps:
[0034] S231, the trusted intermediary obtains the second timestamp, and forms the fourth combination information with the temporary public key of the payment receiving terminal received in step S222, and signs the fourth combination information with the trusted intermediary private key to obtain third signature information, and at the same time forms the fifth combination information with the fourth combination information, the third signature information and the trusted intermediary digital certificate, and sends the fifth combination information to the payment issuing terminal;
[0035] S232. After receiving the fifth combination of information in the message, the payment terminal confirms that the second timestamp is the current time, and verifies the third signature information with the public key of the trusted intermediary, and verifies the digital certificate of the trusted intermediary at the same time. If the verification is successful, the payment terminal recognizes the trusted intermediary as the owner of the digital certificate of the trusted intermediary, and recognizes the temporary public key of the payment terminal as the payee ID and public key. Otherwise, the payment terminal confirms that the transaction has failed.
[0036] Furthermore, the sending terminal sending the transaction to the receiving terminal in S24 specifically includes the following steps:
[0037] The payment terminal takes out a digital currency and obtains the third timestamp, and combines the third timestamp, the ID of the payment party's commercial bank, the fifth combination information and the digital currency into a transaction, signs the transaction with the private key corresponding to the digital currency to obtain the fourth signature information, and sends the transaction and the fourth signature information to the payment terminal.
[0038] Furthermore, the transaction and the fourth signature information are sent to the payment terminal in S24 in plain text or encrypted with the public key of the payment terminal. If they are encrypted, the payment terminal decrypts them with the corresponding private key after receiving them.
[0039] Furthermore, the payment terminal confirming the transaction in S25 specifically includes the following steps:
[0040] S251. After receiving the transaction and the fourth signature information, the payment terminal takes out the public key corresponding to the digital currency and verifies the fourth signature information. If the verification is successful, the digital currency is verified. If the verification is successful, the transaction is trusted. At the same time, the digital currency in the transaction is taken out and stored, and marked as unconfirmed by the central bank. The payment terminal signs the message confirming the transaction with the temporary private key of the payment terminal to obtain the fifth signature information, and then sends the message confirming the transaction and the fifth signature information to the payment terminal;
[0041] S252. After receiving the transaction confirmation message and the fifth signature information, the payment terminal verifies the fifth signature information. If the verification is successful, the digital currency and the private key corresponding to the digital currency are deleted.
[0042] Furthermore, the use of the central bank digital currency system to confirm the transaction in S3 specifically includes the following steps:
[0043] S301, the payment terminal obtains the fourth timestamp, and signs the transaction, the temporary public key of the payment terminal and the fourth timestamp with the private key of the payment terminal to obtain the sixth signature information, and at the same time encrypts the combination of the digital certificate of the payment terminal and the transaction with the public key of the payment party's commercial bank to obtain the second encrypted information, and combines the temporary public key of the payment terminal, the fourth timestamp, the sixth signature information and the second encrypted information into the sixth combination information, and then sends the sixth combination information to the payment party's commercial bank;
[0044] S302. After receiving the sixth combination of information, the payee commercial bank confirms the fourth timestamp, and uses the private key of the payee commercial bank to decrypt the second encrypted information to obtain the digital certificate of the payee terminal and the transaction, and verifies the digital certificate of the payee terminal. At the same time, the public key of the payee terminal in the digital certificate of the payee terminal is used to verify the sixth signature information. If the verification is successful, the payee commercial bank obtains the ID of the payee terminal from the digital certificate of the payee terminal, and confirms that the temporary public key of the payee terminal is the payee ID and public key. At the same time, the payee commercial bank sends the ID of the payee terminal and the transaction to the central bank digital currency system;
[0045] S303. After receiving the message, the central bank digital currency system stores the ID and transaction of the payment terminal locally, encrypts the transaction with the public key corresponding to the payee commercial bank, and sends it to the payee commercial bank;
[0046] S304. After receiving the message, the payee commercial bank uses the payee commercial bank private key to decrypt the message to obtain the transaction, finds the payee terminal according to the digital currency in the transaction, and obtains the ID of the payee terminal. The payee commercial bank takes out the fifth combination of information from the transaction, and takes out the temporary public key of the payee terminal from the fifth combination of information. The payee terminal ID, the payee terminal temporary public key and the transaction are stored locally as a complete transaction entry. The payee commercial bank encrypts the payee terminal ID and the transaction result with the public key of the central bank digital currency system, and sends them to the central bank digital currency system.
[0047] S305. After receiving the message, the central bank digital currency system decrypts and obtains the ID of the payment terminal and the transaction result. If the transaction result is a message of successful transaction, the central bank digital currency system stores the ID of the payment terminal, the ID of the payment terminal and the transaction as a complete transaction entry locally. The central bank digital currency system encrypts the transaction result with the public key of the payee commercial bank and sends it to the payee commercial bank.
[0048] S306. The payee commercial bank decrypts the received message to obtain the transaction result. If the transaction result is a successful transaction message, the payee commercial bank stores the ID of the payee commercial bank, the ID of the payee terminal and the transaction as a complete transaction entry locally, and encrypts the transaction result with the public key of the payee terminal and sends it to the payee terminal.
[0049] S307. After receiving the message, the payment terminal decrypts and obtains the transaction result. If the transaction result is a successful transaction message, the payment terminal marks the digital currency stored in step S25 as confirmed by the central bank and the digital currency can be used normally later.
[0050] According to another aspect of the present invention, there is provided an anonymous dual offline transaction system for digital currency, the system comprising a central bank digital currency system, a commercial bank digital currency system, a trusted intermediary and a user, and the user holds a corresponding user terminal;
[0051] The user terminal includes a payment terminal and a payment receiving terminal. The commercial bank digital currency system includes a payment issuing commercial bank and a payment receiving commercial bank. The payment issuing commercial bank corresponds to the payment issuing terminal, and the payment receiving commercial bank corresponds to the payment receiving terminal.
[0052] Among them, the central bank digital currency system is used to generate and issue digital currency, as well as to register the ownership of digital currency; the commercial bank digital currency system is used to perform banking functions for digital currency; users are the main users of digital currency, and users hold terminals to conduct digital currency transactions; trusted intermediaries are trusted infrastructures that do not have networking functions and do not store received certificates. The trusted infrastructure includes but is not limited to digital currency ATMs, digital currency POS machines, and digital currency trading equipment held by trusted merchants.
[0053] Beneficial effects of the present invention:
[0054] 1. The present invention designs a digital currency equipped with a private key and a trusted intermediary for the transaction, which can realize an anonymous dual offline transaction method of digital currency, so that the two parties in the dual offline transaction do not know each other's information, thereby protecting the identity information of the traders.
[0055] 2. In addition to supporting dual offline transactions, the transaction process in the present invention also supports transactions in which the payee is online and the payee is offline, transactions in which the payee is offline and the payee is online, and transactions in which the payee is online and the payee is online. That is, the process supports all types of transactions and can achieve the same anonymity effect for both parties to the transaction. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0057] Figure 1 It is a flow chart of the anonymous dual offline transaction steps of digital currency involved in an embodiment of the present invention;
[0058] Figure 2 It is a basic structural diagram of the central bank digital currency system in an embodiment of the present invention. DETAILED DESCRIPTION
[0059] To further illustrate each embodiment, the present invention provides drawings, which are part of the disclosure of the present invention and are mainly used to illustrate the embodiments and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these contents, ordinary technicians in the field should be able to understand other possible implementations and advantages of the present invention. The components in the figures are not drawn to scale, and similar component symbols are generally used to represent similar components.
[0060] According to an embodiment of the present invention, a method and system for anonymous dual offline transaction of digital currency is provided.
[0061] The present invention is further described with reference to the accompanying drawings and specific embodiments. Figure 1 As shown, according to one embodiment of the present invention, a method for anonymous dual offline transaction of digital currency is provided, the method comprising the following steps:
[0062] S1. Preparation stage: The central bank digital currency system issues digital currency to the payment terminal and the payment terminal respectively;
[0063] The central bank digital currency system in S1 issues digital currency to the payment terminal and the payment terminal respectively, including the following steps:
[0064] S11. The central bank digital currency system issues digital currency to payment terminals;
[0065] The process of the central bank SS (Central Bank Digital Currency System) issuing digital currency to the issuing terminal is as follows: the issuing terminal PT (issuing terminal) generates a set of public-private key pairs, and sends the public key to the corresponding commercial bank PS (issuing commercial bank). PS sends the public key to the central bank SS. SS generates digital currency corresponding to various values based on the public key and currency value and sends it to PS. PS then sends the digital currency to PT.
[0066] S12. The central bank digital currency system issues digital currency to payment terminals;
[0067] The process of the central bank SS issuing digital currency to the payment terminal is as follows: the payment terminal CT (payment terminal) generates a set of public-private key pairs, and sends the public key to the corresponding commercial bank CS (payee commercial bank). CS sends the public key to the central bank SS. SS generates digital currency corresponding to various currency values based on the public key and currency value and sends it to CS. CS then sends the digital currency to PT.
[0068] S2, dual offline transaction stage (dual offline transaction stage: dual offline transaction between the payment terminal and the payment terminal through a trusted intermediary):
[0069] S21. MT (trusted intermediary) sends a message, and CT verifies (the trusted intermediary sends the second combination information to the payment terminal, and the payment terminal verifies the second combination information):
[0070] MT obtains the current timestamp T1 (first timestamp) and combines it with its own identity IDMT (ID of the trusted intermediary) to form IDMT||T1 (first combination information), and uses its own private key SK MT (Trusted intermediary private key) signs it to get SIGN(IDMT||T1,SK MT )(First signature information), then take out your own digital certificate CERT MT (Trusted Intermediary Digital Certificate) and compose the message IDMT||T1||SIGN(IDMT||T1,SK MT )||CERT MT (Second combined information), and sends the message to CT.
[0071] CT receives the message IDMT||T1||SIGN(IDMT||T1,SK MT )||CERT MT After that, confirm that the timestamp T1 is the current time, and use the MT's public key PK MT (Trusted intermediary public key) to sign SIGN(IDMT||T1,SK MT ) and verify the digital certificate CERT MT If the verification is successful, CT recognizes MT as CERT MT The owner of the CT is a trusted intermediary and proceeds with the subsequent steps. Otherwise, CT confirms that the transaction has failed and does not proceed with the subsequent steps.
[0072] S22, CT sends a message, and MT verifies (the payment terminal sends the third combination of information to the trusted intermediary, and the trusted intermediary verifies the third combination of information):
[0073] CT generates a temporary public-private key pair PK CT(TEMP) / SK CT(TEMP) , using your own private key SK CT PK CT(TEMP) ||T1 signs and obtains SIGN(PK CT(TEMP) ||T1,SK CT )(Second signature information), take out your own digital certificate CERT CT And use MT's public key PK MT Encrypt to get the ciphertext ENC (CERT CT ,PK MT )(first encrypted information), forming the message PK CT(TEMP) ||T1||SIGN(PK CT(TEMP) ||T1,SKCT )||ENC(CERT CT ,PK MT )(third combined information) and sent to MT.
[0074] MT received the message PK CT(TEMP) ||T1||SIGN(PK CT(TEMP) ||T1,SK CT )||ENC(CERT CT ,PK MT ) and confirm T1 with its own private key SK MT Decryption ENC (CERT CT ,PK MT )Get CERT CT , use CERT CT The public key PK of CT in CT SIGN(PK CT(TEMP) ||T1,SK CT ) for verification. If the verification is successful, the identity of the CT can be confirmed.
[0075] S23, MT sends a message, PT verifies (the trusted intermediary sends the fifth combination of information to the payment terminal, and the payment terminal verifies the fifth combination of information):
[0076] MT obtains the current timestamp T2 (second timestamp) and compares it with the PK received in the previous step CT(TEMP) Composition PK CT(TEMP) ||T2 (the fourth combination of information), using your own private key SK MT Sign it to get SIGN(PK CT(TEMP) ||T2,SK MT )(third signature information), and its own digital certificate CERT MT Together form a message PK CT(TEMP) ||T2||SIGN(PK CT(TEMP) ||T2,SK MT )||CERT MT (Fifth combined information), called MPC, and then send the message MPC to PT.
[0077] After PT receives the message MPC, it confirms that the timestamp T2 is the current time and uses MT's public key PK MT SIGN(PK CT(TEMP) ||T2,SK MT ) and verify the digital certificate CERT MT If the verification is successful, the PT recognizes the MT as a CERT MT The owner of and a trusted intermediary who recognizes PK CT(TEMP)It is the recipient's ID and public key, otherwise PT confirmation of the transaction fails.
[0078] S24, PT sends transaction (the sending terminal sends the transaction to the receiving terminal):
[0079] PT takes out a digital currency PM, obtains the current timestamp T3 (third timestamp), and combines T3, the payee information IDPS, the payee information MPC and PM into a transaction TX, that is, TX = {T3||IDPS||MPC||PM}. Since the payee information is represented by IDPS, the payee only knows the commercial bank to which the payee belongs, and is not clear about the specific identity of the payee; and the payee information is represented by MPC, so the payee is also unclear about the specific identity of the payee. Use the private key corresponding to the digital currency to sign TX to obtain TXS (the fourth signature information), and send TX||TXS to CT (sent in plain text or encrypted with CT's public key. If it is encrypted, CT will decrypt it with the corresponding private key after receiving it).
[0080] S25, CT confirms the transaction (the payment terminal confirms the transaction):
[0081] After receiving the message, CT gets TX||TXS. CT takes out the public key in the digital currency and verifies the signature TXS. After successful verification, it verifies the digital currency PM, such as verifying the currency value and the central bank's signature. If the verification is successful, the transaction is trusted, the PM in TX is taken out and stored, and marked as unconfirmed by the central bank. CT will confirm the transaction message RET CT Use the temporary private key SK CT(TEMP) Sign and get SIG CT (Fifth signature information), then RET CT ||SIG CT Sent to PT.
[0082] PT receives RET CT ||SIG CT Afterwards, SIG CT Verification is performed, and after successful verification, the digital currency PM and its private key are deleted. Since the private key corresponds to the digital currency one-to-one, the private key also needs to be destroyed after the digital currency is issued. After the digital currency is received by the payee, it becomes an ordinary digital currency without a private key.
[0083] S3, online transaction stage (online transaction stage: use the central bank digital currency system to confirm the transaction):
[0084] S301. CT sends a message:
[0085] CT obtains the current timestamp T4 (the fourth timestamp) and uses its own private key SK CT TX||PKCT(TEMP) ||T4 signs and obtains SIGN(TX||PK CT(TEMP) ||T4,SK CT )(Sixth signature information), using CS's public key PK CS CERT CT Combined CERT with transaction TX CT ||TX is encrypted to obtain the ciphertext ENC(CERT CT ||TX,PK CS )(second encrypted information), forming the message PK CT(TEMP) ||T4||SIGN(TX||PK CT(TEMP) ||T4,SK CT )||ENC(CERT CT ||TX,PK CS )(sixth combination information) and sent to the corresponding commercial bank CS.
[0086] S302, CS receives the message
[0087] PK CT(TEMP) ||T4||SIGN(TX||PK CT(TEMP) ||T4,SK CT )||ENC(CERT CT ||TX,PK CS ) and confirm T4 with your own private key SK CS Decryption ENC (CERT CT ||TX,PK CS )Get CERT CT and TX and CERT CT Verify with CERT CT The public key PK of CT CT Signature SIGN(TX||PK CT(TEMP) ||T4,SK CT ) for verification. If the verification is successful, CS receives a CT Get the real identity IDCT of its owner and confirm PK CT(TEMP) It is the recipient's ID and public key.
[0088] CS sends the message IDCT||TX to the central bank SS.
[0089] S303, SS forwarding transaction:
[0090] After receiving the message, SS stores IDCT||TX locally, encrypts TX with the public key corresponding to the sender commercial bank PS, and sends it to PS.
[0091] S304. PS sends transaction results:
[0092] After receiving the message, PS uses its own private key to decrypt the transaction TX. According to the digital currency PM in TX, it finds that its owner is PT, and learns the sender's real identity IDPT. PS takes out MPC from TX and takes out PK from MPC CT(TEMP , IDPT||PK CT(TEMP) ||TX is stored locally as a complete transaction entry, where PK CT(TEMP) It represents the identity of the payee, so the PS does not know the real identity of the payee.
[0093] PS uses the result of transaction success or failure as RET, encrypts IDPT||RET with SS's public key and sends it to SS.
[0094] S305, SS forwards transaction results:
[0095] After receiving the message, SS decrypts it to get IDPT||RET. If RET contains a successful transaction message, SS stores IDPT||IDCT||TX as a complete transaction entry locally. SS knows the real identity IDCT of the payee.
[0096] SS encrypts RET with CS's public key and sends it to CS.
[0097] S306. CS forwards the transaction result:
[0098] After receiving the message, CS decrypts it to get RET. If RET contains a successful transaction message, CS stores IDPS||IDCT||TX as a complete transaction entry locally, where IDPS represents the identity of the sender, so CS does not know the true identity of the sender.
[0099] CS encrypts RET with CT's public key and sends it to CT.
[0100] S307, CT confirms the transaction result:
[0101] After receiving the message, CT decrypts it to get RET. If RET contains a message indicating a successful transaction, CT will mark the digital currency PM stored in the transaction as confirmed by the central bank, and it can be used normally in the future.
[0102] According to another aspect of the present invention, a digital currency anonymous dual offline transaction system is provided. Figure 2As shown, taking the operation example of the central bank digital currency as an example, the basic structure of the digital currency system mainly includes the central bank digital currency system, the commercial bank digital currency system (in practice, it can be multiple commercial bank digital currency systems) and users. Among them, the central bank digital currency system is used to generate and issue digital currency, and to register the ownership of digital currency; the commercial bank digital currency system is used to perform banking functions for digital currency; the user is the main body of digital currency use, and in the present invention, the user holds a terminal to conduct digital currency transactions.
[0103] Assume that the present invention has a central bank (i.e., central bank digital currency system) SS, a payee commercial bank (i.e., commercial bank digital currency system) PS and its corresponding payee terminal PT, a payee commercial bank CS and its corresponding payee terminal CT, and their corresponding IDs are IDSS, IDPS, IDPT, IDCS and IDCT respectively.
[0104] The present invention also includes a trusted intermediary MT, which is a trusted infrastructure, such as a digital currency ATM, a digital currency POS, a digital currency transaction device held by a trusted merchant, etc. It has no networking function and does not store the received certificates to prevent user information leakage. In the present invention, each member has a digital certificate, and the certificate stores the real identity of the member. MT stores the digital certificates of various commercial banks. PT, CT and MT perform short-range communication (such as NFC), and the communication content will not be obtained by a third party when any two communicate.
[0105] In summary, the present invention designs a digital currency equipped with a private key and a trusted intermediary for the transaction, which can realize an anonymous dual offline transaction method of digital currency, so that the two parties in the dual offline transaction do not know each other's information, thereby protecting the identity information of the trader. In addition to supporting dual offline transactions, the transaction process in the present invention also supports transactions in which the sender is online and the payee is offline, transactions in which the sender is offline and the payee is online, and transactions in which the sender is online and the payee is online, that is, the process supports all types of transactions and can achieve the same anonymity effect of both parties to the transaction.
[0106] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0107] The above-mentioned embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. An anonymous dual offline transaction method for digital currency, characterized in that: The method comprises the following steps: S1. Preparation stage: The central bank digital currency system issues digital currency to the payment terminal and the payment terminal respectively; S2, dual offline transaction stage: the payment terminal and the payment terminal conduct dual offline transactions through a trusted intermediary; S3, online transaction stage: using the central bank digital currency system to confirm transactions; The central bank digital currency system in S1 issues digital currency to the payment terminal and the payment terminal respectively, including the following steps: S11. The central bank digital currency system issues digital currency to payment terminals; S12. The central bank digital currency system issues digital currency to payment terminals; The central bank digital currency system in S11 specifically includes the following steps for issuing digital currency to the payment terminal: The payment terminal generates a set of public-private key pairs and sends the public key to the corresponding payment issuing commercial bank. The payment issuing commercial bank sends the public key to the central bank digital currency system. The central bank digital currency system generates digital currencies of corresponding values according to the public key and currency value and sends them to the payment issuing commercial bank. The payment issuing commercial bank then sends the digital currency to the payment terminal. The central bank digital currency system in S12 specifically includes the following steps to issue digital currency to the payment terminal: The payment terminal generates a set of public-private key pairs and sends the public key to the corresponding beneficiary commercial bank. The beneficiary commercial bank sends the public key to the central bank digital currency system. The central bank digital currency system generates digital currencies of corresponding values according to the public key and currency value and sends them to the beneficiary commercial bank. The beneficiary commercial bank then sends the digital currency to the payment terminal; The dual offline transaction between the payment sending terminal and the payment receiving terminal in S2 through a trusted intermediary includes the following steps: S21. The trusted intermediary sends the second combination information to the payment terminal, and the payment terminal verifies the second combination information; S22, the payment terminal sends the third combination information to the trusted intermediary, and the trusted intermediary verifies the third combination information; S23, the trusted intermediary sends the fifth combination of information to the payment terminal, and the payment terminal verifies the fifth combination of information; S24, the payment terminal sends the transaction to the payment terminal; S25. The payment terminal confirms the transaction; In S21, the trusted intermediary sends the second combination information to the payment terminal, and the payment terminal verifies the second combination information, which specifically includes the following steps: S211, the trusted intermediary obtains the first timestamp, and combines the first timestamp and the ID of the trusted intermediary into first combination information, and signs the first timestamp with the private key of the trusted intermediary to obtain first signature information, then takes out the trusted intermediary digital certificate and combines the trusted intermediary ID, the first timestamp and the first signature information into second combination information, and sends the second combination information to the payment terminal; S212, after receiving the second combination information, the payment terminal confirms that the first timestamp is the current time, and verifies the first signature information with the public key of the trusted intermediary, and verifies the digital certificate of the trusted intermediary at the same time. If the verification is successful, the payment terminal recognizes the trusted intermediary as the owner of the digital certificate of the trusted intermediary and performs subsequent steps. Otherwise, the payment terminal confirms that the transaction fails and does not perform subsequent steps. In S22, the payment terminal sends the third combination information to the trusted intermediary, and the trusted intermediary verifies the third combination information, which specifically includes the following steps: S221, the payment terminal generates a temporary public-private key pair of the payment terminal, and signs the temporary public key of the payment terminal and the first timestamp with the private key of the payment terminal to obtain second signature information, and at the same time takes out the digital certificate of the payment terminal and encrypts it with the public key of the trusted intermediary to obtain first encrypted information, and combines the temporary public key of the payment terminal, the first timestamp, the second signature information and the first encrypted information into third combination information, and sends the third combination information to the trusted intermediary; S222. After receiving the third combination of information, the trusted intermediary confirms the first timestamp, decrypts the first encrypted information with the trusted intermediary private key to obtain the digital certificate of the payment terminal, and verifies the second signature information with the public key of the payment terminal in the digital certificate of the payment terminal. If the verification is successful, the identity of the payment terminal can be confirmed. In S23, the trusted intermediary sends the fifth combination information to the payment terminal, and the payment terminal verifies the fifth combination information, which specifically includes the following steps: S231, the trusted intermediary obtains the second timestamp, and forms the fourth combination information with the temporary public key of the payment receiving terminal received in step S222, and signs the fourth combination information with the trusted intermediary private key to obtain third signature information, and at the same time forms the fifth combination information with the fourth combination information, the third signature information and the trusted intermediary digital certificate, and sends the fifth combination information to the payment issuing terminal; S232, after receiving the fifth combination of information of the message, the payment terminal confirms that the second timestamp is the current time, and verifies the third signature information with the public key of the trusted intermediary, and verifies the digital certificate of the trusted intermediary at the same time. If the verification is successful, the payment terminal recognizes the trusted intermediary as the owner of the digital certificate of the trusted intermediary, and recognizes the temporary public key of the payment terminal as the ID and public key of the payee, otherwise the payment terminal confirms that the transaction fails; Trusted intermediaries are trusted infrastructure.
2. The anonymous dual offline transaction method of digital currency according to claim 1, characterized in that: The sending terminal sending the transaction to the receiving terminal in S24 specifically includes the following steps: The payment terminal takes out a digital currency and obtains the third timestamp, and combines the third timestamp, the ID of the payment party's commercial bank, the fifth combination information and the digital currency into a transaction, signs the transaction with the private key corresponding to the digital currency to obtain the fourth signature information, and sends the transaction and the fourth signature information to the payment terminal.
3. The anonymous dual offline transaction method of digital currency according to claim 2, characterized in that: The transaction and the fourth signature information are sent to the payment terminal in S24 in plain text or encrypted with the public key of the payment terminal. If the encrypted information is sent, the payment terminal decrypts it with the corresponding private key after receiving it.
4. The anonymous dual offline transaction method of digital currency according to claim 2, characterized in that: The payment terminal confirming the transaction in S25 specifically includes the following steps: S251. After receiving the transaction and the fourth signature information, the payment terminal takes out the public key corresponding to the digital currency and verifies the fourth signature information. If the verification is successful, the digital currency is verified. If the verification is successful, the transaction is trusted. At the same time, the digital currency in the transaction is taken out and stored, and marked as unconfirmed by the central bank. The payment terminal signs the message confirming the transaction with the temporary private key of the payment terminal to obtain the fifth signature information, and then sends the message confirming the transaction and the fifth signature information to the payment terminal; S252. After receiving the transaction confirmation message and the fifth signature information, the payment terminal verifies the fifth signature information. If the verification is successful, the digital currency and the private key corresponding to the digital currency are deleted.
5. The anonymous dual offline transaction method of digital currency according to claim 1, characterized in that: The use of the central bank digital currency system in S3 to confirm transactions specifically includes the following steps: S301, the payment terminal obtains the fourth timestamp, and signs the transaction, the temporary public key of the payment terminal and the fourth timestamp with the private key of the payment terminal to obtain the sixth signature information, and at the same time encrypts the combination of the digital certificate of the payment terminal and the transaction with the public key of the payment party's commercial bank to obtain the second encrypted information, and combines the temporary public key of the payment terminal, the fourth timestamp, the sixth signature information and the second encrypted information into the sixth combination information, and then sends the sixth combination information to the payment party's commercial bank; S302. After receiving the sixth combination of information, the payee commercial bank confirms the fourth timestamp, and uses the private key of the payee commercial bank to decrypt the second encrypted information to obtain the digital certificate of the payee terminal and the transaction, and verifies the digital certificate of the payee terminal. At the same time, the public key of the payee terminal in the digital certificate of the payee terminal is used to verify the sixth signature information. If the verification is successful, the payee commercial bank obtains the ID of the payee terminal from the digital certificate of the payee terminal, and confirms that the temporary public key of the payee terminal is the payee ID and public key. At the same time, the payee commercial bank sends the ID of the payee terminal and the transaction to the central bank digital currency system; S303. After receiving the message, the central bank digital currency system stores the ID and transaction of the payment terminal locally, encrypts the transaction with the public key corresponding to the payee commercial bank, and sends it to the payee commercial bank; S304. After receiving the message, the payee commercial bank uses the payee commercial bank private key to decrypt the message to obtain the transaction, finds the payee terminal according to the digital currency in the transaction, and obtains the ID of the payee terminal. The payee commercial bank takes out the fifth combination of information from the transaction, and takes out the temporary public key of the payee terminal from the fifth combination of information. The payee terminal ID, the payee terminal temporary public key and the transaction are stored locally as a complete transaction entry. The payee commercial bank encrypts the payee terminal ID and the transaction result with the public key of the central bank digital currency system, and sends them to the central bank digital currency system. S305. After receiving the message, the central bank digital currency system decrypts and obtains the ID of the payment terminal and the transaction result. If the transaction result is a message of successful transaction, the central bank digital currency system stores the ID of the payment terminal, the ID of the payment terminal and the transaction as a complete transaction entry locally. The central bank digital currency system encrypts the transaction result with the public key of the payee commercial bank and sends it to the payee commercial bank. S306. The payee commercial bank decrypts the received message to obtain the transaction result. If the transaction result is a successful transaction message, the payee commercial bank stores the ID of the payee commercial bank, the ID of the payee terminal and the transaction as a complete transaction entry locally, and encrypts the transaction result with the public key of the payee terminal and sends it to the payee terminal. S307. After receiving the message, the payment terminal decrypts and obtains the transaction result. If the transaction result is a successful transaction message, the payment terminal marks the digital currency stored in step S25 as confirmed by the central bank and the digital currency can be used normally later.
6. An anonymous dual offline transaction system for digital currency, used to implement the steps of an anonymous dual offline transaction method for digital currency according to any one of claims 1 to 5, characterized in that: The system includes a central bank digital currency system, a commercial bank digital currency system, a trusted intermediary and a user, and the user holds a corresponding user terminal; The user terminal includes a payment terminal and a payment receiving terminal. The commercial bank digital currency system includes a payment issuing commercial bank and a payment receiving commercial bank. The payment issuing commercial bank corresponds to the payment issuing terminal, and the payment receiving commercial bank corresponds to the payment receiving terminal. Among them, the central bank digital currency system is used to generate and issue digital currency, as well as to register the ownership of digital currency; the commercial bank digital currency system is used to perform banking functions for digital currency; users are the main users of digital currency, and users hold terminals to conduct digital currency transactions; trusted intermediaries are trusted infrastructure, which has no networking function and does not store received certificates. The trusted infrastructure includes but is not limited to digital currency ATMs, digital currency POS machines, and digital currency trading equipment held by trusted merchants.
Citation Information
Patent Citations
Anonymous transaction method and system based on digital currency
CN110889681A
Payment method and payment system for digital currency
CN107230051A
Digital wallet and dual offline payment method based on face-to-face mutual scanning of mobile phones
CN111815320A