Information processing device, information processing method, and program
The information processing device encrypts and uses zero-knowledge proofs to protect privacy in contract-based payments, enabling automatic and complex payment scenarios on blockchain systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SONY GROUP CORP
- Filing Date
- 2022-09-12
- Publication Date
- 2026-07-29
AI Technical Summary
Existing technologies lack effective privacy protection in contract-based payments, particularly in blockchain systems where contract information is publicly accessible, limiting the use of smart contracts for complex payment scenarios.
An information processing device that encrypts contract information, including attribute information and predetermined amounts, and uses zero-knowledge proofs to ensure privacy, transmitting this information to a blockchain for automatic payment execution.
Enables automatic payments while protecting contract information privacy, allowing for flexible and complex payment scenarios using blockchain and smart contracts.
Smart Images

Figure 0007896634000001 
Figure 0007896634000002 
Figure 0007896634000003
Abstract
Description
Technical Field
[0001] This technology relates to an information processing apparatus, an information processing method, and a program applicable to payments and the like based on a contract.
Background Art
[0002] Patent Document 1 describes a post-processing method based on copyright registration information in which participant information and post-processing information are acquired based on the copyright registration information. In this post-processing method based on copyright registration information, the participant information and the post-processing information are transmitted as a transaction request within a blockchain network and added to and stored in a block (paragraphs
[0018] to
[0033] of the specification of Patent Document 1, FIG. 1, etc.).
[0003] Patent Document 2 describes a revenue distribution system for managing each piece of information on the ownership of a product that is the subject of a transaction arising from the commercial flow of a product by a person engaged in the primary industry, starting from the person engaged in the primary industry, and the claim that moves between the parties related to the transaction. In this revenue distribution system, by transferring the ownership of the delivered goods associated with a predetermined transaction in the commercial flow to a predetermined intermediary, a debt purchase process in a predetermined transaction with the intermediary as the buyer is executed, and a payment process is executed according to the difference between the amount of debt held by the intermediary and the amount of claim held with respect to the creditor by the debt purchase process addressed to the creditor of the predetermined transaction (paragraphs
[0014] to
[0028] of the specification of Patent Document 2, FIGS. 1, 2, etc.).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0005] There is a need for technologies that can ensure privacy protection in contract-based payments like these.
[0006] In light of the circumstances described above, the purpose of this technology is to provide an information processing device, an information processing method, and a program that can achieve privacy protection. [Means for solving the problem]
[0007] To achieve the above objective, an information processing device according to one embodiment of this technology comprises a transmission unit and an execution unit. The transmitting unit transmits encrypted contract information relating to the payer who will pay a predetermined amount and the recipient who will receive the predetermined amount to the blockchain. The execution unit automatically executes the payment based on the contract information.
[0008] In this information processing device, encrypted contract information concerning the payer who will pay a predetermined amount and the recipient who will receive the predetermined amount is transmitted to the blockchain. Based on the contract information, the payment is automatically executed. This makes it possible to make payments automatically while protecting the privacy of contract information managed on the blockchain.
[0009] The aforementioned contract information may include at least one of the attribute information indicating the attributes of the contracting parties, including the payer and the recipient, and the predetermined amount.
[0010] The aforementioned predetermined amount may include an amount based on the distribution rate.
[0011] The information processing device may further include a creation unit that creates consent information indicating the recipient's consent to the contract information.
[0012] The transmitting unit may transmit the consent information to the blockchain.
[0013] The information processing device may further include a conversion unit that converts one or more contract information into a new contract information.
[0014] The conversion unit may convert the first contract information relating to a first person who pays the first amount and a second person who receives the first amount, and the second contract information relating to a second person who pays the second amount and a third person who receives the second amount, into a third contract information relating to a first person who pays the first amount, a second person who receives the difference between the first amount and the second amount, and a third person who receives the second amount.
[0015] The conversion unit may convert the first contract information relating to a first person who pays the first amount and a second person who receives the first amount, and the second contract information relating to a first person who pays the second amount and a third person who receives the second amount, into a third contract information relating to a first person who pays the total amount of the first and second amounts, a second person who receives the first amount, and a third person who receives the second amount.
[0016] The encrypted contract information may include zero-knowledge proofs that prove the validity of the contract information.
[0017] The consent information may include a zero-knowledge proof that the contract information has been properly encrypted.
[0018] An information processing method relating to one form of this technology is an information processing method performed by a computer system, which includes transmitting encrypted contract information relating to a payer who pays a predetermined amount and a recipient who receives the predetermined amount to a blockchain. Based on the aforementioned contract information, payment will be automatically processed.
[0019] A program relating to one form of this technology causes a computer system to perform the following steps. The step of sending contract information related to a payer who pays a predetermined amount and a recipient who receives the predetermined amount, which has been encrypted, to a blockchain. The step of automatically executing a payment based on the contract information.
Brief Description of the Drawings
[0020] [Figure 1] It is a diagram schematically showing an information processing apparatus. [Figure 2] It is a block diagram showing a configuration example of an information processing apparatus. [Figure 3] It is a diagram showing the flow of a contract phase. [Figure 4] It is a diagram showing balance data. [Figure 5] It is a diagram showing the flow of a payment phase. [Figure 6] It is a diagram showing a plurality of contract information. [Figure 7] It is a diagram showing the flow of a payment preparation phase. [Figure 8] It is a diagram showing another flow of a contract phase. [Figure 9] It is a diagram showing another flow of a payment phase. [Figure 10] It is a diagram showing another flow of a payment preparation phase. [Figure 11] It is a block diagram showing a hardware configuration example of an information processing apparatus.
Modes for Carrying Out the Invention
[0021] Hereinafter, embodiments according to the present technology will be described while referring to the drawings.
[0022] FIG. 1 is a diagram schematically showing an information processing apparatus according to the present technology. FIG. 1A is a diagram showing an overview of the functions of the information processing apparatus.
[0023] As shown in Figure 1A, the information processing device 10 acquires contract information relating to the payer 1 who pays a predetermined amount and the recipient 3 who receives the predetermined amount. In this embodiment, the contract information is created by the payer 1 via the user terminal 2.
[0024] Contract information refers to information indicating who pays how much to whom. In this embodiment, the contract information includes at least one of attribute information indicating the attributes of the contracting parties, including the payer and the recipient, and a predetermined amount.
[0025] For example, in a contract where A, with a balance of 3000 yen, pays B 1000 yen, the contract information would show A as the payer, B as the recipient, and the amount to be paid as 1000 yen. In this embodiment, the balance information of the payer and recipient is recorded on the blockchain.
[0026] Furthermore, the specified amount includes payments based on the distribution rate. In other words, the specified amount includes not only constants such as 1,000 yen, but also variables such as a 5% rate of return. Beyond this, the numerical value and content are not limited to net profit or 10% of sales.
[0027] Furthermore, the information processing device 10 obtains consent information from the recipient 3, who is the contracting party, indicating that they have given their consent to the contract information obtained from the payer 1. For example, consent information is created when the recipient 3 confirms the contract information via the user terminal 4 and determines that the contract information is acceptable.
[0028] The information processing device 10 encrypts the acquired contract information and transmits the encrypted contract information (hereinafter referred to as contract data) to the blockchain 20.
[0029] Encryption refers to a state in which contract information is not known to anyone other than the payer and recipient (a state of confidentiality). In other words, privacy protection is possible when contract information is encrypted. Note that even if all or part of the contract information is kept confidential, it is still referred to as encrypted contract information.
[0030] Figure 1B shows the contract data.
[0031] For example, the information processing device 10 obtains contract information created by payer A, which states, "Payer A will pay 1,000 yen to recipient B." The information processing device 10 encrypts the payment amount (Pay) in the contract information. Note that in Figure 1B, [x (arbitrary number)] indicates that x is encrypted using the payer's public key.
[0032] In this embodiment, the information processing device 10 samples dummy contractors U to Z with a payment amount of 0 yen. This makes it possible to conceal who among A, B, and U to Z is the payer and who is the recipient, thereby ensuring anonymity and protecting privacy when concluding a contract. In addition to encrypted contract information, the contract data may also include contract information about the above-mentioned dummy contractors.
[0033] The content of the contract information is not limited and may be set arbitrarily according to the contract. For example, the number of installments in which a predetermined amount will be paid, such as dividing it into n installments, and the deadline for payment may be included in the contract information. Also, for example, specific conditions may be set in the contract information, such as the payment of 50% of the reserved seat fare if certain conditions are met, such as when a Shinkansen or airplane is delayed due to a typhoon or equipment trouble.
[0034] In addition to the above, other functions, such as those implemented by smart contracts, may be added. Furthermore, contract information such as the number of transactions and expiration dates does not need to be kept confidential. Also, there may be multiple parties involved in the contract, such as one payer and multiple recipients.
[0035] Figure 1C shows another example of contract data. For example, Figure 1C shows an example of contract data that includes contract information other than the payer, recipient, and payment amount shown in Figure 1B. As shown in Figure 1C, the contract data shows a contract that states, "Payer A will pay 20% of the revenue to recipient B and 30% of the revenue to recipient C by 1 / 10."
[0036] Furthermore, if a distribution rate is used as the predetermined amount to be paid, the total payment amount may be randomized or otherwise determined.
[0037] Figure 2 is a block diagram showing an example configuration of the information processing device 10.
[0038] As shown in Figure 2, the information processing device 10 includes an encryption unit 11, a consent information creation unit 12, a transmission unit 13, a contract information conversion unit 14, and an execution unit 15.
[0039] The encryption unit 11 encrypts the contract information. The method of encrypting the contract information is not limited. In this embodiment, the encryption unit 11 creates a ZKproof (Zero Knowledge proof) to indicate that the contract information is legitimate. In this embodiment, the contract data and proof are supplied to the transmission unit 13.
[0040] The consent information creation unit 12 creates consent information for the contract information confirmed by the recipient 3. In this embodiment, the consent information creation unit 12 creates a consent ZKproof (hereinafter referred to as consent ZKproof) based on a request from the recipient 3 to create a ZKproof indicating that they have consented to the contract information. In this embodiment, the consent proof created by the consent information creation unit 12 is supplied to the transmission unit 13.
[0041] The transmission unit 13 transmits the contract data to the blockchain 20. In this embodiment, the transmission unit 13 transmits the contract data and proof created by the encryption unit 11 to the blockchain 20. The transmission unit 13 also transmits the proof of consent created by the consent information creation unit 12 to the blockchain 20.
[0042] The contract information conversion unit 14 converts one or more contract information into new contract information. For example, the contract information conversion unit 14 converts a contract in which payer A pays 1,000 yen to recipient B and a contract in which payer B pays 700 yen to recipient C into a contract in which payer A pays 300 yen to recipient B and pays payer A pays 700 yen to recipient C.
[0043] For example, a contract in which payer A pays recipient B 1,000 yen and another contract in which payer A pays recipient C 700 yen can be converted into a contract in which payer A pays 1,700 yen, recipient B receives 1,000 yen, and recipient C receives 700 yen.
[0044] In other words, the contract information conversion unit 14 can combine multiple contract information so as to convert a multi-stage payment contract from A to B and from B to C into a new contract in which A pays B and C in a lump sum, and also convert payments for multiple contracts from A to B and from A to C into a new contract in which A pays B and C in a lump sum.
[0045] The execution unit 15 automatically executes the payment based on the contract information registered in the blockchain 20. In this embodiment, the execution unit 15 sends payment total data, which indicates the total amount payable by payer 1, and a ZKproof, which indicates that payer 1's balance is equal to or greater than the payment total, to the blockchain 20.
[0046] Furthermore, "automatic" means that users (payer 1 and recipient 3) do not need to perform complicated operations related to payment, etc. Examples include operations such as creating new contract information, registering it on blockchain 20, and making a payment based on the newly created contract information. In this embodiment, with the information processing device 10, payer 1 only needs to create the contract information and execute the payment based on the contract to have the payment based on the contract executed.
[0047] Furthermore, payments based on the contract (the payment phase described later) may be made by the information processing device 10. For example, in a contract where a predetermined amount is to be paid when the due date is reached, the information processing device 10 may execute the payment based on the contract. Of course, whether the payment is made by the information processing device 10 or by payer 1 may be set by payer 1 or recipient 3.
[0048] In this embodiment, the consent information creation unit 12 corresponds to a creation unit that creates consent information indicating the recipient's consent to the contract information. In this embodiment, the transmission unit 13 corresponds to a transmission unit that transmits encrypted contract information relating to the payer who pays a predetermined amount and the recipient who receives a predetermined amount to the blockchain. In this embodiment, the contract information conversion unit 14 corresponds to a conversion unit that converts one or more of the aforementioned contract information into a new single contract information. In this embodiment, the execution unit 15 corresponds to an execution unit that automatically executes payments based on contract information.
[0049] [Contract Phase] Figure 3 shows the flow of the contract phase (from the creation of contract data to registration on blockchain 20). In this embodiment, the information processing device 10 is assumed to have pre-generated a private key and a public key for each contractor and manage them internally. In Figure 3, these keys are also included as input as needed for encryption and ZKproof generation.
[0050] As shown in Figure 3, payer 1 creates contract information 30 via user terminal 2 (step 101). Payer 1 transmits the contract information 30 to information processing device 10. Payer 1 also sends the contract information 30 in plain text off-chain to recipient 3's user terminal 4.
[0051] The encryption unit 11 encrypts the acquired contract information 30 (step 102). The encryption unit 11 also creates a ZKproof to indicate that the contract contents of the contract data 31 are legitimate (step 103).
[0052] The transmission unit 13 transmits the contract data 31 and proof 32 to the blockchain 20 (step 104).
[0053] Recipient 3 verifies the contract information 30 created by payer 1 (step 105). Recipient 3 verifies the contract information 30 and sends a request to the information processing device 10 to create a consent proof (step 106).
[0054] The consent information creation unit 12 determines whether the contract information 30 sent from payer 1 and recipient 3 match (step 107). If the contract information 30 matches, a consent ZKproof is created (step 108). The transmission unit 14 then sends the created consent proof 33 to the blockchain 20 (step 109).
[0055] Blockchain 20 verifies the proof 32 sent from the transmission unit 13 (step 110). If the verification is successful, the contract data 31 and proof 32 are registered in the distributed ledger 35 of Blockchain 20 (step 111). Blockchain 20 also verifies the proof 33 of consent sent from the consent information creation unit 12 (step 112). If the verification is successful, the proof 33 of consent is registered in the distributed ledger 36 of Blockchain 20 (step 113).
[0056] [Payment Phase] Figure 4 shows the balance data.
[0057] In this embodiment, the blockchain 20 is assumed to record the balance of each customer in an encrypted form using additive homomorphic encryption. For example, as shown in the left diagram of Figure 4, the balance data at the time of contract, with A's balance of 1200 yen and B's balance of 500 yen, is recorded on the blockchain.
[0058] As shown in the right-hand diagram of Figure 4, if a contract is made for A to pay B 1000 yen, 1000 yen will be deducted from A's balance and 1000 yen will be added to B's balance. These payment processes will be explained using Figure 5.
[0059] Figure 5 shows the flow of the payment phase (from the creation of total payment data and balance data until the balance is updated).
[0060] As shown in Figure 5, payer 1 creates total payment data 40 and balance data 41 via user terminal 2 (step 201). Payer 1 transmits total payment data 40 and balance data 41 to information processing device 10 (step 202).
[0061] In this embodiment, the execution unit 15 creates a ZKproof 42 from the balance data 41 that indicates that the balance of payer 1 is equal to or greater than the total payment amount (step 203). The execution unit 15 also sends the total payment amount data 40 and the ZKproof 42 to the blockchain 20 (step 204).
[0062] Blockchain 20 verifies ZKproof 42 (step 205). If the verification is successful, the payment operation is executed (step 206). In this embodiment, the balance data is updated and the total payment amount data and ZKproof are registered. If the verification fails, the payment operation is stopped.
[0063] Blockchain 20 also updates the balances by adding the encrypted contract data 43 to each contract holder's balance (distributed ledger 44). The updated encrypted balance data 45, total payment data 40, and ZKproof 42 are recorded in the distributed ledger 46.
[0064] In other words, during the payment phase, payment can be made as per the contract by directly adding the encrypted contract data to the balance.
[0065] [Preparation Phase] Figures 3 and 5 show examples of contract information between one payer and one recipient. Figures 6 and 7 show examples of contracts between payer A and recipient B, and between payer B and recipient C. In this embodiment, the contract information conversion unit 14 executes the flow shown in Figure 7, making it possible to combine multiple contract information.
[0066] Figure 6 shows multiple contract information. Figure 6A shows the contract data for payer A and recipient B. Figure 6B shows the contract data for payer B and recipient C. Figure 6C shows the new contract data obtained by converting the contract data for payer B and recipient C.
[0067] As shown in Figure 6A, the contract information illustrating a contract where "50% of the revenue is paid from payer A to recipient B" and contract data showing sampled dummy contractors U to Z are illustrated.
[0068] As shown in Figure 6B, contract information indicating a contract where "payer B pays 30% of the revenue to recipient C" and contract data showing sampled dummy contractors P-R and U-W are illustrated. Note that the revenue of payer B in Figure 6B refers to the total amount paid by payer A.
[0069] The contract information conversion unit 14 converts the contract data shown in Figure 6B into the contract data shown in Figure 6C.
[0070] In the example shown in Figure 6, the amount received by recipient C is 30% of 50% of A's total payment, which is 15%. In other words, as shown in Figure 6, the contract information conversion unit 14 converts the percentage to be paid to C to 15%.
[0071] After conversion, the payment phase is executed, and payment is made. The converted contract data is referenced during the payment process.
[0072] Figure 7 shows the flow of the payment preparation phase (from the conversion of contract data to registration on Blockchain 20). Note that attribute information may be omitted in Figure 7. For example, a contract between payer A and recipient B is written as "contract of A and B". The same applies to contract information. For example, when it is written as "contract information of B and C", it refers to the contract information concerning payer B and recipient C.
[0073] As shown in Figure 7, in this embodiment, B transmits the contract information 51 of A and B and the contract information 52 of B and C to the information processing device 10 via the user terminal 50.
[0074] The contract information conversion unit 14 converts the contract information 52 of B and C based on the contract information 51 of A and B and the contract information 52 of B and C (step 301). In this embodiment, the contract information conversion unit 14 converts the contract information 52 of B and C into a format that is convenient for lump-sum payment while maintaining consistency with the contract information 51 of A and B.
[0075] The encryption unit 11 encrypts the converted contract information 53 of B and C (step 302). The encryption unit 11 also creates a ZKproof to indicate that no unauthorized operations were involved in the conversion and encryption process (step 303).
[0076] The transmission unit 13 transmits to the blockchain 20 the new integrated contract data (hereinafter referred to as the converted contract data 55) and proof 56, which are the contract information 51 of A and B and the converted contract data 54 of B and C by the contract information conversion unit 14 (step 304).
[0077] Blockchain 20 verifies the proof 56 sent from the transmission unit 13 (step 305). If the verification is successful, the converted contract data 55 and proof 56 are registered in the distributed ledger 57 of Blockchain 20 (step 306).
[0078] As shown in Figure 7, the payment preparation phase is executed, and when the contracts between A and B are executed, the contract from B to C is automatically executed. In other words, after the payment from A to B is made, B does not need to make another payment to C. Furthermore, since the payment preparation phase is executed only once, payments can be made any number of times thereafter, eliminating the need for manual payment actions and improving usability.
[0079] [Examples] Examples to which this technology can be applied are given below. In the following examples, x and x' represent arbitrary numbers.
[0080] An example of this is the payment of subscription service fees, such as "pay x yen every month." For instance, the payer is the service user, and the recipient is the service provider. In this case, payment is automatically executed through the contract phase and payment phase.
[0081] An example of copyright royalty payment is "paying x% of the revenue to the author." In the case of music, two contracts are envisioned: one stating that "x% of the revenue will be paid from the distribution service provider to the publisher," and another stating that "x'% of the revenue will be paid from the publisher to the artist." In this case, the distribution service provider and the publisher, and the publisher and the artist, each enter into a contract in the contract phase, and the publisher converts the contract data in the contract preparation phase. After this, the payment phase is executed, and payments are made from the distribution service provider to the publisher and the artist.
[0082] An example of this is the payment of copyright fees associated with derivative works of content, such as "paying x% of the revenue to the original author." For example, one might consider two contracts: one stating that "x% of the usage fee will be paid from the user of the derivative content to the derivative creator," and another stating that "x'% of the usage fee will be paid from the derivative creator to the original author." In this case, the user and the derivative creator, and the derivative creator and the original author, each enter into a contract in the contract phase, and the derivative creator converts the contract data in the contract preparation phase. After this, the payment phase is executed, and payments are made from the user to the derivative creator and the original author.
[0083] In the information processing device 10 according to this embodiment, encrypted contract information relating to payer 1 who will pay a predetermined amount and recipient 3 who will receive a predetermined amount is transmitted to the blockchain 20. Based on the contract information, the payment is automatically executed. This makes it possible to make payments automatically while protecting the privacy of contract information managed on the blockchain.
[0084] Traditionally, blockchain technology, due to its characteristic of having all participants duplicate and maintain the same ledger, has limited use cases from a privacy perspective, as data on the blockchain is publicly accessible to all participants. Furthermore, when using cryptographic technologies such as zero-knowledge proofs, it is limited to simple payment functions, making it difficult to utilize smart contracts that automatically execute agreements recorded on the blockchain.
[0085] Therefore, this technology registers encrypted contract information regarding the payer and recipient of a predetermined amount on the blockchain, and payments are automatically executed based on the registered contract information. This makes it possible to make payments automatically while protecting the privacy of contract information managed on the blockchain. Furthermore, by using the functions of blockchain and smart contracts while protecting privacy, it can flexibly respond to various use cases.
[0086] <Other Embodiments> This technology is not limited to the embodiments described above, and various other embodiments can be realized.
[0087] In the above embodiment, various data were transmitted to the blockchain 20 via the information processing device 10 when the contract phase, payment phase, and payment preparation phase were executed. However, the embodiment is not limited to this, and various data may also be transmitted to the blockchain 20 from the payer's and recipient's user terminals. In other words, the payer's and recipient's user terminals may implement the functions of the information processing device 10.
[0088] Figure 8 shows another flow of the contract phase. In this embodiment, each contractor generates a private key and a public key in advance on their own terminal, and the public key is made public to other contractors (parties). Also in Figure 8, these keys are included as input as needed for encryption and ZKproof generation.
[0089] As shown in Figure 8, payer 1 creates contract information 60 via user terminal 2 (step 401). Payer 1 also sends the contract information 60 in plain text to recipient 3's user terminal 4 off-chain.
[0090] The encryption unit 11 encrypts the created contract information 60 (step 402). The encryption unit 11 also creates a ZKproof to indicate that the contract contents of the contract data are legitimate (step 403).
[0091] The transmission unit 13 transmits the contract data 61 and proof 62 to the blockchain 20 (step 104).
[0092] Recipient 3 verifies the contract information 60 created by Payer 1 (Step 405). In this embodiment, Recipient 3 verifies that there is no objection to the contents of the contract information 60 and that the contract information 60 on the blockchain 20 is correctly encrypted from the contract information 60 received from Payer 1.
[0093] If the contract information is correct, the consent information creation unit 12 creates a consent ZKproof (step 406). The transmission unit 13 sends the created consent proof 63 to the blockchain 20 (step 407).
[0094] Blockchain 20 verifies proof 62 sent from transmission unit 13 (step 408). If the verification is successful, contract data 61 and proof 62 are registered in the distributed ledger 64 of Blockchain 20 (step 409). Blockchain 20 also verifies proof 63 of consent sent from user terminal 4 (step 410). If the verification is successful, proof 63 of consent is registered in the distributed ledger 65 of Blockchain 20 (step 411).
[0095] Figure 9 shows the other flows of the payment phase.
[0096] As shown in Figure 9, payer 1 creates total payment data 70 and balance data via user terminal 2 (step 501). Execution unit 15 creates a ZKproof from the balance data indicating that payer 1's balance is greater than or equal to the total payment amount (step 502). Execution unit 15 also transmits the total payment data 70 and ZKproof 71 to blockchain 20 (step 503).
[0097] Blockchain 20 verifies ZKproof 71 (step 504). If the verification is successful, the payment operation is executed (step 505). In this embodiment, the balance data is updated and the total payment amount data and ZKproof are registered.
[0098] Blockchain 20 also updates the balances by adding the encrypted contract data 72 to each contract holder's balance (distributed ledger 73). The updated encrypted balance data 74, total payment data 70, and ZKproof 71 are recorded in the distributed ledger 75.
[0099] Figure 10 shows another flow in the payment preparation phase. Note that, like Figure 7, attribute information may be omitted in Figure 10.
[0100] As shown in Figure 10, the contract information conversion unit 14 converts the contract information of B and C 82 based on the contract information of A and B 81 and the contract information of B and C 82 acquired by B's user terminal 80 (step 601). In this embodiment, the contract information conversion unit 14 converts the contract information of B and C 82 into a convenient format that allows for lump-sum payment while maintaining consistency with the contract information of A and B 81.
[0101] The encryption unit 11 encrypts the converted contract information 82 of B and C (step 602). The encryption unit 11 also creates a ZKproof to indicate that no unauthorized operations were involved in the conversion and encryption process (step 603).
[0102] The transmission unit 13 transmits to the blockchain 20 the new integrated contract data (hereinafter referred to as the converted contract data 84) and proof 85, which are the contract information 81 of A and B and the converted contract data 83 of B and C by the contract information conversion unit 14 (step 604).
[0103] Blockchain 20 verifies the proof 85 sent from the transmission unit 13 (step 605). If the verification is successful, the converted contract data 84 and proof 85 are registered in the distributed ledger 86 of Blockchain 20 (step 606).
[0104] In the above embodiment, total payment data and ZKproof were transmitted to the blockchain 20 during the contract phase, payment phase, and payment preparation phase. However, this is not limited to this, and information necessary for contracts, payments, etc., may be transmitted as appropriate. For example, information about the random numbers used for encryption, which is necessary for the ZKproof when B makes a payment in Figure 7, may be transmitted.
[0105] Figure 11 is a block diagram showing an example of the hardware configuration of the information processing device 10.
[0106] The information processing device 10 includes a CPU 101, ROM 102, RAM 103, an input / output interface 105, and a bus 104 connecting these to each other. The input / output interface 105 is connected to a display unit 106, an input unit 107, a storage unit 108, a communication unit 109, and a drive unit 110, among others.
[0107] The display unit 106 is a display device using, for example, liquid crystal, EL, etc. The input unit 107 is, for example, a keyboard, pointing device, touch panel, or other operating device. If the input unit 107 includes a touch panel, that touch panel may be integrated with the display unit 106.
[0108] The storage unit 108 is a non-volatile storage device, such as an HDD, flash memory, or other solid-state memory. The drive unit 110 is a device capable of driving a removable recording medium 111, such as an optical recording medium or magnetic recording tape.
[0109] The communication unit 109 is a modem, router, or other communication device that can connect to a LAN, WAN, etc., for communicating with other devices. The communication unit 109 may use either wired or wireless communication. The communication unit 109 is often used separately from the information processing device 10. In this embodiment, the communication unit 109 enables communication with other devices via the network.
[0110] Information processing by the information processing device 10 having the hardware configuration described above is realized through the cooperation of software stored in the memory unit 108 or ROM 102, etc., and the hardware resources of the information processing device 10. Specifically, the information processing method related to this technology is realized by loading the programs that constitute the software, stored in ROM 102, etc., into RAM 103 and executing them.
[0111] The program is installed in the information processing device 10, for example, via a recording medium 111. Alternatively, the program may be installed in the information processing device 10 via a global network or the like. In addition, any non-transient storage medium that is computer-readable may be used.
[0112] An information processing device, information processing method, and program related to this technology may be executed by linking a computer installed in a communication terminal with another computer that can communicate via a network or the like, thereby constructing an information processing device related to this technology.
[0113] In other words, the information processing apparatus, information processing method, and program relating to this technology can be executed not only in a computer system composed of a single computer, but also in a computer system in which multiple computers operate in conjunction. In this disclosure, a system means a collection of multiple components (devices, modules (parts), etc.), regardless of whether all components are located in the same enclosure or not. Therefore, multiple devices housed in separate enclosures and connected via a network, and a single device in which multiple modules are housed in one enclosure, are both considered systems.
[0114] The execution of information processing devices, information processing methods, and programs related to this technology by a computer system includes both cases where, for example, encryption of contract information, creation of consent information, and conversion of contract information are performed by a single computer, and cases where each process is performed by different computers. Furthermore, the execution of each process by a predetermined computer includes having another computer perform part or all of the process and obtaining the results.
[0115] In other words, the information processing device, information processing method, and program related to this technology can also be applied to cloud computing configurations in which a single function is shared and processed collaboratively by multiple devices via a network.
[0116] The configurations of the encryption unit, consent information creation unit, contract information conversion unit, etc., and the control flow of the communication system, as explained with reference to each drawing, are merely one embodiment and can be arbitrarily modified without departing from the spirit of this technology. In other words, other arbitrary configurations and algorithms may be adopted to implement this technology.
[0117] The effects described in this disclosure are merely examples and not limiting, and other effects may also occur. The description of multiple effects above does not necessarily mean that they will occur simultaneously. It means that at least one of the effects described above may be obtained depending on the conditions, and of course, effects not described in this disclosure may also occur.
[0118] It is also possible to combine at least two of the characteristic features of each embodiment described above. In other words, the various characteristic features described in each embodiment may be combined arbitrarily, regardless of the specific embodiment.
[0119] Furthermore, this technology can also be configured as follows. (1) A transmission unit that transmits encrypted contract information relating to the payer who pays a predetermined amount and the recipient who receives the predetermined amount to the blockchain, Based on the aforementioned contract information, an execution unit automatically executes the payment. An information processing device equipped with the following. (2) An information processing device as described in (1), The aforementioned contract information includes attribute information indicating the attributes of the contracting parties, including the payer and the recipient, and at least one of the predetermined amount. Information processing device. (3)(2) Information processing device described above, The aforementioned predetermined amount includes the amount based on the distribution rate. Information processing device. (4) An information processing device as described in (1), further, The system includes a creation unit that creates consent information indicating the recipient's consent to the aforementioned contract information. Information processing device. (5)(4) Information processing device, The transmission unit transmits the consent information to the blockchain. Information processing device. (6)(1) The information processing device described above, further, The system includes a conversion unit that converts one or more of the aforementioned contract information into a single new contract information. Information processing device. (7)(6) The information processing device described above, The conversion unit converts the first contract information relating to the first person who pays the first amount and the second person who receives the first amount, and the second contract information relating to the second person who pays the second amount and the third person who receives the second amount, into a third contract information relating to the first person who pays the first amount, the second person who receives the difference between the first amount and the second amount, and the third person who receives the second amount. Information processing device. (8)(6) Information processing device described above, The conversion unit converts the first contract information relating to the first person who pays the first amount and the second person who receives the first amount, and the second contract information relating to the first person who pays the second amount and the third person who receives the second amount, into a third contract information relating to the first person who pays the total amount of the first and second amounts, the second person who receives the first amount, and the third person who receives the second amount. Information processing device. (9)(1) Information processing device described above, The encrypted contract information includes zero-knowledge proofs that prove the validity of the contract information. Information processing device. (10)(4) Information processing device, The consent information includes a zero-knowledge proof that the contract information has been properly encrypted. Information processing device. (11) Encrypted contract information relating to the payer who will pay a predetermined amount and the recipient who will receive the predetermined amount is sent to the blockchain. Based on the aforementioned contract information, the payment will be executed automatically. A method of information processing performed by a computer system. (12) The steps include: sending encrypted contract information relating to the payer who will pay a predetermined amount and the recipient who will receive the predetermined amount to the blockchain; The steps include automatically executing a payment based on the aforementioned contract information and A program that a computer system executes. [Explanation of Symbols]
[0120] 10…Information Processing Devices 12…Consent Information Creation Department 13…Transmitter 14… Contract Information Conversion Department 15…Executive Department 20…Blockchain
Claims
1. A transmission unit that transmits encrypted contract information relating to the payer who pays a predetermined amount and the recipient who receives the predetermined amount to the blockchain, An execution unit that automatically executes a payment by sending total payment data indicating the total amount payable by the payer and zero-knowledge certification indicating that the payer's balance is equal to or greater than the total amount to the blockchain based on the aforementioned contract information, A conversion unit that converts one or more of the aforementioned contract information into a new single contract information. It is equipped with, The conversion unit converts the first contract information relating to the first person who pays the first amount and the second person who receives the first amount, and the second contract information relating to the second person who pays the second amount and the third person who receives the second amount, into a third contract information relating to the first person who pays the first amount, the second person who receives the difference between the first amount and the second amount, and the third person who receives the second amount. Information processing device.
2. An information processing apparatus according to claim 1, The aforementioned contract information includes attribute information indicating the attributes of the contracting parties, including the payer and the recipient, and at least one of the predetermined amount. Information processing device.
3. An information processing apparatus according to claim 2, The aforementioned predetermined amount includes the amount based on the distribution rate. Information processing device.
4. The information processing apparatus according to claim 1, further, The system includes a creation unit that creates consent information indicating the recipient's consent to the aforementioned contract information. Information processing device.
5. An information processing apparatus according to claim 4, The transmission unit transmits the consent information to the blockchain. Information processing device.
6. An information processing apparatus according to claim 1, The conversion unit converts the fourth contract information relating to the first person who pays the third amount and the second person who receives the third amount, and the fifth contract information relating to the first person who pays the fourth amount and the third person who receives the fourth amount, into a sixth contract information relating to the first person who pays the total amount of the third and fourth amounts, the second person who receives the third amount, and the third person who receives the fourth amount. Information processing device.
7. An information processing apparatus according to claim 1, The encrypted contract information includes zero-knowledge proofs that prove the validity of the contract information. Information processing device.
8. An information processing apparatus according to claim 4, The consent information includes a zero-knowledge proof that the contract information has been properly encrypted. Information processing device.
9. Encrypted contract information relating to the payer who will pay a predetermined amount and the recipient who will receive the predetermined amount is sent to the blockchain. Based on the aforementioned contract information, the payment is automatically executed by sending total payment data indicating the total amount payable by the payer and zero-knowledge certification indicating that the payer's balance is equal to or greater than the aforementioned total amount to the blockchain. Convert one or more of the aforementioned contract information into a new single contract information, The first contract information relating to a first person who pays the first amount and a second person who receives the first amount, and the second contract information relating to a second person who pays the second amount and a third person who receives the second amount, are converted into a third contract information relating to a first person who pays the first amount, a second person who receives the difference between the first amount and the second amount, and a third person who receives the second amount. A method of information processing performed by a computer system.
10. The steps include: sending encrypted contract information relating to the payer who will pay a predetermined amount and the recipient who will receive the predetermined amount to the blockchain; The steps include automatically executing a payment by sending total payment data indicating the total amount payable by the payer and zero-knowledge certification indicating that the payer's balance is equal to or greater than the total amount, based on the aforementioned contract information, to the blockchain, A step of converting one or more of the aforementioned contract information into a new single contract information, A step of converting first contract information relating to a first person who pays the first amount and a second person who receives the first amount, and second contract information relating to a second person who pays the second amount and a third person who receives the second amount, into third contract information relating to a first person who pays the first amount, a second person who receives the difference between the first amount and the second amount, and a third person who receives the second amount. A program that causes a computer system to execute something.