[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2021144888A1 - 決済処理装置、決済処理プログラムおよび決済処理システム - Google Patents

決済処理装置、決済処理プログラムおよび決済処理システム Download PDF

Info

Publication number
WO2021144888A1
WO2021144888A1 PCT/JP2020/001114 JP2020001114W WO2021144888A1 WO 2021144888 A1 WO2021144888 A1 WO 2021144888A1 JP 2020001114 W JP2020001114 W JP 2020001114W WO 2021144888 A1 WO2021144888 A1 WO 2021144888A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
payment
deposit
blockchain
processing device
Prior art date
Application number
PCT/JP2020/001114
Other languages
English (en)
French (fr)
Inventor
玲 大塚
大成 高橋
Original Assignee
株式会社Finality Technologies
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Finality Technologies filed Critical 株式会社Finality Technologies
Priority to PCT/JP2020/001114 priority Critical patent/WO2021144888A1/ja
Publication of WO2021144888A1 publication Critical patent/WO2021144888A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to a payment processing device, a payment processing program, and a payment processing system.
  • Non-Patent Document 1 As a countermeasure against the double payment problem that is conscious of such immediate settlement, there is a method of extracting the area around the block including the deposit transaction of the main blockchain as a subchain and having the wallet side of the cryptocurrency confirm the deposit (for example).
  • Non-Patent Document 1 it is necessary to accurately measure the time required to generate the subchain, and a reliable time stamp server is required.
  • a reliable time stamp server is required.
  • the present invention has been made in consideration of the above-mentioned circumstances, and an object of the present invention is to be able to execute an immediate settlement or an immediate contract using a blockchain.
  • the payment processing device includes a generation unit, a signature unit, and a certification unit.
  • the generator generates a transaction related to the transaction.
  • the signing unit digitally signs the transaction using the first private key.
  • the proof unit certifies the authenticity of the transaction by digitally signing it with a second private key corresponding to the second public key authenticated by a trusted third party in the transaction.
  • immediate payment or immediate contract using the blockchain can be executed.
  • the block diagram which shows the payment processing apparatus of the payment side which concerns on this embodiment The block diagram which shows the payment processing apparatus of the receiving side which concerns on this Embodiment.
  • Settlements and contracts using blockchain are in a state where transactions are not overturned through the following two events after an agreement is reached between the parties and issued. It has reached (also called finality), and this state is said to be the state in which the transaction has been approved (also called confirmation).
  • the first event is that the transaction related to the transaction is captured in the block.
  • the second event is that a sufficient number or more of new blocks are added after the block.
  • the sufficient number of blocks of a predetermined number or more may be 5 or 6 blocks. This is because Bitcoin adds one block to the blockchain every 10 minutes, so considering the current difficulty of mining and the computing power of the computer used for mining, it is safe enough to prevent fraud.
  • a cryptocurrency represented by Bitcoin registered trademark
  • the payment method is not limited to cryptocurrency, and may be a payment method that can be converted into money such as electronic money, virtual money, and points provided by each company's point service.
  • the payment processing device, payment processing program, and payment processing system according to the present embodiment can be applied to smart contracts that realize transactions such as transfer of real estate such as land and insurance contracts on the blockchain.
  • the payment processing device on the payment side of the cryptocurrency according to the present embodiment will be described with reference to the block diagram of FIG.
  • the payment processing device on the payment side is also called a payment device.
  • the payment processing device 1 on the paying side may have tamper resistance due to hardware and / or software. Having tamper resistance by hardware includes a case where only the payment processing device 1 is configured to have tamper resistance and a case where the device having tamper resistance includes the payment processing device 1.
  • the payment processing device 1 may be stored in tamper-resistant hardware represented by a secure element such as SIM (Subscriber Identity Module) or USIM (Universal SIM).
  • SIM Subscriber Identity Module
  • USIM Universal SIM
  • secure mechanisms such as TrustZone (registered trademark) of ARM (registered trademark) and Intel SGX of Intel (registered trademark).
  • the payment processing device 1 may be stored in the hardware having the payment processing device 1.
  • the software When the software is considered to have tamper resistance due to obfuscation or the like, the payment processing device 1 may be realized by the software.
  • the payment processing device 1 includes a processing circuit 11, a memory 12, and a communication interface 13.
  • the processing circuit 11 includes a management unit 111, a generation unit 112, a signature unit 113, a certification unit 114, and a transmission / reception unit 115.
  • the processing circuit 11 is composed of one processing circuit such as a CPU (Central Processing Unit) or GPU (Graphics Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the processing circuit 11, the memory 12, and the communication interface 13 are connected to each other via a bus so that data can be transmitted and received. Not limited to this, each part may be configured as a single processing circuit or a single integrated circuit.
  • the management unit 111 includes a private key (also referred to as a first private key) generated by the user and a public key (first public key) corresponding to the first private key included in the cryptographic currency wallet stored in the memory 12 described later. Manage one or more pairs (also called keys). The management unit 111 manages one or more accounts based on the public key and the balance corresponding to each of the one or more accounts. In the case of a system such as Bitcoin that does not allow division of the balance (UTXO: Unspent Transaction Output), the balance takes only two values, the deposit amount (unused) and 0 (used).
  • UXO Unspent Transaction Output
  • the management unit 111 trusts the public key (also referred to as the second public key) authenticated by a third party trusted in the transaction and the private key corresponding to the second public key (the second private key or the transaction of the cryptocurrency). It manages a pair with a private key authenticated by a third party.
  • the trusted third party in the transaction is, in the present embodiment, the third party trusted in the cryptocurrency transaction, for example, the manufacturer of hardware or software that realizes the tamper resistance as described above. A service provider.
  • the third party trusted in the transaction may be a management company that manages the tokenized real estate.
  • the user In the authentication of the second public key by a third party trusted in the transaction, for example, in the payment processing device 1, the user generates the second private key and the corresponding second public key, and the second public key is encrypted.
  • Authentication may be realized by issuing a certificate of a trusted third party in currency transactions.
  • a third party for example, a manufacturer
  • trusted in the transaction generates a second private key and a corresponding second public key in advance, and issues a third party certificate at the same time.
  • a trusted third party in the transaction stores the second private key, the corresponding second public key and the certificate in the tamper-resistant hardware in advance, so that the trusted third party can perform the second.
  • Public key authentication may be realized.
  • the generation unit 112 generates a transaction related to a cryptocurrency transaction.
  • the signing unit 113 digitally signs the transaction using the first private key.
  • the proof unit 114 proves the authenticity of the transaction by digitally signing it with the second private key. The specific processing of the certification unit 114 will be described later.
  • the transmission / reception unit 115 receives information such as a public key and a requested amount from the receiving side, and transmits a transaction or the like.
  • the memory 12 stores the wallet of the paying user.
  • the wallet includes a pair of a first private key and a first public key, and a pair of a second private key and a second public key.
  • the memory 12 is composed of a storage device such as a ROM (Read Only Memory), a RAM (Random Access Memory), an HDD (Hard Disk Drive), an SSD (Solid State Drive), and an integrated circuit storage device.
  • the communication interface 13 is an interface for transmitting and receiving data between the payment processing device 1 and the external device, which conforms to a predetermined communication standard.
  • Communication standards include mobile networks such as 4G and 5G, wireless LANs such as Wi-Fi (registered trademark), wireless networks such as Bluetooth (registered trademark) and NFC (Near Field Communication), or LAN and USB (Universal Serial Bus). ) And other wired networks are assumed.
  • the payment processing device on the receiving side is also called a payment device.
  • the payment processing device 2 on the receiving side may also have tamper resistance like the payment processing device 1 on the payment side.
  • the payment processing device 2 on the receiving side includes a processing circuit 21, a memory 22, and a communication interface 23.
  • the processing circuit 21 includes a management unit 211, a transmission / reception unit 212, a verification unit 213, a reception unit 214, a generation unit 215, and a signature unit 216.
  • the Management unit 211 manages the local blockchain, which is all or part of the blockchain.
  • the local blockchain is the latest blockchain at the time when the payment processing device 2 is last connected to the network.
  • the latest blockchain may not reach an agreement from the latest block to a predetermined number of past blocks due to a phenomenon called a fork.
  • the transmission / reception unit 212 receives the second public key and the payment transaction related to the payment transaction. Further, in the case of the redemption process described later, a redemption transaction for compensating for the loss is transmitted.
  • the verification unit 213 verifies whether the balance of the payment source is equal to or greater than the payment amount, the payment transaction is valid, and the source of the payment transaction is reliable.
  • the receiving unit 214 can determine that the payment transaction is subsequently approved by the blockchain if the payment source balance is greater than or equal to the payment amount, the payment transaction is valid, and the payment transaction is reliable to prove the source of the payment transaction. , Accept the transaction shown in the payment transaction.
  • the user on the receiving side of the cryptocurrency may execute the contract according to the transaction content of the payment transaction, or the external executing unit executes the accepted transaction. You may.
  • the generation unit 215 generates a redemption transaction in the redemption process described later.
  • the signing unit 216 digitally signs the redemption transaction with the private key contained in the wallet stored in the memory 22.
  • the memory 22 stores the blockchain acquired at the time of the latest network connection with the wallet of the receiving user as a local blockchain.
  • the wallet contains a pair of a private key (also referred to as a third private key) generated by the receiving user and a public key (also referred to as a third public key) corresponding to the third private key. Since the communication interface 23 is the same as the communication interface 13, a specific description thereof will be omitted.
  • the payment processing device on the payment side shown in FIG. 1 and the payment processing device on the receiving side shown in FIG. 2 may be configured as one payment processing device including the respective configurations shown in FIGS. 1 and 2.
  • the configuration shown in FIG. 1 may function
  • the configuration shown in FIG. 2 may function.
  • the wallet W may be stored in the memory 12 of the payment processing device 1 or may be stored in an external device (not shown).
  • the cryptocurrency is transferred from the user's wallet W to the new account w, and the balance of the wallet W is assumed to be zero or more.
  • step S301 the generation unit 112 generates an account w corresponding to a new pair of the first private key and the first public key.
  • the account w is an address represented by a character string. For example, if the hash value of the first public key is calculated and the hash value is encoded into a character string in an encoding format such as Base58Check, the character string is defined as the account w. good.
  • the wallet W generates a deposit transaction ⁇ l relating to a deposit transaction for transferring a cryptocurrency of an amount bl to a new account w.
  • the deposit transaction ⁇ l provides information on the source account of the cryptocurrency (here, the address of the wallet W), the destination account of the cryptocurrency (here, the address of the account w), and the amount to be transferred (here, b l ). include.
  • step S303 the wallet W digitally signs the deposit transaction ⁇ l with the first private key. By digitally signing with the first private key, the deposit transaction ⁇ l becomes valid.
  • step S304 the wallet W broadcasts the deposit transaction ⁇ l to the blockchain network.
  • step S305 the wallet W acquires block B i from the blockchain network.
  • step S306 determines wallet W is, whether the payment transaction tau l is approved, that is, whether the acquired block B i in the deposit transaction tau l is incorporated. Specifically, for example, if the block B i is only to include the transaction set information Merkle tree, by calculating the Merkle root and Makurupasu blocks B i, the existing method, payment transactions in the block B i It can be determined whether or not ⁇ l is included. If taken by the obtained block B i in the deposit transaction tau l, the process proceeds to step S307, if not captured payment transaction tau l to the obtained block B i, and repeats the same processing returns to step S305.
  • step S307 the wallet W is credited transaction tau l to produce a deposit certificate tau l * to indicate that are incorporated in the block B i.
  • Deposit credentials tau l * is an auxiliary information to prove that tau l is included in the set of transactions with block B i (witness).
  • the deposit proof information ⁇ l * is, for example, a set of hash values of the clauses that are siblings in each clause in the route from the Merkle root in the Merkle tree to the Merkle leaf indicating the deposit transaction ⁇ l.
  • the deposit proof information ⁇ l * may be Witness in the zero-knowledge proof.
  • the balance of the account w is set to b l.
  • the cryptocurrency deposit for one account is not limited to one time, and the cryptocurrency may be deposited multiple times for one account. Also, withdrawal of cryptocurrency from one account is not limited to those that can be withdrawn multiple times as long as there is a balance, and even if withdrawal of cryptocurrency from one account is limited to only once. good.
  • the payment process shown in FIG. 4 can be executed offline between the payment processing device 1 (X) on the paying side and the payment processing device 2 (Y) on the receiving side.
  • a payment processing system can be realized by the payment processing device 1 and the payment processing device 2 shown in FIG.
  • step S401 for example, from the transmission / reception unit 212 of the payment processing device 2 on the receiving side, the account y corresponding to the third public key PKy on the receiving side and the requested amount b 0 of the cryptocurrency are set on the paying side via the communication interface 13. Is transmitted to the payment processing device 1.
  • the management unit 111 of the payment processing device 1 on the payment side confirms the balance of the account w.
  • the balance b l of account w is b 0 or more, and that is, b l ⁇ b 0. If the balance is less than b 0 , the process ends.
  • the payment processing device 1 manages a plurality of accounts and the total balance is b 0 or more, the payment is processed as payment from the plurality of accounts.
  • step S403 the management unit 111 of the payment processing device 1 on the payment side calculates a new balance obtained by subtracting b 0 from the balance of the account w.
  • step S404 the generation unit 112 of the payment processing device 1 on the paying side generates a payment transaction ⁇ 0 indicating the content of paying the cryptocurrency of bo from the account w to the receiving side. Further, the generation unit 112 generates payment proof information including payment information regarding the account w.
  • the payment proof information may be a pair of deposit transaction ⁇ l and deposit proof information ⁇ l * ( ⁇ l , ⁇ l * ), and further includes payment transaction ⁇ 0 when efficiency is required on the receiving side. It may be a set ( ⁇ 0 , ⁇ l , ⁇ l *).
  • step S405 the signature unit 113 of the payment processing device 1 on the payment side digitally signs the payment transaction ⁇ 0 with the first private key sk w.
  • step S406 the proof unit 114 of the payment processing device 1 on the payment side digitally signs the payment proof information with the second private key sk T.
  • step S407 the digitally signed payment transaction ⁇ 0 and the digitally signed payment proof information are transmitted to the receiving side payment processing device 2 via the transmission / reception unit 115 and the communication interface 13 of the payment processing device 1 on the paying side. do.
  • the settlement processing unit 1 of the payment side with respect to the payment processing apparatus 2 receiving the certificate for the second public key PK T of a trusted third party issues the transaction encryption currencies are transmitted together You may.
  • step S408 the verification unit 213 of the payment processing device 2 on the receiving side executes the verification process. Specifically, it is determined whether or not all of the following three requirements are satisfied.
  • the deposit transaction ⁇ l is taken into the block B, and the deposit transaction ⁇ l is approved by the blockchain network.
  • the payment transaction ⁇ 0 digitally signed with the first private key sk w is valid.
  • the payment proof information digitally signed with the second private key sk T is valid as proof from a device authenticated by a trusted third party in cryptocurrency transactions.
  • the verification unit 213 can verify the hash value of the Merkle tree of the block and the payment proof. It can be determined that the requirement (a) is satisfied by comparing and calculating the hash values from the Merkle root included in the information to the Merkle leaf indicating the deposit transaction ⁇ l, which are concatenated and summarized.
  • the digital signature is performed by the first secret key sk w, and, if so account balance w does not become negative in the light of the block chain C Y in the payment transaction tau 0 local, of (b) It can be determined that the requirements are met.
  • the digital signature of the second secret key sk T can be verified by the second public key PK T, and certificate for the second public key PK T a third party is issued that is trusted in the transaction of encryption currency such as If it can be verified that the second public key PK T is valid, it can be determined that the requirement (c) is satisfied.
  • the verification unit 213 can verify that all the above requirements (a) to (c) are satisfied, the payment source account also has a balance, and the payment transaction ⁇ 0 generated from a reliable wallet. , It can be determined that the payment transaction ⁇ 0 is a transaction that is subsequently approved in the blockchain. That is, it can be determined that the payment transaction ⁇ 0 can be accepted immediately.
  • step S409 the receiving unit 214 of the payment processing device 2 on the receiving side accepts the transaction shown in the payment transaction ⁇ 0 , and the immediate settlement or the immediate contract is executed.
  • the vending machine may be set to discharge the goods specified by the user after the payment in the cryptocurrency is received in the vending machine in step S409.
  • the paying side payment processing device 1 may notify the payment side payment processing device 1 that the transaction has been accepted and the payment or contract has been completed. Further, the payment processing device 2 on the receiving side may notify that the payment transaction ⁇ 0 cannot be immediately accepted when the transaction is not accepted, that is, when the payment transaction ⁇ 0 is determined to be unacceptable immediately.
  • This processing in step S408 is because it is assumed the process off-line, block chain C Y are acquired locally might not be up to date. Also, a few blocks at the end of the block chain C Y are acquired locally, depending on the state of the block chain network because it may not have been achieved agreed influence of forks, it is included in the block deposit This is because the transaction ⁇ l may not be approved.
  • the probability that the deposit transaction ⁇ l is not approved without overturning the transaction can be reduced as much as possible according to k. That is, if the block containing the deposit transaction ⁇ l is incorporated in the remaining blockchain from which k blocks have been removed, it can be said that the reliability of the transaction is sufficiently high.
  • the redemption process of the cryptocurrency in the payment processing device 2 on the receiving side will be described with reference to the flowchart of FIG.
  • the payment transaction ⁇ 0 is actually invalid, the condition in step S408 described above is satisfied. Therefore, if the receiving side makes an immediate settlement or an immediate contract and a loss occurs, the loss is compensated. If this is the case.
  • the company that compensates for the loss may be a third party trusted in a transaction such as a manufacturer that manufactures a device for storing a wallet, or a company such as an insurance company that specializes in compensation.
  • step S501 the transmission / reception unit 212 of the payment processing device 2 on the receiving side broadcasts the payment transaction ⁇ 0 to the blockchain network.
  • step S502 the management unit 211 of the payment processing device 2 on the receiving side monitors the blockchain network and updates the block B of the local blockchain it owns.
  • step S503 determines the verification unit 213 of the recipient of the payment processing apparatus 2, or payment transaction tau 0 is approved at block chain network, or payment transaction tau 0 is invalid. If the payment transaction ⁇ 0 is approved in the blockchain network, it becomes the process of receiving the cryptocurrency by the normal transaction. Here, it is assumed that the payment transaction ⁇ 0 is invalid.
  • step S504 generation unit 215 of the settlement processing unit 2 of the receiving side, for performing the redemption process to generate a redemption transaction tau r.
  • the redemption transaction ⁇ r includes payment proof information and payment transaction ⁇ 0 , and proves the validity that the payment processing device 2 immediately accepts the payment transaction ⁇ 0.
  • step S505 generation unit 215 of the settlement processing unit 2 of the receiving side, digitally signed with the third secret key to the redemption transaction tau r.
  • step S506 the settlement processing unit 2 of the transmitting and receiving unit 212 of the receiving side transmits a digitally signed redeemed transaction tau r to compensate skilled T.
  • step S507 the compensation trader T is, to investigate the redemption transaction ⁇ r.
  • the contents of the redemption transaction tau r is determined to be valid.
  • step S508 the compensating transaction T generates a compensating transaction ⁇ T to compensate for the receiving loss bo.
  • the compensating transaction T broadcasts the compensating transaction ⁇ T to the blockchain network. If the compensating transaction ⁇ T is authentic, then the compensating transaction ⁇ T is approved by the blockchain network and the cryptocurrency is compensated to the recipient.
  • the payer pays using a second private key authenticated by a trusted third party in the transaction, such as the manufacturer of the tamper resistant device that stores the wallet. Digitally sign the credentials.
  • the recipient accepts the payer's transaction if it is confirmed that the payment proof information is signed with a key authenticated by a trusted third party in the transaction and meets certain conditions.
  • This makes it possible to execute instant payments and instant contracts without modifying the blockchain network represented by cryptocurrencies such as Bitcoin.
  • the wallet on the paying side does not need to store the blockchain for verification in the wallet. Therefore, on the payment side, a time stamp server for verifying the blockchain is unnecessary, and a lightweight tamper-resistant wallet can be realized without the restriction that the wallet cannot be used after a certain period of time has passed since the payment was made.
  • a cryptocurrency can be used for payment at a convenience store cash register. It can also be applied when receiving digital contents or digital services via the Internet. In addition, even when securities transactions or derivative transactions are conducted via the Internet, immediate transactions can be completed without depositing deposits with a securities company. It is also possible to purchase insurance products via the Internet immediately before the user's actions. It can also be applied to the purchase of speed lottery, etc., where the winning is found on the spot. In addition, the settlement processing system according to the present embodiment can be introduced for transactions that require immediate completion.
  • the instructions given in the processing procedure shown in the above-described embodiment can be executed based on a program that is software. It is also possible for a general-purpose computer system to store this program in a recording medium in advance and read the stored program to obtain an effect similar to the effect of the identification device described above. Further, the recording medium in the present embodiment is not limited to a medium independent of the computer or the embedded system, but also includes a recording medium in which a program transmitted by a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
  • the invention of the present application is not limited to the above-described embodiment, and can be variously modified at the implementation stage without departing from the gist thereof.
  • each embodiment may be carried out in combination as appropriate as possible, and in that case, the combined effect can be obtained.
  • the above-described embodiment includes inventions at various stages, and various inventions can be extracted by an appropriate combination in a plurality of disclosed constitutional requirements.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本実施形態に係る決済処理装置は、生成部と、署名部と、証明部とを含む。生成部は、取引に関するトランザクションを生成する。署名部は、前記トランザクションに対して第1秘密鍵を用いてデジタル署名する。証明部は、取引において信頼される第三者により認証された第2公開鍵に対応する第2秘密鍵を用いてデジタル署名をすることにより、前記トランザクションの真正性を証明する。

Description

決済処理装置、決済処理プログラムおよび決済処理システム
 本発明は、決済処理装置、決済処理プログラムおよび決済処理システムに関する。
 暗号通貨に代表されるブロックチェーンを利用した取引において、取引が発生してから当該取引が承認される、すなわち決済が完了するまでにかなりの時間を要する。ビットコイン(登録商標)の例では、トランザクションが生成されてから決済が完了するまで1時間近くタイムラグを生じることになる。よって、例えば、実店舗での商品の購入のため、支払いに暗号通貨を用いることを想定すると、決済までに1時間を要する暗号通貨は決済手段としては現実的ではない。すなわち、ブロックチェーンを用いた決済取引の日常利用は、導入が難しいという課題がある。
 そのため、決済までの時間を短縮して暗号通貨により即時決済を実現することが望まれるが、上述のブロックチェーンの仕組みでは、無理に即時決済を行おうとすると、同じコインが2度使われる二重支払い問題が発生する可能性がある。
 このような即時決済を意識した二重支払い問題に対する対策として、メインのブロックチェーンの入金トランザクションを含むブロック周辺をサブチェーンとして抽出し、暗号通貨のウォレット側で入金を確認させる手法がある(例えば、非特許文献1)。
Dmitrienko et al., "Secure Wallet-Assisted Offline Bitcoin Payments with Double-Spender Revocation", Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, April 2017, Pages 520-531.
 しかし、非特許文献1では、サブチェーンの生成に要した時間を正確に計測する必要があり、信頼できるタイムスタンプサーバが必要である。あるいは、入金したコインに使用期限を設け、一定期間を過ぎると入金したコインを使用できなくすることにより信頼できるタイムスタンプサーバを不要とする手法もあるが、この場合はユーザビリティに欠けるという問題がある。
 本発明は、上述した事情を考慮してなされたものであり、ブロックチェーンを用いた即時決済または即時契約を実行できることを目的とする。
 上述の課題を解決するため、本実施形態に係る決済処理装置は、生成部と、署名部と、証明部とを含む。生成部は、取引に関するトランザクションを生成する。署名部は、前記トランザクションに対して第1秘密鍵を用いてデジタル署名する。証明部は、取引において信頼される第三者により認証された第2公開鍵に対応する第2秘密鍵を用いてデジタル署名をすることにより、前記トランザクションの真正性を証明する。
 本発明の決済処理装置によれば、ブロックチェーンを用いた即時決済または即時契約を実行できる。
本実施形態に係る支払い側の決済処理装置を示すブロック図。 本実施形態に係る受け取り側の決済処理装置を示すブロック図。 本実施形態に係る支払い側の決済処理装置における入金処理を示すフローチャート。 本実施形態に係る受け取り側の決済処理装置における決済処理を示すシーケンス図。 本実施形態に係る受け取り側の決済処理装置における暗号通貨の償還処理を示すシーケンス図。
 暗号通貨に代表される、ブロックチェーンを用いた決済および契約(いわゆるスマートコントラクト)は、取引について当事者間で合意が成立して発行された後、次の2つのイベントを経て、取引が覆されない状態(ファイナリティともいう)に達し、この状態を取引が承認(コンファームともいう)された状態であるという。
 1つ目のイベントは、取引に関するトランザクションがブロックに取り込まれることである。2つ目のイベントは、当該ブロックの後に所定数以上の十分な数の新しいブロックが追加されることである。所定数以上の十分な数のブロックとは、暗号通貨の一種であるビットコインの場合は、5,6個のブロックであればよい。これは、ビットコインでは、10分当たり1つのブロックがブロックチェーンに追加されるので、現状のマイニングの困難さとマイニングに用いる計算機の計算パワーとを考慮すると、不正を行なえない程度に安全であるといえ、十分な数のブロックであるとみなせるからである。一方、6個のブロックが追加された際に取引が承認されたと仮定する場合、決済までに10分×6=60分かかるため、このままでは日常の決済手段としては導入しにくい。
 本実施形態に係る決済処理装置、決済処理プログラムおよび決済処理システムによれば、既存のブロックチェーンの仕組みをほとんど変更することなく、即時決済または即時契約を可能とする。
 以下、図面を参照しながら本発明の実施形態に係る決済処理装置、決済処理プログラムおよび決済処理システムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
 本実施形態では、ビットコイン(登録商標)に代表される暗号通貨について、取引履歴が記録されたブロックチェーンネットワークを用いた決済を行う場合を例に説明する。なお、暗号通貨に限らず、電子マネー、仮想マネー、各社のポイントサービスで提供されるポイントなどの貨幣に可換な決済手段であってもよい。また、土地などの不動産の移転、保険の契約などの取引をブロックチェーンで実現するスマートコントラクトについても同様に、本実施形態に係る決済処理装置、決済処理プログラムおよび決済処理システムを適用可能である。
 本実施形態に係る暗号通貨の支払い側の決済処理装置について、図1のブロック図を参照して説明する。支払い側の決済処理装置は、支払装置とも呼ぶ。
 本実施形態に係る支払い側の決済処理装置1は、ハードウェアおよび/またはソフトウェアにより耐タンパー性を有してもよい。ハードウェアにより耐タンパー性を有するとは、決済処理装置1のみで耐タンパー性を有するように構成される場合と、耐タンパー性を有するデバイスに決済処理装置1が含まれる場合とを含む。
 例えば、SIM(Subscriber Identity Module)、USIM(Universal SIM)といったセキュアエレメントに代表される耐タンパー性を有するハードウェアに、決済処理装置1が格納されてもよい。また、セキュアエレメントに限らず、ARM(登録商標)のTrustZone(登録商標)によるセキュア機構、Intel(登録商標)のIntel SGXなどのセキュア機構があり、ハードウェアとソフトウェアとが協働したセキュア機構を有するハードウェアに決済処理装置1が格納されてもよい。
 難読化(Obfuscation)などによりソフトウェアが耐タンパー性を有すると見做される場合は、決済処理装置1をソフトウェアで実現してもよい。
 決済処理装置1は、処理回路11と、メモリ12と、通信インタフェース13とを含む。処理回路11は、管理部111と、生成部112と、署名部113と、証明部114と、送受信部115とを含む。処理回路11は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの1つの処理回路、またはASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により構成される。処理回路11と、メモリ12と、通信インタフェース13とはバスを介してデータを送受信可能に接続される。なお、これに限らず、各部が単独の処理回路または単独の集積回路として構成されてもよい。
 管理部111は、後述のメモリ12に格納される暗号通貨のウォレットに含まれる、ユーザにより生成された秘密鍵(第1秘密鍵ともいう)と第1秘密鍵に対応する公開鍵(第1公開鍵ともいう)との1以上のペアを管理する。管理部111は、公開鍵に基づく1以上の口座と当該1以上の口座それぞれに対応する残高とを管理する。ビットコインのような残高の分割を許さないシステム(UTXO: Unspent Transaction Output)等の場合、残高は入金金額(未使用)か0(使用済)の2通りの値のみをとる。管理部111は、取引において信頼される第三者に認証された公開鍵(第2公開鍵ともいう)と第2公開鍵に対応する秘密鍵(第2秘密鍵あるいは、暗号通貨の取引において信頼される第三者に認証された秘密鍵ともいう)とのペアを管理する。
 取引において信頼される第三者とは、本実施形態では、暗号通貨の取引において信頼される第三者であり、例えば、上述したような耐タンパー性を実現するハードウェアまたはソフトウェアの製造業者またはサービス提供者である。暗号通貨以外の取引、例えば、不動産の取引を想定したスマートコントラクトの場合、取引において信頼される第三者とは、トークン化された不動産を管理する管理会社などであればよい。
 取引において信頼される第三者による第2公開鍵の認証は、例えば、決済処理装置1内で、ユーザにより第2秘密鍵および対応する第2公開鍵が生成され、第2公開鍵に対し暗号通貨の取引において信頼される第三者の証明書の発行がなされることで、認証が実現されてもよい。
 また、取引において信頼される第三者(例えば、製造業者)が、予め第2秘密鍵および対応する第2公開鍵を生成し、併せて第三者の証明書を発行しておく。取引において信頼される第三者が、耐タンパー性を有するハードウェアに第2秘密鍵、対応する第2公開鍵および証明書を予め格納しておくことで、信頼される第三者による第2公開鍵の認証が実現されてもよい。
 生成部112は、暗号通貨の取引に関するトランザクションを生成する。
 署名部113は、トランザクションに対して第1秘密鍵を用いてデジタル署名する。
 証明部114は、第2秘密鍵を用いてデジタル署名をすることにより、トランザクションの真正性を証明する。証明部114の具体的な処理については後述する。
 送受信部115は、受け取り側から公開鍵と要求金額などの情報を受信し、トランザクションなどを送信する。
 メモリ12は、支払い側のユーザのウォレットを格納する。ウォレットには、第1秘密鍵と第1公開鍵とのペア、第2秘密鍵と第2公開鍵とのペアが含まれる。メモリ12は、ROM(Read Only Memory)やRAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、集積回路記憶装置等の記憶装置により構成される。
 通信インタフェース13は、所定の通信規格に準拠した、決済処理装置1と外部装置との間でデータ送受信を行うためのインタフェースである。通信規格としては、4G,5Gなどのモバイルネットワーク、Wi-Fi(登録商標)などの無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)などの無線ネットワーク、あるいはLAN、USB(Universal Serial Bus)などの有線ネットワークなどを想定する。
 次に、本実施形態に係る暗号通貨の受け取り側の決済処理装置について、図2のブロック図を参照して説明する。受け取り側の決済処理装置は、決済装置とも呼ぶ。
 なお、受け取り側の決済処理装置2についても、支払い側の決済処理装置1と同様に耐タンパー性を有してもよい。
 受け取り側の決済処理装置2は、処理回路21と、メモリ22と、通信インタフェース23とを含む。処理回路21は、管理部211と、送受信部212と、検証部213と、受理部214と、生成部215と、署名部216とを含む。
 管理部211は、ブロックチェーンの全部または一部分であるローカルのブロックチェーンを管理する。ローカルのブロックチェーンとは、決済処理装置2が最後にネットワーク接続した時点での最新のブロックチェーンを示す。一般に、最新のブロックチェーンは最新のブロックから所定数過去のブロックまではフォークと呼ばれる現象により合意が達成されていないことがある。しかし、ブロックチェーンが正常に動作していれば、最新のブロックから所定数過去のブロックを除いたブロックチェーン(プレフィックス)については完全に合意が達成されていると見做すことができる。
 送受信部212は、第2公開鍵と、支払い取引に関する支払トランザクションを受信する。また、後述の償還処理の場合は、損失を補償するための償還トランザクションを送信する。
 検証部213は、支払い元の残高が支払額以上であり、支払トランザクションが有効であり、支払トランザクションの出所が信頼できる否かを検証する。
 受理部214は、支払い元の残高が支払額以上であり、支払トランザクションが有効であり、支払トランザクションの出所を証明する信頼できる場合、当該支払トランザクションがその後にブロックチェーンによって承認されると判定できるため、支払トランザクションに示される取引を受理する。なお、受理部214により受理された後は、支払トランザクションの取引内容に応じ、暗号通貨の受け取り側のユーザが契約を実行してもよいし、外部の実行部が、受理された取引を実行してもよい。
 生成部215は、後述の償還処理において、償還トランザクションを生成する。
 署名部216は、償還トランザクションに対して、メモリ22に格納されるウォレットに含まれる秘密鍵でデジタル署名する。
 メモリ22は、受け取り側のユーザのウォレットと直近のネットワーク接続時に取得したブロックチェーンをローカルのブロックチェーンとして格納する。ウォレットには、受け取り側のユーザにより生成された秘密鍵(第3秘密鍵ともいう)と第3秘密鍵に対応する公開鍵(第3公開鍵ともいう)とのペアが含まれる。
 通信インタフェース23は、通信インタフェース13と同様であるため、具体的な説明を省略する。
 なお、図1に示す支払い側の決済処理装置と図2に示す受け取り側の決済処理装置とは、図1および図2に示すそれぞれの構成を含む1つの決済処理装置として構成されてもよい。この場合、支払い側として決済処理装置が動作する場合は、図1に示す構成が機能すればよいし、受け取り側として決済処理装置が動作する場合は、図2に示す構成が機能すればよい。
 次に、本実施形態に係る支払い側の決済処理装置1に関する暗号通貨の入金処理について図3のフローチャートを参照して説明する。
 本実施形態では、ウォレットWは、決済処理装置1のメモリ12に格納されてもよいし、外部装置(図示せず)に格納されてもよい。以下では、ユーザのウォレットWから新しい口座wに暗号通貨を移動することを想定し、ウォレットWの残高はゼロ以上であることを想定する。
 ステップS301では、生成部112が、新しい第1秘密鍵と第1公開鍵のペアと対応する口座wを生成する。口座wは、文字列で表現されるアドレスであり、例えば、第1公開鍵のハッシュ値を計算し、当該ハッシュ値をBase58Checkなどのエンコード形式で文字列にエンコードした文字列を口座wとすればよい。
 ステップS302では、ウォレットWが、新しい口座wに金額bの暗号通貨を移動させるための入金取引に関する入金トランザクションτを生成する。入金トランザクションτは、暗号通貨の移動元の口座(ここではウォレットWのアドレス)、暗号通貨の移動先の口座(ここでは口座wのアドレス)、移動する金額(ここではb)に関する情報を含む。
 ステップS303では、ウォレットWが、入金トランザクションτに対して第1秘密鍵を用いてデジタル署名する。第1秘密鍵でデジタル署名を行うことで、入金トランザクションτが有効となる。
 ステップS304では、ウォレットWが、入金トランザクションτをブロックチェーンネットワークにブロードキャスト送信する。
 ステップS305では、ウォレットWが、ブロックチェーンネットワークからブロックBiを取得する。
 ステップS306では、ウォレットWが、入金トランザクションτが承認済みであるか否か、すなわち、取得したブロックBに入金トランザクションτが取り込まれているか否かを判定する。具体的には例えば、ブロックBがマークルツリー形式のトランザクション集合情報を含んでいれば、ブロックBのマークルルートおよびマークルパスを計算することで、既存の手法により、ブロックBに入金トランザクションτが含まれているか否かを判定できる。
 取得したブロックBに入金トランザクションτが取り込まれていれば、ステップS307に進み、取得したブロックBに入金トランザクションτが取り込まれていなければ、ステップS305に戻り同様の処理を繰り返す。
 ステップS307では、ウォレットWが、入金トランザクションτがブロックBに取り込まれていることを示す入金証明情報τ *を生成する。入金証明情報τ *は、τがブロックBが持つトランザクションの集合に含まれていることを証明する補助情報(witness)である。
 入金証明情報τ *は、例えば、マークルツリーにおけるマークルルートから入金トランザクションτを示すマークルリーフまでの経路における各節において兄弟にあたる節のハッシュ値の集合である。入金証明情報τ *は、ゼロ知識証明におけるWitnessでもよい。入金証明情報τ *を用いることで、(1)式のメンバーシップ検査関数が定義でき、トランザクションがブロックに含まれることを示すメンバーシップ証明を実現できる。
    member(B,τ,τ *)=1(if τ∈B) otherwise 0   (1)
 ステップS308では、決済処理装置1が、送受信部115において通信インタフェース13を介して (B,τ,τ *)を受信し、証明部114でmember(B,τ,τ *)=1を確認したときに限り、管理部111が、入金トランザクションτと入金証明情報τ *との組(τ、τ *)をメモリ12に格納する。
 ステップS309では、管理部111が、口座wの残高を更新する。ここでは、入金トランザクションτに従って、口座wの残高がbに設定される。
 なお、1つの口座についての暗号通貨の入金は、1回のみに限らず、1つの口座について複数回暗号通貨が入金されてもよい。また、1つの口座からの暗号通貨の出金は、残高がある限り複数回の出金が可能なものに限らず、1つの口座からの暗号通貨の出金が1回のみに限定されてもよい。
 次に、本実施形態に係る受け取り側の決済処理装置2の決済処理について図4のフローチャートを参照して説明する。図4に示す決済処理は、支払い側の決済処理装置1(X)と受け取り側の決済処理装置2(Y)との間でオフラインの状態で実行することができる。図4に示す決済処理装置1および決済処理装置2により、決済処理システムを実現できる。
 ステップS401では、例えば受け取り側の決済処理装置2の送受信部212から、通信インタフェース13を介して、受け取り側の第3公開鍵PKyに対応する口座yと暗号通貨の要求金額bとを支払い側の決済処理装置1に送信する。
 ステップS402では、支払い側の決済処理装置1の管理部111が、口座wの残高を確認する。ここでは、口座wの残高bがb以上である、つまりb≧bであるとする。なお、残高がb未満であれば、処理を終了する。ただし、決済処理装置1が複数の口座を管理しており、合計の残高がb以上であれば、複数の口座からの支払いとして処理する。
 ステップS403では、支払い側の決済処理装置1の管理部111が、口座wの残高からbを引いた新たな残高を計算する。
 ステップS404では、支払い側の決済処理装置1の生成部112が、口座wから受け取り側にbの暗号通貨を支払う内容を示す支払トランザクションτを生成する。さらに生成部112は、口座wに関する入金情報を含む支払証明情報を生成する。支払証明情報は、入金トランザクションτと入金証明情報τ *との組(τ、τ *)でもよいし、受け取り側で効率化が要求される場合は、さらに支払トランザクションτを含む組(τ,τ,τ *)であってもよい。
 ステップS405では、支払い側の決済処理装置1の署名部113が、支払トランザクションτに対して第1秘密鍵skでデジタル署名をする。
 ステップS406では、支払い側の決済処理装置1の証明部114が、支払証明情報に対して第2秘密鍵skでデジタル署名をする。
 ステップS407では、支払い側の決済処理装置1の送受信部115、通信インタフェース13を介して、デジタル署名された支払トランザクションτとデジタル署名された支払証明情報とを受け取り側の決済処理装置2に送信する。なお、支払い側の決済処理装置1から、受け取り側の決済処理装置2に対して、暗号通貨の取引において信頼される第三者が発行した第2公開鍵PKに関する証明書が併せて送信されてもよい。
 ステップS408では、受け取り側の決済処理装置2の検証部213が、検証処理を実行する。具体的には、以下の3つの要件を全て満たすか否かを判定する。
 (a)入金トランザクションτがブロックBに取り込まれ、ブロックチェーンネットワークで入金トランザクションτが承認されること。
 (b)第1秘密鍵skでデジタル署名された支払トランザクションτが有効であること。
 (c)第2秘密鍵skでデジタル署名された支払証明情報が暗号通貨の取引において信頼される第三者に認証された装置からの証明として有効であること。
 (a)の要件では、検証部213は、決済処理装置2のローカルにあるブロックチェーンCの中に、入金トランザクションτを含むブロックが含まれるか否か(つまり、τ∈C 「kであるか否か)を確認する。この場合、トランザクションをマークルツリーの形式で表現してマークルルートを示すハッシュ値を含むようブロックチェーンCのブロックを保持しておけば、ブロックチェーンの全トランザクションを維持する必要が無い。よって、メモリ及び処理量において効率的に入金トランザクションτの承認状況を検証できる。例えば、検証部213は、ブロックのマークルツリーのハッシュ値と、支払証明情報に含まれるマークルルートから入金トランザクションτを示すマークルリーフまでのハッシュ値が連結して要約された値とを比較計算することで、(a)の要件を満たすと判定できる。
 (b)では、第1秘密鍵skでデジタル署名がなされ、かつ、支払トランザクションτローカルにあるブロックチェーンCに照らして口座wの残高が負にならないようであれば、(b)の要件を満たすと判定できる。
 (c)では、第2秘密鍵skのデジタル署名が第2公開鍵PKで検証でき、かつ暗号通貨の取引において信頼される第三者が発行した第2公開鍵PKに関する証明書などで第2公開鍵PKが有効であると検証できる場合、(c)の要件を満たすと判定できる。
 検証部213により上述の(a)から(c)までの要件がすべて満たされると検証できた場合に、支払い元の口座にも残高があり、信頼できるウォレットから生成された支払トランザクションτであり、当該支払トランザクションτがその後ブロックチェーンにおいて承認されるトランザクションであると判定できる。すなわち、支払トランザクションτは即時に受理可能と判定できる。
 一方、上述の(a)から(c)までの要件のうちの1つでも満たされない場合、支払トランザクションτは正当でも即時に受理できるとは判断できないか、または不正なトランザクションであると考えられる。そのため、即時受理を断念し、支払トランザクションτが正当なトランザクションの場合は通常のトランザクションとして、ブロックチェーンネットワークにブロードキャストする。なお、ここでは、支払トランザクションτが即時受理可能であり、その後ブロックチェーンにおいて承認されるトランザクションであると判定したとする。
 ステップS409では、受け取り側の決済処理装置2の受理部214が、支払トランザクションτに示される取引を受理し、即時決済または即時契約が実行される。例えば、自動販売機において暗号通貨での支払いがステップS409で受理された後、ユーザが指定した商品を排出するように自動販売機が設定されればよい。
 受け取り側の決済処理装置2は、取引を受理した場合、支払い側の決済処理装置1に取引が受理され、決済または契約が完了した旨を通知してもよい。また、受け取り側の決済処理装置2は、取引を受理しない、つまり支払トランザクションτが即時受理不可能と判定した場合、支払トランザクションτが即時受理不可能である旨を通知してもよい。
 なお、検証部213は、ステップS408の(1)の要件を検証する場合に、ローカルにあるブロックチェーンCのブロックから所定数k(kは自然数)のブロックを最新のブロック(末尾のブロック)から除いた残りのブロックチェーンの中に、入金トランザクションτが含まれることを入金証明情報によって確認してもよい。これは、ステップS408の処理はオフラインでの処理を想定しているため、ローカルで取得しているブロックチェーンCは最新のものではない可能性がある。また、ローカルで取得しているブロックチェーンCの末尾にある数ブロックは、ブロックチェーンネットワークの状態によってはフォークなどの影響で合意が達成されていない可能性があるため、当該ブロックに含まれる入金トランザクションτが承認されていない可能性があるからである。
 一方、現在から所定期間前のブロックに入金トランザクションτが取り込まれていれば、取引が覆されずに入金トランザクションτが承認されない確率をkに応じていくらでも小さくできる。すなわち、k個のブロックが除かれた残りのブロックチェーンに入金トランザクションτを含むブロックが取り込まれていれば、取引の信頼性が十分に高いといえる。なお、所定数kをどのような値にするかは、例えばビットコインでは、一般的にブロックチェーンのメインチェーンが維持されると考えられるブロック数である「k=6」としてもよいし、取引の額に応じて決定してもよい。例えば、支払トランザクションの取引の金額が大きいほど、ブロックチェーンにブロックが取り込まれている可能性(取引の信頼性)が高くなるように、kが大きな値に設定されればよい。
 次に、受け取り側の決済処理装置2における暗号通貨の償還処理について図5のフローチャートを参照して説明する。ここでは、支払トランザクションτ0が本当は無効であるにもかかわらず、上述したステップS408における条件が満たされていたため、受け取り側が即時決済又は即時契約を行い損失が発生した場合に、当該損失を補償する場合である。ここで、損失を補償する業者は、ウォレットを格納するためのデバイスを製造した製造業者などの取引において信頼される第三者でもよいし、補償を専門とする保険会社などの業者でもよい。
 ステップS501では、受け取り側の決済処理装置2の送受信部212が、ブロックチェーンネットワークに、支払トランザクションτ0をブロードキャストする。
 ステップS502では、受け取り側の決済処理装置2の管理部211が、ブロックチェーンネットワークを監視し、保有するローカルのブロックチェーンのブロックBを更新する。
 ステップS503では、受け取り側の決済処理装置2の検証部213が、支払トランザクションτがブロックチェーンネットワークにおいて承認されるか、支払トランザクションτが無効であるかを判定する。支払トランザクションτがブロックチェーンネットワークにおいて承認されれば、通常のトランザクションによる暗号通貨の受け取り処理となる。ここでは、支払トランザクションτが無効である場合を想定する。
 ステップS504では、受け取り側の決済処理装置2の生成部215が、償還処理を行うため、償還トランザクションτを生成する。償還トランザクションτは、支払証明情報と、支払トランザクションτを含み、支払トランザクションτを決済処理装置2が即時受理したことの正当性を証明する。
 ステップS505では、受け取り側の決済処理装置2の生成部215が、償還トランザクションτに対して第3秘密鍵を用いてデジタル署名する。
 ステップS506では、受け取り側の決済処理装置2の送受信部212が、デジタル署名された償還トランザクションτを補償業者Tに送信する。
 ステップS507では、補償業者Tが、償還トランザクションτを調査する。ここでは、償還トランザクションτの内容が正当であると判定されたとする。
 ステップS508では、補償業者Tが、受け取り側の損失bを補償するために、補償トランザクションτを生成する。
 ステップS509では、補償業者Tが、補償トランザクションτをブロックチェーンネットワークにブロードキャストする。補償トランザクションτが真正であれば、補償トランザクションτがブロックチェーンネットワークに承認されるので、受け取り側に対して暗号通貨が補償される。
 以上に示した本実施形態によれば、支払い側は、ウォレットを格納する耐タンパー性を有するデバイスの製造業者など、取引において信頼される第三者により認証された第2秘密鍵を用いて支払証明情報にデジタル署名する。受け取り側は、支払証明情報が取引において信頼される第三者により認証された鍵を用いて署名され、かつ一定の条件を満たしていることが確認できれば、支払い側のトランザクションを受理する。
 これによって、ビットコインなどの暗号通貨に代表されるブロックチェーンネットワークに修正を加えることなしに、即時決済および即時契約を実行可能とする。また、トランザクションの真正性の検証は受け取り側で確認するため、支払い側のウォレットは、検証のためのブロックチェーンをウォレットに格納する必要がない。よって支払い側では、ブロックチェーンの検証のためのタイムスタンプサーバが不要であり、また入金から一定時間経過すると使用できなくなるという制約を設けることなく、軽量な耐タンパー性のウォレットを実現できる。
 なお、本実施形態に係る決済処理装置1、決済処理装置2および決済処理システムの利用例としては、上述したもののほか、コンビニエンスストアのレジでの支払いに暗号通貨を用いることもできる。また、インターネットによりデジタルコンテンツまたはデジタルサービスの提供を受ける場合にも適用できる。
 また、インターネットにより証券取引またはデリバティブ取引を行う場合でも、証券会社に預かり金を供託することなく即時取引を成立させることができる。また、インターネットによりユーザの行動の直前に保険商品を購入することもできる。また、その場で当落が判明するスピードくじなどの購入においても適用できる。その他、即時完了性が要求される取引について本実施形態に係る決済処理システムを導入することができる。
 上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記録媒体に記憶しておき、記憶されたプログラムを読み込むことにより、上述した識別装置による効果と同様な効果を得ることも可能である。さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
 なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。
