JP7478240B2 - Escrow transaction method and system using smart contract on blockchain - Google Patents
Escrow transaction method and system using smart contract on blockchain Download PDFInfo
- Publication number
- JP7478240B2 JP7478240B2 JP2022537151A JP2022537151A JP7478240B2 JP 7478240 B2 JP7478240 B2 JP 7478240B2 JP 2022537151 A JP2022537151 A JP 2022537151A JP 2022537151 A JP2022537151 A JP 2022537151A JP 7478240 B2 JP7478240 B2 JP 7478240B2
- Authority
- JP
- Japan
- Prior art keywords
- contract
- escrow
- token
- sender
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
以下の説明は、ブロックチェーンでスマートコントラクトを利用したエスクロー取引方法およびシステムに関する。 The following description relates to an escrow transaction method and system that uses smart contracts on a blockchain.
ブロックチェーンとは、ブロックでデータを管理して鎖(チェーン)のように連結し、これを多数のコンピュータで同時にコピーしたり保管したりする分散型データ記憶技術であり、分散型台帳とも呼ばれる。中央集中型サーバで取引記録を保管するのではなく、取引に参加するすべてのユーザに取引内訳を送り、取引のたびにすべての取引参加者が情報を共有してこれを対照することによってデータの偽造や変造を防ぐように実現されている。例えば、韓国公開特許第10-2019-0133573号公報は、スマートコントラクトを利用したブロックチェーン取引システムおよびその方法に関するものであって、ブロックチェーン固有の特性を活用しながらスマートコントラクトによって取引およびサービスを利用できるようにインタフェースを提供することで、支援要請者はネットワーク生態系で支援要請情報を、サービス提供者は取引または契約を掲示し、支援を提供しようとする者は、関連情報に対して支援提供またはサービス利用者が取引同意(署名)などのボタン(行為)を選択することにより、ネットワーク生態系で1つのモバイルアプリによって「参加と共有」活動が持続して活性化するように、各自の活動に対して報酬体系を等級別に区分してインセンティブである暗号通貨が報酬として支給されるシステムおよびその方法を開示している。 Blockchain is a distributed data storage technology that manages data in blocks, links them like a chain, and copies and stores them simultaneously on multiple computers. It is also called a distributed ledger. Instead of storing transaction records on a centralized server, transaction details are sent to all users participating in the transaction, and all transaction participants share and compare information each time a transaction is made, thereby preventing data forgery and alteration. For example, Korean Patent Publication No. 10-2019-0133573 relates to a blockchain transaction system and method using a smart contract, and provides an interface to enable transactions and services to be used through smart contracts while utilizing the unique characteristics of blockchain. In this system, a support requester posts support request information in a network ecosystem, a service provider posts a transaction or contract, and a person who wishes to provide support selects a button (action) such as providing support on related information or a service user agrees to a transaction (signature), and the reward system for each activity is divided into grades so that the ``participation and sharing'' activity is continuously activated through one mobile app in the network ecosystem, and a method thereof is disclosed.
このような従来のブロックチェーン上の取引は、送信者と受信者のウォレットアドレスを明示して取引を要請すれば、取引が含まれたブロックが確定となった瞬間に取引が成立する。このため、送信者と受信者の信頼関係が明確でない場合や、取引を完了するために特定の条件を満たさなければならない場合には相応しくない。 In such traditional blockchain transactions, if the sender and receiver's wallet addresses are specified and a transaction is requested, the transaction is completed the moment the block containing the transaction is confirmed. For this reason, it is not suitable when the trust relationship between the sender and receiver is unclear or when certain conditions must be met to complete the transaction.
スマートコントラクトに取引成立のための条件を明示することにより、送金が即時的になされず、預託しておいた後、特定の条件が満たされたときに受信者に送金を処理することができる、エスクロー取引方法およびシステムを提供する。 By clearly indicating the conditions for a transaction to be concluded in a smart contract, we provide an escrow transaction method and system that allows for the transfer of funds to the recipient when certain conditions are met after depositing the funds, rather than the immediate transfer.
ブロックチェーンシステムのエスクロー取引方法であって、送信者から受信者へのエスクロー取引に対し、前記ブロックチェーンシステムが含むエスクローコントラクトに前記送信者の送金に対応する通貨を預託する段階、前記送信者の送金に対して予め定義された条件が満たされる場合、前記エスクローコントラクトに預託された通貨を前記受信者に送金する段階、および前記送金に対して予め定義された条件が満たされない場合、前記エスクローコントラクトに預託された通貨を前記送信者に返還する段階を含む、エスクロー取引方法を提供する。 The present invention provides an escrow transaction method for a blockchain system, the method including the steps of depositing a currency corresponding to a remittance of the sender in an escrow contract included in the blockchain system for an escrow transaction from a sender to a receiver, transferring the currency deposited in the escrow contract to the receiver if a predefined condition for the remittance of the sender is satisfied, and returning the currency deposited in the escrow contract to the sender if the predefined condition for the remittance is not satisfied.
一側面によると、前記通貨を預託する段階は、前記送信者から承認要請を受けた前記ブロックチェーンシステムのトークンコントラクトに前記通貨の送金を要請する段階、および前記トークンコントラクトに属して前記送信者の要請にしたがって承認されたトークンの送金を前記トークンコントラクトから受け取り、前記送信者の送金に対応する通貨で前記エスクローコントラクトに預託する段階を含むことを特徴としてよい。 According to one aspect, the step of depositing the currency may include a step of requesting a token contract of the blockchain system that has received an approval request from the sender to transfer the currency, and a step of receiving from the token contract a transfer of tokens that belong to the token contract and have been approved in accordance with the sender's request, and depositing the tokens in the escrow contract in the currency corresponding to the sender's transfer.
他の側面によると、前記通貨を預託する段階は、前記送信者からエスクロー送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトからエスクロートークン送金要請を受信する段階、前記エスクロートークン送金要請に応答して前記トークンコントラクトに送金を要請する段階、および前記トークンコントラクトへの要請にしたがって送金されたトークンを、前記送信者の送金に対応する通貨で前記エスクローコントラクトに預託する段階を含むことを特徴としてよい。 In another aspect, the depositing of the currency may include receiving an escrow token transfer request from a token contract of the blockchain system that has received an escrow transfer request from the sender, requesting a transfer from the token contract in response to the escrow token transfer request, and depositing the tokens transferred in accordance with the request to the token contract in the escrow contract in a currency corresponding to the sender's transfer.
また他の側面によると、前記エスクロー取引方法は、前記エスクローコントラクトのオーナー(owner)からの要請にしたがって前記エスクローコントラクトをインストールする段階、前記エスクローコントラクトオーナーからの要請にしたがって前記トークンコントラクトに前記エスクローコントラクトを設定する段階、および前記トークンコントラクトの制御にしたがって前記エスクローコントラクトに前記トークンコントラクトを設定する段階をさらに含んでよい。 In another aspect, the escrow transaction method may further include a step of installing the escrow contract according to a request from an owner of the escrow contract, a step of setting the escrow contract in the token contract according to a request from the escrow contract owner, and a step of setting the token contract in the escrow contract according to control of the token contract.
また他の側面によると、前記通貨を預託する段階は、前記送信者から送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトからエスクロー取引と関連するメタ情報が含まれたトークンフォールバック要請を受信する段階、および前記メタ情報を解析して得られるエスクロー取引に関する情報に基づいて、前記送信者から前記送信者の送金に対応する通貨で前記トークンコントラクトに属したトークンの送金を受け取って前記エスクローコントラクトに預託する段階を含むことを特徴としてよい。 In another aspect, the depositing of the currency may include receiving a token fallback request including meta-information related to an escrow transaction from a token contract of the blockchain system that has received a remittance request from the sender, and receiving a remittance of tokens belonging to the token contract from the sender in a currency corresponding to the remittance of the sender based on information regarding the escrow transaction obtained by analyzing the meta-information, and depositing the tokens in the escrow contract.
また他の側面によると、前記エスクロー取引方法は、前記エスクローコントラクトのオーナーからの要請にしたがって前記エスクローコントラクトをインストールする段階、および前記エスクローコントラクトオーナーからの要請に含まれる前記トークンコントラクトのアドレスを利用して前記エスクローコントラクトと前記トークンコントラクトを連係する段階をさらに含んでよい。 In another aspect, the escrow transaction method may further include installing the escrow contract in accordance with a request from an owner of the escrow contract, and linking the escrow contract with the token contract using an address of the token contract included in the request from the escrow contract owner.
また他の側面によると、前記預託した通貨を前記受信者に送金する段階は、前記送信者の送金に対して予め定義された条件が満たされる場合に、前記エスクローコントラクトに明示された呼出し元から要請されるエスクロー受信要請にしたがい、前記ブロックチェーンシステムのトークンコントラクトに前記エスクローコントラクトから前記受信者への送金を要請することを特徴としてよい。 In another aspect, the step of transferring the deposited currency to the recipient may be characterized by requesting a token contract of the blockchain system to transfer the currency from the escrow contract to the recipient in accordance with an escrow receipt request made by a caller specified in the escrow contract when a predefined condition for the sender's transfer is met.
また他の側面によると、前記預託した通貨を前記送信者に返還する段階は、前記送信者の送金に対して予め定義された条件が満たされない場合に、前記エスクローコントラクトに明示された呼出し元から要請されるエスクロー取消要請にしたがい、前記ブロックチェーンシステムのトークンコントラクトに前記エスクローコントラクトから前記送信者への送金を要請することを特徴としてよい。 In another aspect, the step of returning the deposited currency to the sender may be characterized by requesting a token contract of the blockchain system to transfer the currency from the escrow contract to the sender in accordance with an escrow cancellation request made by a caller specified in the escrow contract if a predefined condition for the sender's remittance is not met.
また他の側面によると、前記呼出し元は、前記エスクローコントラクトのオーナーまたは前記送信者であることを特徴としてよい。 In another aspect, the caller may be the owner of the escrow contract or the sender.
また他の側面によると、前記送信者の送金に対応する通貨は、前記ブロックチェーンシステムの基準通貨を含むことを特徴としてよい。 In another aspect, the currency corresponding to the sender's remittance may include the base currency of the blockchain system.
さらに他の側面によると、前記通貨は、前記ブロックチェーンシステムがさらに含むトークンコントラクトに属したトークンを含むことを特徴としてよい。 According to yet another aspect, the currency may be characterized as including a token belonging to a token contract further included in the blockchain system.
コンピュータ装置と結合して前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムを提供する。 A computer program recorded on a computer-readable recording medium is provided for combining with a computer device to cause the computer device to execute the method.
前記方法をコンピュータ装置に実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。 A computer-readable recording medium is provided on which a program for causing a computer device to execute the method is recorded.
コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、送信者から受信者へのエスクロー取引に対し、前記ブロックチェーンシステムが含むエスクローコントラクトに前記送信者の送金に対応する通貨を預託し、前記送信者の送金に対して予め定義された条件が満たされる場合、前記エスクローコントラクトに預託した通貨を前記受信者に送金し、前記送金に対して予め定義された条件が満たされない場合、前記エスクローコントラクトに預託した通貨を前記送信者に返還することを特徴とする、コンピュータ装置を提供する。 A computer device is provided that includes at least one processor that is implemented to execute computer-readable instructions, and is characterized in that, for an escrow transaction from a sender to a receiver, the at least one processor deposits currency corresponding to the sender's remittance in an escrow contract included in the blockchain system, transfers the currency deposited in the escrow contract to the receiver if predefined conditions for the sender's remittance are met, and returns the currency deposited in the escrow contract to the sender if predefined conditions for the remittance are not met.
スマートコントラクトに取引成立のための条件を明示することにより、送金が即時的になされず、預託しておいた後、特定の条件が満たされたときに受信者に送金を処理することができる。 By clearly stating the conditions for a transaction to be completed in a smart contract, the transfer will not be instantaneous, but rather the money can be held in escrow and then transferred to the recipient when certain conditions are met.
特定の条件が満たされるか否かにより、送金者が送金を取り消すことができる。 The sender can cancel a transfer if certain conditions are met.
スマートコントラクトは、ソースコードがブロックチェーンネットワーク上に公開されるため、どのようなロジックによってエスクロー機能が動作するのかについての透明性を確保することができる。 Since the source code of smart contracts is published on the blockchain network, it is possible to ensure transparency about the logic by which the escrow function operates.
以下、実施形態について、添付の図面を参照しながら詳しく説明する。 The following describes the embodiments in detail with reference to the attached drawings.
本発明の実施形態に係るエスクロー取引システムは、少なくとも1つのコンピュータ装置によって実現されるブロックチェーンシステムであってよく、本発明の実施形態に係るエスクロー取引方法は、エスクロー取引システムに含まれる少なくとも1つのコンピュータ装置によって実行されてよい。コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係るエスクロー取引方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してエスクロー取引方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。 The escrow transaction system according to an embodiment of the present invention may be a blockchain system realized by at least one computer device, and the escrow transaction method according to an embodiment of the present invention may be executed by at least one computer device included in the escrow transaction system. In the computer device, a computer program according to an embodiment of the present invention may be installed and executed, and the computer device may execute the escrow transaction method according to an embodiment of the present invention according to the control of the executed computer program. The above-mentioned computer program may be recorded on a computer-readable recording medium in combination with the computer device to cause the computer to execute the escrow transaction method.
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。また、図1のネットワーク環境は、本実施形態に適用可能な環境のうちの一例を説明したものに過ぎず、本実施形態に適用可能な環境が図1のネットワーク環境に限定されることはない。
Figure 1 is a diagram showing an example of a network environment in one embodiment of the present invention. The network environment in Figure 1 shows an example including multiple
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
The
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(Personal Area Network)、LAN(Local Area Network)、CAN(Campus Area Network)、MAN(Metropolitan Area Network)、WAN(Wide Area Network)、BBN(BroadBand Network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
The communication method is not limited, and may include not only a communication method using a communication network that the
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、コンテンツ提供サービス、グループ通話サービス(または音声会議サービス)、メッセージングサービス、メールサービス、ソーシャルネットワークサービス、地図サービス、翻訳サービス、金融サービス、決済サービス、検索サービス、位置基盤サービスなど)を提供するシステムであってよい。
Each of the
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、図2に示したコンピュータ装置200によって実現されてよい。
Figure 2 is a block diagram showing an example of a computer device in one embodiment of the present invention. Each of the multiple
このようなコンピュータ装置200は、図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(Random Access Memory)、ROM(Read Only Memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではなく通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
Such a
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
The
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
The
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
The input/
また、他の実施形態において、コンピュータ装置200は、図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
Also, in other embodiments,
本発明の実施形態に係るブロックチェーンネットワークは、プロトコルに定義された基準通貨(base coin)とスマートコントラクトによって定義されたトークン(token)が取引に活用されてよい。このとき、基準通貨は、特定のスマートコントラクトに依存性を持たないため、エスクローのためのスマートコントラクト(以下、「エスクローコントラクト」)に預託、受信、および取消の3つの関数を定義することにより、エスクロー取引が可能となる。以下で説明する「送信者」、「受信者」、および「第三者」などは、実質的に送信者や受信者または第三者が送金処理のために利用する電子機器を意味してよい。 In a blockchain network according to an embodiment of the present invention, a base coin defined in a protocol and a token defined by a smart contract may be used for transactions. In this case, since the base currency does not depend on a specific smart contract, escrow transactions are possible by defining three functions, deposit, receive, and cancel, in a smart contract for escrow (hereinafter, "escrow contract"). The terms "sender," "receiver," and "third party" described below may essentially refer to electronic devices used by the sender, receiver, or third party for remittance processing.
図3~5は、本発明の一実施形態における、基準通貨のエスクロー取引の例を示した図である。ブロックチェーンシステム300にはエスクローのためのスマートコントラクト310がインストールされ、基準通貨である金銭の預託、受信、および取消の3つの関数の呼び出しによってエスクロー取引を処理してよい。
Figures 3 to 5 show an example of an escrow transaction of a base currency in one embodiment of the present invention. A
図3は、送信者A320がエスクローコントラクト310に定義されたエスクロー送金関数(「escrowTransfer()」)を呼び出すことにより、基準通貨である金銭をエスクローコントラクト310に預託する例を示している。このとき、エスクロー送金関数の1つ目のパラメータ「B」は、該当の送金の受信者である受信者B330の識別子であってよく、2つ目のパラメータ「value」は、該当の送金の金額を示してよい。「Coin Transfer」は、送信者A320からエスクローコントラクト310に基準通貨が送金される過程を示してよい。
Figure 3 shows an example in which
図4は、エスクローコントラクト310に定義されたエスクロー受信関数(「escrowReceive()」)が呼び出されることにより、預託された金銭がエスクローコントラクト310に明示された受信者B330に送金される例を示している。一例として、エスクロー受信関数には、該当の送金を識別するためのパラメータが含まれてよい。エスクロー受信関数を呼び出すことのできる呼出し元は、エスクローコントラクト310に明示されていてよい。このような呼出し元は、受信者本人であってもよく、信頼の置ける第三者であってもよい。図4の実施形態では、信頼の置ける第三者であるエスクローコントラクト310の所有主または開発者であるエスクローコントラクトオーナー(escrow contract owner)410が呼出し元として明示された例を示している。エスクローコントラクトオーナー410は、該当の送金に対して予め定義された条件が満たされた場合、エスクローコントラクト310にエスクロー受信関数を呼び出してよく、これにより、エスクローコントラクト310に預託された金銭がエスクローコントラクト310に明示された受信者B330に送金されてよい。図4に示した関数「baseCoinTransfer(B、value)」は、基準通貨を送金するための関数であって、エスクローコントラクト310が、1つ目のパラメータ「B」から識別される受信者B330に2つ目のパラメータ「value」に対応する基準通貨である金銭を送金する関数を意味してよい。
Figure 4 shows an example in which an escrow receive function ("escrowReceive()") defined in the
図5は、該当の送金に対して予め定義された条件が満たされない場合、エスクロー取消関数(「escrowCancel()」)が呼び出されることにより、送信者A320がエスクローコントラクト310に預託した金額が返還される例を示している。一例として、エスクロー取消関数には、該当の送金を識別するためのパラメータが含まれてよい。エスクロー取消関数を呼び出すことのできる呼出し元は、エスクローコントラクト310に明示されていてよい。このような呼出し元は、送信者本人であってもよいし、信頼の置ける第三者であってもよい。図5の実施形態では、信頼の置ける第三者であるエスクローコントラクトオーナー410が呼出し元として明示された例を示している。エスクローコントラクトオーナー410は、該当の送金に対して予め定義された条件が満たされない場合、エスクローコントラクト310にエスクロー取消関数を呼び出してよく、これにより、エスクローコントラクト310に預託された金銭が送信者A320に送金されてよい。図5に示した関数「baseCoinTransfer(A、value)」は、基準通貨を送金するための関数として、エスクローコントラクト310が、1つ目のパラメータ「A」から識別される送信者A320に2つ目のパラメータ「value」に対応する基準通貨である金銭を送金する関数を意味してよい。
5 shows an example in which an escrow cancel function ("escrowCancel()") is called to return the amount deposited by sender A320 in the
トークンに対するエスクロー取引も、上述した図3~5を参照しながら説明した基準通貨に対するエスクロー取引と類似の流れで進められる。ただし、トークンは特定のスマートコントラクトに属しているため、トークンの送金のためには、エスクローコントラクトの関数の他にトークンコントラクトの関数も呼び出さなければならない。以下では、トークンに対するエスクロー取引を実行するための3つ方法について説明する。 Escrow transactions for tokens are conducted in a similar manner to the escrow transactions for base currencies described above with reference to Figures 3-5. However, because tokens belong to a specific smart contract, functions in the token contract must be called in addition to functions in the escrow contract to transfer tokens. Below, we explain three methods for performing escrow transactions for tokens.
図6~8は、本発明の一実施形態における、トークンに対するエスクロー取引の第1例を示した図である。ブロックチェーンシステム300においてインストールされて実行されるDApp(Decentralized Application)600は、ブロックチェーン技術を活用して、中央サーバを経ずにネットワーク上に情報を分散、保存、および実行するアプリケーションである。DApp600には、エスクローコントラクト610と、トークンが属している特定のスマートコントラクト(以下、「トークンコントラクト620」)が含まれてよい。
Figures 6-8 show a first example of an escrow transaction for a token in one embodiment of the present invention. A Decentralized Application (DApp) 600 installed and executed in the
図6は、送信者A320が受信者B320にトークンである金銭を送金するために、先ずは、エスクローコントラクト610に金銭を預託する過程の例を示している。このとき、送信者A320は、トークンが属するトークンコントラクト620に承認関数(「approve()」)を利用して送金の承認を要請し、エスクローコントラクト610にもエスクロー送金関数(「escrowTransfer()」)によって預託を要請してよい。
Figure 6 shows an example of a process in which
承認関数の1つ目のパラメータは、送金対象者を意味してよい。このとき、エスクローコントラクト610には、金銭が預託されていなければならない。言い換えれば、送信者A320が呼び出すトークンコントラクト620の承認関数の1つ目のパラメータ「escrowContractAddress」は、トークンコントラクト620からエスクローコントラクト610に金銭を送金することができるようにトークンコントラクト620がエスクローコントラクト610を識別するためのアドレスを意味してよい。承認関数の2つ目のパラメータ「value」は、送金の金額を示してよく、3つ目のパラメータ「currentAllowance」は、現在まで送金可能なように承認された金銭の量を意味してよい。
The first parameter of the approval function may represent the recipient of the remittance. At this time, money must be deposited in the
一方、エスクロー送金関数の1つ目のパラメータ「B」は、該当の送金の実際の受信者である受信者B320を示してよく、2つ目のパラメータ「value」は、送金の金額を示してよい。エスクローコントラクト610は、エスクロー送金関数の呼び出しに応答して、トークンコントラクト620に送金を要請してよい。関数「transferFrom()」において、1つ目のパラメータ「A」は送信者A320を、2つ目のパラメータ「escrowContractAddress」はエスクローコントラクト610を、3つ目のパラメータ「value」は送金の金額を、それぞれ意味してよい。言い換えれば、エスクローコントラクト610は、トークンコントラクト620から送信者A320の金銭をエスクローコントラクト610に送金することをトークンコントラクト620に要請してよい。この場合、トークンコントラクト620は、送信者A320が承認関数によって承認した金額(エスクローコントラクト610が送金要請した金額)以内で、関数「transferFrom()」によって要請された金額をエスクローコントラクト610に送金(実質的には、対応するトークンの所有主を送信者A320からエスクローコントラクト610に変更)することにより、エスクローコントラクト610に送信者A320の金銭が預託されるようにしてよい。図6において、「Token Transfer」は、トークンコントラクト620がエスクローコントラクト610にトークンを送金する過程を示してよい。
On the other hand, the first parameter "B" of the escrow transfer function may indicate the recipient B320 who is the actual recipient of the transfer, and the second parameter "value" may indicate the amount of the transfer. In response to the invocation of the escrow transfer function, the
図7は、信頼の置ける第三者であるエスクローコントラクトオーナー630が、該当の送金に対して予め定義された条件が満たされることにより、エスクローコントラクト610に定義されたエスクロー受信関数(「escrowReceive()」)を呼び出す例を示している。このとき、エスクロー受信関数には、該当の送金を識別するためのパラメータが含まれてよい。この場合、エスクローコントラクト610は、トークンコントラクト620に送金関数(「transfer()」)を呼び出すことにより、預託された金銭が受信者B330に送金されるようにしてよい。このとき、送金関数の1つ目のパラメータ「B」は、送金の対象である受信者B330の識別子であってよく、2つ目のパラメータ「value」は、送金の金額を意味してよい。このとき、トークンコントラクト620は、エスクローコントラクト610に預託されているトークンの所有主を受信者B330に変更することにより、エスクローコントラクト610に預託された金銭を受信者B330に送金してよい。図7において、「Token Transfer」は、エスクローコントラクト610により、送信者A320が預託した金銭を受信者B330に送金する過程を示してよい。
FIG. 7 illustrates an example in which the
図8は、該当の送金に対して予め定義された条件が満たされない場合、エスクロー取消関数(「escrowCancel()」)が呼び出されることにより、送信者A320がエスクローコントラクト610に預託した金額の返還を受ける例を示している。一例として、エスクロー取消関数には、該当の送金を識別するためのパラメータが含まれてよい。エスクロー取消関数を呼び出すことのできる呼出し元は、エスクローコントラクト610に明示されていてよい。このような呼出し元は、送信者本人であってもよいし、信頼の置ける第三者であってもよい。図8の実施形態では、信頼の置ける第三者であるエスクローコントラクトオーナー630が呼出し元として明示された例を示している。エスクローコントラクトオーナー630が該当の送金に対するエスクロー取消関数を呼び出せば、エスクローコントラクト610は、トークンコントラクト620に定義された送金関数(「transfer()」)を呼び出してよい。このとき、送金関数の1つ目のパラメータ「A」は、送金の対象である送信者A320の識別子であってよく、2つ目のパラメータ「value」は、送金の金額を意味してよい。したがって、トークンコントラクト620は、エスクローコントラクト610に預託されたトークンを送信者A320の所有に変更することにより、エスクローコントラクト610から送信者A320への送金を処理してよい。図8において、「Token Transfer」は、エスクローコントラクト610により、送信者A320が預託した金銭を送信者A320に返還する過程を示している。
FIG. 8 illustrates an example in which, if a predefined condition for the corresponding transfer is not met, an escrow cancel function ("escrowCancel()") is called, and the
図6~8の実施形態において、エスクローコントラクト610は、トークンコントラクト620のトークンの送金を受け取って送金する個別的な主体として動作するため、エスクローコントラクト610とトークンコントラクト620はそれぞれ個別のインタフェースとして維持されてよい。
In the embodiment of Figures 6-8, the
図9~12は、本発明の一実施形態における、トークンに対するエスクロー取引の第2例を示した図である。本実施形態に係るDApp900は、ブロックチェーンシステム300においてインストールされて実行されてよく、トークンコントラクト910およびエスクローコントラクト920を含んでよい。
Figures 9-12 show a second example of an escrow transaction for a token in one embodiment of the present invention. The
図9の実施形態では、エスクローコントラクトオーナー930がDApp900にトークンコントラクト910およびエスクローコントラクト920をインストールする過程の例を示している。このとき、エスクローコントラクトオーナー930は、エスクローコントラクト920をDApp900に直接インストールしてよく、DApp900に既にインストールされているトークンコントラクト910でコントラクトをインストールするときに実行されるように定義された関数を利用してトークンコントラクト910がエスクローコントラクト920を設定するように制御してよい。この場合、トークンコントラクト910は、エスクローコントラクト920をインストールし、トークンコントラクト910のアドレスをエスクローコントラクト920にインストールしてよい。例えば、トークンコントラクト910は、エスクローコントラクト設定関数(「setEscrowContract(escrow_contract_addr=contractAddress1)」)を利用してエスクローコントラクト920をインストールしてよく、トークンコントラクトアドレス設定関数(「TokenContract(token_contract_addr=contractAddress2)」)を利用してエスクローコントラクト920にトークンコントラクトのアドレスを設定してよい。ここで、「contractAddress1」はエスクローコントラクト920のアドレスを意味してよく、「contractAddress2」はトークンコントラクト910のアドレスを意味してよい。
9 illustrates an example of a process in which the
図10は、送信者A320がエスクロー取引を要請することにより、エスクローコントラクト920にトークンが預託される過程の例を示している。先ず、送信者A320がトークンコントラクト910に定義されたエスクロー送金関数(「escrowTransfer()」)を利用してトークンコントラクト910に受信者B330への送金を要請すれば、トークンコントラクト910は、先ずは、承認関数(「approve()」)を利用して送金を承認した後、エスクローコントラクト920にエスクロートークン送金関数(「escrowTokenTransfer()」)を利用して送信者A320の受信者B330への送金に対する要請を伝達してよい。承認関数は、エスクローコントラクト920に送金の金額を送金することを承認するために、エスクローコントラクト920のアドレスと送金の金額がそれぞれパラメータとして利用されてよい。この場合、エスクローコントラクト920は、関数「transferFrom()」を利用して、トークンコントラクト910にエスクローコントラクト920への送金を要請してよい。関数「transferFrom()」の1つ目のパラメータ「ES」は、エスクローコントラクト920のアドレスを示してよく、2つ目のパラメータ「value」は、送金の金額を示してよい。図10において、「Token Transfer」は、送信者A320が受信者B330に送金しようとするトークンがエスクローコントラクト920に送金(実質的には、トークンコントラクト910において、該当のトークンの所有主が送信者A320からエスクローコントラクト920に変更)されてエスクローコントラクト920に預託されることを意味してよい。
Figure 10 shows an example of a process in which a
図11は、信頼の置ける第三者であるエスクローコントラクトオーナー930が、該当の送金に対して予め定義された条件が満たされることにより、エスクローコントラクト920に定義されたエスクロー受信関数(「escrowReceive()」)を呼び出す例を示している。このとき、エスクロー受信関数には、該当の送金を識別するためのパラメータが含まれてよい。この場合、エスクローコントラクト920は、トークンコントラクト910に定義された送金関数(「transfer()」)を呼び出してよい。このとき、送金関数の1つ目のパラメータ「B」は、送金の対象である受信者B330の識別子であってよく、2つ目のパラメータ「value」は、送金の金額を意味してよい。したがって、トークンコントラクト910は、エスクローコントラクト920のトークンの所有主を受信者B330に変更することにより、エスクローコントラクト920から受信者B330に預託された金銭が送金されてよい。図11において、「Token Transfer」は、エスクローコントラクト920により、送信者A320が預託した金銭を受信者B330に送金する過程を示してよい。
Figure 11 shows an example in which the
図12は、該当の送金に対して予め定義された条件が満たされない場合、エスクロー取消関数(「escrowCancel()」)が呼び出されることにより、送信者A320がエスクローコントラクト920に預託された金額を返還する例を示している。一例として、エスクロー取消関数には、該当の送金を識別するためのパラメータが含まれてよい。エスクロー取消関数を呼び出すことのできる呼出し元は、エスクローコントラクト920に明示されていてよい。このような呼出し元は、送信者本人であってもよく、信頼の置ける第三者であってもよい。図12の実施形態では、信頼の置ける第三者であるエスクローコントラクトオーナー930が呼出し元として明示された例を示している。エスクローコントラクトオーナー930が該当の送金に対するエスクロー取消関数を呼び出せば、エスクローコントラクト920は、トークンコントラクト910に定義された送金関数(「transfer()」)を呼び出してよい。このとき、送金関数の1つ目のパラメータ「A」は、送金の対象である送信者A320の識別子であってよく、2つ目のパラメータ「value」は、送金の金額を意味してよい。この場合、トークンコントラクト910は、エスクローコントラクト920のトークンの所有主を送信者A320に変更することにより、預託された金額が返還されるようにしてよい。図12において、「Token Transfer」は、エスクローコントラクト920により、送信者A320が預託した金銭を送信者A320に返還する過程を示してよい。
FIG. 12 illustrates an example in which the
図9~12の実施形態において、エスクローコントラクト920を支援するトークンコントラクト910を利用することにより、送信者A320が1つのトランザクションを利用して送金する金銭を預託するための過程を処理することができるようになる。
In the embodiment of Figures 9-12, a
図13~16は、本発明の一実施形態における、トークンに対するエスクロー取引の第3例を示した図である。本実施形態に係るDApp1300は、ブロックチェーンシステム300においてインストールされて実行されてよく、トークンコントラクト1310およびエスクローコントラクト1320を含んでよい。
Figures 13-16 show a third example of an escrow transaction for a token in one embodiment of the present invention. The
図13の実施形態では、エスクローコントラクトオーナー930がDApp1300にエスクローコントラクト1320をインストールする過程の例を示している。このとき、エスクローコントラクトオーナー1330は、エスクローコントラクト1320にコントラクトをインストールするときに実行されるように定義された関数を利用して、エスクローコントラクト1320とトークンコントラクト1310を連係してよい。
The embodiment of FIG. 13 illustrates an example of a process in which the
図14は、送信者A320がエスクロー取引を要請することにより、エスクローコントラクト1320にトークンが預託される過程の例を示している。先ず、送信者A320は、トークンコントラクト1310に定義された送金関数(「transfer()」)を利用してエスクローコントラクト1320への送金をトークンコントラクト1310に要請してよい。ここで、送金関数の1つ目のパラメータは、「escrow_token_addr=contractAddress1」のようにエスクローコントラクト1320のアドレスであってよい。また、送金関数の2つ目のパラメータは、「value」のように送金する金額であってよい。また、送金関数の3つ目のパラメータは、「0x+’transferid:toAddress:memo」のようにエスクローと関連するメタ情報(受信者、メモ)を示してよい。トークンコントラクト1310は、受信者がEOA(Externally Owned Wallet)ではないCA(Contract Address)の場合、該当のCAに対応するコントラクト(本実施形態では、エスクローコントラクト1320)に定義されているトークンフォールバック関数(「tokenFallback()」)を呼び出してよく、このとき、上述したメタ情報がトークンフォールバック関数のデータフィールドにバイト形態で含まれてよい。この場合、エスクローコントラクト1320は、メタ情報を解析してエスクローロジックを実行することにより、送信者A320から送金される金銭を預託してよい。ここで、「Token Transfer」は、送信者A320が受信者B330に送金しようとするトークンがエスクローコントラクト920に送金されて預託されることを意味してよい。関数「escrow_token_transfer()」は、トークンフォールバック関数内で呼び出されてエスクローコントラクト920に送金の受信者を記録し、データ確認(data validation)を処理するなどの後処理のための関数であってよい。
Figure 14 shows an example of a process in which a sender A320 requests an escrow transaction and deposits a token in the
図15は、信頼の置ける第三者であるエスクローコントラクトオーナー1330が、該当の送金に対して予め定義された条件が満たされることにより、エスクローコントラクト1320に定義されたエスクロー受信関数(「escrowReceive()」)を呼び出す例を示している。このとき、エスクロー受信関数には、該当の送金を識別するためのパラメータが含まれてよい。この場合、エスクローコントラクト1320は、トークンコントラクト1310に定義された送金関数(「transfer()」)を呼び出してよい。このとき、送金関数の1つ目のパラメータ「B」は、送金の対象である受信者B330の識別子であってよく、2つ目のパラメータ「value」は、送金の金額を意味してよい。したがって、トークンコントラクト1310は、エスクローコントラクト920のトークンの所有主を受信者B330に変更することにより、エスクローコントラクト920に預託された金銭が受信者B330に送金されるように処理してよい。図15において、「Token Transfer」は、エスクローコントラクト1320により、送信者A320が預託した金銭を受信者B330に送金する過程を示してよい。
Figure 15 shows an example in which the
図16は、該当の送金に対して予め定義された条件が満たされない場合、エスクロー取消関数(「escrowCancel()」)が呼び出されることにより、送信者A320がエスクローコントラクト920に預託された金額を返還する例を示している。一例として、エスクロー取消関数には、該当の送金を識別するためのパラメータが含まれてよい。エスクロー取消関数を呼び出すことのできる呼出し元は、エスクローコントラクト1320に明示されていてよい。このような呼出し元は、送信者本人であってもよいし、信頼の置ける第三者であってもよい。図16の実施形態では、信頼の置ける第三者であるエスクローコントラクトオーナー1330が呼出し元として明示された例を示している。エスクローコントラクトオーナー1330が該当の送金に対するエスクロー取消関数を呼び出せば、エスクローコントラクト1320は、トークンコントラクト1310に定義された送金関数(「transfer()」)を呼び出してよい。このとき、送金関数の1つ目のパラメータ「A」は、送金の対象である送信者A320の識別子であってよく、2つ目のパラメータ「value」は、送金の金額を意味してよい。したがって、トークンコントラクト1310は、エスクローコントラクト1320のトークンの所有主を送信者A320に変更することにより、エスクローコントラクト1320に預託された金銭を送信者A320に返還してよい。図16において、「Token Transfer」は、エスクローコントラクト1320により、送信者A320が預託した金銭を送信者A320に返還する過程を示してよい。
FIG. 16 illustrates an example in which the
図13~16の実施形態では、トークンコントラクト1310の仕様は変更せず、エスクローコントラクト1320を追加するだけでエスクロー取引を処理することが可能となる。例えば、トークンコントラクト1310がエスクローコントラクト1320を個別に認知するための過程が必要なくなる。また、送信者A320が1つのトランザクションを利用して、送金する金銭を預託するための過程を処理することが可能となる。
In the embodiment of Figures 13 to 16, the specifications of the
送金に対する条件は、条件を設定する人物と場合によって多様に定義されてよい。一例として、送信者が送金を要請することが条件を満たすものと見なされたり、送信者が送金の取消を要請することが条件を満たさないものと見なされたりしてよい。その他にも、一定の時間が経過した後に送金がなされるようにしたり特定の日付に送金がなされるようにしたりするなどの条件は、多様に定義されてよい。 Conditions for remittance may be defined in various ways depending on the person setting the condition and the circumstances. For example, the sender's request to remit may be considered to satisfy the condition, and the sender's request to cancel the remittance may be considered to not satisfy the condition. In addition, conditions may be defined in various ways, such as making the remittance after a certain amount of time has passed or on a specific date.
なお、上述したapprove()、transfer()、transferFrom()、fallback()などの関数は、イーサリアムで基本となるトークン標準であるERC-20(Ethereum Request for Comments-20)インタフェースを基本としてよい。 The functions such as approve(), transfer(), transferFrom(), and fallback() described above may be based on the ERC-20 (Ethereum Request for Comments-20) interface, which is the basic token standard for Ethereum.
図17は、本発明の一実施形態における、エスクロー取引方法の例を示したフローチャートである。本実施形態に係るエスクロー取引方法は、ブロックチェーンシステム300が含むエスクローコントラクトによって実行されてよく、実質的には、このようなエスクローコントラクトのコードを実行するコンピュータ装置200のプロセッサ220によって実行されてよい。この場合、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのコンピュータプログラムのコード(一例として、エスクローコントラクトのコード)とによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が図17の方法に含まれる段階1710~1740を実行するようにコンピュータ装置200を制御してよい。
FIG. 17 is a flowchart showing an example of an escrow transaction method according to an embodiment of the present invention. The escrow transaction method according to this embodiment may be executed by an escrow contract included in the
段階1710で、コンピュータ装置200は、送信者から受信者へのエスクロー取引に対して、ブロックチェーンシステムが含むエスクローコントラクトに送信者の送金に対応する通貨を預託してよい。
At
上述したように、ブロックチェーンシステムにおいて、送信者の送金に対応する通貨は、ブロックチェーンシステムの基準通貨またはブロックチェーンシステムがさらに含むトークンコントラクトに属するトークンを含んでよい。このとき、送信者の送金に対応する通貨がブロックチェーンシステムの基準通貨である場合、コンピュータ装置200は、送信者の送金に対応する基準通貨をエスクローコントラクトに直接預託してよい。一方、送信者の送金に対応する通貨が特定のトークンコントラクトに属するトークンの場合には、以下の実施形態のように、トークンコントラクトを利用して送信者の送金に対応するトークンをエスクローコントラクトに預託してよい。
As described above, in a blockchain system, the currency corresponding to the sender's remittance may include the base currency of the blockchain system or a token belonging to a token contract further included in the blockchain system. In this case, if the currency corresponding to the sender's remittance is the base currency of the blockchain system, the
一実施形態として、コンピュータ装置200は、段階1710で、送信者から承認要請を受けたブロックチェーンシステムのトークンコントラクトに通貨の送金を要請し、トークンコントラクトに属して送信者の要請にしたがって承認されたトークンの送金をトークンコントラクトから受け取り、送信者の送金に対応する通貨でエスクローコントラクトに預託してよい。実施形態に係る預託方法については、図6を参照しながら詳しく説明したとおりである。
In one embodiment, in
他の実施形態として、コンピュータ装置200は、段階1710で、送信者からエスクロー送金要請を受けたブロックチェーンシステムのトークンコントラクトからエスクロートークン送金要請を受信し、エスクロートークン送金要請に応答してトークンコントラクトに送金を要請し、トークンコントラクトへの要請にしたがい、送金されたトークンを送信者の送金に対応する通貨でエスクローコントラクトに預託してよい。本実施形態に係る預託方法については、図10を参照しながら詳しく説明したとおりである。一方、本実施形態のためのエスクローコントラクトのインストール過程において、コンピュータ装置200は、エスクローコントラクトのオーナー(owner)からの要請にしたがってエスクローコントラクトをインストールし、エスクローコントラクトオーナーからの要請にしたがってトークンコントラクトにエスクローコントラクトを設定してよく、トークンコントラクトの制御にしたがってエスクローコントラクトにトークンコントラクトを設定してよい。この場合、エスクローコントラクトとトークンコントラクトは互いに連係し、トークンコントラクトがエスクローコントラクトを認知することが可能となる。
In another embodiment, the
また他の実施形態として、コンピュータ装置200は、段階1710で、送信者からの送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトからエスクロー取引と関連するメタ情報が含まれたトークンフォールバック要請を受信し、メタ情報を解析して得られるエスクロー取引に関する情報に基づき、送信者の送金に対応する通貨でトークンコントラクトに属するトークンの送金を送信者から受け取ってエスクローコントラクトに預託してよい。本実施形態に係る預託方法については、図14を参照しながら詳しく説明したとおりである。この場合、本実施形態のためのエスクローコントラクトのインストール過程において、コンピュータ装置200は、エスクローコントラクトのオーナーからの要請にしたがって前記エスクローコントラクトをインストールし、エスクローコントラクトオーナーからの要請に含まれるトークンコントラクトのアドレスによってエスクローコントラクトとトークンコントラクトを連係してよい。この場合、トークンコントラクトは、仕様に変化がないため、エスクローコントラクトを個別に認知する過程を経る必要がなくなる。
In another embodiment, the
段階1720で、コンピュータ装置200は、送信者の送金に対し、予め定義された条件を満たすか否かを決定してよい。このとき、予め定義された条件が満たされる場合、コンピュータ装置200は段階1730を実行してよく、予め定義された条件が満たされない場合、コンピュータ装置200は段階1740を実行してよい。実質的に、予め定義された条件が満たされるか否かは、エスクローコントラクトに明示された呼出し元によってなされてよく、呼出し元は、予め定義された条件が満たされた場合はエスクロー受信関数を、予め定義された条件が満たされない場合はエスクロー取消関数をそれぞれ呼び出してよい。言い換えれば、コンピュータ装置200は、エスクロー受信関数が呼び出される場合には予め定義された条件が満たされたものと決定してよく、エスクロー取消関数が呼び出される場合には予め定義された条件が満たされないものと決定してよい。
In
段階1730で、コンピュータ装置200は、エスクローコントラクトに預託された通貨を受信者に送金してよい。一例として、コンピュータ装置200は、送信者の送金に対して予め定義された条件が満たされる場合に、エスクローコントラクトに明示された呼出し元から要請されるエスクロー受信要請にしたがい、ブロックチェーンシステムのトークンコントラクトに、エスクローコントラクトから受信者への送金を要請してよい。このような受信者への送金については、図7、図11、および図15を参照しながら詳しく説明したとおりである。
At
段階1740で、コンピュータ装置200は、エスクローコントラクトに預託された通貨を送信者に返還してよい。一例として、コンピュータ装置200は、送信者の送金に対して予め定義された条件が満たされない場合に、エスクローコントラクトに明示された呼出し元から要請されるエスクロー取消要請にしたがい、ブロックチェーンシステムのトークンコントラクトに、エスクローコントラクトから送信者への送金を要請してよい。預託された通貨の送信者への返還については、図8、図12、および図16を参照しながら詳しく説明したとおりである。
At
一方、段階1730および段階1740において、呼出し元は、エスクローコントラクトのオーナーまたは送信者であってよい。
On the other hand, in
このように、本発明の実施形態によると、スマートコントラクトに取引成立のための条件を明示することにより、送金が即時的になされず、金銭を預託しておいた後に、特定の条件が満たされたときに受信者に送金を処理することができる。また、特定の条件が満たされたか否かにより、送金者が送金を取り消すことができる。さらに、スマートコントラクトは、ソースコードがブロックチェーンネットワーク上に公開されるため、どのようなロジックによってエスクロー機能が動作するのかについての透明性を確保することができる。 In this way, according to an embodiment of the present invention, by clearly indicating the conditions for a transaction to be concluded in a smart contract, the remittance is not made immediately, but rather the money can be deposited and then processed for remittance to the recipient when certain conditions are met. Also, the remitter can cancel the remittance depending on whether or not certain conditions are met. Furthermore, since the source code of the smart contract is published on the blockchain network, transparency can be ensured as to the logic by which the escrow function operates.
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(Arithmetic Logic Unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(Field Programmable Gate Array)、PLU(Programmable Logic Unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。 The above-described systems or devices may be realized by hardware components or a combination of hardware and software components. For example, the devices and components described in the embodiments may be realized using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an ALU (arithmetic logic unit), a digital signal processor, a microcomputer, an FPGA (field programmable gate array), a PLU (programmable logic unit), a microprocessor, or various devices capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications that run on the OS. The processing device may also respond to the execution of the software and access, record, manipulate, process, and generate data. For ease of understanding, the description may be given as if one processing device is used, but one skilled in the art will understand that the processing device may include multiple processing elements and/or multiple types of processing elements. For example, a processing unit may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、望む動作をするように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。 The software may include computer programs, codes, instructions, or a combination of one or more of these, and may configure or instruct a processing device to perform a desired operation, either individually or collectively. The software and/or data may be embodied in any type of machine, component, physical device, virtual device, computer storage medium, or device to be interpreted based on the processing device or to provide instructions or data to the processing device. The software may be distributed and stored or executed in a distributed manner on computer systems connected by a network. The software and data may be stored on one or more computer-readable storage media.
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピーディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。 The method according to the embodiment may be realized in the form of program instructions executable by various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., alone or in combination. The medium may be one that continuously records a computer-executable program, or one that temporarily records it for execution or download. The medium may be one that is a recording or storage means in the form of a single or multiple hardware devices, and is not limited to a medium that is directly connected to a certain computer system, but may be one that is distributed over a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROMs, RAMs, flash memories, etc., configured to record program instructions. Other examples of the medium include recording media or storage media managed by application stores that distribute applications, or sites, servers, etc. that supply or distribute various other software. Examples of program instructions include not only machine code, such as that produced by a compiler, but also high-level language code that is executed by a computer using an interpreter or the like.
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって代替されたり置換されたとしても、適切な結果を達成することができる。 Although the embodiments have been described above based on limited embodiments and drawings, those skilled in the art will appreciate that various modifications and variations may be made from the above description. For example, the described techniques may be performed in an order different from that described, and/or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a manner different from that described, or may be replaced or substituted by other components or equivalents, and still achieve suitable results.
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。 Therefore, different embodiments that are equivalent to the scope of the claims are within the scope of the attached claims.
Claims (19)
前記送信者の送金に対して予め定義された条件が満たされる場合、前記エスクローコントラクトに預託された通貨を前記受信者に送金する段階、および
前記送金に対して予め定義された条件が満たされない場合、前記エスクローコントラクトに明示された呼び出し元である信頼の置ける第三者による要請にしたがい、前記エスクローコントラクトに預託された通貨を前記送信者に返還する段階
をコンピュータ装置に実行させる、コンピュータプログラム。 For an escrow transaction from a sender to a receiver, depositing currency corresponding to the sender's remittance in an escrow contract included in the blockchain system;
A computer program product that causes a computer device to execute the steps of: transferring the currency deposited in the escrow contract to the recipient if a predefined condition for the sender's transfer is met; and returning the currency deposited in the escrow contract to the sender upon request by a trusted third party that is a caller specified in the escrow contract if the predefined condition for the transfer is not met.
前記送信者から承認要請を受けた前記ブロックチェーンシステムのトークンコントラクトに前記通貨の送金を要請する段階、および
前記トークンコントラクトに属して前記送信者の要請にしたがって承認されたトークンの送金を前記トークンコントラクトから受け取り、前記送信者の送金に対応する通貨で前記エスクローコントラクトに預託する段階
を含むことを特徴とする、請求項1に記載のコンピュータプログラム。 The step of depositing the currency includes:
2. The computer program of claim 1, further comprising: a step of requesting a token contract of the blockchain system that has received an approval request from the sender to remit the currency; and a step of receiving, from the token contract, a remittance of the token that belongs to the token contract and has been approved according to the request of the sender, and depositing the token in the escrow contract in the currency corresponding to the remittance of the sender.
前記送信者からエスクロー送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトからエスクロートークン送金要請を受信する段階、
前記エスクロートークン送金要請に応答して前記トークンコントラクトに送金を要請する段階、および
前記トークンコントラクトへの要請にしたがって送金されたトークンを、前記送信者の送金に対応する通貨で前記エスクローコントラクトに預託する段階
を含むことを特徴とする、請求項1に記載のコンピュータプログラム。 The step of depositing the currency includes:
receiving an escrow token remittance request from a token contract of the blockchain system that has received an escrow token remittance request from the sender;
2. The computer program product of claim 1, further comprising: requesting the token contract to remit in response to the escrow token remittance request; and depositing the tokens remitted in accordance with the request to the token contract in the escrow contract in a currency corresponding to the remittance of the sender.
前記エスクローコントラクトのオーナーからの要請にしたがって前記トークンコントラクトに前記エスクローコントラクトを設定する段階、および
前記トークンコントラクトの制御にしたがって前記エスクローコントラクトに前記トークンコントラクトを設定する段階
をコンピュータ装置に実行させる、請求項3に記載のコンピュータプログラム。 installing the escrow contract pursuant to a request from an owner of the escrow contract;
4. The computer program product of claim 3, configured to cause a computer device to execute the steps of: setting the escrow contract in the token contract according to a request from an owner of the escrow contract; and setting the token contract in the escrow contract according to control of the token contract.
前記送信者から送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトから、エスクロー取引と関連するメタ情報が含まれたトークンフォールバック要請を受信する段階、および
前記メタ情報を解析して得られるエスクロー取引に関する情報に基づいて、前記送信者の送金に対応する通貨で前記トークンコントラクトに属したトークンの送金を前記送信者から受け取って前記エスクローコントラクトに預託する段階
を含むことを特徴とする、請求項1に記載のコンピュータプログラム。 The step of depositing the currency includes:
2. The computer program product of claim 1, further comprising: receiving a token fallback request including meta information related to an escrow transaction from a token contract of the blockchain system that has received a remittance request from the sender; and receiving a remittance of tokens belonging to the token contract from the sender in a currency corresponding to the remittance of the sender based on information regarding the escrow transaction obtained by analyzing the meta information, and depositing the tokens in the escrow contract.
前記エスクローコントラクトのオーナーからの要請が含む前記トークンコントラクトのアドレスによって前記エスクローコントラクトと前記トークンコントラクトを連係する段階
をコンピュータ装置に実行させる、請求項5に記載のコンピュータプログラム。 6. The computer program product of claim 5, configured to cause a computer device to execute the steps of: installing the escrow contract in accordance with a request from an owner of the escrow contract; and linking the escrow contract and the token contract using an address of the token contract included in the request from the owner of the escrow contract.
前記送信者の送金に対して予め定義された条件が満たされる場合に、前記エスクローコントラクトに明示された呼出し元から要請されるエスクロー受信要請にしたがい、前記ブロックチェーンシステムのトークンコントラクトに前記エスクローコントラクトから前記受信者への送金を要請することを特徴とする、請求項1に記載のコンピュータプログラム。 The step of transferring the deposited currency to the recipient includes:
2. The computer program of claim 1, further comprising: a computer program for requesting a token contract of the blockchain system to transfer money from the escrow contract to the receiver in accordance with an escrow receipt request made by a caller specified in the escrow contract when a predefined condition for the sender's remittance is met.
前記送信者の送金に対して予め定義された条件が満たされない場合に、前記エスクローコントラクトに明示された呼出し元から要請されるエスクロー取消要請にしたがい、前記ブロックチェーンシステムのトークンコントラクトに前記エスクローコントラクトから前記送信者への送金を要請することを特徴とする、請求項1に記載のコンピュータプログラム。 The step of returning the deposited currency to the sender includes:
2. The computer program of claim 1, further comprising: a computer program for requesting a token contract of the blockchain system to transfer money from the escrow contract to the sender in accordance with an escrow cancellation request made by a caller specified in the escrow contract when a predefined condition for the sender's remittance is not met.
前記送信者の送金に対して予め定義された条件が満たされる場合、前記エスクローコントラクトに預託された通貨を前記受信者に送金する段階、および
前記送金に対して予め定義された条件が満たされない場合、前記エスクローコントラクトに明示された呼び出し元である信頼の置ける第三者による要請にしたがい、前記エスクローコントラクトに預託された通貨を前記送信者に返還する段階
をコンピュータ装置に実行させる、エスクロー取引方法。 For an escrow transaction from a sender to a receiver, depositing currency corresponding to the sender's remittance in an escrow contract included in the blockchain system;
transferring the currency deposited in the escrow contract to the receiver if a predefined condition for the sender's transfer is met; and
and returning the currency deposited in the escrow contract to the sender upon request by a trusted third party that is a caller as specified in the escrow contract if a predefined condition for the transfer is not met.
The escrow transaction method includes causing a computer device to execute the steps described above.
を含み、
前記少なくとも1つのプロセッサにより、
送信者から受信者へのエスクロー取引に対し、ブロックチェーンシステムが含むエスクローコントラクトに前記送信者の送金に対応する通貨を預託し、
前記送信者の送金に対して予め定義された条件が満たされる場合、前記エスクローコントラクトに預託された通貨を前記受信者に送金し、
前記送金に対して予め定義された条件が満たされない場合、前記エスクローコントラクトに明示された呼び出し元である信頼の置ける第三者による要請にしたがい、前記エスクローコントラクトに預託された通貨を前記送信者に返還すること
を特徴とする、コンピュータ装置。 at least one processor implemented to execute computer readable instructions;
by said at least one processor,
For an escrow transaction from a sender to a receiver, depositing currency corresponding to the sender's remittance in an escrow contract included in the blockchain system;
If a predefined condition for the sender's transfer is met, then transfer the currency deposited in the escrow contract to the receiver;
and returning the currency deposited in the escrow contract to the sender upon request by a trusted third party that is a caller specified in the escrow contract if a predefined condition for the transfer is not met.
前記送信者から承認要請を受けた前記ブロックチェーンシステムのトークンコントラクトに前記通貨の送金を要請し、
前記トークンコントラクトに属して前記送信者の要請にしたがって承認されたトークンの送金を前記トークンコントラクトから受け取り、前記送信者の送金に対応する通貨で前記エスクローコントラクトに預託すること
を特徴とする、請求項14に記載のコンピュータ装置。 by said at least one processor,
Requesting a token contract of the blockchain system that has received an approval request from the sender to remit the currency;
The computer device of claim 14, further comprising: receiving from the token contract a transfer of tokens that belong to the token contract and are approved according to the request of the sender, and depositing the tokens in the escrow contract in a currency corresponding to the transfer of the sender.
前記送信者からエスクロー送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトからエスクロートークン送金要請を受信し、
前記エスクロートークン送金要請に応答して前記トークンコントラクトに送金を要請し、
前記トークンコントラクトへの要請にしたがって送金されたトークンを、前記送信者の送金に対応する通貨で前記エスクローコントラクトに預託すること
を特徴とする、請求項14に記載のコンピュータ装置。 by said at least one processor,
receiving an escrow token remittance request from a token contract of the blockchain system that has received an escrow remittance request from the sender;
In response to the escrow token transfer request, request the token contract to transfer the escrow token;
15. The computer device of claim 14, further comprising: depositing tokens transferred in accordance with a request to the token contract in the escrow contract in a currency corresponding to the sender's transfer.
前記送信者から送金要請を受けた前記ブロックチェーンシステムのトークンコントラクトから、エスクロー取引と関連するメタ情報が含まれたトークンフォールバック要請を受信し、
前記メタ情報を解析して得られるエスクロー取引に関する情報に基づいて、前記送信者の送金に対応する通貨で前記トークンコントラクトに属するトークンの送金を前記送信者から受け取って前記エスクローコントラクトに預託すること
を特徴とする、請求項14に記載のコンピュータ装置。 by said at least one processor,
receiving a token fallback request including meta information related to an escrow transaction from a token contract of the blockchain system that has received a remittance request from the sender;
The computer device according to claim 14, further comprising: receiving a remittance of tokens belonging to the token contract in a currency corresponding to the remittance of the sender from the sender based on information regarding an escrow transaction obtained by analyzing the meta-information, and depositing the tokens in the escrow contract.
前記送信者の送金に対して予め定義された条件が満たされる場合に、前記エスクローコントラクトに明示された呼出し元から要請されるエスクロー受信要請にしたがい、前記ブロックチェーンシステムのトークンコントラクトに前記エスクローコントラクトから前記受信者への送金を要請すること
を特徴とする、請求項14に記載のコンピュータ装置。 by said at least one processor,
The computer device of claim 14, further comprising: a computer device that requests a token contract of the blockchain system to transfer money from the escrow contract to the receiver in accordance with an escrow receipt request made by a caller specified in the escrow contract when a predefined condition for the sender's transfer is met.
前記送信者の送金に対して予め定義された条件が満たされない場合に、前記エスクローコントラクトに明示された呼出し元から要請されるエスクロー取消要請にしたがい、前記ブロックチェーンシステムのトークンコントラクトに前記エスクローコントラクトから前記送信者への送金を要請すること
を特徴とする、請求項14に記載のコンピュータ装置。 by said at least one processor,
The computer device of claim 14, further comprising: a computer device that requests a token contract of the blockchain system to transfer funds from the escrow contract to the sender in accordance with an escrow cancellation request made by a caller specified in the escrow contract when a predefined condition for the sender's transfer is not met.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/018156 WO2021125399A1 (en) | 2019-12-20 | 2019-12-20 | Escrow transaction method and system using smart contract in blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023514007A JP2023514007A (en) | 2023-04-05 |
JP7478240B2 true JP7478240B2 (en) | 2024-05-02 |
Family
ID=76478791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022537151A Active JP7478240B2 (en) | 2019-12-20 | 2019-12-20 | Escrow transaction method and system using smart contract on blockchain |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7478240B2 (en) |
KR (1) | KR102727649B1 (en) |
WO (1) | WO2021125399A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595736B (en) * | 2021-07-21 | 2022-06-14 | 深圳市信安数字科技有限公司 | Block chain based information transmission method, system, device and storage medium |
CN113850573A (en) * | 2021-08-19 | 2021-12-28 | 中国人民银行数字货币研究所 | Smart contract execution method and device |
KR102670805B1 (en) * | 2022-07-21 | 2024-05-31 | 주식회사 인피닛블록 | System and control for digital token stock issuance management based on custody |
US20250200572A1 (en) * | 2023-12-18 | 2025-06-19 | The Pnc Financial Services Group, Inc. | Digital asset payment rail |
KR102690179B1 (en) | 2024-03-15 | 2024-07-31 | 주식회사 블로믹스 | Escrow System And Its Method That Guarantees Payment And Refund Based On blockchain |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018055203A (en) | 2016-09-26 | 2018-04-05 | Gmoインターネット株式会社 | Data management system, information processing apparatus, program, data management method, data structure |
US20190378128A1 (en) | 2018-06-08 | 2019-12-12 | Rocket Lawyer Incorporated | Cryptographic Contract Payment and Dispute Resolution System |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180054972A (en) * | 2016-11-14 | 2018-05-25 | 주식회사 비즈모델라인 | Method for Operating Mobile Safety Remittance based on Verification of the Remittee |
KR20190019004A (en) * | 2017-08-16 | 2019-02-26 | 김용태 | The trading system and the method based on a blockchain |
KR101857223B1 (en) * | 2017-11-13 | 2018-05-11 | 주식회사 온더 | Method and system for user identification based block chain token |
KR102580915B1 (en) * | 2018-02-08 | 2023-09-19 | 주식회사 케이티 | Platform and Method for Safety Transaction based on Block Chain |
US10713722B2 (en) * | 2018-02-14 | 2020-07-14 | Equity Shift, Inc. | Blockchain instrument for transferable equity |
KR20190132159A (en) * | 2018-05-18 | 2019-11-27 | 주식회사 비즈모델라인 | Method for Providing Cryptocurrency Trading Platform based on Blockchain by using Smart Contract |
CN108876606B (en) * | 2018-05-29 | 2021-02-09 | 创新先进技术有限公司 | Asset transfer method and device and electronic equipment |
KR20190136610A (en) * | 2018-05-31 | 2019-12-10 | 박덕용 | Apparatus and method for transaction processing using smart contract based on blockchain |
-
2019
- 2019-12-20 KR KR1020227017460A patent/KR102727649B1/en active Active
- 2019-12-20 WO PCT/KR2019/018156 patent/WO2021125399A1/en active Application Filing
- 2019-12-20 JP JP2022537151A patent/JP7478240B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018055203A (en) | 2016-09-26 | 2018-04-05 | Gmoインターネット株式会社 | Data management system, information processing apparatus, program, data management method, data structure |
US20190378128A1 (en) | 2018-06-08 | 2019-12-12 | Rocket Lawyer Incorporated | Cryptographic Contract Payment and Dispute Resolution System |
Also Published As
Publication number | Publication date |
---|---|
WO2021125399A1 (en) | 2021-06-24 |
KR102727649B1 (en) | 2024-11-07 |
JP2023514007A (en) | 2023-04-05 |
KR20220084401A (en) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7478240B2 (en) | Escrow transaction method and system using smart contract on blockchain | |
JP7385706B2 (en) | Method of distributing digital assets registered on blockchain and autonomous computing agent | |
JP7272844B2 (en) | Method and system for recognizing message contents and providing remittance function in messenger equipped with remittance function | |
US11062294B2 (en) | Cognitive blockchain for customized interchange determination | |
TWI712974B (en) | Methods and devices for processing certificates in blockchain system | |
JP2021520010A (en) | Blockchain loan transaction system and method | |
TW202008196A (en) | Transaction method and system based on centralized settlement and block chain deposit certification | |
US10043174B1 (en) | Bitcoin transaction using text message | |
US11972432B2 (en) | Risk determination enabled crypto currency transaction system | |
TW202008235A (en) | Transaction method and system based on centralized settlement and block chain storage | |
US20220156725A1 (en) | Cross-chain settlement mechanism | |
CN113506111A (en) | Entity article ownership registration method and device based on block chain | |
JP7615581B2 (en) | Installment payment method and system | |
JP2025061606A (en) | Transaction delegation method and transaction delegation system | |
TW202029093A (en) | Blockchain-based invoice voiding method and apparatus, and electronic device | |
US20160232620A1 (en) | Method and system for venture capital raising for startup via award and reality television show | |
CN114146415A (en) | Game element transaction method and device based on block chain | |
CN115461775A (en) | Loan management method and system based on block chain | |
CN108876339B (en) | Token-based electronic pet transaction method and device | |
US20250013998A1 (en) | Methods and systems for transaction processing using a blockchain | |
CN113032036B (en) | Service data processing method, device, system, computer equipment and storage medium | |
JP2022105477A (en) | Methods, systems, and computer programs for instant transfer of cryptocurrencies | |
KR20090089745A (en) | Methods, systems, and computer readable recording media for providing real estate transaction information of authentic agents | |
US11468081B2 (en) | System and method for enhanced transaction utility | |
WO2025006624A1 (en) | Non-fungible token-based blockchain transactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221209 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240403 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240419 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7478240 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |