JP6956062B2 - Transaction method, program, verification device and generation method - Google Patents

Transaction method, program, verification device and generation method Download PDF

Info

Publication number
JP6956062B2
JP6956062B2 JP2018204429A JP2018204429A JP6956062B2 JP 6956062 B2 JP6956062 B2 JP 6956062B2 JP 2018204429 A JP2018204429 A JP 2018204429A JP 2018204429 A JP2018204429 A JP 2018204429A JP 6956062 B2 JP6956062 B2 JP 6956062B2
Authority
JP
Japan
Prior art keywords
transaction
token
computer
user
exchange
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
Application number
JP2018204429A
Other languages
Japanese (ja)
Other versions
JP2020071617A (en
JP2020071617A5 (en
Inventor
豊 仲宗根
豊 仲宗根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Crypto Garage
Original Assignee
Crypto Garage
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 Crypto Garage filed Critical Crypto Garage
Priority to JP2018204429A priority Critical patent/JP6956062B2/en
Publication of JP2020071617A publication Critical patent/JP2020071617A/en
Publication of JP2020071617A5 publication Critical patent/JP2020071617A5/ja
Application granted granted Critical
Publication of JP6956062B2 publication Critical patent/JP6956062B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、取引方法、プログラム、検証装置及び生成方法に関する。 The present invention relates to a transaction method, a program, a verification device and a generation method.

ブロックチェーンに代表される分散型台帳技術を用いて実現される仮想通貨と、法定通貨等の現実の金融資産との交換を行う種々の手法が提案されている。例えば特許文献1では、法定通貨に対する仮想通貨の価格を安定させるため、固定価格で仮想通貨と法定通貨との交換を行う仮想通貨管理装置等が開示されている。 Various methods have been proposed for exchanging virtual currencies realized by using distributed ledger technology represented by blockchain with real financial assets such as legal tender. For example, Patent Document 1 discloses a virtual currency management device that exchanges a virtual currency for a legal tender at a fixed price in order to stabilize the price of the virtual currency with respect to the legal currency.

特許第6352463号公報Japanese Patent No. 6352463

しかしながら、特許文献1に係る発明は固定価格で仮想通貨を売買可能な取引所を提供しているに過ぎず、仮想通貨と金融資産との交換を行う適切な取引の場を提供しているとは言い難い。 However, the invention according to Patent Document 1 merely provides an exchange on which virtual currency can be bought and sold at a fixed price, and provides an appropriate trading place for exchanging virtual currency for financial assets. Is hard to say.

一つの側面では、仮想通貨と金融資産との交換を適切に行うことができる取引方法等を提供することを目的とする。 One aspect is to provide a transaction method or the like that can appropriately exchange virtual currency for financial assets.

一つの側面では、取引方法は、第1のユーザのコンピュータに、分散型台帳において取引履歴が管理される仮想通貨であって、前記第1のユーザが保有する仮想通貨を第1のトークンに変換させ、第2のユーザのコンピュータに、前記第2のユーザが保有する金融資産に基づく第2のトークンの発行要求を出力させ、前記第1又は第2のユーザのコンピュータに、前記第1及び第2のユーザの間で前記第1及び第2のトークンを交換するトランザクションを生成して出力させ、前記第2のユーザのコンピュータに、前記トランザクションにより取得した前記第1のトークンを前記仮想通貨に変換させ、前記第1のユーザのコンピュータに、前記第2のトークンに基づく前記金融資産の償還要求を出力させることを特徴とする。 In one aspect, the transaction method is a virtual currency whose transaction history is managed in a distributed ledger on the computer of the first user, and the virtual currency held by the first user is converted into a first token. The second user's computer is made to output a request for issuing a second token based on the financial assets held by the second user, and the first or second user's computer is made to output the first and second tokens. A transaction for exchanging the first and second tokens between the two users is generated and output, and the computer of the second user converts the first token acquired by the transaction into the virtual currency. It is characterized in that the computer of the first user is made to output a request for redemption of the financial asset based on the second token.

一つの側面では、仮想通貨と金融資産との交換を適切に行うことができる。 On one side, cryptocurrencies can be properly exchanged for financial assets.

取引システムの構成例を示す模式図である。It is a schematic diagram which shows the configuration example of a trading system. 端末及び検証サーバの構成例を示すブロック図である。It is a block diagram which shows the configuration example of a terminal and a verification server. ユーザDB及び取引DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of a user DB and a transaction DB. 通貨交換取引の概要を示す説明図である。It is explanatory drawing which shows the outline of the currency exchange transaction. 通貨交換取引の過程を示す説明図である。It is explanatory drawing which shows the process of a currency exchange transaction. 通貨交換取引の過程を示す説明図である。It is explanatory drawing which shows the process of a currency exchange transaction. 通貨交換取引の過程を示す説明図である。It is explanatory drawing which shows the process of a currency exchange transaction. 通貨交換取引の過程を示す説明図である。It is explanatory drawing which shows the process of a currency exchange transaction. 取引システムが実行する処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the processing procedure which a transaction system executes.

以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態)
図1は、取引システムの構成例を示す模式図である。本実施の形態では、ブロックチェーン(分散型台帳)において取引履歴が管理される仮想通貨と法定通貨との交換を、ブロックチェーンの側鎖と呼ばれるサイドチェーン上で行う取引システムについて説明する。取引システムは、情報処理装置1、1、1…及び検証装置2を含む。各装置は、インターネット等の通信網Nを介して通信接続されている。
Hereinafter, the present invention will be described in detail with reference to the drawings showing the embodiments thereof.
(Embodiment)
FIG. 1 is a schematic diagram showing a configuration example of a trading system. In the present embodiment, a transaction system for exchanging a virtual currency whose transaction history is managed in a blockchain (distributed ledger) with a legal tender on a side chain called a side chain of the block chain will be described. The trading system includes information processing devices 1, 1, 1, ... And a verification device 2. Each device is communicated and connected via a communication network N such as the Internet.

情報処理装置1は、本システムを利用して仮想通貨及び法定通貨の交換を行うユーザが操作する情報処理装置であり、例えばパーソナルコンピュータ、サーバ装置等である。本実施の形態では情報処理装置1がパーソナルコンピュータであるものとし、以下の説明では簡潔のため端末1と読み替える。 The information processing device 1 is an information processing device operated by a user who exchanges virtual currency and legal tender using this system, and is, for example, a personal computer, a server device, or the like. In the present embodiment, it is assumed that the information processing device 1 is a personal computer, and in the following description, it is read as a terminal 1 for the sake of brevity.

本システムを利用するユーザは特に限定されないが、本実施の形態では一例として、仮想通貨の取引所を運営する交換業者がユーザであるものとして説明する。以下の説明では便宜上、各ユーザを取引所A、B、C…と表し、各取引所A、B、C…の端末1を端末1a、1b、1c…と表す。端末1a、1b、1c…はそれぞれ、取引所A、B、C…として機能する不図示のサーバ装置に接続されており、各取引所A、B、C…のオペレータが操作する。 The user who uses this system is not particularly limited, but in the present embodiment, as an example, it is assumed that the exchange company operating the virtual currency exchange is the user. In the following description, for convenience, each user is referred to as exchanges A, B, C ..., And the terminal 1 of each exchange A, B, C ... is referred to as terminals 1a, 1b, 1c .... The terminals 1a, 1b, 1c ... Are connected to a server device (not shown) that functions as exchanges A, B, C ..., And are operated by operators of each exchange A, B, C ...

現在、仮想通貨の取引価格や流通量は取引所によってばらつきがあり、均衡が取れていない側面がある。その一因に、取引所同士で取引・決済を行う場、つまり金融取引で言うに相当するプロ向け市場や共通決済基盤がないことが挙げられる。法定通貨等の金融資産の場合、適格機関投資家等が取引を行うにあたり共通取引基盤や共通決済基板が存在する。一方で、仮想通貨では現状そのような特定の共通取引基盤ならびに共通決済基盤がなく、取引所等プロ参加者は各々仮想通貨交換業を営むに過ぎず、個別に直接やり取りをしている。そこで本システムでは、取引所等プロ参加者同士が取引を行うにあたり必要となる共通基盤を提供する。 Currently, the transaction price and distribution volume of virtual currencies vary from exchange to exchange, and there is an aspect that they are not balanced. One reason for this is that there is no place for transactions and settlements between exchanges, that is, there is no professional market or common settlement infrastructure equivalent to financial transactions. In the case of financial assets such as legal tender, there is a common transaction base and a common settlement board for qualified institutional investors to conduct transactions. On the other hand, virtual currencies do not currently have such a specific common transaction base and common settlement base, and professional participants such as exchanges only operate virtual currency exchange businesses and exchange directly with each other. Therefore, this system provides a common platform necessary for professional participants such as exchanges to conduct transactions.

検証装置2は、本システムで行われる通貨交換取引の適正を検証する検証者Xの装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態では検証装置2がサーバ装置であるものとし、以下の説明では検証サーバ2と読み替える。検証者Xは、主に法規制の観点から、取引する通貨のレート、取引者のID、UTXO(Unspent Transaction Output;未使用トランザクション)等の取引に関わる情報をチェックし、取引の承認を与える。検証サーバ2が行う処理について、詳しくは後述する。 The verification device 2 is a device of the verifier X that verifies the appropriateness of the currency exchange transaction performed in this system, and is, for example, a server device, a personal computer, or the like. In the present embodiment, the verification device 2 is assumed to be a server device, and will be read as the verification server 2 in the following description. The verifier X checks information related to transactions such as the rate of the currency to be traded, the ID of the trader, and UTXO (Unspent Transaction Output), mainly from the viewpoint of laws and regulations, and gives approval of the transaction. The processing performed by the verification server 2 will be described in detail later.

ブロックチェーンは、仮想通貨の取引履歴を管理する分散型台帳の一種である。ブロックチェーンのネットワークはマイナーと呼ばれる不特定多数のノードにより形成され、各ノードがトランザクションを検証して検証結果の合意を形成し、ブロックチェーン上の取引履歴を更新する。本実施の形態では、仮想通貨の一例としてビットコイン(登録商標)を挙げて説明する。なお、仮想通貨はビットコインに限定されず、イーサリアム(登録商標)等のアルトコインであっても良いことは勿論である。 Blockchain is a type of distributed ledger that manages the transaction history of virtual currencies. The blockchain network is formed by an unspecified number of nodes called miners, and each node verifies transactions, forms an agreement on the verification results, and updates the transaction history on the blockchain. In the present embodiment, Bitcoin (registered trademark) will be described as an example of the virtual currency. Of course, the virtual currency is not limited to Bitcoin, and may be altcoin such as Ethereum (registered trademark).

サイドチェーンは、ブロックチェーンの側鎖となる概念であり、メインのブロックチェーンとの間で通貨を移動することが可能な第2のブロックチェーン(第2の分散型台帳)である。後述するように、メインのブロックチェーンとサイドチェーンとの間では双方向ペグ(Two-way Peg)が可能となっており、メインのブロックチェーン上で管理されている通貨(ビットコイン)と、サイドチェーン上で管理されている通貨とを相互に交換することができる。以下の説明では便宜上、メインのブロックチェーンを「メインチェーン」と呼び、サイドチェーンと区別する。 A side chain is a concept that is a side chain of a blockchain, and is a second blockchain (second distributed ledger) capable of transferring currency to and from the main blockchain. As will be described later, two-way pegs are possible between the main blockchain and the sidechain, and the currency (bitcoin) managed on the main blockchain and the side You can exchange currencies managed on the chain with each other. In the following description, for convenience, the main blockchain is referred to as the "main chain" to distinguish it from the side chain.

本システムに係る通貨交換取引をメインチェーン上で行っても良いが、本実施の形態ではサイドチェーン上で取引を行う。例えばビットコインのブロックチェーンの場合、PoW(Proof of Work)によりマイナーの合意が形成される時間が1ブロック当たり約10分間となっており、当事者間で取引をしてからブロックチェーンに反映されるまで時間が掛かる。また、スケーラビリティの問題から近年ではマイナーに支払う手数料も高騰している。一方で、サイドチェーンはメインチェーンとは異なるネットワークであるため、合意形成の手法を異なるものとすることができる。これにより、取引履歴を分散管理することによるブロックチェーンのセキュリティを維持しつつ、迅速な取引、手数料の抑制等を図ることができる。 The currency exchange transaction related to this system may be performed on the main chain, but in the present embodiment, the transaction is performed on the side chain. For example, in the case of Bitcoin blockchain, the time for a minor agreement to be formed by PoW (Proof of Work) is about 10 minutes per block, which is reflected in the blockchain after transactions between the parties. It takes time. In recent years, fees paid to miners have also risen due to scalability issues. On the other hand, since the side chain is a different network from the main chain, the consensus building method can be different. As a result, while maintaining the security of the blockchain by managing the transaction history in a decentralized manner, it is possible to achieve quick transactions, control of fees, and the like.

詳しくは後述するように、取引所の端末1は、自らが保有する仮想通貨又は法定通貨を、サイドチェーンで取引履歴が管理されるトークンに変換する。そして端末1は、変換したトークンを他の取引所との間で交換することにより、仮想通貨及び法定通貨の交換に係る取引を行う。 As will be described in detail later, the terminal 1 of the exchange converts the virtual currency or legal tender it owns into tokens whose transaction history is managed in the side chain. Then, the terminal 1 conducts a transaction related to the exchange of virtual currency and legal tender by exchanging the converted token with another exchange.

図2は、端末1及び検証サーバ2の構成例を示すブロック図である。端末1は、制御部11、主記憶部12、通信部13、表示部14、入力部15、及び補助記憶部16を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、補助記憶部16に記憶されたプログラムP1を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。表示部14は、液晶ディスプレイ等の表示装置であり、制御部11から与えられた画像を表示する。入力部15は、マウス、キーボード等の入力インターフェイスであり、操作入力を受け付ける。
FIG. 2 is a block diagram showing a configuration example of the terminal 1 and the verification server 2. The terminal 1 includes a control unit 11, a main storage unit 12, a communication unit 13, a display unit 14, an input unit 15, and an auxiliary storage unit 16.
The control unit 11 has one or more CPUs (Central Processing Units), MPUs (Micro-Processing Units), GPUs (Graphics Processing Units), and other arithmetic processing units, and stores the program P1 stored in the auxiliary storage unit 16. By reading and executing, various information processing, control processing, etc. are performed. The main storage unit 12 is a temporary storage area for SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), flash memory, etc., and temporarily stores data necessary for the control unit 11 to execute arithmetic processing. Remember. The communication unit 13 is a communication module for performing processing related to communication, and transmits / receives information to / from the outside. The display unit 14 is a display device such as a liquid crystal display, and displays an image given by the control unit 11. The input unit 15 is an input interface such as a mouse and a keyboard, and receives operation input.

補助記憶部16はハードディスク等の不揮発性記憶領域であり、制御部11が処理を実行するために必要なプログラムP1、その他のデータを記憶している。また、補助記憶部16は、メインチェーン鍵情報161、サイドチェーン鍵情報162及び秘匿化用鍵情報163を記憶している。メインチェーン鍵情報161は、メインチェーン上でのユーザ(取引所)のウォレットアドレスに相当する鍵情報(秘密鍵、公開鍵)を記憶している。サイドチェーン鍵情報162は、サイドチェーン上でのユーザのウォレットアドレスに相当する鍵情報を記憶している。秘匿化用鍵情報163は、後述するように、サイドチェーン上でのトランザクションに記述される通貨交換取引の内容を秘匿化するために用いられる鍵情報を記憶している。 The auxiliary storage unit 16 is a non-volatile storage area such as a hard disk, and stores the program P1 and other data necessary for the control unit 11 to execute the process. Further, the auxiliary storage unit 16 stores the main chain key information 161, the side chain key information 162, and the concealment key information 163. The main chain key information 161 stores key information (private key, public key) corresponding to the wallet address of the user (exchange) on the main chain. The sidechain key information 162 stores key information corresponding to the user's wallet address on the sidechain. Concealing key information 163, as described later, stores a Kagijo paper used for concealing the contents of currency exchange transactions described in the transactions on the sidechain.

検証サーバ2は、制御部21、主記憶部22、通信部23、補助記憶部24を備える。
制御部11は、一又は複数のCPU、MPU、GPU等の演算処理装置を有し、補助記憶部24に記憶されたプログラムP2を読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部22は、RAM等の一時記憶領域であり、制御部21が演算処理を実行するために必要なデータを一時的に記憶する。通信部23は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
The verification server 2 includes a control unit 21, a main storage unit 22, a communication unit 23, and an auxiliary storage unit 24.
The control unit 11 has one or a plurality of arithmetic processing units such as CPUs, MPUs, and GPUs, and reads and executes the program P2 stored in the auxiliary storage unit 24 to perform various information processing, control processing, and the like. conduct. The main storage unit 22 is a temporary storage area such as a RAM, and temporarily stores data necessary for the control unit 21 to execute arithmetic processing. The communication unit 23 is a communication module for performing processing related to communication, and transmits / receives information to / from the outside.

補助記憶部24はハードディスク等の不揮発性記憶領域であり、制御部21が処理を実行するために必要なプログラムP2、その他のデータを記憶している。また、補助記憶部24は、鍵情報241、ユーザDB242及び取引DB243を記憶している。鍵情報241は、検証者Xの鍵情報を記憶している。ユーザDB242は、各ユーザ(取引所)の情報を格納したデータベースである。取引DB243は、各ユーザの間で予定されている通貨交換取引の情報を格納したデータベースである。 The auxiliary storage unit 24 is a non-volatile storage area such as a hard disk, and stores the program P2 and other data necessary for the control unit 21 to execute the process. Further, the auxiliary storage unit 24 stores the key information 241 and the user DB 242 and the transaction DB 243. Key information 241 stores a Kagijo report of the verifier X. The user DB 242 is a database that stores information of each user (exchange). The transaction DB 243 is a database that stores information on currency exchange transactions scheduled between each user.

なお、補助記憶部24は検証サーバ2に接続された外部記憶装置であってもよい。また、検証サーバ2は複数のコンピュータからなるマルチコンピュータであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。 The auxiliary storage unit 24 may be an external storage device connected to the verification server 2. Further, the verification server 2 may be a multi-computer composed of a plurality of computers, or may be a virtual machine virtually constructed by software.

また、本実施の形態において検証サーバ2は上記の構成に限られず、例えば可搬型記憶媒体に記憶された情報を読み取る読取部、操作入力を受け付ける入力部、画像を表示する表示部等を含んでもよい。 Further, in the present embodiment, the verification server 2 is not limited to the above configuration, and may include, for example, a reading unit for reading information stored in a portable storage medium, an input unit for receiving operation input, a display unit for displaying an image, and the like. good.

図3は、ユーザDB242及び取引DB243のレコードレイアウトの一例を示す説明図である。ユーザDB242は、ユーザID列、ユーザ名列、アカウント情報列を含む。ユーザID列は、各ユーザを識別するためのユーザIDを記憶している。ユーザ名列は、ユーザIDと対応付けて、ユーザ(取引所)の名称を記憶している。アカウント情報列は、ユーザIDと対応付けて、本システムにおけるユーザのアカウント情報を記憶している。アカウント情報は、例えばログインに必要なデータのほかに、ユーザの金融口座の情報などを含む。 FIG. 3 is an explanatory diagram showing an example of the record layout of the user DB 242 and the transaction DB 243. The user DB 242 includes a user ID column, a user name column, and an account information column. The user ID column stores a user ID for identifying each user. The user name column stores the name of the user (exchange) in association with the user ID. The account information column stores the account information of the user in this system in association with the user ID. The account information includes, for example, information on the user's financial account in addition to the data required for login.

取引DB243は、取引ID列、取引実行日列、第1ユーザ列、第2ユーザ列を含む。取引ID列は、後述するように、ユーザらが本システムに係るツールを用いて合意した通貨交換取引を識別するための取引IDを記憶している。取引実行日列は、取引IDと対応付けて、通貨交換取引の実行日を記憶している。第1ユーザ列は、取引IDと対応付けて、通貨交換取引の一方の当事者であり、仮想通貨を法定通貨に交換する第1のユーザ側の情報を記憶している。例えば第1ユーザ列は、第1のユーザのユーザID、交換するトークン(第1のトークン)のアセットタイプ(種類)、取引量、当該トークンをサイドチェーン上で保持するUTXOの情報などを記憶している。第2ユーザ列は、取引IDと対応付けて、通貨交換取引の他方の当事者であり、法定通貨を仮想通貨に交換する第2のユーザ側の情報を記憶している。例えば第2ユーザ列は、第2のユーザのユーザID、交換するトークン(第2のトークン)のアセットタイプ、取引量などを記憶している。 The transaction DB 243 includes a transaction ID column, a transaction execution date column, a first user column, and a second user column. As will be described later, the transaction ID column stores the transaction ID for identifying the currency exchange transaction that the users have agreed to using the tool related to this system. The transaction execution date column stores the execution date of the currency exchange transaction in association with the transaction ID. The first user column stores information on the first user side that is one party to the currency exchange transaction and exchanges the virtual currency for the legal tender in association with the transaction ID. For example, the first user column stores the user ID of the first user, the asset type (type) of the token to be exchanged (first token), the transaction volume, the information of UTXO holding the token on the side chain, and the like. ing. The second user column stores information on the second user side that is the other party of the currency exchange transaction and exchanges legal tender for virtual currency in association with the transaction ID. For example, the second user column stores the user ID of the second user, the asset type of the token to be exchanged (second token), the transaction volume, and the like.

図4は、通貨交換取引の概要を示す説明図である。図4では、サイドチェーンを用いて取引所A、Bが通貨交換取引を行う様子を概念的に図示している。本実施の形態では、取引所Aが仮想通貨を、取引所Bが法定通貨(例えば日本円)を交換するものとして説明する。まず図4を用いて、本システムを構成する各要素について説明する。 FIG. 4 is an explanatory diagram showing an outline of a currency exchange transaction. FIG. 4 conceptually illustrates how exchanges A and B carry out currency exchange transactions using a side chain. In the present embodiment, it is assumed that exchange A exchanges virtual currency and exchange B exchanges legal tender (for example, Japanese yen). First, each element constituting this system will be described with reference to FIG.

上述の如く、メインチェーン(図4左上に「Blockchain」と図示)は仮想通貨の取引履歴を分散管理するブロックチェーンであり、例えばビットコインに係るネットワークである。一方で、サイドチェーンはメインチェーンの側鎖となるブロックチェーンであり、メインチェーンとは異なるアルゴリズムで動作するネットワークである。サイドチェーンはメインチェーンと異なる手法でトランザクションの検証に係る合意形成が成されると共に、メインチェーンとの間で双方向での通貨の移動が可能に構成されている。 As described above, the main chain (shown as "Blockchain" in the upper left of FIG. 4) is a blockchain that manages the transaction history of virtual currencies in a decentralized manner, and is, for example, a network related to Bitcoin. On the other hand, the side chain is a blockchain that is a side chain of the main chain, and is a network that operates with an algorithm different from that of the main chain. The side chain is configured to allow bidirectional currency transfer to and from the main chain, as well as consensus building on transaction verification using a method different from that of the main chain.

サイドチェーンの動作アルゴリズムは特に限定されないが、本実施の形態に係るサイドチェーンは、ストロング・フェデレーションズ(Strong Federations)と呼ばれるアルゴリズムで動作する。ストロング・フェデレーションズは、ネットワーク上に地理的及び管轄的に分散して配置された複数の監査人(図4では「Federation member」と図示)が、サイドチェーン上のトランザクションの検証に係る合意形成、及びメインチェーンとの間の双方向ペグの検証を、k−of−nのマルチシグネチャスキームで行うアルゴリズムである。メインチェーンではPoWにより行う合意形成を、サイドチェーンではマルチシグネチャに置き換えることで、メインチェーンのセキュリティを維持しつつ低レイテンシーを実現する。また、メインチェーンでも実装されているマルチシグネチャ技術によって双方向ペグを行うことで、メインチェーンのソフトフォーク(仕様変更)をせずとも双方向ペグが可能となる。 The operation algorithm of the side chain is not particularly limited, but the side chain according to the present embodiment operates by an algorithm called Strong Federations. Strong Federations is a consensus building on the verification of transactions on the sidechain by multiple auditors (shown as "Federation members" in Figure 4) geographically and jurisdictionally distributed on the network. It is an algorithm that verifies bidirectional pegs with and from the main chain using a k-of-n multi-signature scheme. By replacing the consensus building performed by PoW in the main chain with multi-signature in the side chain, low latency is realized while maintaining the security of the main chain. In addition, by performing bidirectional pegs using the multi-signature technology that is also implemented in the main chain, bidirectional pegs are possible without the need for a soft fork (specification change) in the main chain.

なお、ストロング・フェデレーションズの監査人はBlocksignerと呼ばれるメンバーとWatchmenと呼ばれるメンバーとに分けられ、Blocksignerがトランザクションの検証を、Watchmenが双方向ペグのチェックを行う。しかし両者の区別は本質的事項でないため、本明細書では両者を区別せずに「監査人」と呼ぶ。 The auditors of Strong Federations are divided into a member called Blocksigner and a member called Watchmen, and Blocksigner verifies the transaction and Watchmen checks the bidirectional pegs. However, since the distinction between the two is not an essential matter, the two are referred to herein as "auditors" without distinction.

本実施の形態では、上記のサイドチェーン上に、監査人に加え、検証者Xが通貨交換取引を検証するプラットフォームを構築する。本プラットフォーム上では、検証者Xの承認を得ずに取引を行うことができないように構成されている。詳しくは後述するように、検証者Xは主に法規制の観点から取引内容のチェックを行い、法令等に違反する取引には承認を与えない。 In the present embodiment, on the above side chain, in addition to the auditor, the verifier X constructs a platform for verifying the currency exchange transaction. The platform is configured so that transactions cannot be conducted without the approval of verifier X. As will be described in detail later, the verifier X checks the transaction details mainly from the viewpoint of laws and regulations, and does not give approval to transactions that violate laws and regulations.

例えば検証者X(検証サーバ2)は、各取引所が取引のマッチングやコミュニケーション、及び後述するトランザクションの生成等を実行するツールとして機能するプログラムP1(第1のプログラム、第2のプログラム)を、各端末1a、1bにインストールさせるべく配信する。これにより、端末1a、1bを含む取引システムが生成される。取引所A、Bは、当該ツールを用いて取引の相手方を検索し、取引内容(取引価格、取引量等)の交渉を行う。取引内容に合意した場合、取引所A、Bは本プラットフォームを利用して通貨交換を行う。 For example, the verifier X (verification server 2) provides a program P1 (first program, second program) in which each exchange functions as a tool for executing transaction matching, communication, transaction generation, etc., which will be described later. It is distributed so that it can be installed on each terminal 1a and 1b. As a result, a trading system including terminals 1a and 1b is generated. Exchanges A and B use the tool to search for a trading partner and negotiate the transaction details (transaction price, transaction volume, etc.). If the transaction details are agreed, exchanges A and B will exchange currencies using this platform.

具体的には、取引所Aは自らが保有する仮想通貨(BTC)をメインチェーンからサイドチェーンに移動するペグイン(Peg-in)を行い、サイドチェーンで取引履歴が管理される第1のトークンに変換する。以下の説明では便宜上、第1のトークンを「LBTC」と呼ぶ。 Specifically, Exchange A performs Peg-in to move its own virtual currency (BTC) from the main chain to the side chain, and becomes the first token whose transaction history is managed in the side chain. Convert. In the following description, for convenience, the first token is referred to as "LBTC".

また、取引所Bは、金融振込等の手段で法定通貨(日本円)を検証者Xに送金し、サイドチェーンで取引履歴が管理される第2のトークンを発行するよう検証者Xに要求する。以下の説明では便宜上、第2のトークンを「JPYトークン」と呼ぶ。 In addition, exchange B remits legal tender (Japanese yen) to verifier X by means such as financial transfer, and requests verifier X to issue a second token whose transaction history is managed in the side chain. .. In the following description, for convenience, the second token will be referred to as a "JPY token".

なお、以下では検証者Xが取引の検証及びトークンの発行の両方を行うものとして説明するが、トークンの発行主体は検証者Xと異なっていても良い。 In the following description, it is assumed that the verifier X performs both transaction verification and token issuance, but the token issuer may be different from the verifier X.

取引所A、Bは、取得したLBTC及びJPYトークンを交換するトランザクションを生成し、サイドチェーンのネットワークにブロードキャストする。この場合に、取引所A、Bはトランザクションを検証者Xに送信し、検証者Xが検証を行った上でブロードキャストする。当該トランザクションはさらにサイドチェーンの監査人によって検証され、承認された場合はサイドチェーンに取り込まれる。 Exchanges A and B generate transactions for exchanging acquired LBTC and JPY tokens and broadcast them to the sidechain network. In this case, the exchanges A and B send the transaction to the verifier X, and the verifier X verifies and broadcasts the transaction. The transaction is further validated by the sidechain auditor and, if approved, incorporated into the sidechain.

その後の処理はトークンの取得過程と逆であり、取引所BはLBTCをサイドチェーンからメインチェーンに移動するペグアウト(Peg-out)を行って仮想通貨を取得すると共に、取引所AはJPYトークンに基づく法定通貨の償還要求を行い、金融振込等の手段で法定通貨を取得する。これにより、仮想通貨と法定通貨との交換が完了する。
以下では、上述の処理の詳細について説明する。
Subsequent processing is the reverse of the token acquisition process, with Exchange B performing a Peg-out to move the LBTC from the side chain to the main chain to acquire virtual currency, and Exchange A becoming a JPY token. Make a request for redemption of legal tender based on it, and acquire legal tender by means such as financial transfer. This completes the exchange of virtual currency for legal tender.
The details of the above-mentioned processing will be described below.

図5〜図8は、通貨交換取引の過程を示す説明図である。図5〜図8では順に、通貨交換取引に関する処理過程を概念的に図示している。まず図5では、サイドチェーンへのペグイン、及びJPYトークンの発行が行われる様子を図示している。 5 to 8 are explanatory views showing the process of currency exchange transactions. In FIGS. 5 to 8, the processing process related to the currency exchange transaction is conceptually illustrated in order. First, FIG. 5 illustrates how the peg-in to the side chain and the issuance of the JPY token are performed.

取引所A、Bの端末1a、1bはそれぞれ、上記のツールを用いて取引の相手方の検索(マッチング)を行う。取引所A、Bのオペレータはツール上で相手方と取引内容を交渉する。取引内容は、例えば取引対象である仮想通貨及び法定通貨の種類、法定通貨に対する仮想通貨の価格に相当する取引価格、通貨の取引量(交換量)のほか、取引を行う日時、取引を行う取引者のID(ユーザID)等の情報を含み得る。取引内容について合意した場合、端末1a、1bはそれぞれ、合意した取引内容に従って処理を行う。 The terminals 1a and 1b of the exchanges A and B search (match) the counterparty of the transaction by using the above tools, respectively. Operators of exchanges A and B negotiate transaction details with the other party on the tool. Transaction details include, for example, the type of virtual currency and legal tender to be traded, the transaction price equivalent to the price of the virtual currency against the legal tender, the transaction volume (exchange amount) of the currency, the date and time of the transaction, and the transaction to be traded. Information such as a person's ID (user ID) may be included. When the transaction contents are agreed, the terminals 1a and 1b each perform processing according to the agreed transaction contents.

端末1aは、取引所Aが保有する仮想通貨をメインチェーンからサイドチェーンに移動するペグインを行う。具体的には、端末1aは、仮想通貨をメインチェーンの特殊なアドレス宛に送り、使用不可能となるようロック(凍結)する。端末1aは、メインチェーンに仮想通貨をロックしたことを示す情報を監査人のサーバ装置(不図示)に送信、あるいはサイドチェーン上に埋め込み、取引所Aが指定したサイドチェーンのアドレス宛にLBTCを送るよう監査人に要求する。 The terminal 1a performs a peg-in to move the virtual currency held by the exchange A from the main chain to the side chain. Specifically, the terminal 1a sends the virtual currency to a special address in the main chain and locks (freezes) it so that it cannot be used. The terminal 1a transmits information indicating that the virtual currency is locked in the main chain to the auditor's server device (not shown) or embeds it on the side chain, and sends the LBTC to the side chain address specified by the exchange A. Ask the auditor to send.

より詳細には、端末1aは、複数の監査人それぞれが公開している公開鍵と、サイドチェーン上のウォレットアドレスに相当する取引所Aの公開鍵とを用いて、メインチェーン上で仮想通貨をロックしておくためのマルチシグアドレスを生成する。そして端末1aは、当該マルチシグアドレスに仮想通貨をデポジットしたロッキングトランザクションを生成し、メインチェーンのネットワークにブロードキャストする。これにより、メインチェーンの仮想通貨は監査人の電子署名を入力しなければアンロックすることができず、使用不可能となる。端末1aは、ロッキングトランザクションの情報と、マルチシグアドレス生成時に使用した取引所Aの公開鍵等の情報とを監査人のサーバ装置に送信する。 More specifically, the terminal 1a uses the public key published by each of the plurality of auditors and the public key of the exchange A corresponding to the wallet address on the side chain to generate virtual currency on the main chain. Generate a multisig address to keep locked. Then, the terminal 1a generates a locking transaction in which the virtual currency is deposited at the multisig address and broadcasts it to the network of the main chain. As a result, the virtual currency of the main chain cannot be unlocked without entering the auditor's electronic signature, making it unusable. The terminal 1a transmits the information of the locking transaction and the information such as the public key of the exchange A used at the time of generating the multisig address to the server device of the auditor.

なお、正確には、端末1aは楕円曲線の準同型性を利用して各監査人の公開鍵から新たな公開鍵を生成し、生成した公開鍵を用いて上記のマルチシグアドレスを生成するが、本実施の形態では簡潔のため説明を省略する。 To be precise, the terminal 1a uses the homomorphism of the elliptic curve to generate a new public key from each auditor's public key, and the generated public key is used to generate the above multisig address. , In the present embodiment, the description will be omitted for the sake of brevity.

各監査人のサーバ装置は、各監査人の秘密鍵と、端末1aから受信した取引所Aの公開鍵等の情報とを用いて、メインチェーンに仮想通貨がロックされているか否かを検証する。ストロング・フェデレーションズでは、複数の監査人のうち所定数(少なくとも過半数)の監査人が検証に成功した場合、ペグインが承認される。この場合、メインチェーンにロックされた仮想通貨と等価なLBTCがサイドチェーンでアンロック、又は新規発行され、取引所Aのウォレットアドレスに送られる。 The server device of each auditor verifies whether or not the virtual currency is locked in the main chain by using the private key of each auditor and the information such as the public key of the exchange A received from the terminal 1a. .. Strong Federations approves peg-ins if a certain number (at least a majority) of the auditors successfully validate. In this case, the LBTC equivalent to the virtual currency locked in the main chain is unlocked or newly issued in the side chain and sent to the wallet address of the exchange A.

端末1aは、上記で取得したLBTCを保持するUTXOの情報を検証サーバ2に送信し、取引DB243に登録する。UTXOを登録したLBTCを取引所Aが検証者Xに無断で使用した場合、例えば検証サーバ2は、後述するトランザクションの検証時に取引を承認せず、トランザクションを無効とする。 The terminal 1a transmits the UTXO information holding the LBTC acquired above to the verification server 2 and registers it in the transaction DB 243. When the exchange A uses the LBTC in which the UTXO is registered without the permission of the verifier X, for example, the verification server 2 does not approve the transaction at the time of verifying the transaction described later, and invalidates the transaction.

一方、取引所Bの端末1bは、取引所Bが保有する法定通貨を金融振込等の手段で検証者Xに送金し、検証サーバ2に対してJPYトークンの発行要求を行う。発行要求を受信した場合、検証サーバ2は、送金された法定通貨と等価なJPYトークンを新規に生成し、取引所B宛に送る。 On the other hand, the terminal 1b of the exchange B transfers the legal tender held by the exchange B to the verifier X by means such as financial transfer, and requests the verification server 2 to issue a JPY token. When the issuance request is received, the verification server 2 newly generates a JPY token equivalent to the transferred legal currency and sends it to the exchange B.

この場合に検証サーバ2は、取引所Bの公開鍵のほかに検証者Xの公開鍵を用いてマルチシグアドレスを生成し、当該マルチシグアドレスにJPYトークンをデポジットしたトランザクションを生成してサイドチェーンのネットワークにブロードキャストする。これにより、本プラットフォーム上でJPYトークンは検証者Xの承認(署名)を得なければ使用することができないよう構成される。 In this case, the verification server 2 uses the public key of the verifier X in addition to the public key of the exchange B to generate a multisig address, generates a transaction in which a JPY token is deposited at the multisig address, and sidechains. Broadcast to your network. As a result, the JPY token cannot be used on this platform without the approval (signature) of the verifier X.

図6は、トランザクションの生成及び検証処理が行われる様子を概念的に図示している。端末1a、1bは、上記のLBTC及びJPYトークンを交換するため、相手方に宛てて自らが保有するトークンを送信するトランザクションを生成してブロードキャストする。 FIG. 6 conceptually illustrates how a transaction is generated and verified. In order to exchange the above-mentioned LBTC and JPY tokens, the terminals 1a and 1b generate and broadcast a transaction for transmitting the tokens they own to the other party.

この場合に、端末1a、1bが各々トランザクションを生成して相手方にトークンを送るだけでは、相手方の不正行為によって交換が成立しない虞がある。例えば取引所Aは取引所BにLBTCを送ったものの、取引所Bは取引所AにJPYトークンを送らないようなケースがあり得る。 In this case, if the terminals 1a and 1b each generate a transaction and send a token to the other party, there is a possibility that the exchange cannot be established due to the fraudulent act of the other party. For example, there may be a case where Exchange A sends LBTC to Exchange B, but Exchange B does not send JPY tokens to Exchange A.

上記の事態に備えて、端末1a、1bは、アトミックスワップによるトークンの交換を行う。アトミックスワップは、互いの信頼関係を不要としながらも、第三者(仲介者)を介さず相対取引で仮想通貨(トークン)の交換を可能とする手法である。 In preparation for the above situation, terminals 1a and 1b exchange tokens by atomic swap. Atomic swap is a method that enables the exchange of virtual currencies (tokens) through bilateral transactions without the need for mutual trust.

具体的には、端末1a又は1bのいずれかが、取引所A及びBそれぞれの公開鍵を用いてマルチシグアドレスを生成し、当該マルチシグアドレスにLBTC及びJPTトークンをデポジットしたトランザクションを生成する。そして端末1a及び1bはそれぞれ、当該トランザクションに取引所A及びBそれぞれの電子署名を入力(付加)してブロードキャストする。 Specifically, either terminal 1a or 1b generates a multisig address using the public keys of exchanges A and B, and generates a transaction in which the LBTC and JPT tokens are deposited in the multisig address. Then, the terminals 1a and 1b each input (add) the electronic signatures of the exchanges A and B to the transaction and broadcast the transaction.

本実施の形態では一例として、取引所Aの端末1aがトランザクションを生成するものとする。端末1aは、検証サーバ2に登録したLBTCのUTXOをトランザクションのインプットとして格納する。また、端末1aは、取引所BのJPYトークンが保持されているUTXOの情報を端末1bから取得し、当該UTXOをトランザクションのインプットとして格納する。 In the present embodiment, as an example, it is assumed that the terminal 1a of the exchange A generates a transaction. The terminal 1a stores the LBTC UTXO registered in the verification server 2 as a transaction input. Further, the terminal 1a acquires the information of the UTXO in which the JPY token of the exchange B is held from the terminal 1b, and stores the UTXO as the input of the transaction.

次に端末1aは、取引所A及びBそれぞれの公開鍵を用いて、取引所A及びBの電子署名の入力を解除条件とし、出力先を取引所Bのアドレス(公開鍵)としたLBTCのアウトプットをトランザクションに格納する。 Next, the terminal 1a uses the public keys of the exchanges A and B, and the input of the electronic signatures of the exchanges A and B is a condition for cancellation, and the output destination is the address (public key) of the exchange B. Store the output in a transaction.

また、端末1aは、取引所A、取引所B、及び検証者Xそれぞれの公開鍵を用いて、三者の電子署名の入力を解除条件とし、出力先を取引所AのアドレスとしたJPYトークンのアウトプットをトランザクションに格納する。 Further, the terminal 1a uses the public keys of the exchange A, the exchange B, and the verifier X to cancel the input of the electronic signatures of the three parties, and the output destination is the address of the exchange A. Store the output of in a transaction.

端末1aは、取引所Aの秘密鍵を用いて当該トランザクションに取引所Aの電子署名を入力し、取引所Bの端末1bに送信する。端末1bは、受信したトランザクションに、取引所Bの秘密鍵を用いて電子署名を入力する。この際に取引所Bが不正行為を働き、取引所Aに支払われるべきJPYトークンの出力先を改変した場合、取引所Aが入力した電子署名の検証に失敗し、無効なトランザクションと判定される。これにより、第三者を介さず、相手方との信頼関係なしに取引を行うことができる。 The terminal 1a inputs the electronic signature of the exchange A into the transaction using the private key of the exchange A, and transmits the electronic signature to the terminal 1b of the exchange B. The terminal 1b inputs an electronic signature into the received transaction using the private key of the exchange B. At this time, if Exchange B commits a fraudulent act and modifies the output destination of the JPY token to be paid to Exchange A, the verification of the electronic signature entered by Exchange A fails and the transaction is determined to be invalid. .. As a result, it is possible to carry out a transaction without a relationship of trust with the other party without going through a third party.

なお、上記では所謂シングルチェーンでのアトミックスワップについて説明したが、クロスチェーンでのアトミックスワップのように、複数のトランザクションを生成して通貨交換を行うようにしても良い。すなわち、端末1a、1bが生成するトランザクションの数は単数に限定されない。 Although the so-called single-chain atomic swap has been described above, a plurality of transactions may be generated to exchange currencies as in the case of cross-chain atomic swap. That is, the number of transactions generated by terminals 1a and 1b is not limited to a single number.

上述のトランザクションを生成する際に、端末1aは、当該トランザクションで交換されるトークンの数量や種類、すなわち取引内容を第三者から秘匿化するため、当事者以外では取引内容が閲覧できないよう暗号化したトランザクションを生成する。具体的には、端末1aは、コンフィデンシャル・トランザクション(Confidential Transactions)、及びコンフィデンシャル・アセット(Confidential Assets)と呼ばれる手法を用いて、取引内容を暗号化したトランザクションを生成する。 When generating the above-mentioned transaction, the terminal 1a encrypts the quantity and type of tokens exchanged in the transaction, that is, the transaction contents so that only the parties can view the transaction contents in order to conceal the transaction contents from a third party. Generate a transaction. Specifically, the terminal 1a generates a transaction in which the transaction content is encrypted by using a method called Confidential Transactions and Confidential Assets.

コンフィデンシャル・トランザクションは、ブロックチェーンにより公開される仮想通貨(本実施の形態ではトークン)の取引量を秘匿化する手法であり、準同型暗号を利用して取引量を暗号化する手法である。コンフィデンシャル・トランザクションではPedersen commitmentを用い、取引量aを以下の式(1)で示すコミットメントC(a)で表現する。 Confidential transaction is a method of concealing the transaction volume of virtual currency (token in this embodiment) disclosed by the blockchain, and is a method of encrypting the transaction volume by using homomorphic encryption. In the confidential transaction, the Pedersen commission is used, and the transaction volume a is expressed by the commitment C (a) represented by the following equation (1).

C(a)=xG+aH …(1) C (a) = xG + aH ... (1)

xは当事者が共有する秘密鍵(blinding factor)、G及びHは楕円曲線上のベースポイント(離散対数点)である。式(1)で示すように、通常の楕円曲線暗号において秘密鍵を公開鍵に変換するベースポイントGのほかに、取引量aを暗号化するためのベースポイントHを追加することでコミットメントC(a)を生成する。コンフィデンシャル・トランザクションでは、トランザクションに格納される各インプット及びアウトプットの数量をコミットメントC(a)で表し、数量の代わりにコミットメントC(a)を各インプット及びアウトプットのスクリプトに記述する。 x is the secreting factor shared by the parties, and G and H are the base points (discrete logarithmic points) on the elliptic curve. As shown in equation (1), in addition to the base point G that converts the private key into the public key in ordinary elliptic curve cryptography, the commitment C (commitment C) is added by adding the base point H for encrypting the transaction volume a. a) is generated. In a confidential transaction, the quantity of each input and output stored in the transaction is represented by the commitment C (a), and the commitment C (a) is described in the script of each input and output instead of the quantity.

コミットメントC(a)は加法特性を有し、複数のコミットメントC(a)の総和は、コミットされる取引量aの総和のコミットメントC(a)に等しくなる。例えば、C(1)+C(1)=C(2)の関係が成り立つ。従って、各インプットのコミットメントC(a)の総和から各アウトプットのコミットメントC(a)の総和を差し引いて0になるかをチェックすることで、取引量aを検証することができる。これにより、秘密鍵xを知る当事者は取引量aを知ることができる一方、第三者は取引量aを知ることができない。 The commitment C (a) has an additive property, and the sum of the plurality of commitments C (a) is equal to the commitment C (a) of the sum of the committed transaction volumes a. For example, the relationship of C (1) + C (1) = C (2) holds. Therefore, the transaction volume a can be verified by subtracting the sum of the commitments C (a) of each output from the sum of the commitments C (a) of each input and checking whether the total becomes 0. As a result, the party who knows the private key x can know the transaction amount a, while the third party cannot know the transaction amount a.

なお、コンフィデンシャル・トランザクションではさらに、コミットされる取引量aが0以上であることを証明するためにリング署名を用いるが、本実施の形態では簡潔のため説明を省略する。 Further, in the confidential transaction, a ring signature is used to prove that the transaction amount a to be committed is 0 or more, but in the present embodiment, the description will be omitted for the sake of brevity.

コンフィデンシャル・アセットは、コンフィデンシャル・トランザクションを応用した手法であり、取引量に加えて、取引する仮想通貨の種類(アセットタイプ)を秘匿化する手法である。コンフィデンシャル・アセットでは、仮想通貨の種類ごとに異なるベースポイントを用いてコミットメントを計算する。例えば取引量がそれぞれa、bである2種類の仮想通貨を想定した場合、取引量aの仮想通貨のコミットメントC(a)は式(1)で計算すると共に、取引量bの仮想通貨のコミットメントC(b)は次の式(2)で計算する。 Confidential assets are a method that applies confidential transactions, and are a method that conceals the type of virtual currency (asset type) to be traded in addition to the transaction volume. Confidential assets calculate commitments using different base points for each type of cryptocurrency. For example, assuming two types of virtual currencies with transaction volumes a and b, respectively, the commitment C (a) of the virtual currency with transaction volume a is calculated by the formula (1), and the commitment of the virtual currency with transaction volume b. C (b) is calculated by the following equation (2).

C(b)=xG+bI …(2) C (b) = xG + bI ... (2)

IはHと同様に楕円曲線上のベースポイントである。式(1)、(2)を比較すると分かるように、コンフィデンシャル・アセットでは、仮想通貨の種類に応じて異なるベースポイントH、Iを選択してコミットメントC(a)、C(b)を計算する。そして各インプット及びアウトプットの数量としてコミットメントC(a)、C(b)を記述とすると共に、仮想通貨の種類に応じたベースポイントH、Iを各コミットメントC(a)、C(b)にラベル付けする。これにより、取引量a、bは秘匿化される。 I is a base point on the elliptic curve like H. As can be seen by comparing equations (1) and (2), for confidential assets, commitments C (a) and C (b) are calculated by selecting different base points H and I depending on the type of virtual currency. do. Then, the commitments C (a) and C (b) are described as the quantities of each input and output, and the base points H and I according to the type of virtual currency are set to the respective commitments C (a) and C (b). Label. As a result, the transaction volumes a and b are kept secret.

ただし、ベースポイントHを固定値としては仮想通貨の種類が分かってしまうため、コンフィデンシャル・アセットでは、次の式(3)のように、ベースポイントHをAに置き換える。 However, since the type of virtual currency is known with the base point H as a fixed value, in the confidential asset, the base point H is replaced with A as shown in the following equation (3).

A=H+rG …(3) A = H + rG ... (3)

rは当事者のみが知る秘密の乱数値である。ベースポイントHをAに置き換えた場合、式(1)は次の式(4)で表される。 r is a secret random number known only to the parties. When the base point H is replaced with A, the equation (1) is expressed by the following equation (4).

C(a)=xG+aA=xG+a(H+rG)=(x+ra)G+aH …(4) C (a) = xG + aA = xG + a (H + rG) = (x + ra) G + aH ... (4)

式(1)、(4)を比較すると分かるように、秘密鍵xは(x,r)に置き換わる。乱数値rを知る当事者はベースポイントAから仮想通貨の種類を知ることができる一方、第三者は知ることができない。 As can be seen by comparing the equations (1) and (4), the private key x is replaced with (x, r). A party who knows the random number r can know the type of virtual currency from the base point A, but a third party cannot.

なお、コンフィデンシャル・アセットではさらに、通貨の創造を防ぐためベースポイントAをリング署名で構成するが、本実施の形態では簡潔のため説明を省略する。 In the Confidential Asset, the base point A is further composed of a ring signature in order to prevent the creation of currency, but in the present embodiment, the description will be omitted for the sake of brevity.

端末1a、1bは、上述の如くアトミックスワップにより信頼関係を不要としてトークンを交換すると共に、取引内容を暗号化したトランザクションを生成する。本実施の形態で端末1a、1bは、生成したトランザクションを検証サーバ2に送信し、トランザクションの検証を要求する。なお、検証サーバ2がトランザクションを検証可能なように、端末1a、1bは、トランザクションの秘匿化の際に用いた秘密鍵を併せて送信する。 As described above, the terminals 1a and 1b exchange tokens by atomic swap, eliminating the need for a trust relationship, and generate a transaction in which the transaction content is encrypted. In the present embodiment, the terminals 1a and 1b transmit the generated transaction to the verification server 2 and request the verification of the transaction. The terminals 1a and 1b also transmit the private key used for concealing the transaction so that the verification server 2 can verify the transaction.

検証要求を受け付けた場合、検証サーバ2は、端末1a、1bから送信された秘密鍵を用いて、トークンの交換量(取引量)、種類といった取引内容を表す情報を復号する。そして検証サーバ2は、復号した取引内容が適正か否かを検証する。 When the verification request is received, the verification server 2 uses the private key transmitted from the terminals 1a and 1b to decrypt information representing the transaction content such as the token exchange amount (transaction amount) and type. Then, the verification server 2 verifies whether or not the decrypted transaction content is appropriate.

例えば検証サーバ2は、上記のトランザクションで交換されるLBTCの数量と、JPYトークンの数量とから、取引所A、Bの間で行われる通貨交換取引の取引価格(交換レート)を算出する。LBTCは仮想通貨に、JPYトークンは法定通貨に対応するため、算出した価格は、法定通貨に対する仮想通貨の売買価格に相当する。また、検証サーバ2は、法定通貨に対する仮想通貨の現在の時価情報を、所定の外部API(Application Programmable Interface)から取得する。そして検証サーバ2は、上記で算出した取引価格と、一般に流通する仮想通貨の取引価格(流通レート)との差分が所定の閾値以上であるか否かを判定する。両者の差分が閾値以上であると判定した場合、検証サーバ2は、当該トランザクションが不適切な取引に係るものと判定し、当該トランザクションを承認しない。 For example, the verification server 2 calculates the transaction price (exchange rate) of the currency exchange transaction between exchanges A and B from the quantity of LBTC exchanged in the above transaction and the quantity of JPY tokens. Since LBTC corresponds to virtual currency and JPY token corresponds to legal tender, the calculated price corresponds to the selling price of virtual currency with respect to legal tender. Further, the verification server 2 acquires the current market value information of the virtual currency for the legal tender from a predetermined external API (Application Programmable Interface). Then, the verification server 2 determines whether or not the difference between the transaction price calculated above and the transaction price (distribution rate) of the virtual currency that is generally distributed is equal to or greater than a predetermined threshold value. If it is determined that the difference between the two is equal to or greater than the threshold value, the verification server 2 determines that the transaction is related to an inappropriate transaction and does not approve the transaction.

金融取引では一般的に、不適切な取引を取り締まるため、法令、自主規制等を含めて種々の規制が設けられている。一方で、本システムはブロックチェーンを用いた分散型の取引システムであり、取引を管理する中央集権的な管理者が存在しない。しかし、取引を完全にユーザのみに委ねた場合、一般的な金融取引の規制に鑑みて、不適切な取引が行われる虞がある。例えば当事者同士が結託し、少額の日本円を多額の仮想通貨と交換することで、資金洗浄のような行為が発生する虞がある。 In financial transactions, various regulations including laws and regulations, self-regulations, etc. are generally set in order to crack down on inappropriate transactions. On the other hand, this system is a decentralized transaction system using blockchain, and there is no centralized administrator who manages transactions. However, if the transaction is completely entrusted only to the user, there is a risk that inappropriate transactions will be carried out in view of general financial transaction regulations. For example, if the parties collude and exchange a small amount of Japanese yen for a large amount of virtual currency, there is a risk that an act such as money laundering will occur.

そこで本実施の形態では、検証サーバ2が取引内容を検証することで、不適切な取引を防止する。例えば検証サーバ2は、上述の如く、トランザクションにより交換される通貨の交換レートを検証し、不適切な取引であるか否かを判定する。その他にも、検証サーバ2は各ユーザのユーザID、UTXO等の取引に関わる情報を検証し、不適切な取引であるか否かを判定する。 Therefore, in the present embodiment, the verification server 2 verifies the transaction content to prevent inappropriate transactions. For example, the verification server 2 verifies the exchange rate of the currency exchanged by the transaction as described above, and determines whether or not the transaction is inappropriate. In addition, the verification server 2 verifies information related to the transaction such as the user ID and UTXO of each user, and determines whether or not the transaction is inappropriate.

なお、上記では通貨の交換レート、当事者のID、UTXO等を基準に検証を行っているが、本実施の形態はこれに限定されるものではなく、例えば通貨の取引量等を基準に検証を行ってもよい。すなわち、検証サーバ2は、取引内容が所定条件に適合する適正なトランザクションであるか否かを判定可能であれば良く、その判定条件は特に限定されない。 In the above, verification is performed based on the currency exchange rate, the ID of the party, UTXO, etc., but the present embodiment is not limited to this, and verification is performed based on, for example, the transaction volume of currency. You may go. That is, the verification server 2 may be able to determine whether or not the transaction content is an appropriate transaction that meets a predetermined condition, and the determination condition is not particularly limited.

図7では、トランザクションのブロードキャストが行われ、監査人がトランザクションの検証を行う様子を概念的に図示している。上述の如く、検証サーバ2はトランザクションの検証を行い、適正な取引であるか否かを判定する。適正な取引であると判定され、検証に成功した場合、検証サーバ2は、検証者Xの秘密鍵を用いて当該トランザクションに電子署名を付加し、サイドチェーンのネットワークにブロードキャストする。 FIG. 7 conceptually illustrates how the transaction is broadcast and the auditor verifies the transaction. As described above, the verification server 2 verifies the transaction and determines whether or not the transaction is proper. If it is determined that the transaction is proper and the verification is successful, the verification server 2 adds an electronic signature to the transaction using the private key of the verifier X and broadcasts it to the sidechain network.

ブロードキャストされたトランザクションは、複数の監査人それぞれのサーバ装置により検証される。既に触れたように、監査人のサーバ装置は、サーバ装置の計算力に依拠したPoWではなく、ストロング・フェデレーションズのアルゴリズムによりトランザクションを検証して合意を形成する。ストロング・フェデレーションズではラウンドロビンで処理が行われ、複数の監査人のうち、いずれかの監査人が順番にマスターに選出されて検証を行う。 The broadcasted transaction is verified by the server equipment of each of the multiple auditors. As mentioned earlier, the auditor's server equipment verifies transactions and forms consensus using Strong Federations algorithms rather than PoW, which relies on the computing power of the server equipment. In Strong Federations, processing is performed in round robin, and one of the auditors is elected as the master in order for verification.

マスターとなった監査人のサーバ装置は、サイドチェーンのネットワーク上にブロードキャストされた各トランザクションのスクリプトを検証し、サイドチェーンに追加するブロックの候補を生成する。マスターである監査人のサーバ装置は、生成したブロックの候補を他の監査人のサーバ装置に送信する。他の監査人のサーバ装置は、マスターから受信したブロックの候補を検証し、サイドチェーンに追加することに同意するか否か、判定を行う。同意すると判定した場合、監査人のサーバ装置は、当該ブロックに監査人の電子署名を入力する。複数の監査人のうち、所定数の監査人のサーバ装置から電子署名が入力された場合、当該ブロックはサイドチェーンに追加される。 The auditor's server device, which became the master, validates the script of each transaction broadcast on the sidechain network and generates block candidates to be added to the sidechain. The auditor's server device, which is the master, sends the generated block candidates to the server devices of other auditors. The server device of the other auditor verifies the block candidates received from the master and determines whether or not they agree to add them to the sidechain. If it is determined to agree, the auditor's server device enters the auditor's digital signature in the block. When an electronic signature is input from a predetermined number of auditors' server devices among a plurality of auditors, the block is added to the side chain.

上述の如く、ストロング・フェデレーションズではサーバ装置の計算力に依拠しないため、計算負荷が大きく削減され、合意形成に要する時間を短時間とし、迅速な取引を実現することができる。一方で、所定数の監査人の同意を必要とすることで、メインチェーンで担保されているセキュリティ(ビザンチン耐性)を維持することができる。 As described above, since Strong Federations does not rely on the computing power of the server device, the computing load is greatly reduced, the time required for consensus building is shortened, and quick transactions can be realized. On the other hand, by requiring the consent of a predetermined number of auditors, the security (Byzantine resistance) guaranteed in the main chain can be maintained.

上記の処理によって監査人からトランザクションが承認された場合、取引所A、Bの間のトランザクションはサイドチェーンに正常に取り込まれる。これにより、LBTCは取引所Bに、JPYトークンは取引所Aに引き渡される。 If the auditor approves the transaction by the above process, the transaction between exchanges A and B is normally incorporated into the sidechain. As a result, the LBTC is delivered to the exchange B, and the JPY token is delivered to the exchange A.

図8は、サイドチェーンからのペグアウト、及び法定通貨の償還が行われる様子を図示している。取引所Bの端末1bは、サイドチェーンのLBTCをメインチェーンの仮想通貨(BTC)に変換するため、ペグアウトの要求を監査人のサーバ装置に送信、又はサイドチェーンに埋め込む。具体的には、端末1bは、メインチェーン上で仮想通貨をロックしている上述のロッキングトランザクションの解除を要求する。 FIG. 8 illustrates how pegouts from the sidechain and fiat currency are redeemed. The terminal 1b of the exchange B sends a peg-out request to the auditor's server device or embeds it in the side chain in order to convert the side chain LBTC into the main chain virtual currency (BTC). Specifically, the terminal 1b requests the release of the above-mentioned locking transaction that locks the virtual currency on the main chain.

ペグアウトの要求を受け付けた場合、各監査人のサーバ装置は、取引所BがLBTCを保持するサイドチェーン上のUTXOを検証する。所定数の監査人のサーバ装置が検証に成功し、ペグアウトを承認した場合、ロッキングトランザクションに各監査人のサーバ装置が電子署名を入力し、仮想通貨のロックを解除する。なお、ロックが解除される仮想通貨は今回の取引において取引所Aがロックした仮想通貨とは限らず、他の取引でロックされた仮想通貨である場合もあり得る。仮想通貨のロックが解除されることにより、取引所Bの端末1bは自らのウォレットアドレスに仮想通貨を送金可能となる。 When accepting a peg-out request, each auditor's server device verifies the UTXO on the sidechain where Exchange B holds the LBTC. When a predetermined number of auditors'servers succeed in verification and approve the pegout, each auditor's server enters a digital signature in the locking transaction to unlock the virtual currency. The virtual currency to be unlocked is not limited to the virtual currency locked by Exchange A in this transaction, and may be a virtual currency locked in another transaction. When the lock of the virtual currency is released, the terminal 1b of the exchange B can transfer the virtual currency to its own wallet address.

なお、取引所Aがペグイン時に仮想通貨をロックしておいたロッキングトランザクションと、取引の相手方である取引所Bがペグアウト時にアンロックするロッキングトランザクションは必ずしも一致せず、他の取引において他のユーザが生成したロッキングトランザクションである場合もあり得る。 Note that the locking transaction in which exchange A locked the virtual currency at the time of peg-in and the locking transaction unlocked by exchange B, which is the counterparty of the transaction, at the time of peg-out do not always match, and other users in other transactions It can also be a generated locking transaction.

取引所Aの端末1aは、上述のトランザクションにより取得したJPYトークンに基づく法定通貨の償還要求を検証サーバ2に送信する。償還要求を受け付けた場合、検証サーバ2は、取引所AがJPYトークンを保有しているか否かチェックした後、取引所Aが保有するJPYトークンと等価な法定通貨を、金融振込等の手段で取引所Aに送金する。 The terminal 1a of the exchange A transmits a redemption request for legal tender based on the JPY token acquired by the above transaction to the verification server 2. When the redemption request is received, the verification server 2 checks whether Exchange A holds the JPY token, and then transfers the legal currency equivalent to the JPY token held by Exchange A by means of financial transfer or the like. Send money to Exchange A.

以上より、本システムを利用することで、仮想通貨及び法定通貨の交換を、所謂カウンターパーティのリスクなしに実現することができる。また、第三者を介さず相対取引で交換可能であり、当事者は売買対象である通貨のコントロールを自らで行うことができる。さらに、検証者Xが行う処理を組み合わせることで、通貨交換取引に一定の規制を加えることもできる。 From the above, by using this system, exchange of virtual currency and legal tender can be realized without the risk of so-called counterparties. In addition, it can be exchanged by bilateral transactions without going through a third party, and the parties can control the currency to be bought and sold by themselves. Furthermore, by combining the processing performed by the verifier X, it is possible to impose certain restrictions on currency exchange transactions.

なお、検証サーバ2はトランザクションの検証だけでなく、各トランザクションにより行われる取引記録の出力、つまり本プラットフォーム上で行われる通貨交換取引のレポートを出力可能とすると好適である。一般的な金融取引では、金融官庁からの要請に応じて取引記録を提出する必要がある。これに対応して、検証サーバ2は各トランザクションで暗号化されている取引内容を秘匿化用の秘密鍵を用いて復号し、取引記録を出力する。これにより、一般のユーザからは本プラットフォーム上での取引記録が秘匿化される一方、必要に応じて取引記録を閲覧可能とすることができる。 It is preferable that the verification server 2 can output not only transaction verification but also transaction records performed by each transaction, that is, a report of currency exchange transactions performed on this platform. In general financial transactions, it is necessary to submit transaction records at the request of financial authorities. Correspondingly, the verification server 2 decrypts the transaction content encrypted in each transaction using the secret key for concealment, and outputs the transaction record. As a result, the transaction record on this platform can be kept secret from general users, and the transaction record can be viewed as needed.

図9は、取引システムが実行する処理手順の一例を示すフローチャートである。図9に基づき、取引システムが実行する処理内容について説明する。なお、以下の説明では便宜上、取引所A、Bが既に通貨交換取引に合意し、取引する通貨量、通貨の銘柄、取引日等が決まっているものとして説明する。 FIG. 9 is a flowchart showing an example of a processing procedure executed by the trading system. The processing contents executed by the transaction system will be described with reference to FIG. In the following description, for convenience, it is assumed that the exchanges A and B have already agreed to the currency exchange transaction, and the amount of currency to be traded, the brand of the currency, the transaction date, etc. have been decided.

取引所Bの端末1bは、取引所Bが有する法定通貨に基づくJPYトークン(第2のトークン)の発行要求を検証サーバ2に送信(出力)する(ステップS11)。検証サーバ2は、取引所Bが有する法定通貨と等価なJPYトークンを発行する(ステップS12)。具体的には、検証サーバ2は、取引所Bの公開鍵、及び検証者Xの公開鍵を用いて、取引所B及び検証者Xそれぞれの電子署名の入力を解除条件としたマルチシグアドレス宛にJPYトークンを発行する。 The terminal 1b of the exchange B transmits (outputs) a request for issuing a JPY token (second token) based on the legal tender of the exchange B to the verification server 2 (step S11). The verification server 2 issues a JPY token equivalent to the legal tender held by the exchange B (step S12). Specifically, the verification server 2 uses the public key of the exchange B and the public key of the verifier X to address the multisig address with the input of the electronic signatures of the exchange B and the verifier X as a cancellation condition. Issuance of JPY tokens to.

取引所Aの端末1aは、取引所Aが保有する仮想通貨をメインチェーン上で使用不可能にロックするロッキングトランザクションを生成し、ブロードキャストする(ステップS13)。具体的には、端末1aは、サイドチェーン上での取引所Aのウォレットアドレスに相当する公開鍵と、メインチェーン及びサイドチェーンの間の通貨の移動を管理する複数の監査人それぞれの公開鍵とを用いて、マルチシグアドレスに仮想通貨をデポジットしたトランザクションを生成してブロードキャストする。 The terminal 1a of the exchange A generates and broadcasts a locking transaction that locks the virtual currency held by the exchange A unusably on the main chain (step S13). Specifically, the terminal 1a includes a public key corresponding to the wallet address of exchange A on the side chain, and a public key of each of a plurality of auditors who manage the movement of currency between the main chain and the side chain. Is used to generate and broadcast a transaction with a virtual currency deposited at a multisig address.

端末1aは、ロッキングトランザクションによりロックした仮想通貨をサイドチェーン上のLBTC(第1のトークン)に変換する変換要求を出力する(ステップS14)。具体的には、端末1aは、ロッキングトランザクションの情報と、取引所Aの公開鍵等の情報とを出力し、サイドチェーンへのペグインを監査人に要求する。端末1aから要求を受け付けた場合、監査人のサーバ装置はメインチェーンに仮想通貨がロックされているか否かを検証し、承認した場合はサイドチェーン上のLBTCのUTXOをアンロック、あるいは新たなLBTCを発行する。 The terminal 1a outputs a conversion request for converting the virtual currency locked by the locking transaction into an LBTC (first token) on the side chain (step S14). Specifically, the terminal 1a outputs the information of the locking transaction and the information such as the public key of the exchange A, and requests the auditor to peg in to the side chain. When the request is received from the terminal 1a, the auditor's server device verifies whether the virtual currency is locked in the main chain, and if approved, unlocks the UBTC UTXO on the side chain, or a new LBTC. Is issued.

端末1aは、ステップS14の処理によって取得したLBTCのUTXOの情報を検証サーバ2に送信し、UTXOを取引DB243に登録する(ステップS15)。 The terminal 1a transmits the LBTC UTXO information acquired by the process of step S14 to the verification server 2 and registers the UTXO in the transaction DB 243 (step S15).

端末1aは、取引所Aが保有するLBTCと、取引の相手方である取引所Bが保有するJPYトークンとを交換するトランザクションを生成する(ステップS16)。具体的には、端末1aはマルチシグアドレスを用いて、取引所A、Bそれぞれの電子署名の入力をアウトプットの解除条件としたトランザクションを生成する。例えば端末1aはまず、ステップS15でUTXOを登録したLBTCをインプットとしてトランザクションに格納する。また、端末1aは取引所Bの端末1bからJPYトークンのUTXOの情報を取得し、当該UTXOで保持されているJPYトークンをインプットとしてトランザクションに格納する。 The terminal 1a generates a transaction for exchanging the LBTC held by the exchange A and the JPY token held by the exchange B, which is the counterparty of the transaction (step S16). Specifically, the terminal 1a uses the multisig address to generate a transaction in which the input of the electronic signature of each of the exchanges A and B is used as the output cancellation condition. For example, the terminal 1a first stores the LBTC in which the UTXO is registered in step S15 as an input in the transaction. Further, the terminal 1a acquires the information of the UTXO of the JPY token from the terminal 1b of the exchange B, and stores the JPY token held by the UTXO in the transaction as an input.

さらに、端末1aは、取引所A及びBそれぞれの公開鍵を用いて、取引所A及びBの電子署名の入力を解除条件とし、出力先を取引所Bのアドレス(公開鍵)としたLBTCのアウトプットをトランザクションに格納する。また、端末1aは、取引所A、取引所B、及び検証者Xそれぞれの公開鍵を用いて、三者の電子署名の入力を解除条件とし、出力先を取引所AのアドレスとしたJPYトークンのアウトプットをトランザクションに格納する。 Further, the terminal 1a uses the public keys of the exchanges A and B, and the input of the electronic signatures of the exchanges A and B is a condition for cancellation, and the output destination is the address (public key) of the exchange B. Store the output in a transaction. Further, the terminal 1a uses the public keys of the exchange A, the exchange B, and the verifier X to cancel the input of the electronic signatures of the three parties, and the output destination is the address of the exchange A. Store the output of in a transaction.

ステップS16において、端末1aは、取引所Bの端末1bと共有する秘匿化用公開鍵を用いて、トークンの数量、種類等の取引内容を暗号化して記述したトランザクションを生成する。 In step S16, the terminal 1a uses the secret public key shared with the terminal 1b of the exchange B to generate a transaction in which the transaction details such as the quantity and type of tokens are encrypted and described.

端末1aは、生成したトランザクションに取引所Aの電子署名を入力し、取引所Bの端末1bに送信する(ステップS17)。 The terminal 1a inputs the electronic signature of the exchange A into the generated transaction and transmits it to the terminal 1b of the exchange B (step S17).

取引所Aの端末1aからトランザクションを受信した場合、取引所Bの端末1bは、当該トランザクションに取引所Bの電子署名を入力する(ステップS18)。端末1bは、トランザクションを検証サーバ2に送信して検証を要求する(ステップS19)。 When a transaction is received from the terminal 1a of the exchange A, the terminal 1b of the exchange B inputs the electronic signature of the exchange B into the transaction (step S18). The terminal 1b transmits a transaction to the verification server 2 and requests verification (step S19).

端末1bからトランザクションを受信した場合、検証サーバ2はトランザクションの検証を行い、当該トランザクションを承認するか否かを判定する(ステップS20)。例えば検証サーバ2は、トークンの交換レート、取引者である各ユーザのユーザID、UTXO等の取引に関わる情報を検証し、承認するか否かを判定する。承認しないと判定した場合(S20:NO)、検証サーバ2は一連の処理を終了する。 When the transaction is received from the terminal 1b, the verification server 2 verifies the transaction and determines whether or not to approve the transaction (step S20). For example, the verification server 2 verifies information related to transactions such as token exchange rate, user ID of each user who is a trader, and UTXO, and determines whether or not to approve it. If it is determined not to approve (S20: NO), the verification server 2 ends a series of processes.

承認すると判定した場合(S20:YES)、検証サーバ2は検証者Xの電子署名をトランザクションに入力(付加)し、サイドチェーンのネットワークにブロードキャストする(ステップS21)。この場合、各監査人のサーバ装置がトランザクションの検証を行い、承認された場合はサイドチェーンのブロックにトランザクションが追加される。検証サーバ2は、トランザクションをブロードキャストした旨を端末1a、1bに通知する(ステップS22)。 When it is determined to approve (S20: YES), the verification server 2 inputs (adds) the electronic signature of the verifier X to the transaction and broadcasts it to the sidechain network (step S21). In this case, each auditor's server device verifies the transaction, and if approved, the transaction is added to the sidechain block. The verification server 2 notifies the terminals 1a and 1b that the transaction has been broadcast (step S22).

検証サーバ2から通知を受信した場合、取引所Bの端末1bは、サイドチェーン上のLBTCをメインチェーン上の仮想通貨に変換(ペグアウト)する変換要求を監査人に送信する(ステップS23)。具体的には、端末1bは、メインチェーン上でロッキングトランザクションによりロックされている仮想通貨の解除要求を出力する。この場合、監査人のサーバ装置は、取引所Bが上記のトランザクションにより取得したLBTCのUTXOを検証し、承認した場合はロッキングトランザクションに電子署名を入力して仮想通貨のロックを解除する。 When the notification is received from the verification server 2, the terminal 1b of the exchange B sends a conversion request to the auditor to convert (peg out) the LBTC on the side chain to the virtual currency on the main chain (step S23). Specifically, the terminal 1b outputs a request for releasing the virtual currency locked by the locking transaction on the main chain. In this case, the auditor's server device verifies the LBTC UTXO acquired by the exchange B in the above transaction, and if approved, inputs an electronic signature in the locking transaction to unlock the virtual currency.

検証サーバ2から通知を受信した場合、取引所Aの端末1aは、上記のトランザクションにより取得したJPYトークンに基づき法定通貨の償還要求を検証サーバ2に送信する(ステップS24)。端末1aから償還要求を受信した場合、検証サーバ2はJPYトークンと等価な法定通貨を取引所Aに償還する(ステップS25)。検証サーバ2は一連の処理を終了する。 When the notification is received from the verification server 2, the terminal 1a of the exchange A transmits a redemption request for legal tender to the verification server 2 based on the JPY token acquired by the above transaction (step S24). When the redemption request is received from the terminal 1a, the verification server 2 redeems the legal tender equivalent to the JPY token to the exchange A (step S25). The verification server 2 ends a series of processes.

なお、取引対象である金融資産は法定通貨に限定されず、例えば国債、株式等の金融商品であっても良い。 The financial assets to be traded are not limited to legal tender, and may be financial products such as government bonds and stocks.

また、通貨交換を行う第2のブロックチェーンはサイドチェーンに限定されず、例えばプライベートチェーン、オフチェーン等であっても良い。 Further, the second blockchain for currency exchange is not limited to the side chain, and may be, for example, a private chain, an off-chain, or the like.

また、サイドチェーンはメインチェーンとの間で双方向ペグが可能なブロックチェーンであれば良く、例えばSPV証明(Simplified Payment Verification)等のアルゴリズムで動作するものであっても良い。 Further, the side chain may be a block chain capable of bidirectional pegging with the main chain, and may operate by an algorithm such as SPV verification (Simplified Payment Verification).

また、上記では法定通貨に対応するJPYトークンについてのみ検証者Xの電子署名とのマルチシグネチャとしたが、仮想通貨に対応するLBTCについても、検証者Xの電子署名とのマルチシグネチャとしても良い。 Further, in the above, only the JPY token corresponding to the legal tender is multi-signatured with the electronic signature of the verifier X, but the LBTC corresponding to the virtual currency may also be the multi-signature with the electronic signature of the verifier X.

また、本実施の形態では仮想通貨交換業者である取引所がユーザであるものとして説明したが、ユーザは個人等であっても良いことは勿論である。 Further, in the present embodiment, the exchange, which is a virtual currency exchange company, has been described as a user, but it goes without saying that the user may be an individual or the like.

以上より、本実施の形態によれば、仮想通貨及び法定通貨をそれぞれトークンに変換し、各トークンを交換するトランザクションをブロックチェーン上で行うことで、通貨交換取引を適切に行うことができる。 From the above, according to the present embodiment, the currency exchange transaction can be appropriately performed by converting the virtual currency and the legal tender into tokens and performing the transaction for exchanging each token on the blockchain.

また、本実施の形態によれば、アトミックスワップを用いたトランザクションを生成することで、当事者同士の信頼関係を不要としながらも、相対取引で通貨交換を行うことができる。 Further, according to the present embodiment, by generating a transaction using atomic swap, currency exchange can be performed by bilateral transaction while eliminating the need for a relationship of trust between the parties.

また、本実施の形態によれば、検証者Xがトランザクションを検証することで、不適切な取引が行われることを防止することができる。 Further, according to the present embodiment, it is possible to prevent an inappropriate transaction from being performed by the verifier X verifying the transaction.

また、本実施の形態によれば、サイドチェーン上で通貨交換取引を行うことで、迅速な取引、手数料の抑制等を図ることができる。 Further, according to the present embodiment, by conducting currency exchange transactions on the side chain, it is possible to achieve quick transactions, control of fees, and the like.

また、本実施の形態によれば、第三者から取引内容を秘匿化することができる。 Further, according to the present embodiment, the transaction content can be concealed from a third party.

今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time should be considered as exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of claims, not the above-mentioned meaning, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.

1 端末(情報処理装置)
11 制御部
12 主記憶部
13 通信部
14 表示部
15 入力部
16 補助記憶部
P1 プログラム
2 検証サーバ(検証装置)
21 制御部
22 主記憶部
23 通信部
24 補助記憶部
P2 プログラム
1 Terminal (information processing device)
11 Control unit 12 Main storage unit 13 Communication unit 14 Display unit 15 Input unit 16 Auxiliary storage unit P1 Program 2 Verification server (verification device)
21 Control unit 22 Main storage unit 23 Communication unit 24 Auxiliary storage unit P2 program

Claims (10)

第1のユーザに係る第1コンピュータ、第2のユーザに係る第2コンピュータ、および検証者に係る第3コンピュータを含む複数のコンピュータを用いた取引方法であって、
前記第1コンピュータが、分散型台帳において取引履歴が管理される仮想通貨であって、前記第1のユーザが保有する仮想通貨を第1のトークンに変換し、
前記第2コンピュータが前記第2のユーザが保有する金融資産を前記検証者に送付し、前記金融資産に基づく第2のトークンの発行要求を前記第3コンピュータに出力し、
前記複数のコンピュータの1つ、前記第1及び第2のユーザの間で前記第1及び第2のトークンを交換するトランザクションを生成して出力
前記第2コンピュータが、前記トランザクションにより取得した前記第1のトークンを前記仮想通貨に変換
前記第1コンピュータが、前記第2のトークンに基づく前記金融資産の償還要求を前記第3コンピュータに出力する
ことを特徴とする取引方法。
A transaction method using a plurality of computers including a first computer related to a first user, a second computer related to a second user, and a third computer related to a verifier.
Said first computer, a virtual currency transaction history is managed in a distributed register, it converts the virtual currency in which the first user's the first token,
Said second computer, and send the financial assets the second user's the verifier outputs a request for issuing a second token based on the financial asset to the third computer,
Wherein one of the plurality of computers, and generates and outputs the transaction to exchange the first and second tokens between said first and second users,
It said second computer, convert said first token obtained by the transaction in the virtual currency,
Transactions wherein said first computer, and outputting a redemption request for the financial assets based on the second token to the third computer.
前記第3コンピュータは、前記発行要求を受けた場合に、前記検証者に送付された前記金融資産と等価な前記第2のトークンを生成し、 Upon receiving the issuance request, the third computer generates the second token equivalent to the financial asset sent to the verifier.
前記第3コンピュータは、前記償還要求を受けた場合に、前記償還要求の送信元に前記第2のトークンと等価な前記金融資産を送付する When the third computer receives the redemption request, the third computer sends the financial asset equivalent to the second token to the source of the redemption request.
ことを特徴とする請求項1に記載の取引方法。 The transaction method according to claim 1.
前記第3コンピュータは、前記償還要求を受け、かつ前記償還要求の送信元が前記第2のトークンを保有している場合に、前記償還要求の送信元に前記第2のトークンと等価な前記金融資産を送付する When the third computer receives the redemption request and the source of the redemption request holds the second token, the third computer makes the source of the redemption request the financial equivalent of the second token. Send assets
ことを特徴とする請求項2に記載の取引方法。 The transaction method according to claim 2, wherein the transaction method is characterized by the above.
前記第3コンピュータは、前記第1のトークンと前記第2のトークンの交換レートと、一般に流通する仮想通貨の流通レートとの比較に基づいて前記第1及び第2のトークンを交換する取引が適切か否かを判定し、前記取引が適切である場合に前記トランザクションを承認する It is appropriate for the third computer to make a transaction for exchanging the first and second tokens based on a comparison between the exchange rate of the first token and the second token and the circulation rate of a virtual currency that is generally distributed. Determine if or not and approve the transaction if the transaction is appropriate
ことを特徴とする請求項1から請求項3の何れか1項に記載の取引方法。 The transaction method according to any one of claims 1 to 3, wherein the transaction method is characterized in that.
前記第1及び第2のトークンを交換するトランザクションは、前記第1のトークンに係る取引と前記第2のトークンに係る取引の両方を含むトランザクションである
ことを特徴とする請求項1〜3のいずれか1項に記載の取引方法。
Any of claims 1 to 3 , wherein the transaction for exchanging the first and second tokens is a transaction including both a transaction relating to the first token and a transaction relating to the second token. The transaction method described in item 1.
前記第1又は第2のユーザのコンピュータに、
前記第1及び第2のユーザ夫々の公開鍵と、前記第1及び第2のトークンの交換に係る取引を検証する検証者の公開鍵とを用いて、前記第1及び第2のユーザ夫々の電子署名と、前記検証者の電子署名とが必要な前記トランザクションを生成させ、
生成した前記トランザクションを前記検証者に送信させる
ことを特徴とする請求項5に記載の取引方法。
On the computer of the first or second user
Using the public key of each of the first and second users and the public key of the verifier who verifies the transaction related to the exchange of the first and second tokens, each of the first and second users Generate the transaction that requires the electronic signature and the electronic signature of the verifier.
The transaction method according to claim 5 , wherein the generated transaction is transmitted to the verifier.
前記第1のユーザのコンピュータに、
前記第1のユーザが保有する前記仮想通貨を使用不可能にロックするロッキングトランザクションを生成して出力させ、
ロックした前記仮想通貨に基づき、前記分散型台帳とは異なる第2の分散型台帳において取引履歴が管理される前記第1のトークンへの変換要求を出力させ、
前記第2のユーザのコンピュータに、前記トランザクションにより取得した前記第1のトークンに基づき、前記ロッキングトランザクションによりロックされている前記仮想通貨の解除要求を出力させる
ことを特徴とする請求項1〜6のいずれか1項に記載の取引方法。
On the computer of the first user
Generate and output a locking transaction that locks the virtual currency held by the first user so that it cannot be used.
Based on the locked virtual currency, a conversion request to the first token whose transaction history is managed in a second distributed ledger different from the distributed ledger is output.
The second user's computer, based on said first token obtained by the transaction, according to claim 1 to 6, characterized in that to output a release request of the virtual currency is locked by the locking transaction The transaction method described in any one of the items.
前記第2の分散型台帳は、前記分散型台帳との間の資金の移動を複数の監査人が管理する分散型台帳であり、
前記第1のコンピュータに、
前記第1のユーザの公開鍵と、前記複数の監査人夫々の公開鍵とを用いて前記ロッキングトランザクションを生成させ、
前記複数の監査人に対して前記変換要求を出力して前記第1のトークンを取得させ、
前記第2のコンピュータに、前記解除要求を前記複数の監査人に対して出力して前記仮想通貨を取得させる
ことを特徴とする請求項7に記載の取引方法。
The second distributed ledger is a distributed ledger in which a plurality of auditors manage the transfer of funds to and from the distributed ledger.
To the first computer
Using the public key of the first user and the public key of each of the plurality of auditors, the locking transaction is generated.
The conversion request is output to the plurality of auditors to acquire the first token.
The transaction method according to claim 7 , wherein the second computer outputs the cancellation request to the plurality of auditors to acquire the virtual currency.
前記第1又は第2のユーザのコンピュータに、前記第1及び第2のユーザの間で共有する秘密鍵を用いて、前記第1及び第2のトークンの交換に係る取引内容を暗号化した前記トランザクションを生成させる
ことを特徴とする請求項1〜8のいずれか1項に記載の取引方法。
The transaction content related to the exchange of the first and second tokens is encrypted by using the private key shared between the first and second users on the computer of the first or second user. The transaction method according to any one of claims 1 to 8, wherein a transaction is generated.
分散型台帳において取引履歴が管理される仮想通貨であって、第1のユーザが保有する仮想通貨を第1のトークンに変換し、第2のユーザとの間で、前記第1のトークンを、前記第2のユーザの金融資産に基づき発行された第2のトークンと交換するトランザクションにより取得した前記第2のトークンに基づく前記金融資産の償還要求を検証者のコンピュータに出力する処理を前記第1のユーザのコンピュータに実行させる第1のプログラムを、前記第1のユーザのコンピュータにインストールさせるべく配信し、
前記第2のユーザが保有する前記金融資産を前記検証者に送付し、前記金融資産に基づく前記第2のトークンの発行要求を前記検証者のコンピュータ出力し、前記第1のユーザとの間で前記第2のトークンを前記第1のトークンと交換するトランザクションにより取得した前記第1のトークンを前記仮想通貨に変換する処理を前記第2のユーザのコンピュータに実行させる第2のプログラムを、前記第2のユーザのコンピュータにインストールさせるべく配信する
処理をコンピュータに実行させ、前記第1及び第2のユーザのコンピュータを含む取引
システムを生成する生成方法。
A virtual currency whose transaction history is managed in a distributed ledger, the virtual currency held by the first user is converted into a first token, and the first token is exchanged with a second user. the processing of outputting a redemption request for the financial assets based on the second token more acquired transaction to be replaced with a second token issued based on the financial assets of the second user to the verifier computer The first program to be executed by the first user's computer is distributed so as to be installed on the first user's computer.
The financial asset held by the second user is sent to the verifier, a request for issuing the second token based on the financial asset is output to the verifier's computer, and the user and the first user a second program for executing processing for converting the first token more acquired the second token transaction to be replaced with the first token to the virtual currency to the second user's computer, A generation method for generating a trading system including the first and second user computers by causing the computer to execute a process of delivering the computer for installation on the second user's computer.
JP2018204429A 2018-10-30 2018-10-30 Transaction method, program, verification device and generation method Active JP6956062B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018204429A JP6956062B2 (en) 2018-10-30 2018-10-30 Transaction method, program, verification device and generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018204429A JP6956062B2 (en) 2018-10-30 2018-10-30 Transaction method, program, verification device and generation method

Publications (3)

Publication Number Publication Date
JP2020071617A JP2020071617A (en) 2020-05-07
JP2020071617A5 JP2020071617A5 (en) 2020-09-17
JP6956062B2 true JP6956062B2 (en) 2021-10-27

Family

ID=70547815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018204429A Active JP6956062B2 (en) 2018-10-30 2018-10-30 Transaction method, program, verification device and generation method

Country Status (1)

Country Link
JP (1) JP6956062B2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111768304A (en) 2018-08-06 2020-10-13 阿里巴巴集团控股有限公司 Block chain transaction method and device and electronic equipment
JP6724249B2 (en) 2018-11-27 2020-07-15 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited System and method for information protection
CA3037833C (en) 2018-11-27 2022-04-19 Alibaba Group Holding Limited System and method for information protection
JP6841911B2 (en) 2018-11-27 2021-03-10 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Information protection systems and methods
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
ES2833550T3 (en) 2018-11-27 2021-06-15 Advanced New Technologies Co Ltd System and method for the protection of information
US11218455B2 (en) 2018-11-27 2022-01-04 Advanced New Technologies Co., Ltd. System and method for information protection
KR102442127B1 (en) * 2020-06-03 2022-09-08 주식회사 소버린월렛 e-WALLET, SERVER PERFORMING THE e-WALLET, AND ATOMIC SWAPPING METHOD OF DIFFERENT BLOCKCHAIN TOKENS USING THE SERVER
KR102397513B1 (en) * 2020-06-03 2022-05-13 주식회사 소버린월렛 e-WALLET, SERVER PERFORMING THE e-WALLET, AND ATOMIC SWAPPING METHOD OF DIFFERENT BLOCKCHAIN TOKENS USING THE SERVER
KR102385982B1 (en) * 2020-06-03 2022-04-13 주식회사 소버린월렛 e-WALLET, SERVER PERFORMING THE e-WALLET, AND ATOMIC SWAPPING METHOD OF DIFFERENT BLOCKCHAIN TOKENS USING THE SERVER
WO2021246632A1 (en) * 2020-06-03 2021-12-09 주식회사 소버린월렛 Electronic wallet, server for executing same, and atomic exchange method of blockchain tokens by using same server
CN111754229A (en) * 2020-06-23 2020-10-09 杭州时戳信息科技有限公司 Digital currency exchange method, device, storage medium and computing equipment
JP6982345B1 (en) * 2020-10-06 2021-12-17 株式会社Datachain Trading system
JP2023152714A (en) * 2022-03-31 2023-10-17 株式会社chaintope Information processing system, information processing method, server, blockchain node, and program
JP7231291B1 (en) 2022-03-31 2023-03-01 株式会社chaintope Information processing system, information processing method, server, blockchain node, and program
KR102628453B1 (en) * 2022-05-27 2024-01-23 충남대학교 산학협력단 Method of issuing price certificate for cryptocurrency payment and system using the same
CN117436873A (en) * 2022-07-07 2024-01-23 汇丰软件开发(广东)有限公司 Digital asset transaction privacy protection method based on dynamic virtual address

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6515246B2 (en) * 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Determination of common secrets for the secure exchange of information and hierarchical and deterministic encryption keys
GB201605032D0 (en) * 2016-03-24 2016-05-11 Eitc Holdings Ltd Recording multiple transactions on a peer-to-peer distributed ledger
EP3443517A1 (en) * 2016-04-11 2019-02-20 Nchain Holdings Limited Computer-implemented methods and systems for validating tokens for blockchain-based cryptocurrencies
US10713731B2 (en) * 2016-07-22 2020-07-14 Nec Corporation Method for secure ledger distribution and computer system using secure distributed ledger technology

Also Published As

Publication number Publication date
JP2020071617A (en) 2020-05-07

Similar Documents

Publication Publication Date Title
JP6956062B2 (en) Transaction method, program, verification device and generation method
JP7350030B2 (en) Method and system for recording multiple transactions on blockchain
US11720887B1 (en) System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
JP7204231B2 (en) Any device, system or method that facilitates value transfer between parties with low or no trust
US11562333B1 (en) System, method and program product for generating and utilizing stable value digital assets
US10055720B2 (en) Virtual currency system
US20220084013A1 (en) Identity management, smart contract generator, and blockchain mediating system, and related methods
US20190340607A1 (en) System for central authority-permissioned transfer of blockchain tokens
US10776761B2 (en) Virtual currency system
US20170243193A1 (en) Hybrid blockchain
US20220309505A1 (en) Reissuing obligations to preserve privacy
CA2943230C (en) Virtual currency system
KR20180074655A (en) Systems and methods for trading, authorizing and settlement of securities transactions using block-chain technology
US20150271183A1 (en) Virtual currency system
JP2018515833A (en) Blockchain transaction recording system and method
EP3867852A1 (en) Computer-implemented method and system for digital signing of transactions
KR20200114324A (en) Block chain based money transfer processing system using cryptocurrency
CN115136542A (en) Intelligent contract
JP2020046975A (en) Fund transfer system and method for virtual currency
WO2021060340A1 (en) Transaction information processing system
Senthilkumar Data confidentiality, integrity, and authentication
KR102188718B1 (en) Payment mediating system based on blockcahin and mediating method of thereof
CA3103565A1 (en) Cryptographic encryption protocol for data types and values
JP2021177267A (en) Transaction system, control method of transaction system, and control program of transaction system
IT202100026213A1 (en) System for the creation and transfer of digital FIAT money based on blockchain

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200130

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200805

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210816

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: 20210907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211004

R150 Certificate of patent or registration of utility model

Ref document number: 6956062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150