1,2…決済処理装置
11,21…処理回路
12,22…メモリ
13,23…通信インタフェース
111,211…管理部
112,215…生成部
113,216…署名部
114…証明部
115,212…送受信部
213…検証部
214…受理部

Claims (11)

  1.  取引に関するトランザクションを生成する生成部と、
     前記トランザクションに対して第1秘密鍵を用いてデジタル署名する署名部と、
     取引において信頼される第三者により認証された第2公開鍵に対応する第2秘密鍵を用いてデジタル署名をすることにより、前記トランザクションの真正性を証明する証明部と、
     を具備する決済処理装置。
  2.  前記署名部は、前記トランザクションが第1口座からの支払い取引に関する支払トランザクションである場合、前記支払トランザクションに対して前記第1秘密鍵を用いてデジタル署名し、
     前記証明部は、前記第1口座に関する入金情報を含む支払証明情報に対して前記第2秘密鍵を用いてデジタル署名する、請求項1に記載の決済処理装置。
  3.  前記支払証明情報は、前記第1口座への入金取引に関する入金トランザクションと、取引履歴が記録されたブロックチェーンのブロックに前記入金トランザクションが取り込まれていることを示す入金証明情報とを含む情報、または、前記第1秘密鍵でデジタル署名された支払トランザクションと、前記入金トランザクションと、前記入金証明情報とを含む情報である、請求項2に記載の決済処理装置。
  4.  1以上の口座と、前記1以上の口座それぞれに対応する残高とを管理する管理部をさらに具備し、
     前記管理部は、
      第1口座への入金取引に関する入金トランザクションが存在する場合、取引履歴が記録されたブロックチェーンのブロックに前記入金トランザクションが取り込まれていることを示す入金証明情報と前記入金トランザクションとの組を保持し、
      前記入金取引の内容に基づき、前記第1口座の残高を更新する、請求項1から請求項3のいずれか1項に記載の決済処理装置。
  5.  前記ブロックは、前記ブロックに含まれるトランザクションの集合を特定するマークルツリー形式の情報を含み、
     前記入金トランザクションは、前記マークルツリーにおけるマークルリーフの1つであり、
     前記入金証明情報は、前記入金トランザクションに対応するマークルリーフからマークルルートまでの経路におけるハッシュ値の集合を含む、請求項4に記載の決済処理装置。
  6.  耐タンパー性を有する請求項1から請求項5のいずれか1項に記載の決済処理装置。
  7.  取引履歴が記録されたブロックチェーンの全部または一部分を管理する管理部と、
     取引において信頼される第三者の公開鍵と、デジタル署名された、支払い元の第1口座からの支払い取引に関する支払トランザクションと、デジタル署名された、前記支払トランザクションの支払い元である口座に関する入金情報を含む支払証明情報を受信する受信部と、
     前記支払トランザクションが前記ブロックチェーンに照らして有効であり、前記支払トランザクションのデジタル署名が有効であり、前記支払証明情報に対するデジタル署名が前記公開鍵に基づき真正であると検証できた場合、前記支払トランザクションに示される取引を受理する受理部と、
     を具備する決済処理装置。
  8.  前記支払証明情報は、前記第1口座への入金取引に関する入金トランザクションと、ブロックチェーンのブロックに前記入金トランザクションが取り込まれていることを示す入金証明情報とを含み、
     前記管理部で管理される前記ブロックチェーンから所定数のブロックを末尾から除いた残りのブロックチェーンの中に、前記入金トランザクションが含まれることを前記入金証明情報を用いて検証する検証部をさらに具備し、
     前記受理部は、前記残りのブロックチェーンの中に前記入金トランザクションが含まれることが検証できた場合、前記支払トランザクションに示される取引を受理する、請求項7に記載の決済処理装置。
  9.  コンピュータに、
     取引に関するトランザクションを生成する生成機能と、
     前記トランザクションに対して第1秘密鍵を用いてデジタル署名する署名機能と、
     取引において信頼される第三者により認証された第2公開鍵に対応する第2秘密鍵を用いて、前記トランザクションの真正性を証明する証明機能と、
    を実現させるための決済処理プログラム。
  10.  コンピュータに、
     取引において信頼される第三者の公開鍵と、支払い元の第1口座からの支払い取引に関するデジタル署名された支払トランザクションとを取得する取得機能と、
     取引履歴が記録されたブロックチェーンの全部または一部分に照らして前記支払トランザクションが有効であり、前記支払トランザクションのデジタル署名が有効であり、前記支払トランザクションの支払い元である口座に関する入金情報を含む支払証明情報に対するデジタル署名が前記公開鍵に基づき真正であるか否かを検証する検証機能と、
     前記検証機能による検証が成功した場合、前記支払トランザクションに示される取引を受理する受理機能と、
    を実現させるための決済処理プログラム。
  11.  支払い側の支払装置と受け取り側の決済装置とを含む決済処理システムであって、
     前記支払装置は、
      第1口座からの支払い取引に関する支払トランザクションを生成する生成部と、
      前記支払トランザクションに対して第1秘密鍵を用いてデジタル署名する署名部と、
      第1口座に関する入金情報を含む支払証明情報に対して、取引において信頼される第三者により認証された第2公開鍵に対応する第2秘密鍵を用いてデジタル署名する証明部と、
     を具備し、
     前記決済装置は、
      取引履歴が記録されたブロックチェーンの全部または一部分を管理する管理部と、
      第2秘密鍵に対応する公開鍵と、デジタル署名された前記支払トランザクションと、デジタル署名された前記支払証明情報とを受信する受信部と、
      前記支払トランザクションが前記ブロックチェーンに照らして有効であり、前記支払トランザクションのデジタル署名が有効であり、前記支払証明情報に対するデジタル署名が前記公開鍵に基づき真正であると検証できた場合、前記支払トランザクションに示される取引を受理する受理部と、
     を具備する、決済処理システム。
PCT/JP2020/001114 2020-01-15 2020-01-15 決済処理装置、決済処理プログラムおよび決済処理システム WO2021144888A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/001114 WO2021144888A1 (ja) 2020-01-15 2020-01-15 決済処理装置、決済処理プログラムおよび決済処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/001114 WO2021144888A1 (ja) 2020-01-15 2020-01-15 決済処理装置、決済処理プログラムおよび決済処理システム

Publications (1)

Publication Number Publication Date
WO2021144888A1 true WO2021144888A1 (ja) 2021-07-22

Family

ID=76864373

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001114 WO2021144888A1 (ja) 2020-01-15 2020-01-15 決済処理装置、決済処理プログラムおよび決済処理システム

Country Status (1)

Country Link
WO (1) WO2021144888A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113971561A (zh) * 2021-11-12 2022-01-25 刘高峰 一种智能合约处理方法、支付端、接收端、服务端及系统
CN115660679A (zh) * 2022-10-14 2023-01-31 重庆移通学院 一种基于哈希锁定的去中心化安全交易方法
WO2024140258A1 (zh) * 2022-12-28 2024-07-04 中国人民银行数字货币研究所 基于区块链的交易监管方法、系统、装置和电子设备
JP7526338B1 (ja) 2023-11-09 2024-07-31 株式会社コロプラ プログラムおよび情報処理システム
CN118569964A (zh) * 2024-07-29 2024-08-30 浪潮通用软件有限公司 一种基于统一竞价资金全区域分散结算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10504150A (ja) * 1994-07-19 1998-04-14 バンカーズ トラスト カンパニー 商用暗号システムにおけるディジタル署名を安全に使用するための方法
EP3518163A1 (en) * 2018-01-25 2019-07-31 Chain IP Holdings, Inc. Method for rapid blockchain transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10504150A (ja) * 1994-07-19 1998-04-14 バンカーズ トラスト カンパニー 商用暗号システムにおけるディジタル署名を安全に使用するための方法
EP3518163A1 (en) * 2018-01-25 2019-07-31 Chain IP Holdings, Inc. Method for rapid blockchain transactions

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113971561A (zh) * 2021-11-12 2022-01-25 刘高峰 一种智能合约处理方法、支付端、接收端、服务端及系统
CN115660679A (zh) * 2022-10-14 2023-01-31 重庆移通学院 一种基于哈希锁定的去中心化安全交易方法
CN115660679B (zh) * 2022-10-14 2023-07-14 重庆移通学院 一种基于哈希锁定的去中心化安全交易方法
WO2024140258A1 (zh) * 2022-12-28 2024-07-04 中国人民银行数字货币研究所 基于区块链的交易监管方法、系统、装置和电子设备
JP7526338B1 (ja) 2023-11-09 2024-07-31 株式会社コロプラ プログラムおよび情報処理システム
CN118569964A (zh) * 2024-07-29 2024-08-30 浪潮通用软件有限公司 一种基于统一竞价资金全区域分散结算方法

Similar Documents

Publication Publication Date Title
WO2021144888A1 (ja) 決済処理装置、決済処理プログラムおよび決済処理システム
CN108604344B (zh) 用于使用数字签名创建可信数字资产转移的方法和系统
JP5721086B2 (ja) 電子マネーの管理方法
CN105243313B (zh) 用于对验证令牌的任何时候确认的方法
US6915430B2 (en) Reliably identifying information of device generating digital signatures
US6983368B2 (en) Linking public key of device to information during manufacture
KR102621116B1 (ko) Id 기반 공개 키 암호화를 이용한 전자 지불 방법 및 전자 디바이스
CN111062717B (zh) 一种数据转移处理方法、装置和计算机可读存储介质
CN108229938B (zh) 一种数字货币钱包开通的方法和系统
KR20020039318A (ko) 전자 화폐 시스템
KR20060070484A (ko) 포맷된 데이터 구조를 사용하여 안전 결제 거래를 수행하는시스템 및 방법
JP2003534585A (ja) コンピュータネットワークを越える安全な支払い方法およびそのシステム
JP2001509630A (ja) 対称型のセキュリティ保護された電子通信システム
JP2001500642A (ja) データ伝送ネットワークのための請求手続きおよびシステム
EP4278316A1 (en) Token-based off-chain interaction authorization
CN109716373A (zh) 密码认证和令牌化的交易
WO1998032113A1 (fr) Procede et systeme de controle de cle pour signature electronique
CN107852333A (zh) 用于可公开验证的授权的系统和方法
JP2002537600A (ja) カード所有者がカードに関連付けられた義務の履行を要求し、発行者が前記義務を承認するための方法
KR100509924B1 (ko) 이동 단말기를 이용한 전자화폐 기반의 다중 지불 방법
KR101902990B1 (ko) 보안모듈을 이용한 교통카드 발급 및 운용 시스템 및 방법
JP4754359B2 (ja) サービス配信システム
CN111144858A (zh) 一种数字货币系统
CN111062833A (zh) 一种合同数据的签名认证方法及相关装置
CN111144879B (zh) 一种基于ida的数字钱包初始化、使用方法及系统

Legal Events

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

Ref document number: 20914207

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20914207

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP