JP2020021205A - Method for processing information, information processor, and program - Google Patents

Method for processing information, information processor, and program Download PDF

Info

Publication number
JP2020021205A
JP2020021205A JP2018143436A JP2018143436A JP2020021205A JP 2020021205 A JP2020021205 A JP 2020021205A JP 2018143436 A JP2018143436 A JP 2018143436A JP 2018143436 A JP2018143436 A JP 2018143436A JP 2020021205 A JP2020021205 A JP 2020021205A
Authority
JP
Japan
Prior art keywords
transaction information
address
wallet
addressed
network
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.)
Granted
Application number
JP2018143436A
Other languages
Japanese (ja)
Other versions
JP6526299B1 (en
Inventor
三徳 高橋
Mitsunori Takahashi
三徳 高橋
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.)
Mercari Inc
Original Assignee
Mercari Inc
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 Mercari Inc filed Critical Mercari Inc
Priority to JP2018143436A priority Critical patent/JP6526299B1/en
Application granted granted Critical
Publication of JP6526299B1 publication Critical patent/JP6526299B1/en
Publication of JP2020021205A publication Critical patent/JP2020021205A/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

To provide a method for processing information, an information processor, and a program which allow maintenance of the virtual property of a user.SOLUTION: The method for processing information includes the steps in which: an information processor stores at least one piece of second address transaction information for moving a virtual property from a first address to a second address, the second address transaction information having been electronically signed by an encryption key for the first address; and the selected one of the stored pieces of second address transaction information is sent to a network when a predetermined condition is satisfied.SELECTED DRAWING: Figure 4

Description

本開示は、情報処理方法、情報処理装置、およびプログラムに関する。   The present disclosure relates to an information processing method, an information processing device, and a program.

従来、通信機能を有するコンピュータ、スマートフォン、タブレット、携帯電話機などの端末を用いてネットワーク経由により、ユーザが仮想資産の売買取引を行えるようにしたサービスが広く一般に利用されている。このような仮想資産の取引は、特定の機関による管理の代わりに、ネットワーク上に存在するブロックチェーンとよばれる仮想資産の取引情報を記した分散型台帳により管理される。この取引情報は移動元から移動先への仮想資産の転移に関する情報を含むものであり、移動元となる仮想資産を所有するユーザが所有する秘密鍵等の暗号鍵(仮想資産の所有権を証明する鍵)により電子署名され、かつ、ネットワーク上に送信されて初めて、取引情報が分散型台帳に記録され、有効なものとして扱われる。詳細には、暗号鍵により電子署名された取引情報がネットワーク上に送信されると、ブロックチェーンノードがその正当性を検証し、検証した複数の取引情報を所定の時間周期毎にブロックというグループにまとめ、まとめられた新たなブロックがブロックチェーンの末尾に追加されることで、取引情報が分散型台帳に記録される。   2. Description of the Related Art Conventionally, a service that allows a user to make a purchase or sale transaction of a virtual asset via a network using a terminal having a communication function, such as a computer, a smartphone, a tablet, or a mobile phone, has been widely used. Such transactions of virtual assets are managed by a distributed ledger in which transaction information of virtual assets called block chains existing on a network is written instead of management by a specific organization. This transaction information includes information relating to the transfer of the virtual asset from the source to the destination, and includes an encryption key such as a private key owned by the user who owns the virtual asset to be the source (certifying the ownership of the virtual asset). The transaction information is recorded in the distributed ledger and is treated as valid only after it is electronically signed with the key of the transaction and transmitted on the network. More specifically, when transaction information electronically signed with an encryption key is transmitted on a network, a blockchain node verifies its validity, and the verified plurality of transaction information is grouped into blocks at predetermined time periods. A new block is added to the end of the blockchain, and the transaction information is recorded in the distributed ledger.

上記ブロックチェーンのブロック内の取引情報は実質上改ざんが不可能であり、また、なりすましもできないという点で、信用性の高い資産の取引システムであるといえる。しかしながら、第三者が何らかの手段でユーザの暗号鍵を知った場合には、第三者はユーザの所有する仮想資産を第三者宛に移動させる取引情報を作成し、電子署名したうえでネットワーク上に送信することが可能となる。暗号鍵により電子署名されている以上、このように送信された取引情報は有効な取引情報として扱われる。そのため、暗号鍵が悪意のある第三者に知られた場合にはユーザは所有する仮想資産の流出を止めることができない。   The transaction information in the block of the block chain is virtually impossible to falsify and cannot be spoofed, so it can be said that this is a highly reliable asset transaction system. However, if a third party knows the user's encryption key by any means, the third party creates transaction information to transfer the virtual assets owned by the user to the third party, digitally signs it, and then creates a network. It is possible to transmit on. As long as the transaction information is electronically signed with the encryption key, the transaction information transmitted in this way is treated as valid transaction information. Therefore, if the encryption key is disclosed to a malicious third party, the user cannot stop the outflow of the owned virtual assets.

また、ユーザが暗号鍵を忘失した場合には、取引情報を暗号鍵により電子署名することができず、仮想資産を移動させることができないため、実質上仮想資産が消失した状態となる。   Further, if the user forgets the encryption key, the transaction information cannot be digitally signed with the encryption key, and the virtual asset cannot be moved, so that the virtual asset is substantially lost.

特許文献1には、かかる仮想資産の取引において、第三者が暗号鍵を不正に入手した場合などに、不正な取引情報に基づく取引の実行を抑制できる取引情報の管理方法が記載されている。   Patent Literature 1 describes a method of managing transaction information that can suppress execution of a transaction based on illegal transaction information, such as when a third party illegally obtains an encryption key in the transaction of virtual assets. .

特開2018−93434号公報JP, 2018-93434, A

一般的に秘密鍵等の暗号鍵はウォレットというソフトウェアによって管理される。ウォレットはユーザの所有する暗号鍵を管理するとともに、ブロックチェーンを読み込むことでユーザが使用できる仮想資産の量を算出し、取引情報の作成および取引情報への電子署名を行い、また、電子署名された取引情報のネットワーク上への送信を行うことができる。   Generally, an encryption key such as a secret key is managed by software called a wallet. The wallet manages the encryption keys owned by the user, calculates the amount of virtual assets available to the user by reading the blockchain, creates transaction information and digitally signs the transaction information, The transaction information can be transmitted to the network.

上記のように第三者が暗号鍵を不正に入手した場合には、その暗号鍵に紐づくウォレットに保存される仮想資産をユーザが管理する他のウォレットに移動させ、仮想資産の流出を最小限にとどめることが望ましい。また、ユーザが暗号鍵を忘失した場合にも、同様に、その暗号鍵に紐づくウォレットに保存される仮想資産を、ユーザが管理する他のウォレットに移動させることで、仮想資産の消失を回避することが望ましい。   When a third party illegally obtains the encryption key as described above, the virtual asset stored in the wallet associated with the encryption key is moved to another wallet managed by the user to minimize the leakage of the virtual asset. It is desirable to keep it to the limit. Similarly, even when the user forgets the encryption key, the virtual asset stored in the wallet associated with the encryption key is moved to another wallet managed by the user, thereby preventing the loss of the virtual asset. It is desirable to do.

しかしながら、特許文献1には、公開鍵を用いたチャレンジレスポンス認証により、取引情報の有効性を追加検証し、不正な取引情報に基づく取引の実行を抑制する情報処理方法が記載されているが、不正な取引情報に基づく取引が実行された場合において仮想資産を保全する技術は記載されていない。   However, Patent Literature 1 discloses an information processing method in which the validity of transaction information is additionally verified by challenge-response authentication using a public key, and execution of a transaction based on unauthorized transaction information is suppressed. No technique is described for preserving virtual assets when a transaction based on illegal transaction information is executed.

そこで、本開示は、かかる事情に鑑みてなされたものであり、なめらかにユーザの所有する仮想資産の保全を可能ならしめる情報処理方法、情報処理装置、およびプログラムを提供することを目的とする。   Thus, the present disclosure has been made in view of such circumstances, and has as its object to provide an information processing method, an information processing apparatus, and a program that enable smooth maintenance of a virtual asset owned by a user.

本開示の実施形態に係る情報処理方法は、情報処理装置が、仮想資産を、第1アドレスから第2アドレスに移動させる第2アドレス宛取引情報であって、前記第1アドレスに対応する暗号鍵により電子署名された第2アドレス宛取引情報を1または複数記憶するステップと、所定の条件を満たす場合に、記憶された前記第2アドレス宛取引情報のうち、選択された第2アドレス宛取引情報をネットワークに送信するステップと、を実行することを含む。   An information processing method according to an embodiment of the present disclosure is directed to an information processing apparatus, wherein the information processing device is transaction information addressed to a second address for moving a virtual asset from a first address to a second address, and the encryption key corresponding to the first address Storing one or more transaction information addressed to the second address electronically signed by the user, and, if a predetermined condition is satisfied, the transaction information addressed to the selected second address among the stored transaction information addressed to the second address Transmitting to the network.

図1は、実施形態の一態様に係る通信システムの構成を示す。FIG. 1 illustrates a configuration of a communication system according to an aspect of the embodiment. 図2は、本開示に係る情報処理装置のハードウェア構成の一例を示す。FIG. 2 illustrates an example of a hardware configuration of the information processing apparatus according to the present disclosure. 図3は、第1実施形態に係る情報処理装置の機能的な構成を示すブロック図の一例を示す。FIG. 3 is an example of a block diagram illustrating a functional configuration of the information processing apparatus according to the first embodiment. 図4は、未送信取引情報DB331の管理テーブルのデータ構造の一例を示す。FIG. 4 shows an example of the data structure of the management table of the unsent transaction information DB 331. 図5は、送信済取引情報DB332が記憶するデータ構造の一部を示す。FIG. 5 shows a part of the data structure stored in the transmitted transaction information DB 332. 図6は、送信済取引情報のデータ構造の一例を示す。FIG. 6 shows an example of the data structure of the transmitted transaction information. 図7は、ルールDB333のデータ構造の一例を示す。FIG. 7 shows an example of the data structure of the rule DB 333. 図8は、第1実施形態における通信システム1が行う処理を示すシーケンス図の一例を示す。FIG. 8 is an example of a sequence diagram illustrating a process performed by the communication system 1 according to the first embodiment. 図9は、第1実施形態におけるサーバにおける処理のフローチャートの一例を示す。FIG. 9 illustrates an example of a flowchart of a process in the server according to the first embodiment. 図10は、第1実施例における情報処理システムの動作例を示すシーケンス図の一例を示す。FIG. 10 is an example of a sequence diagram illustrating an operation example of the information processing system according to the first embodiment. 図11は、第1実施例におけるサーバにおける処理のフローチャートの一例を示す。FIG. 11 illustrates an example of a flowchart of a process in the server according to the first embodiment. 図12は、第2実施例における情報処理システムの動作例を示すシーケンス図の一例を示す。FIG. 12 illustrates an example of a sequence diagram illustrating an operation example of the information processing system according to the second embodiment. 図13は、第2実施例におけるサーバにおける処理のフローチャートの一例を示す。FIG. 13 shows an example of a flowchart of a process in the server in the second embodiment.

<法令遵守>
本明細書に記載の開示は、実施される場合、本開示を実施する各国の法令を遵守のうえで実施される。また、本明細書に記載の開示は、各国の法令を遵守するために必要な、当業者が成し得る全ての変更、置換、変形、改変、および修正をもって実施される。
<Legal compliance>
The disclosure set forth herein, if implemented, will be implemented in compliance with the laws of the countries where the disclosure is implemented. In addition, the disclosure described in this specification is implemented with all the changes, substitutions, variations, alterations, and modifications that can be made by those skilled in the art necessary to comply with the laws and regulations of each country.

本開示に係る情報処理方法、情報処理装置、およびプログラムを実施するための形態について、図面を参照して説明する。   An embodiment of an information processing method, an information processing device, and a program according to the present disclosure will be described with reference to the drawings.

<システム構成>
図1は、本開示の一実施形態に係る情報処理方法を有効に実施するための通信システム1の構成を示す。図1に開示されるように、通信システム1では、ネットワーク130を介してサーバ110A,サーバ110Bと、端末120A,端末120B,端末120Cが接続される。サーバ110A,サーバ110Bと、端末120A,端末120B,端末120Cは、分散型台帳(以下「ブロックチェーン」ともいう。)を構成している。本開示では、ブロックチェーンは、中央管理者のいないパブリック型の構成として説明するが、これに限定されずプライベート型や、コンソーシアム型でもよい。
<System configuration>
FIG. 1 illustrates a configuration of a communication system 1 for effectively executing an information processing method according to an embodiment of the present disclosure. As disclosed in FIG. 1, in the communication system 1, the servers 110A and 110B are connected to the terminals 120A, 120B, and 120C via the network 130. The server 110A, the server 110B, and the terminals 120A, 120B, and 120C constitute a distributed ledger (hereinafter, also referred to as a “blockchain”). In the present disclosure, the blockchain is described as a public type configuration without a central administrator, but is not limited thereto, and may be a private type or a consortium type.

本開示において、サーバ110Aと、サーバ110Bとをそれぞれ区別する必要がない場合は、サーバ110Aとサーバ110Bとは、それぞれサーバ110と表現されてもよい。   In the present disclosure, when it is not necessary to distinguish between the server 110A and the server 110B, the server 110A and the server 110B may be expressed as the server 110, respectively.

本開示において、端末120Aと、端末120Bと、端末120Cとをそれぞれ区別する必要がない場合は、端末120Aと端末120Bと端末120Cとは、それぞれ端末120と表現されてもよい。   In the present disclosure, when it is not necessary to distinguish between the terminal 120A, the terminal 120B, and the terminal 120C, the terminal 120A, the terminal 120B, and the terminal 120C may be expressed as the terminal 120, respectively.

本開示において、サーバ110と、端末120とをそれぞれ区別する必要がない場合は、サーバ110と端末120とは、それぞれ情報処理装置200と表現されてもよい。なお、ネットワーク130に接続される情報処理装置200の数は限定されない。   In the present disclosure, when it is not necessary to distinguish between the server 110 and the terminal 120, the server 110 and the terminal 120 may be expressed as the information processing device 200, respectively. Note that the number of information processing devices 200 connected to the network 130 is not limited.

サーバ110は、ネットワーク130を介してユーザが利用する端末120に、所定のサービスを提供する。所定のサービスは、限定でなく例として、決済サービス、電子商取引サービス、インスタントメッセンジャーを代表とするSNS(Social Networking Service)、楽曲・動画・書籍などのコンテンツ提供サービス、金融サービスなどを含む。ユーザが端末120を介して所定のサービスを利用することで、サーバ110は1以上の端末120に所定のサービスを提供することができる。   The server 110 provides a predetermined service to the terminal 120 used by the user via the network 130. Examples of the predetermined service include, but are not limited to, a settlement service, an electronic commerce service, an SNS (Social Networking Service) represented by an instant messenger, a content providing service such as music, videos, and books, and a financial service. When the user uses a predetermined service via the terminal 120, the server 110 can provide the predetermined service to one or more terminals 120.

必要に応じて、ユーザXが利用する端末を端末120Xと表現し、ユーザXまたは端末120Xに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよい。   If necessary, a terminal used by the user X is expressed as a terminal 120X, and user information in a predetermined service associated with the user X or the terminal 120X is expressed as user information X. The user information is information of a user associated with an account used by the user in a predetermined service. The user information is, by way of example and not limitation, a user's name, a user's icon image, a user's age, a user's gender, a user's address, and a user's hobby that are input by the user or given by a predetermined service. The information includes information associated with the user, such as the preference and the user identifier, and any one or a combination of these may be used.

ネットワーク130は、2以上の情報処理装置200を接続する役割を担う。ネットワーク130は、端末120がサーバ110に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。   The network 130 has a role of connecting two or more information processing apparatuses 200. The network 130 refers to a communication network that provides a connection path so that data can be transmitted and received after the terminal 120 connects to the server 110.

ネットワーク130のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよい。ネットワーク130は、限定でなく例として、アドホック・ネットワーク(Ad Hoc Network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(Virtual Private Network:VPN)、ローカル・エリア・ネットワーク(Local Area Network:LAN)、ワイヤレスLAN(Wireless LAN:WLAN)、広域ネットワーク(Wide Area Network:WAN)、ワイヤレスWAN(Wireless WAN:WWAN)、大都市圏ネットワーク(Metropolitan Area Network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDNs(Integrated Service Digital Networks)、無線LANs、LTE(Long Term Evolution)、CDMA(Code Division Multiple Access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク130は、1つまたは複数のネットワーク130を含むことができる。   One or more portions of network 130 may be a wired or wireless network. The network 130 may be, for example and without limitation, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), LAN (Wireless LAN: WLAN), wide area network (Wide Area Network: WAN), wireless WAN (Wireless WAN: WWAN), metropolitan area network (MAN), part of the Internet, public switched telephone network (Public) Switched Telephone Network: a part of PSTN, mobile phone network, ISDNs (Integrated Service Digital Networks), wireless LANs, LTE (Long Term Evolution), CDMA (Code Division Multiple Access), Bluetooth (Bluetooth (registered trademark)), satellite Communication etc., or It may include two or more combinations of these. Network 130 may include one or more networks 130.

情報処理装置200は、本開示に記載される機能、および/または、方法を実現できる情報処理装置であればどのような情報処理装置であってもよい。   The information processing device 200 may be any information processing device that can implement the functions and / or methods described in the present disclosure.

情報処理装置200は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、サーバ装置、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダなど)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA(Personal Digital Assistant)、電子メールクライアントなど)、ウェアラブル端末(限定でなく例として、メガネ型デバイス、時計型デバイスなど)、他種のコンピュータ、またはコミュニケーションプラットホームを含む。   The information processing apparatus 200 includes, but is not limited to, a smartphone, a mobile phone (feature phone), a computer (for example, but not limited to, a desktop, a laptop, and a tablet), a server device, and a media computer platform (for example, but not limited to). , Cables, satellite set-top boxes, digital video recorders, etc.), handheld computer devices (eg, but not limited to, PDA (Personal Digital Assistant), e-mail clients, etc.), wearable terminals (eg, but not limited to, glasses-type devices, Clock devices, etc.), other types of computers, or communication platforms.

<ハードウェア(HW)構成>
図2を用いて、通信システム1に含まれる情報処理装置200のHW構成について説明する。
<Hardware (HW) configuration>
The HW configuration of the information processing device 200 included in the communication system 1 will be described with reference to FIG.

情報処理装置200は、プロセッサ201と、メモリ202と、ストレージ203と、入出力インタフェース(入出力I/F)204と、通信インタフェース(通信I/F)205とを含む。情報処理装置200のHWの各構成要素は、限定でなく例として、バスBを介して相互に接続される。   The information processing device 200 includes a processor 201, a memory 202, a storage 203, an input / output interface (input / output I / F) 204, and a communication interface (communication I / F) 205. The components of the HW of the information processing device 200 are interconnected via a bus B, for example, but not limited to.

情報処理装置200は、プロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により、本開示に記載される機能、および/または、方法を実現する。   The information processing device 200 realizes the functions and / or methods described in the present disclosure by cooperation of the processor 201, the memory 202, the storage 203, the input / output I / F 204, and the communication I / F 205. I do.

プロセッサ201は、ストレージ203に記憶されるプログラムに含まれるコードまたは命令によって実現する機能、および/または、方法を実行する。プロセッサ201は、限定でなく例として、中央処理装置(CPU)、MPU(Micro Processing Unit)、GPU(Graphic s Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含み、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各実施形態に開示される各処理を実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。   The processor 201 executes a function and / or a method realized by a code or an instruction included in a program stored in the storage 203. The processor 201 includes, for example and without limitation, a central processing unit (CPU), an MPU (Micro Processing Unit), a GPU (Graphics s Processing Unit), a microprocessor (microprocessor), a processor core, and a multiprocessor. ASIC (Application-Specific Integrated Circuit), FPGA (Field Programmable Gate Array), etc., and logic circuits (hardware) formed on integrated circuits (IC (Integrated Circuit) chips, LSI (Large Scale Integration)), etc. Each processing disclosed in each embodiment may be realized by a dedicated circuit. Further, these circuits may be realized by one or a plurality of integrated circuits, and the plurality of processes described in each embodiment may be realized by one integrated circuit. Further, the LSI may be referred to as a VLSI, a super LSI, an ultra LSI, or the like, depending on the degree of integration.

メモリ202は、ストレージ203からロードしたプログラムを一時的に記憶し、プロセッサ201に対して作業領域を提供する。メモリ202には、プロセッサ201がプログラムを実行している間に生成される各種データも一時的に格納される。メモリ202は、限定でなく例として、RAM(Random Access Memory)、ROM(Read Only Memory)などを含む。   The memory 202 temporarily stores the program loaded from the storage 203 and provides a work area for the processor 201. The memory 202 also temporarily stores various data generated while the processor 201 is executing the program. The memory 202 includes, for example, without limitation, a random access memory (RAM) and a read only memory (ROM).

ストレージ203は、プログラムを記憶する。ストレージ203は、限定でなく例として、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリなどを含む。   The storage 203 stores a program. The storage 203 includes, for example, without limitation, a hard disk drive (HDD), a solid state drive (SSD), and a flash memory.

通信I/F205は、ネットワーク130を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F205は、ネットワーク130を介して、他の情報処理装置との通信を実行する機能を有する。通信I/F205は、各種データをプロセッサ201からの指示に従って、他の情報処理装置に送信する。また、通信I/F205は、他の情報処理装置から送信された各種データを受信し、プロセッサ201に伝達する。   The communication I / F 205 sends and receives various data via the network 130. The communication may be performed by wire or wireless, and any communication protocol may be used as long as mutual communication can be performed. The communication I / F 205 has a function of executing communication with another information processing device via the network 130. The communication I / F 205 transmits various data to another information processing device in accordance with an instruction from the processor 201. Further, the communication I / F 205 receives various data transmitted from another information processing apparatus and transmits the data to the processor 201.

入出力I/F204は、情報処理装置200に対する各種操作を入力する入力装置、および、情報処理装置200で処理された処理結果を出力する出力装置を含む。入出力I/F204は、入力装置と出力装置が一体化していてもよいし、入力装置と出力装置とに分離していてもよい。   The input / output I / F 204 includes an input device that inputs various operations to the information processing device 200 and an output device that outputs a processing result processed by the information processing device 200. In the input / output I / F 204, an input device and an output device may be integrated, or may be separated into an input device and an output device.

入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ201に伝達できる全ての種類の装置のいずれか、または、その組み合わせにより実現される。入力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(画像を介した操作入力)、マイク(音声による操作入力)を含む。   The input device is realized by any one of all types of devices capable of receiving input from a user and transmitting information related to the input to the processor 201, or a combination thereof. The input device includes, for example and without limitation, hardware keys such as a touch panel, a touch display, and a keyboard, a pointing device such as a mouse, a camera (operation input through an image), and a microphone (operation input by voice).

出力装置は、プロセッサ201で処理された処理結果を出力することができる全ての種類の装置のいずれか、または、その組み合わせにより実現される。当該処理結果を映像、および/または、動画像として出力する場合、出力装置は、フレームバッファに書き込まれた表示データに従って、当該表示データを表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、モニタ(限定でなく例として、液晶ディスプレイ、OELD(Organic Electroluminescence Display)など)、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよい)に画像やテキスト情報等を表示可能な装置、スピーカ(音声出力)、プリンタなどを含む。なお、これらの出力装置は、3Dで表示データを表示可能であってもよい。   The output device is realized by any one of all types of devices capable of outputting the processing result processed by the processor 201 or a combination thereof. When outputting the processing result as a video and / or a moving image, the output device may be any one of or all devices capable of displaying the display data according to the display data written in the frame buffer. It is realized by a combination. Examples of the output device include, but are not limited to, a touch panel, a touch display, a monitor (for example, but not limited to, a liquid crystal display, an OELD (Organic Electroluminescence Display)), a head mounted display (HDM), a projection mapping, and a hologram. And a device capable of displaying an image or text information in the air or the like (may be a vacuum), a speaker (audio output), a printer, and the like. Note that these output devices may be capable of displaying display data in 3D.

本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、限定でなく例として、ソフトウェアプログラムやコンピュータプログラムを含む。   The program according to each embodiment of the present disclosure may be provided in a state stored in a computer-readable storage medium. The storage medium is capable of storing the program on a “temporary tangible medium”. The programs include, by way of example and not limitation, software programs and computer programs.

記憶媒体は適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定でなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。   The storage medium is, where appropriate, one or more semiconductor-based or other integrated circuits (ICs), such as, but not limited to, a field programmable gate array (FPGA), an application specific IC (ASIC), etc. ), Hard disk drive (HDD), hybrid hard drive (HHD), optical disk, optical disk drive (ODD), magneto-optical disk, magneto-optical drive, floppy diskette, floppy disk drive (FDD), magnetic It may include tape, solid state drive (SSD), RAM drive, secure digital card or drive, any other suitable storage medium, or a suitable combination of two or more thereof. A storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.

また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、情報処理装置200に提供されてもよい。   Further, the program of the present disclosure may be provided to information processing device 200 via any transmission medium (such as a communication network or a broadcast wave) capable of transmitting the program.

また、本開示の各実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。   Further, each embodiment of the present disclosure can also be realized in the form of a data signal embedded in a carrier wave, in which a program is embodied by electronic transmission.

なお、本開示のプログラムは、限定でなく例として、JavaScript(登録商標)、Pythonなどのスクリプト言語、C言語、Go言語、Swift、Kotlin,、Java(登録商標)などのプログラミング言語などを用いて実装される。   Note that the program of the present disclosure uses, for example and without limitation, a script language such as JavaScript (registered trademark) and Python, a programming language such as C language, Go language, Swift, Kotlin, and a programming language such as Java (registered trademark). Implemented.

情報処理装置200おける処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。   At least a part of the processing in the information processing device 200 may be realized by cloud computing including one or more computers.

情報処理装置200における処理の少なくとも一部を、他の情報処理装置により行う構成としてもよい。この場合、プロセッサ201により実現される各機能部の処理のうち少なくとも一部の処理を、他の情報処理装置で行う構成としてもよい。   At least part of the processing in the information processing device 200 may be performed by another information processing device. In this case, at least a part of the processing of each functional unit realized by the processor 201 may be performed by another information processing device.

<その他>
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよい。
<Others>
Unless explicitly stated, the configuration of the determination in the embodiment of the present disclosure is not essential, and a predetermined process is performed when the determination condition is satisfied, or a predetermined process is performed when the determination condition is not satisfied. May be.

本開示では、明記されない限り、または文脈によって示されない限り、「または」は排他的ではなく包含的な意味である。したがって、本開示では、明記されていない限り、または文脈によって示されない限り、「AまたはB」は「A、B、またはその両方」を意味する。さらに、明記されない限り、または文脈によって示されない限り、「および」は協同(joint)および個々(several)の両方の意味である。したがって、本明細書では、明記されない限り、または文脈によって 示されない限り、「AおよびB」は、「AおよびBが一緒に、または個別に(A and B, jointly or severally)」を意味する。さらに、明記されない限り、または文脈によって示されない限り、「a」、「an」、または「the」は「1つまたは複数」を意味するものとする。したがって、本明細書では、別段に明記されない限り、または文脈によって示されない限り、「an A」または「the A」は「1つまたは複数のA」を意味する。   In this disclosure, “or” has the inclusive, rather than exclusive, meaning unless otherwise stated or indicated by context. Thus, in this disclosure, "A or B" means "A, B, or both," unless stated otherwise or indicated by context. Further, unless otherwise specified or indicated by context, "and" is intended to mean both joint and severe. Thus, as used herein, unless otherwise specified or indicated by context, "A and B" means "A and B, jointly or severally." Further, unless otherwise specified or indicated by context, "a," "an," or "the" shall mean "one or more." Thus, as used herein, unless otherwise indicated or indicated by context, “an A” or “the A” means “one or more A”.

本開示は、本開示の実施形態、および/または、実施例に対して、当業者が成し得る全ての変更、置換、変形、改変、および修正を包含する。同様に、適切な場合、添付の特許請求の範囲は、本開示の実施形態、および/または、実施例に対して、当業者が成し得る全ての変更、置換、変形、改変、および修正を包含する。さらに、本開示は、当業者が成し得る、本開示における実施形態、および/または、実施例の1つまたは複数の特徴と、本開示における他の実施形態、および/または、実施例の1つまたは複数の特徴との任意の組合せを包含する。   The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications that may occur to those skilled in the art, to the embodiments and / or examples of the present disclosure. Similarly, where appropriate, the appended claims cover all changes, substitutions, variations, alterations, and modifications that may occur to those skilled in the art for the embodiments and / or examples of the present disclosure. Include. Further, the present disclosure is intended to enable one of ordinary skill in the art to make one or more features of the embodiments and / or examples of the present disclosure and one or more of the other embodiments and / or examples of the present disclosure. And any combination with one or more features.

加えて、特定の機能を実施するように適合される、配置される、能力を有する、構成される、使用可能である、動作可能である、または動作できる装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合される、配置される、能力を有する、構成される、使用可能にされる、動作可能にされる、または動作できる限り、その装置、システム、構成要素またはその特定の機能がアクティベートされ、オンにされ、またはロック解除されているか否かに関わらず、その装置、システム、構成要素を包含する。   Additionally, a device or system or a component of a device or system that is adapted, arranged, capable, configured, usable, operable, or operable to perform a particular function. Reference is made in the appended claims to the device, system, or component so adapted, arranged, capable, configured, enabled, enabled. As long as the device, system or component or its specific features are activated, turned on or unlocked, as long as the device, system or component is activated or operable.

以下、本開示の一例に係る実施形態について、図面を参照して説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。   Hereinafter, embodiments according to an example of the present disclosure will be described with reference to the drawings. However, the embodiments described below are merely examples, and are not intended to exclude various modifications and application of techniques not explicitly described below. That is, an example of the present disclosure can be variously modified and implemented without departing from the spirit thereof. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals, and the drawings are schematic and do not always correspond to actual dimensions and ratios. Further, the drawings may include portions having different dimensional relationships and ratios between drawings.

<用語>
実施形態について具体的に説明する前に、まず本開示で使用される用語について説明する。本開示における「仮想資産」とは、仮想通貨や、それに準ずる取引可能な資産を示す。「仮想通貨」とは、原則として、資金決済に関する法律(平成21年法律第59号)の第2条第5項第1号および第2号に規定されるもの、または、それに準ずるものであって、紙幣や硬貨のような現物をもたずに電子データとして流通し、ネットワークを通じて不特定多数の間で物品やサービスの対価として使用することができ、中央銀行などの公的な発行主体や管理者が必ずしも存在せずに専門の取引所や販売所で売買され、また、円やドルやユーロなどの実体的な通貨と交換できるものを意味するが、これに限られない。
<Term>
Before specifically describing the embodiments, terms used in the present disclosure will be described first. The “virtual assets” in the present disclosure indicate virtual currencies and tradable assets equivalent thereto. The “virtual currency” is, in principle, one specified in Article 2, Paragraph 5, Items 1 and 2 of the Act on Funds Settlement (Act No. 59 of 2009), or a thing equivalent thereto. It can be distributed as electronic data without physical items such as banknotes and coins, and can be used as a price for goods and services among unspecified large numbers through a network. It means that the manager is not necessarily present but is bought and sold at specialized exchanges and sales outlets, and can be exchanged for substantial currencies such as yen, dollar and euro.

上記仮想資産は、当該仮想資産を所有するユーザから他のユーザに送金することができる。このような仮想資産の取引は、特定の機関による管理の代わりに、ブロックチェーンとよばれる仮想資産の取引情報を記した分散型台帳により管理される。この取引情報は移動元から移動先への仮想資産の転移に関する情報を含むものであり、移動元となる仮想資産を所有するユーザが所有する暗号鍵(仮想資産の所有権を証明する鍵)により電子署名され、かつ、ブロックチェーンネットワーク上に送信されて初めて、取引情報が分散型台帳に記録され、有効なものとして扱われる。一例として、暗号鍵により電子署名された取引情報がネットワーク上に送信されると、ブロックチェーンノードがその取引情報の正当性を検証し、検証した複数の取引情報を所定の時間周期毎にブロックというグループにまとめ、まとめられた新たなブロックがブロックチェーンの末尾に追加されることで、取引情報が分散型台帳に記録される。すなわち、ブロックチェーンにおいては、取引情報を含んだブロックと呼ばれるデータが、時系列に並べられて管理され、仮想資産の移動を記した台帳としての役割を有している。   The virtual asset can be remitted from a user who owns the virtual asset to another user. Such transactions of virtual assets are managed by a distributed ledger in which transaction information of virtual assets called blockchain is written instead of management by a specific organization. This transaction information includes information on the transfer of the virtual asset from the source to the destination, and is based on an encryption key (a key for certifying the ownership of the virtual asset) owned by the user who owns the virtual asset as the source. Only after it is electronically signed and transmitted on the blockchain network is the transaction information recorded in the distributed ledger and treated as valid. As an example, when transaction information electronically signed with an encryption key is transmitted on a network, a blockchain node verifies the validity of the transaction information, and a plurality of verified transaction information is called a block every predetermined time period. The transaction information is recorded in the distributed ledger by grouping and adding the new grouped block to the end of the blockchain. In other words, in the blockchain, data called blocks containing transaction information is managed in a time-series manner, and has a role as a ledger that records the movement of virtual assets.

ユーザが所有する仮想資産を他のユーザに送金する際には、取引情報がブロックチェーンネットワークに送信される。「ブロックチェーンネットワーク」とは、所定の通信プロトコルに従って通信する2以上の情報処理装置200によって構成されたブロックチェーンに関する情報を共有するネットワークをいう。ブロックチェーンネットワークは一例として、P2Pネットワークである。このブロックチェーンネットワークに参加するノードは、ネットワーク130を介して互いにブロックチェーンに関する情報を直接共有することができる。ここでは、一例として、取引情報はブロードキャスト通信でネットワーク130に送信されるとして説明するが、これに限定されず、ユニキャスト通信やマルチキャスト通信によって送信されてもよい。ブロックチェーンネットワークにブロードキャストされた取引情報は、ブロックチェーンネットワークに接続される各情報処理装置200で受信される。一例として、ブロードキャストされた取引情報は、当該取引情報を受信した情報処理装置200のうち任意の情報処理装置200によってブロックに格納される。取引情報が格納されたブロックがネットワーク130に送信(例えばブロードキャスト)されると、ブロックチェーンネットワークに接続される各情報処理装置200が当該ブロックを受信して、PoW(Proof of Work)、PoS(Proof of Stake)などのアルゴリズムで合意形成を行い、最後に確定したブロックの次につないで記録する。   When remitting a virtual asset owned by a user to another user, transaction information is transmitted to a blockchain network. The “blockchain network” refers to a network configured by two or more information processing apparatuses 200 communicating according to a predetermined communication protocol and sharing information about a blockchain. The blockchain network is, for example, a P2P network. Nodes participating in this blockchain network can directly share information about the blockchain with each other via the network 130. Here, as an example, description will be given assuming that the transaction information is transmitted to the network 130 by broadcast communication. However, the present invention is not limited to this, and may be transmitted by unicast communication or multicast communication. The transaction information broadcast to the blockchain network is received by each information processing device 200 connected to the blockchain network. As an example, the broadcasted transaction information is stored in a block by any information processing device 200 among the information processing devices 200 that have received the transaction information. When the block storing the transaction information is transmitted (for example, broadcast) to the network 130, each of the information processing apparatuses 200 connected to the blockchain network receives the block and receives PoW (Proof of Work) and PoS (Proof). A consensus is formed by an algorithm such as "Stoke of Record", and the block is recorded next to the last determined block.

本開示における「アドレス」とは、ブロックチェーンにおいて仮想資産を送受信する際に使用される英数字からなる識別子であり、仮想資産の移動元あるいは移動先を指定する際に使用される。仮想資産の移動元あるいは移動先を指定する識別子であるアドレスはネットワーク130において一意であり、一例として、後述する暗号鍵と一対一に対応付けられる関係にある。なお、アドレスは、秘密鍵と対応付けられていればよく、必ずしも秘密鍵とペアになる公開鍵から生成されるものに限定されない。   An “address” in the present disclosure is an identifier including alphanumeric characters used when transmitting and receiving a virtual asset in a blockchain, and is used when designating a source or a destination of a virtual asset. An address that is an identifier that specifies a source or a destination of a virtual asset is unique in the network 130, and has, for example, a one-to-one correspondence with an encryption key described later. The address only needs to be associated with the secret key, and is not necessarily limited to an address generated from a public key paired with the secret key.

本開示における「ウォレット」とは、署名用の鍵(例えば秘密鍵)が記録された物であれば、必ずしも仮想資産の取引情報作成部などを有する情報処理装置である必要はなく、例えば記録媒体あるいは紙媒体であっても暗号鍵が記録されればウォレットになりうる。ウォレットは記録される媒体によって分類分けをすることができ、例えば、サーバが暗号鍵を記録する場合をウェブ(オンライン)ウォレット、端末が暗号鍵を記録する場合をソフトウェア(デスクトップ)ウォレット、USB等の記録媒体が暗号鍵を記録する場合をハードウェアウォレット、紙媒体が暗号鍵を記録する場合をコールド(ペーパー)ウォレットという。なお、以降では暗号鍵は、公開鍵暗号方式で用いられる秘密鍵として説明するが、これに限定されず、共通鍵暗号方式の共通鍵等、任意の暗号鍵でもよい。   A “wallet” in the present disclosure is not necessarily an information processing apparatus having a transaction information creation unit for virtual assets, as long as a key for signature (for example, a secret key) is recorded. Alternatively, even a paper medium can be a wallet if the encryption key is recorded. The wallet can be classified according to the recording medium. For example, a web (online) wallet when a server records an encryption key, a software (desktop) wallet, a USB, etc. when a terminal records an encryption key. A case where the recording medium records the encryption key is called a hardware wallet, and a case where the paper medium records the encryption key is called a cold (paper) wallet. In the following, the encryption key will be described as a secret key used in a public key encryption method, but is not limited to this, and may be any encryption key such as a common key in a common key encryption method.

もっとも、仮想資産の取引をするために必要な処理、例えば、取引情報の作成、電子署名の付与、および電子署名された取引情報のブロックチェーンネットワークへの送信、あるいは、受信した仮想資産の確認を実現するには、ウォレットプログラムがインストールされることにより、後述する取引情報作成部などこれら処理を行う機能部が実装された情報処理装置が必要である。以下、ウォレットプログラムがインストールされることにより、取引情報作成部、電子署名部、および送信部が実現されることにより仮想資産の取引を可能とした端末を、「ウォレット端末」ともいう。   However, the processing required to trade virtual assets, such as creating transaction information, assigning an electronic signature, and sending the electronically signed transaction information to the blockchain network, or confirming the received virtual asset In order to realize this, an information processing apparatus having a function unit for performing these processes, such as a transaction information creation unit described later, installed by installing a wallet program is required. Hereinafter, a terminal in which a transaction information creation unit, an electronic signature unit, and a transmission unit are realized by installing a wallet program to enable virtual asset transactions is also referred to as a “wallet terminal”.

なお、ウォレットには、秘密鍵のほかに、秘密鍵から作成される公開鍵および公開鍵から作成される識別子(アドレス)がさらに記録されていてもよい。また、1つのウォレットには、複数の秘密鍵や複数のアドレスが記録されていてもよい。   Note that, in addition to the secret key, a public key created from the secret key and an identifier (address) created from the public key may be further recorded in the wallet. Further, a plurality of secret keys and a plurality of addresses may be recorded in one wallet.

また、本開示における「第1アドレス」は第1ウォレットを仮想資産の移動元あるいは移動先として指定する際に使用される識別子であり、「第1ウォレット」は、例えば、ユーザがブロックチェーンネットワークを介した仮想資産取引に主に使用するウォレットである。仮想資産取引に使用する観点から、第1ウォレットとしては、ネットワーク130に接続されたウォレット、例えば、ウェブ(オンライン)ウォレットおよびソフトウェア(デスクトップ)ウォレットに分類されるものが挙げられる。このなかでも安全性の観点から、ソフトウェア(デスクトップ)ウォレットが挙げられる。ここで、第1ウォレットの機能がサーバ110に存在する場合は、第1ウォレットはウェブ(オンライン)ウォレットに該当し、第1ウォレットの機能が端末120に存在する場合は、第1ウォレットはソフトウェア(デスクトップ)ウォレットに該当する。   Further, the “first address” in the present disclosure is an identifier used when designating the first wallet as a source or a destination of a virtual asset. This is a wallet mainly used for virtual asset transactions via the Internet. From the viewpoint of use in virtual asset transactions, the first wallet includes a wallet connected to the network 130, for example, a wallet classified into a web (online) wallet and a software (desktop) wallet. Among them, software (desktop) wallets are mentioned from the viewpoint of security. Here, when the function of the first wallet exists in the server 110, the first wallet corresponds to a web (online) wallet, and when the function of the first wallet exists in the terminal 120, the first wallet corresponds to software ( Desktop) wallet.

さらに、本開示における「第2アドレス」は第2ウォレットを仮想資産の移動元あるいは移動先として指定する際に使用される識別子であり、「第2ウォレット」は、例えば、ユーザの仮想資産の保全に使用されるウォレットである。第2ウォレットは、ウェブ(オンライン)ウォレット、ソフトウェア(デスクトップ)ウォレット、ハードウェアウォレット、およびコールド(ペーパー)ウォレットのいずれに分類されるウォレットのいずれであってもよいが、仮想資産の保全に使用する観点から、ハードウェアウォレットおよびコールド(ペーパー)ウォレットのいずれかに分類されるウォレットが挙げられる。ハードウェアウォレットは例えばUSBに記憶されるタイプのウォレットであり、容易にオフラインとすることが可能であるため、第三者がハッキングなどにより秘密鍵を知得しにくいものである。また、コールド(ペーパー)ウォレットは例えばウォレット情報を紙に記載するタイプのウォレットであり、通常は紙の状態で管理をし、このコールドウォレットから他のウォレットへ仮想資産を移動させるときにのみ記載されたウォレット情報をブロックチェーンネットワークに接続された端末に読み込ませて使用するものであるため、第三者がハッキングなどにより秘密鍵を知得しにくいものである。   Further, the “second address” in the present disclosure is an identifier used when designating a second wallet as a source or a destination of a virtual asset, and the “second wallet” is, for example, a security of a user's virtual asset. Wallet used for The second wallet may be any one of a web (online) wallet, a software (desktop) wallet, a hardware wallet, and a cold (paper) wallet, and is used for securing virtual assets. From a viewpoint, there is a wallet classified as either a hardware wallet or a cold (paper) wallet. The hardware wallet is, for example, a wallet of a type stored in a USB and can be easily taken off-line, so that it is difficult for a third party to know the secret key by hacking or the like. A cold (paper) wallet is, for example, a wallet of a type in which wallet information is written on paper. Usually, the wallet is managed in a paper state, and is described only when a virtual asset is moved from this cold wallet to another wallet. Since the wallet information is read and used by a terminal connected to the blockchain network, it is difficult for a third party to know the secret key due to hacking or the like.

ここで、仮想資産を退避させる移動先である第2ウォレットは、第1ウォレットを所有するユーザと同一の者が所有するウォレットであってもよいし、第1ウォレットを所有するユーザが信頼する他の者が所有するウォレットであってもよい。   Here, the second wallet to which the virtual asset is evacuated may be a wallet owned by the same person as the user who owns the first wallet, or may be trusted by the user who owns the first wallet. It may be a wallet owned by the person.

また、本開示における「第3アドレス」は第3ウォレットを仮想資産の移動元あるいは移動先として指定する際に使用される識別子であり、「第3ウォレット」は、第1ウォレットおよび第2ウォレット以外の他のウォレットであり、主にユーザの仮想資産の取引相手が所有するウォレットあるいは秘密鍵を知得した第三者が所有するウォレットである。第3ウォレットは、ウェブ(オンライン)ウォレット、ソフトウェア(デスクトップ)ウォレット、ハードウェアウォレット、およびコールド(ペーパー)ウォレットのいずれに分類されるウォレットのいずれであってもよい。   Further, the “third address” in the present disclosure is an identifier used when designating the third wallet as a source or a destination of the virtual asset, and the “third wallet” is other than the first wallet and the second wallet. , Which is mainly a wallet owned by a trading partner of the user's virtual asset or a wallet owned by a third party who has learned the secret key. The third wallet may be any of a wallet classified as any of a web (online) wallet, a software (desktop) wallet, a hardware wallet, and a cold (paper) wallet.

<第1実施形態>
第1実施形態は、ブロックチェーンネットワークに電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、第1ウォレットが管理する仮想資産を第2ウォレットへ移動させる第2アドレス宛取引情報を予め記憶しておき、所定の条件を満たす場合に、その第2アドレス宛取引情報をブロックチェーンネットワークに送信することにより、第1ウォレットが管理する仮想資産を保全する実施形態である。なお、上記取引システムにおいては公開鍵暗号技術により生成された秘密鍵と公開鍵のキーペアが利用される。秘密鍵は取引情報の電子署名に使用され、公開鍵は仮想資産を受け取るために使用される。
<First embodiment>
The first embodiment is a method for moving a virtual asset managed by a first wallet to a second wallet in a transaction system in which the balance of a virtual asset of a wallet changes by transmitting transaction information electronically signed to a blockchain network. Embodiment in which the transaction information addressed to the second address is stored in advance, and when the predetermined condition is satisfied, the transaction information addressed to the second address is transmitted to the blockchain network, thereby preserving the virtual assets managed by the first wallet. It is. In the above transaction system, a key pair of a secret key and a public key generated by a public key encryption technique is used. The private key is used for electronic signature of transaction information, and the public key is used for receiving virtual assets.

この第1実施形態では、サーバ110によって第1ウォレット(第1アドレス)から第2ウォレット(第2アドレス)へ仮想資産を移動させるための通信システムが構築される。サーバ110は、第1ウォレットのユーザが自ら秘密鍵により電子署名したブロックチェーンネットワークに送信する前の取引情報であって、第1アドレスを移動元とし第2アドレスを移動先とする1又は複数の取引情報(以下、「未送信取引情報」ともいう。第2アドレス宛取引情報の一例である。)を端末120から予め受信し、受信した未送信取引情報をブロックチェーンネットワークに送信しない状態で記憶する。これと並行して、サーバ110は、例えば、不正な取引情報による仮想資産の流出や秘密鍵の忘失による仮想資産の消失など、仮想資産を脅かす事態が生じていないか否かを検知する。そして、所定の条件のもと第1ウォレットから仮想資産を移動させて保全することが求められる場合には、未送信取引情報を選択し、これをブロックチェーンネットワークに送信する。これにより、ユーザの所有する仮想資産の保全を図ることができる。このような通信システムは、仮想資産の売買取引を行うための取引システムの一部として構成されていてもよい。   In the first embodiment, a communication system for moving a virtual asset from a first wallet (first address) to a second wallet (second address) is constructed by the server 110. The server 110 is the transaction information before the user of the first wallet transmits to the blockchain network electronically signed with the private key by himself / herself, and one or more of the transaction information having the first address as the source and the second address as the destination. Transaction information (hereinafter also referred to as “unsent transaction information”, which is an example of transaction information addressed to a second address) is received in advance from the terminal 120, and the received unsent transaction information is stored without being transmitted to the blockchain network. I do. In parallel with this, the server 110 detects whether or not a situation that threatens the virtual asset has occurred, for example, a virtual asset has been leaked due to illegal transaction information or a virtual asset has been lost due to the loss of a secret key. Then, when it is required to move and preserve the virtual asset from the first wallet under predetermined conditions, the non-transmitted transaction information is selected and transmitted to the blockchain network. This makes it possible to maintain the virtual assets owned by the user. Such a communication system may be configured as a part of a transaction system for performing a purchase transaction of a virtual asset.

端末120は、記憶部430に取引システム用アプリケーション(以下、「ウォレットプログラム」ともいう。)がインストールされることで、仮想資産の取引や残高の管理をする機能が実装される。この取引システム用アプリケーションがプロセッサ201で実行されることにより、ユーザは、仮想資産の取引システムへアクセスして仮想資産の取引を行うことができる。例えば、第1ウォレットの機能が実装された端末120は、ユーザが指定したタイミングで、第1ウォレットが保管する仮想資産の全部または一部を第3ウォレットへ移動させる取引情報を作成し、第1ウォレットの秘密鍵により電子署名をして、ブロックチェーンネットワークへ送信する。これにより、ユーザは自己の所有する仮想資産に基づく取引を任意に行うことができる。また、これとは別に、第1実施形態においては、第1ウォレットの機能が実装された端末120は、所定のタイミングで、その時点の第1ウォレットの残高に応じた仮想資産の値を第2ウォレットへ移動させる取引情報を作成し第1ウォレットの秘密鍵により電子署名をして、未送信取引情報としてサーバ110に送信する。   The terminal 120 has a function of managing transactions of virtual assets and managing balances by installing a transaction system application (hereinafter, also referred to as a “wallet program”) in the storage unit 430. By executing the transaction system application by the processor 201, the user can access the virtual asset transaction system and perform the transaction of the virtual asset. For example, the terminal 120 in which the function of the first wallet is implemented creates transaction information for moving all or a part of the virtual assets stored in the first wallet to the third wallet at the timing designated by the user, and The digital signature is performed using the secret key of the wallet and transmitted to the blockchain network. Thereby, the user can arbitrarily conduct a transaction based on the virtual asset owned by the user. Separately from this, in the first embodiment, the terminal 120 in which the function of the first wallet is mounted, changes the value of the virtual asset corresponding to the current balance of the first wallet to the second at a predetermined timing. The transaction information to be moved to the wallet is created, an electronic signature is created using the secret key of the first wallet, and the transaction information is transmitted to the server 110 as unsent transaction information.

<第1実施形態の効果>
かかる第1実施形態によれば、第1ウォレットの秘密鍵を知り得た第三者が第1ウォレットから仮想資産の一部を流出させた場合やユーザが第1ウォレットの秘密鍵を忘失した場合であっても、第1ウォレットに残った仮想資産を第2ウォレットになめらかに退避させることができる。これにより、仮想資産の継続的な流出による損害の拡大を抑えることや仮想資産の消失を回避することができ、仮想資産の保全を実現することができる。また、サーバ110自体がユーザの秘密鍵を管理し、該秘密鍵を用いて未送信登録情報を作成し記憶するのではなく、ユーザが自ら管理する秘密鍵により電子署名した未送信登録情報をサーバ110が受信して記憶する構成とすることにより、サーバ110が攻撃されることによりユーザの秘密鍵が流出するリスクを回避することも可能となる。
<Effect of First Embodiment>
According to the first embodiment, when a third party who has learned the secret key of the first wallet leaks a part of the virtual asset from the first wallet, or when the user forgets the secret key of the first wallet In this case, the virtual assets remaining in the first wallet can be smoothly evacuated to the second wallet. As a result, it is possible to suppress an increase in damage due to continuous outflow of virtual assets and to avoid loss of virtual assets, thereby realizing preservation of virtual assets. Further, the server 110 itself manages the user's private key, and creates and stores the unsent registration information using the secret key. With the configuration in which the server 110 receives and stores the information, it is possible to avoid the risk that the user's private key is leaked when the server 110 is attacked.

<第1実施形態の機能構成>
図3を用いてサーバ110および端末120の機能構成を説明する。図3は、第1実施形態に係る情報処理装置の機能的な構成を示すブロック図の一例を示し、情報処理装置200(サーバ110および端末120)によって構築される通信システム1の全体的な概略構成を示す図でもある。図3に開示の機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。すなわち、図2に示す情報処理装置200のプロセッサ201は、ストレージ203に記憶された各種プログラム(制御プログラム、演算プログラムなど)をメモリ202(例えばRAM)に展開する。そして、プロセッサ201は、メモリ202に展開された各種プログラムを解釈および実行して、各ハードウェア構成要素を制御することにより、以下に説明する機能構成が実現される。
<Functional Configuration of First Embodiment>
The functional configuration of the server 110 and the terminal 120 will be described with reference to FIG. FIG. 3 is an example of a block diagram illustrating a functional configuration of the information processing apparatus according to the first embodiment, and is an overall schematic diagram of the communication system 1 configured by the information processing apparatus 200 (the server 110 and the terminal 120). It is also a figure which shows a structure. The functional unit disclosed in FIG. 3 is realized by cooperation of the processor 201, the memory 202, the storage 203, the input / output I / F 204, and the communication I / F 205 included in the information processing apparatus 200. That is, the processor 201 of the information processing apparatus 200 illustrated in FIG. 2 loads various programs (control programs, arithmetic programs, and the like) stored in the storage 203 into the memory 202 (for example, RAM). Then, the processor 201 interprets and executes various programs developed in the memory 202 and controls each hardware component, so that a functional configuration described below is realized.

なお、情報処理装置200で実現される各機能は、汎用のCPUなどのプロセッサ201で実現されてもよく、あるいは、機能の一部又は全部が、一又は複数の専用のプロセッサ201によって実現されてもよい。さらに、情報処理装置200によって実現される機能構成は、実施形態や実施例に応じて、適宜、機能の省略、置換、および追加が行われてももちろんよい。   Each function realized by the information processing apparatus 200 may be realized by a processor 201 such as a general-purpose CPU, or a part or all of the functions may be realized by one or a plurality of dedicated processors 201. Is also good. Furthermore, the functional configuration realized by the information processing device 200 may be omitted, replaced, or added as appropriate according to the embodiment or the example.

(1)サーバの機能構成
サーバ110は、入出力I/F311と、通信I/F312と、制御部320と、記憶部330とを有する。入出力I/F311は、図2の入出力I/F204に相当し、通信I/F312は、図2の通信I/F205に相当する。記憶部330は、メモリ202および/またはストレージ203を用いて実現される。また、制御部320は、受信部321と、取引管理部322と、検知部323と、選択部324と、送信部325とを有する。
(1) Functional Configuration of Server The server 110 has an input / output I / F 311, a communication I / F 312, a control unit 320, and a storage unit 330. The input / output I / F 311 corresponds to the input / output I / F 204 in FIG. 2, and the communication I / F 312 corresponds to the communication I / F 205 in FIG. The storage unit 330 is realized using the memory 202 and / or the storage 203. Further, the control unit 320 includes a receiving unit 321, a transaction managing unit 322, a detecting unit 323, a selecting unit 324, and a transmitting unit 325.

記憶部330には、未送信取引情報DB331と、送信済取引情報DB332と、ルールDB333と、プログラム334とが記憶されている。受信部321と、取引管理部322と、検知部323、選択部324と、送信部325とは、プロセッサ201が、記憶部330に格納されているプログラム334を読み出して実行することで実現される。サーバ110では、記憶部330に記憶された通信システム用プログラムがプロセッサ201で実行されることにより、第1ウォレットの仮想資産の保全を行うための通信システムが構築される。   The storage unit 330 stores an unsent transaction information DB 331, a transmitted transaction information DB 332, a rule DB 333, and a program 334. The reception unit 321, the transaction management unit 322, the detection unit 323, the selection unit 324, and the transmission unit 325 are realized by the processor 201 reading and executing the program 334 stored in the storage unit 330. . In the server 110, the communication system program stored in the storage unit 330 is executed by the processor 201, thereby constructing a communication system for maintaining the virtual assets of the first wallet.

未送信取引情報DB331は、1または複数の第2アドレス宛取引情報を記憶する第2アドレス宛取引情報記憶部の一例である。未送信取引情報DB331には、未送信取引情報と管理テーブルとが記憶されている。図4は、管理テーブルの一例を示す図である。管理テーブルには、一例として、移動元アドレスと、未送信取引情報の識別子とが対応付けられて記憶されている。なお、管理テーブルには、さらに未送信取引情報の作成日時や移動させる仮想資産に関するデータ、有効期限が記録されていてもよい。また、未送信取引情報DB331には、未送信取引情報が記録されていればよく、必ずしも管理テーブルを備える必要はない。   The unsent transaction information DB 331 is an example of a second address-addressed transaction information storage unit that stores one or a plurality of second address-addressed transaction information. The unsent transaction information DB 331 stores unsent transaction information and a management table. FIG. 4 is a diagram illustrating an example of the management table. As an example, the management table stores the source address and the identifier of the untransmitted transaction information in association with each other. The management table may further record the creation date and time of the unsent transaction information, data relating to the virtual asset to be moved, and the expiration date. The unsent transaction information DB 331 only needs to record unsent transaction information, and does not necessarily need to include a management table.

送信済取引情報DB332は、第1アドレスに対応する暗号鍵により電子署名され、ブロックチェーンネットワークに送信された仮想資産の取引情報であって、前記第1アドレスを移動元とし第3アドレスを移動先とする1又は複数の取引情報(以下、「送信済取引情報」ともいう。第3アドレス宛取引情報の一例である。)を記憶する第3アドレス宛取引情報記憶部の一例である。   The transmitted transaction information DB 332 is transaction information of a virtual asset which is electronically signed with an encryption key corresponding to the first address and transmitted to the blockchain network, wherein the first address is the source and the third address is the destination. This is an example of a third address-addressed transaction information storage unit that stores one or more pieces of transaction information (hereinafter, also referred to as “transmitted transaction information”, which is an example of third address-addressed transaction information).

送信済取引情報DB332には、送信済取引情報が記憶されている。図5は、送信済取引情報DB332が記憶するデータ構造の一部を模式的に示す図であって、時系列順に並んだブロックのうち、N+1番目のブロックの構造を示す図である。N+1番目のブロックのヘッダーには、例えば、N番目のブロックのダイジェスト、タイムスタンプ、ターゲット、ナンスが格納されている。ここで、ターゲットは、既存のPoW(Proof of Work)の技術を用いてマイニングを行う場合に、用いられる値である。ナンスは、任意の値をいう。マイニングについて具体的に説明すると、マイニングを行う情報処理装置200(ブロックチェーンノード)は、ブロックヘッダーのダイジェストがターゲット以下となるナンスを発見することを目的に、ナンスの値を変更しながら、繰り返しブロックヘッダーのダイジェストの計算(マイニング)を行う。適切なナンスが発見されると、マイニングを行う情報処理装置200は、発見したナンスを格納してブロックを作成する。任意のナンスを含んだブロックヘッダーのダイジェストが、ターゲット以下となる確率は極めて小さいため、マイニングは過大なコストがかかる作業である。なお、マイニングはPoWの技術を用いる構成に限定されない。例えば各情報処理装置200は、作成されたブロックのヘッダーがターゲットの値以下になるか否かにかかわらず、ブロックをブロックチェーンの末尾に追加する構成でもよい。この場合、送信済取引情報D332に記憶されるブロックは、ターゲット及びナンスを含まない構成でもよい。さらに、ブロックチェーンがプライベート型やコンソーシアム型である場合には、マイニングが行われない構成でもよい。   The transmitted transaction information DB 332 stores transmitted transaction information. FIG. 5 is a diagram schematically illustrating a part of a data structure stored in the transmitted transaction information DB 332, and is a diagram illustrating a structure of an (N + 1) -th block among blocks arranged in chronological order. For example, the digest, time stamp, target, and nonce of the N-th block are stored in the header of the (N + 1) -th block. Here, the target is a value used when mining is performed using the existing PoW (Proof of Work) technology. Nonce refers to any value. Explaining mining in detail, the information processing apparatus 200 (block chain node) that performs mining repeatedly changes the value of the nonce to find a nonce whose digest of the block header is equal to or smaller than the target. Calculate the digest of the header (mining). When an appropriate nonce is found, the information processing device 200 that performs mining stores the found nonce and creates a block. Mining is an extremely expensive operation, since the probability of the digest of the block header containing any nonce being below the target is extremely small. Note that mining is not limited to a configuration using PoW technology. For example, each information processing device 200 may be configured to add a block to the end of the block chain, regardless of whether the header of the created block is equal to or smaller than the target value. In this case, the block stored in the transmitted transaction information D332 may not include the target and the nonce. Furthermore, when the blockchain is a private type or a consortium type, a configuration in which mining is not performed may be employed.

次に、ブロックのボディ部分の構成について説明する。図5の例では、ブロックのボディには複数の送信済取引情報が格納されている。   Next, the configuration of the body part of the block will be described. In the example of FIG. 5, a plurality of transmitted transaction information is stored in the body of the block.

図6は、送信済取引情報のデータ構造の一例を示す図である。送信済取引情報には、例えば、送信日時、移動元アドレス、移動先アドレス、移動させる仮想資産に関するデータ、電子署名が格納されている。   FIG. 6 is a diagram illustrating an example of a data structure of the transmitted transaction information. The transmitted transaction information stores, for example, a transmission date and time, a source address, a destination address, data relating to a virtual asset to be moved, and an electronic signature.

ルールDB333には、未送信取引情報をブロックチェーンネットワークに送信するための条件などが、記憶されている。図7は、ルールDB333のデータ構造の一例を示す図である。図7の例では、移動元アドレスと、未送信取引情報をブロックチェーンネットワークに送信するためのルールとが対応付けられて記憶されている。一例として、ルールDB333に記憶されるルールとしては、以下のものが挙げられる。   The rule DB 333 stores conditions for transmitting untransmitted transaction information to the blockchain network, and the like. FIG. 7 is a diagram illustrating an example of a data structure of the rule DB 333. In the example of FIG. 7, a source address and a rule for transmitting the untransmitted transaction information to the blockchain network are stored in association with each other. As an example, the rules stored in the rule DB 333 include the following.

・移動先アドレス
「移動先アドレス」に特定のアドレスが指定されている場合、移動元アドレスからの送金は当該指定された移動先アドレスに限定される。そのため、指定された移送先アドレス以外のアドレスを移動先として指定した送信済取引情報を不正と判断する。
-Destination address When a specific address is specified in the "destination address", remittance from the source address is limited to the specified destination address. Therefore, the transmitted transaction information in which an address other than the specified transfer destination address is specified as the transfer destination is determined to be invalid.

・取引可能時間
「取引可能時間」は、対応するアドレスが移動元アドレスに指定されている取引情報がブロックチェーンネットワークに送信される時間を限定するための条件である。取引可能時間に特定の時間帯が指定されている場合、指定された時間帯以外において取引情報が送信されると、サーバ110は、未送信取引情報をブロックチェーンネットワークに送信する。
・ Tradable time “Tradable time” is a condition for limiting the time during which transaction information in which the corresponding address is designated as the source address is transmitted to the blockchain network. In a case where a specific time zone is specified in the available transaction time, if the transaction information is transmitted outside the specified time zone, the server 110 transmits the untransmitted transaction information to the blockchain network.

・移動させる仮想資産の上限
「移動させる仮想資産の上限」は、対応するアドレスから移動可能な仮想資産の量を制限するための条件である。移動させる仮想資産の上限に特定の値が指定されている場合、当該指定された上限を超える量の仮想資産を移動させる取引情報が送信されると、サーバ110は、未送信取引情報をブロックチェーンネットワークに送信する。なお、上限は1つの取引情報において移動可能な仮想資産の量として指定してもよいし、所定の期間において移動可能な仮想資産の量として指定してもよい。
-Upper limit of virtual assets to be moved The "upper limit of virtual assets to be moved" is a condition for limiting the amount of virtual assets that can be moved from the corresponding address. When a specific value is specified for the upper limit of the virtual asset to be moved, and when transaction information for moving the virtual asset in an amount exceeding the specified upper limit is transmitted, the server 110 transmits the untransmitted transaction information to the blockchain. Send to network. Note that the upper limit may be specified as the amount of movable virtual assets in one piece of transaction information, or may be specified as the amount of movable virtual assets in a predetermined period.

・移動前通知
「移動前通知」は、対応するアドレスから仮想資産を移動させる際に、サーバ110に対して通知を要するか否かを示す条件である。サーバ110は、移動前通知が要になっているアドレスを送信元とする取引情報を受信した場合において、当該アドレスのユーザから移動前通知を受信していない場合には、サーバ110は、未送信取引情報をブロックチェーンネットワークに送信する。
-Notification before movement "Notification before movement" is a condition indicating whether or not notification is required to the server 110 when a virtual asset is moved from the corresponding address. When the server 110 receives the transaction information from the address for which the pre-move notification is required and does not receive the pre-move notification from the user of the address, the server 110 transmits Send transaction information to the blockchain network.

・定期連絡
「定期連絡」は、ユーザがサーバ110に所定の間隔で通知を行うことを要するか否かを示す条件である。図7の例では定期連絡には定期連絡を要する期間が登録されている。定期連絡に期間が登録されているアドレスを有するユーザから、当該期間を超過しても定期連絡がない場合は、サーバ110は、未送信取引情報をブロックチェーンネットワークに送信する。なお、定期連絡には、要否のみが登録される構成でもよい。この場合、要が登録されているアドレスを有するユーザからあらかじめ定められた任意の間隔で連絡がなかった場合に、サーバ110は、未送信取引情報をブロックチェーンネットワークに送信する。
Periodic communication “Periodic communication” is a condition indicating whether or not the user needs to notify the server 110 at predetermined intervals. In the example of FIG. 7, the period required for the periodic communication is registered in the periodic communication. If there is no regular communication from a user having an address whose period is registered in the regular communication even after the period is over, the server 110 transmits the unsent transaction information to the blockchain network. In the regular communication, only the necessity may be registered. In this case, the server 110 transmits the unsent transaction information to the blockchain network when there is no contact at a predetermined arbitrary interval from the user having the registered address.

・有効期間
「有効期間」は、対応するアドレスの利用可能な期間を示す条件である。ルールDB333に有効期間を超過しているアドレスが存在する場合には、サーバ110は、管理テーブルを参照し、当該アドレスに対応する未送信取引情報をブロックチェーンネットワークに送信する。
・ Valid period “Valid period” is a condition indicating a period during which the corresponding address can be used. If there is an address in the rule DB 333 whose validity period has been exceeded, the server 110 refers to the management table and transmits unsent transaction information corresponding to the address to the blockchain network.

なお、ルールDB333は、上述したすべての条件を含む必要はなく、任意の条件から構成されてよい。また、ルールDB333は、上述した条件以外の条件を含んでもよい。   It should be noted that the rule DB 333 does not need to include all the above-described conditions, and may be configured with arbitrary conditions. Further, the rule DB 333 may include conditions other than the above-described conditions.

未送信取引情報DB331は、入出力I/F204を介して受信した未送信取引情報をブロックチェーンネットワークに送信しない状態で記憶する処理を行う機能を有する。   The unsent transaction information DB 331 has a function of storing the unsent transaction information received via the input / output I / F 204 without transmitting it to the blockchain network.

受信部321は、入出力I/F204を介して、第1ウォレットとして機能するウォレット端末120から未送信取引情報を受信する処理を行う機能と、ブロックチェーンネットワークから送信済取引情報を受信する処理を行う機能と、受信した未送信取引情報及び送信済取引情報を未送信取引情報DB331および送信済取引情報DB332に渡す処理を行う機能を有する。   The receiving unit 321 performs a process of receiving unsent transaction information from the wallet terminal 120 functioning as a first wallet via the input / output I / F 204 and a process of receiving transmitted transaction information from the blockchain network. It has a function of performing and a process of passing the received unsent transaction information and transmitted transaction information to the untransmitted transaction information DB 331 and the transmitted transaction information DB 332.

取引管理部322は、第1アドレスに対応するユーザが秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信した場合に、入出力I/F204を介して、ユーザからその取引情報に関する通知を受け付ける処理を行う機能を有する。   When transaction information electronically signed by the user corresponding to the first address with the secret key is transmitted to the blockchain network, transaction management unit 322 receives a notification about the transaction information from the user via input / output I / F 204. It has a function to perform processing.

検知部323は、ルールDB333に記憶された条件に基づいて、未送信取引情報の送信の要否を判断し、その情報を選択部324に渡す処理を行う機能を有する。   The detecting unit 323 has a function of determining, based on the conditions stored in the rule DB 333, whether transmission of untransmitted transaction information is necessary and passing the information to the selection unit 324.

選択部324は、検知部323が未送信取引情報の送信が必要であると判断した場合に、未送信取引情報DB331に記憶した未送信取引情報のなかからブロックチェーンネットワークに送信する未送信取引情報を選択する。例えば、選択部324は、第1ウォレットの仮想資産の残高以下の未送信取引情報を選択することができる。この場合、選択部324は、まず、送信済取引情報DB332を参照して、記憶された送信済取引情報のなかから、第1アドレスを移動先とする取引情報を抽出する、そして、抽出した取引情報に基づいて第1ウォレットの仮想資産の残高を計算する。選択部324は、未送信取引情報DB331を参照して、計算した第1ウォレットの仮想資産の残高以下の仮想資産を移動させる未送信取引情報を選択することができる。   When the detection unit 323 determines that transmission of the unsent transaction information is necessary, the selection unit 324 transmits the unsent transaction information to be transmitted to the blockchain network from the unsent transaction information stored in the unsent transaction information DB 331. Select For example, the selection unit 324 can select unsent transaction information equal to or less than the balance of the virtual asset of the first wallet. In this case, the selection unit 324 first refers to the transmitted transaction information DB 332 to extract transaction information having the first address as the destination from the stored transmitted transaction information, and then extracts the extracted transaction. The balance of the virtual asset of the first wallet is calculated based on the information. The selecting unit 324 can refer to the unsent transaction information DB 331 and select unsent transaction information for moving virtual assets equal to or less than the calculated virtual asset balance of the first wallet.

送信部325は、選択部324により選択された未送信取引情報を、入出力I/F204を介してブロックチェーンネットワークに送信する処理を行う機能を有する。   The transmitting unit 325 has a function of transmitting the untransmitted transaction information selected by the selecting unit 324 to the blockchain network via the input / output I / F 204.

記憶部330は、送信済取引情報DB332と、未送信取引情報DB331と、ルールDB333と、第1実施形態に係るサーバ110が実行するプログラム334を格納する。また、ウォレット端末120やブロックチェーンネットワークから受信したあらゆる情報を一時的に格納することができる。   The storage unit 330 stores a transmitted transaction information DB 332, an untransmitted transaction information DB 331, a rule DB 333, and a program 334 executed by the server 110 according to the first embodiment. Further, all information received from the wallet terminal 120 or the blockchain network can be temporarily stored.

(2)端末の機能構成
ウォレット端末120は、入出力I/F411と、通信I/F412と、制御部420と、記憶部430とを有する。入出力I/F411は、図2の入出力I/F204に相当し、通信I/F12は、図2の通信I/F205に相当する。また、制御部420は、取引情報作成部421と、電子署名部422と、送信部423とを有する。取引情報作成部421と、電子署名部422と、送信部423とは、プロセッサ201が、記憶部430に格納されているプログラムを読み出して実行することで実現される。記憶部430は、メモリ202および/またはストレージ203を用いて実現される。
(2) Functional Configuration of Terminal The wallet terminal 120 includes an input / output I / F 411, a communication I / F 412, a control unit 420, and a storage unit 430. The input / output I / F 411 corresponds to the input / output I / F 204 in FIG. 2, and the communication I / F 12 corresponds to the communication I / F 205 in FIG. Further, the control unit 420 includes a transaction information creation unit 421, an electronic signature unit 422, and a transmission unit 423. The transaction information creation unit 421, the electronic signature unit 422, and the transmission unit 423 are realized by the processor 201 reading and executing a program stored in the storage unit 430. The storage unit 430 is realized using the memory 202 and / or the storage 203.

ウォレット端末120では、記憶部430に記憶された第1ウォレットアプリケーション(プログラム)がプロセッサ201で実行されることにより、ユーザは、ブロックチェーンネットワークあるいはブロックチェーンネットワークに接続された仮想資産取引所としての仮想資産の取引システムへアクセスして、仮想資産の取引を行うことができる。   In the wallet terminal 120, the first wallet application (program) stored in the storage unit 430 is executed by the processor 201, so that the user can operate the virtual wallet as a blockchain network or a virtual asset exchange connected to the blockchain network. By accessing the asset trading system, it is possible to trade virtual assets.

取引情報作成部421は、第1ウォレットから仮想資産を移動させる取引情報を作成する処理を行う機能を有する。取引情報作成部421は、移動元アドレスに第1アドレスを指定し、移動先アドレスに仮想資産を移動させる任意のアドレスを指定し、さらに移動させる仮想資産の量を指定して、取引情報を作成する。   The transaction information creation unit 421 has a function of creating transaction information for moving a virtual asset from the first wallet. The transaction information creation unit 421 creates transaction information by designating the first address as the source address, designating an arbitrary address to move the virtual asset to the destination address, and further designating the amount of the virtual asset to be moved. I do.

取引情報の作成処理をより具体的に説明する前に、ブロックチェーンネットワーク上における仮想資産のデータの持ち方と取引処理の一例について説明する。仮想資産は、ユーザのみが利用できるように設定されたトランザクションアウトプット(UTXO)として、ブロックチェーン上に記録されるものであり、ウォレット端末120(あるいはサーバ110)は、ブロックチェーンからそのユーザに属するトランザクションアウトプットを集計することで、ユーザの所有する仮想資産を算出する。このようにして集計された仮想資産の総量を「残高」と呼称する。例えば、ユーザが仮想資産により支払いをしようとするときは、ウォレット端末120はブロックチェーンに存在するユーザに属するトランザクションアウトプットのなかから、所望の支払額となるようなトランザクションアウトプットを選択し、その情報とともに仮想資産の移動先(支払先)の識別子を含む取引情報を作成する。そして、ウォレット端末120は、秘密鍵を用いて作成した取引情報に電子署名をしてブロックチェーンネットワークに送信する。電子署名された取引情報がブロックチェーンネットワークに送信されることで、ユーザから支払先へ仮想資産が移動する。より厳密には、ブロックチェーンネットワークに送信された取引情報が新たなブロックに格納され、そのブロックがブロックチェーンに格納されることで、ユーザから支払先へ仮想資産が移動したことがブロックチェーン上に記録され、支払先の者のみが利用できるように設定されたトランザクションアウトプットが新たに生成する。なお、残高は、ユーザ毎にかつ仮想資産の種類ごとに管理されてもよい。   Before describing the transaction information creating process more specifically, an example of how to hold virtual asset data on the blockchain network and an example of the transaction process will be described. The virtual asset is recorded on the blockchain as a transaction output (UTXO) set to be used only by the user, and the wallet terminal 120 (or the server 110) belongs to the user from the blockchain. The virtual assets owned by the user are calculated by totaling the transaction outputs. The total amount of virtual assets thus aggregated is referred to as “balance”. For example, when a user intends to make a payment by using a virtual asset, the wallet terminal 120 selects a transaction output having a desired payment amount from among the transaction outputs belonging to the user existing in the blockchain, and selects the transaction output. Create transaction information including the identifier of the destination (payee) of the virtual asset along with the information. Then, the wallet terminal 120 digitally signs the transaction information created using the secret key and transmits the transaction information to the blockchain network. By transmitting the electronically signed transaction information to the blockchain network, the virtual asset moves from the user to the payee. More precisely, the transaction information sent to the blockchain network is stored in a new block, and the block is stored in the blockchain, so that the virtual asset has been moved from the user to the payee on the blockchain. A new transaction output is generated that is recorded and configured to be available only to the payee. Note that the balance may be managed for each user and for each type of virtual asset.

したがって、取引情報作成部421の取引情報を作成する処理を行う機能は、ブロックチェーンからユーザの利用可能なトランザクションアウトプットを抽出する処理を行う機能と、抽出したトランザクションアウトプットから仮想資産の移動量が所望の量となるように取引情報に記述するトランザクションアウトプットを選択する処理を行う機能と、選択したトランザクションアウトプットと移動先の識別子を一つの取引情報にまとめる処理を行う機能とを含む。なお、ブロックチェーンからユーザの利用可能なトランザクションアウトプットを抽出する処理に加えて、トランザクションアウトプットを集計して得られる仮想資産の残高の算出を行ってもよい。   Therefore, the transaction information creation unit 421 has a function of creating transaction information and a function of extracting a transaction output usable by the user from the blockchain, and a function of moving the virtual asset from the extracted transaction output. The function includes a function of performing a process of selecting a transaction output described in the transaction information so that the transaction amount becomes a desired amount, and a function of performing a process of combining the selected transaction output and the identifier of the transfer destination into one transaction information. Note that, in addition to the process of extracting the transaction output usable by the user from the blockchain, the balance of the virtual asset obtained by totaling the transaction outputs may be calculated.

さらに、取引情報作成部421は、サーバ110において未送信取引情報として記憶される取引情報を作成することができる。なお、取引情報作成部421が未送信取引情報を生成する処理の詳細については、図8、及び図9を用いて後述する。   Furthermore, the transaction information creation unit 421 can create transaction information stored in the server 110 as unsent transaction information. The details of the process in which the transaction information creating unit 421 generates the untransmitted transaction information will be described later with reference to FIGS. 8 and 9.

電子署名部422は、取引情報作成部421が作成した取引情報に秘密鍵を用いて電子署名をする処理を行う機能を有する。電子署名をされた取引情報は、秘密鍵を有するユーザがその仮想資産の移動を承認した取引情報として、ブロックチェーンに格納される。   The electronic signature unit 422 has a function of performing a process of performing an electronic signature on the transaction information created by the transaction information creation unit 421 using a secret key. The transaction information with the electronic signature is stored in the blockchain as transaction information in which the user having the private key has approved the transfer of the virtual asset.

送信部423は、上記のように作成される取引情報のうち、第2アドレス(第2ウォレット)を仮想資産の移動先とする取引情報(すなわち未送信取引情報)をサーバ110へ送信する処理を行う機能と、第3アドレス(第3ウォレット)を仮想資産の移動先とする取引情報をブロックチェーンネットワークあるいはブロックチェーンネットワークに接続された仮想資産取引所としての仮想資産の取引システムへ送信する処理を行う機能とを有する。これにより、第2アドレス(第2ウォレット)を仮想資産の移動先とする取引情報は未送信取引情報としてサーバ110の未送信取引情報DB331に記憶され、第3アドレス(第3ウォレット)を仮想資産の移動先とする取引情報はブロックチェーンネットワークに送信される。   The transmitting unit 423 performs a process of transmitting, to the server 110, transaction information (that is, unsent transaction information) in which the second address (the second wallet) is a destination of the virtual asset among the transaction information created as described above. A function to perform and a process of transmitting transaction information having a third address (third wallet) as a destination of a virtual asset to a blockchain network or a virtual asset exchange system as a virtual asset exchange connected to the blockchain network. Function to perform. As a result, the transaction information with the second address (the second wallet) as the destination of the virtual asset is stored in the unsent transaction information DB 331 of the server 110 as the unsent transaction information, and the third address (the third wallet) is assigned to the virtual asset. Is sent to the blockchain network.

記憶部430は、第1実施形態に係るウォレット端末120が実行するプログラムを格納する。また、記憶部430は、未送信取引情報DB431と、送信済取引情報DB432と、ルールDB433とを記憶してもよい。さらに記憶部430は、サーバ110やブロックチェーンネットワークから受信したあらゆる情報を一時的に格納することもできる。なお、未送信取引情報DB431はサーバ110の未送信取引情報DB331に相当し、送信済取引情報DB432はサーバ110の送信済取引情報DB432に相当し、ルールDB433はサーバ110のルールDB333に相当する。   The storage unit 430 stores a program executed by the wallet terminal 120 according to the first embodiment. Further, storage unit 430 may store unsent transaction information DB 431, transmitted transaction information DB 432, and rule DB 433. Further, the storage unit 430 can temporarily store any information received from the server 110 or the blockchain network. The unsent transaction information DB 431 corresponds to the unsent transaction information DB 331 of the server 110, the sent transaction information DB 432 corresponds to the sent transaction information DB 432 of the server 110, and the rule DB 433 corresponds to the rule DB 333 of the server 110.

<第1実施形態の動作処理>
図8から図9を参照し、第1実施形態に係る情報処理装置の処理について説明する。図8は、第1実施形態における通信システム1が行う処理を示すシーケンス図の一例を示し、図9は、第1実施形態における情報処理装置における処理のフローチャートの一例を示す。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよく、また、適宜、ステップの省略、置換、および追加が可能である。
<Operation Processing of First Embodiment>
The processing of the information processing apparatus according to the first embodiment will be described with reference to FIGS. FIG. 8 illustrates an example of a sequence diagram illustrating a process performed by the communication system 1 according to the first embodiment, and FIG. 9 illustrates an example of a flowchart of a process in the information processing apparatus according to the first embodiment. Note that the processing procedure described below is merely an example, and each processing may be changed as much as possible within the scope of the technical idea of the present disclosure, and steps may be omitted, replaced, and added as appropriate. is there.

(未送信取引情報を記憶する処理)
まず、未送信取引情報を記憶する処理の流れを、図8および9を参照しながら説明する。ステップS802,S902において、サーバ110の未送信取引情報DB331は、第1ウォレットを所有するユーザの秘密鍵により電子署名されたブロックチェーンネットワークに送信する前の取引情報であって、第1アドレスを移動元とし第2アドレスを移動先とする一又は複数の未送信取引情報を取得し、記憶する。この具体的方法としては、第1ウォレットとして機能するウォレット端末120の取引情報作成部421および電子署名部422が未送信取引情報を作成し、送信部423が作成した未送信取引情報をサーバ110へ送信し(ステップS801,S901)、サーバ110がこれを受け付けて未送信取引情報DB331に記憶することが考えられる。
(Process to store unsent transaction information)
First, the flow of processing for storing the untransmitted transaction information will be described with reference to FIGS. In steps S802 and S902, the unsent transaction information DB 331 of the server 110 is transaction information before transmission to the blockchain network electronically signed with the private key of the user who owns the first wallet, and the first address is moved. One or a plurality of unsent transaction information having the source as the destination and the second address as the destination is obtained and stored. As a specific method, the transaction information creation unit 421 and the electronic signature unit 422 of the wallet terminal 120 functioning as a first wallet create unsent transaction information, and send the unsent transaction information created by the transmission unit 423 to the server 110. It is conceivable that the server 110 receives the request (steps S801 and S901) and stores it in the untransmitted transaction information DB 331.

ここで、未送信取引情報の「未送信」とは、ブロックチェーンネットワークに対して電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、当該ブロックチェーンネットワークに取引情報が送信されていないことを意味する。したがって、例えば、ステップS801のように、単にウォレット端末120からサーバ110へネットワーク130を介して取引情報を送信したとしても、その取引情報がブロックチェーンネットワークに対して送信されブロックチェーンに格納されない限り、当該取引情報は未送信取引情報である。   Here, “unsent” of the unsent transaction information refers to a transaction system in which the balance of the virtual asset of the wallet fluctuates by transmitting transaction information electronically signed to the blockchain network. This means that no transaction information has been sent. Therefore, for example, as in step S801, even if the transaction information is simply transmitted from the wallet terminal 120 to the server 110 via the network 130, unless the transaction information is transmitted to the blockchain network and stored in the blockchain, The transaction information is unsent transaction information.

未送信取引情報が指定する移動させる仮想資産の量は、未送信取引情報を作成するときの第1ウォレットの仮想資産の残高に基づいて設定することができる。具体的には、未送信取引情報を作成するときの第1ウォレットの仮想資産の残高に対し、90%、80%、70%・・・等の値を移動させる仮想資産の量として指定することができる。なお、不正な取引情報に基づく取引の実行により第1ウォレットから流出する仮想資産の量は予測できない。そのため、柔軟に仮想資産を保全できるよう、一度に作成する未送信取引情報は1つに限られず、例えば、残高の20%、残高の30%、残高の40%の値を移動させる仮想資産の量として指定する複数の未送信取引情報を一度に作成してもよい。   The amount of virtual assets to be moved specified by the unsent transaction information can be set based on the balance of the virtual asset of the first wallet when creating the unsent transaction information. Specifically, a value such as 90%, 80%, 70%, etc. is specified as the amount of the virtual asset to be moved with respect to the virtual asset balance of the first wallet when creating the unsent transaction information. Can be. Note that the amount of virtual assets flowing out of the first wallet due to execution of a transaction based on the illegal transaction information cannot be predicted. Therefore, in order to flexibly maintain the virtual asset, the unsent transaction information created at a time is not limited to one, and for example, the virtual asset of which the value of 20% of the balance, 30% of the balance, and 40% of the balance is moved is transferred. A plurality of pieces of unsent transaction information specified as a quantity may be created at a time.

また、第1ウォレットの残高は仮想資産の取引状況に応じて随時変化しうるため、サーバ110は定期的に未送信取引情報を取得し、未送信取引情報DB331には取得された複数の未送信取引情報を蓄積することができる。この具体的方法としては、例えば、ウォレット端末120が所定の時間周期毎、例えば、1日毎に未送信取引情報を作成してサーバ110に送ることや、ウォレット端末120にユーザがログインする度に未送信取引情報を作成してサーバ110に送ることが考えられる。また、サーバ110がウォレット端末120へ未送信取引情報の送信を要求する通知を発信し、当該発信を受領したタイミングでウォレット端末120が未送信取引情報を作成し、サーバ110へ送信してもよい。サーバ110がウォレット端末120へ未送信取引情報の送信を要求する通知を発信するタイミングとしては、所定の時間周期毎またはユーザからの指示を一定期間以上受信しない場合が挙げられる。   Further, since the balance of the first wallet can be changed at any time according to the transaction status of the virtual asset, the server 110 periodically acquires the unsent transaction information, and stores the acquired unsent transaction information in the unsent transaction information DB 331. Transaction information can be stored. As a specific method, for example, the wallet terminal 120 creates unsent transaction information at a predetermined time period, for example, every day, and sends it to the server 110. It is conceivable that transmission transaction information is created and sent to the server 110. Further, server 110 may transmit a notification requesting transmission of untransmitted transaction information to wallet terminal 120, and wallet terminal 120 may generate the untransmitted transaction information at the timing of receiving the transmission and transmit it to server 110. . The timing at which the server 110 transmits a notification requesting the transmission of the untransmitted transaction information to the wallet terminal 120 includes a case where the server 110 does not receive an instruction from the user at a predetermined time period or for a certain period or more.

上記のような処理を行うことにより、未送信取引情報DB331は一又は複数の未送信取引情報を記憶し、以下の処理において選択されるまでブロックチェーンネットワークに対して送信されない状態で保持する。   By performing the above-described processing, the unsent transaction information DB 331 stores one or a plurality of unsent transaction information, and holds the unsent transaction information in a state where it is not transmitted to the blockchain network until selected in the following processing.

(送信済取引情報を受信する処理)
次に、送信済取引情報を受信する処理の流れを、図8および9を参照しながら説明する。ステップS803,S903において、サーバ110の受信部321は、秘密鍵により電子署名されてブロックチェーンネットワークに送信された仮想資産の取引情報であって、第1アドレスを移動元とし第3アドレスを移動先とする送信済取引情報を受信し、送信済取引情報DB332に渡す。これにより、送信済取引情報DB332は、ブロックチェーン(分散型台帳)のブロックに格納された取引情報を有する。
(Process to receive sent transaction information)
Next, a flow of a process of receiving the transmitted transaction information will be described with reference to FIGS. In steps S803 and S903, the receiving unit 321 of the server 110 stores the transaction information of the virtual asset, which is digitally signed with the secret key and transmitted to the blockchain network, using the first address as the source and the third address as the destination. Is transmitted to the transmitted transaction information DB 332. Thereby, the transmitted transaction information DB 332 has the transaction information stored in the block of the blockchain (distributed ledger).

(未送信取引情報を送信する処理)
最後に、所定の要件を満たす場合に、未送信取引情報をブロックチェーンネットワークに送信する処理の流れを、図8および9を参照しながら説明する。S806,S906において、送信部325は、未送信取引情報をブロックチェーンネットワークに送信する。これにより、選択された未送信取引情報は、送信済取引情報としてブロックチェーンに格納され、秘密鍵が第三者に知得された第1ウォレットから第2ウォレットへ仮想資産を退避させ、仮想資産の保全を図ることができる。
(Process for sending unsent transaction information)
Lastly, a description will be given, with reference to FIGS. 8 and 9, of a flow of processing for transmitting untransmitted transaction information to the blockchain network when predetermined requirements are satisfied. In S806 and S906, the transmitting unit 325 transmits the untransmitted transaction information to the blockchain network. As a result, the selected unsent transaction information is stored in the blockchain as sent transaction information, and the virtual key is evacuated from the first wallet to the second wallet whose private key is known to the third party, and the virtual asset is Can be maintained.

送信部325が未送信取引情報を送信する処理を行うための条件は、ルールDB333に記憶されている。具体的には、ルールDB333に記憶された条件に基づいて、検知部323が、送信済取引情報が不正であることを検知した場合(後述する実施例1)や、ユーザが秘密鍵を忘失したことを推定できる場合(後述する実施例2)に(ステップS904)、未送信取引情報を送信する処理が行われる。   The conditions for the transmitting unit 325 to perform the process of transmitting the untransmitted transaction information are stored in the rule DB 333. Specifically, based on the conditions stored in the rule DB 333, the detecting unit 323 detects that the transmitted transaction information is invalid (Example 1 described later) or the user has forgotten the secret key. If it can be estimated (Example 2 described later) (Step S904), a process of transmitting the untransmitted transaction information is performed.

この際、S806,S906に先立って、S805,S905において、サーバ110の選択部324は、未送信取引情報DB331に記憶した未送信取引情報のなかから、送信する未送信取引情報として、第1アドレスを移動先とする取引情報に指定される仮想資産の総額(すなわち、第1アドレスに紐づく仮想資産の残高)以下の仮想資産を移動させる未送信取引情報を選択することができる。   At this time, prior to S806 and S906, in S805 and S905, the selection unit 324 of the server 110 selects the first address as the unsent transaction information to be transmitted from the unsent transaction information stored in the unsent transaction information DB 331. Can be selected as untransferred transaction information for transferring a virtual asset equal to or less than the total amount of virtual assets specified in the transaction information whose destination is (i.e., the balance of the virtual asset associated with the first address).

このとき、未送信取引情報DB331から抽出される未送信取引情報が複数ある場合には、選択部324は、不正な取引情報による第1ウォレットからの仮想資産の流出被害を可能な限り抑える観点から未送信取引情報を選択することが望ましい。具体的には、第1ウォレットから第2ウォレットへ最も多くの仮想資産を移動させる一の未送信取引情報を選択することや、移動させる仮想資産の合計値が最も多くなる複数の未送信取引情報を組み合わせて選択することが考えられる。また、同様の観点から、受信した時系列順の最も新しい未送信取引情報を選択してもよい。第1アドレスを移動先とする取引情報に指定される仮想資産の総量(すなわち、第1アドレスに紐づく仮想資産の残高)以下の仮想資産を移動させる未送信取引情報を選択する。   At this time, when there is a plurality of unsent transaction information extracted from the unsent transaction information DB 331, the selection unit 324 determines from the viewpoint of minimizing the outflow damage of the virtual asset from the first wallet due to the unauthorized transaction information. It is desirable to select unsent transaction information. More specifically, selecting one piece of unsent transaction information for moving the largest number of virtual assets from the first wallet to the second wallet, and selecting a plurality of pieces of unsent transaction information for which the total value of the virtual assets to be moved is the largest May be selected in combination. In addition, from the same viewpoint, the most recent unsent transaction information received in chronological order may be selected. The non-transmitted transaction information to which the virtual asset whose total is equal to or less than the total amount of the virtual asset specified in the transaction information whose destination is the first address (that is, the balance of the virtual asset associated with the first address) is selected.

<<第1実施例>>
続いて、第1実施形態の第1実施例について説明する。第1実施形態の第1実施例は、ブロックチェーンネットワークに電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、サーバ110が第1ウォレットを所有するユーザ自らが秘密鍵により電子署名していない取引情報がブロックチェーンネットワークに送信されたことを検知した場合に、第1ウォレットが管理する仮想資産をより安全な第2ウォレットへ移動させる取引情報をブロックチェーンネットワークに送信することにより、第1ウォレットが管理する仮想資産を保全する処理を行う実施例である。
<< 1st Example >>
Subsequently, a first example of the first embodiment will be described. In a first example of the first embodiment, in a transaction system in which the balance of a virtual asset of a wallet changes by transmitting transaction information electronically signed to a blockchain network, a server 110 owns a first wallet by a user himself / herself. Detects that transaction information that is not digitally signed with a secret key is transmitted to the blockchain network, and transfers the transaction information that moves the virtual asset managed by the first wallet to the more secure second wallet. This is an example of performing processing for preserving virtual assets managed by a first wallet by transmitting the virtual assets to a virtual asset.

以下の説明において、第1実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第1実施形態と同様の作用および効果についても、説明を省略する。以下、第1実施形態との相違点を中心に説明する。   In the following description, the same reference numerals denote the same functional components as in the first embodiment, and a description thereof will be omitted. The description of the same operation and effect as in the first embodiment will be omitted. Hereinafter, the description will focus on the differences from the first embodiment.

この第1実施例では、サーバ110の検知部323が、送信済取引情報DB332に記憶された取引情報のなかに不正な取引情報を検知した場合に、選択部324が、第1ウォレットの管理する仮想資産の残高を確認するとともに、予め記憶した未送信取引情報のなかから当該残高以下の仮想資産を第2ウォレットへ移動させる取引情報を選択し、送信部325が選択した取引情報をブロックチェーンネットワークに送信する。   In the first embodiment, when the detection unit 323 of the server 110 detects illegal transaction information in the transaction information stored in the transmitted transaction information DB 332, the selection unit 324 manages the first wallet. While confirming the balance of the virtual asset, the transaction information for moving the virtual asset having the balance or less to the second wallet is selected from the unsent transaction information stored in advance, and the transaction information selected by the transmission unit 325 is transferred to the blockchain network. Send to

<<第1実施例の効果>>
かかる第1実施例によれば、第1ウォレットの秘密鍵を第三者に知得された場合であっても、第1ウォレットに残った仮想資産を第2ウォレットになめらかに退避させることができる。これにより、仮想資産の流出を回避することができ、仮想資産の保全を実現することができる。
<< Effect of First Embodiment >>
According to the first embodiment, even if the secret key of the first wallet is obtained by a third party, the virtual assets remaining in the first wallet can be smoothly evacuated to the second wallet. . As a result, outflow of virtual assets can be avoided, and maintenance of virtual assets can be realized.

<第1実施例の機能構成>
この第1実施例におけるサーバ110及び端末120の機能構成は、第1実施形態と同様とすることができる。
<Functional Configuration of First Embodiment>
The functional configuration of the server 110 and the terminal 120 in the first embodiment can be the same as in the first embodiment.

<第1実施例の動作処理>
図10から図11を参照し、第1実施例に係る情報処理装置の処理について説明する。図10は、第1実施例における通信システム1が行う処理を示すシーケンス図の一例を示し、図11は、第1実施例における情報処理装置における処理のフローチャートの一例を示す。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよく、また、適宜、ステップの省略、置換、および追加が可能である。
<Operation Processing of First Embodiment>
The processing of the information processing apparatus according to the first embodiment will be described with reference to FIGS. FIG. 10 illustrates an example of a sequence diagram illustrating a process performed by the communication system 1 according to the first embodiment, and FIG. 11 illustrates an example of a flowchart of a process in the information processing apparatus according to the first embodiment. Note that the processing procedure described below is merely an example, and each processing may be changed as much as possible within the scope of the technical idea of the present disclosure, and steps may be omitted, replaced, and added as appropriate. is there.

この第1実施例における動作処理は、ステップS904において、検知部323がルールDB333に記憶された条件に基づいて送信済取引情報が不正であることを検知する処理を必須とするという点以外は、第1実施形態と同様とすることができる。   The operation processing in the first embodiment is different from the operation processing in step S904 in that the detection unit 323 must perform processing for detecting that the transmitted transaction information is invalid based on the conditions stored in the rule DB 333, It can be the same as the first embodiment.

(送信済取引情報が不正であることを検知する処理)
送信済取引情報が不正であることを検知する処理の流れを、図10および11を参照しながら説明する。ステップS1003,S1103において、サーバ110の受信部321は、秘密鍵により電子署名されてブロックチェーンネットワークに送信された仮想資産の取引情報であって、第1アドレスを移動元とし第3アドレスを移動先とする送信済取引情報を受信し、送信済取引情報DB332に渡す。
(Process to detect that sent transaction information is incorrect)
The flow of processing for detecting that the transmitted transaction information is incorrect will be described with reference to FIGS. In steps S1003 and S1103, the receiving unit 321 of the server 110 stores the transaction information of the virtual asset digitally signed with the private key and transmitted to the blockchain network, using the first address as the source and the third address as the destination. Is transmitted to the transmitted transaction information DB 332.

次いで、検知部323は、送信済取引情報DB332に記憶された取引情報のなかから、第1アドレスを仮想資産の移動元としかつ第2アドレスを移動先としない取引情報を抽出し、第1アドレスを移動元とし第3アドレスを移動先とする送信済取引情報を特定する。   Next, the detecting unit 323 extracts, from the transaction information stored in the transmitted transaction information DB 332, transaction information in which the first address is the source of the virtual asset and the second address is not the destination, and the first address is extracted. And the transmitted transaction information with the third address as the destination.

ここで、第1アドレスを移動元とし第3アドレスを移動先とする送信済取引情報は、ユーザの秘密鍵が第三者に知られていない状態においては、ユーザの所有する第1ウォレットから取引相手の所有する第3ウォレットへ向けた真正な取引情報のみを含むものと考えられる。一方で、第三者がユーザの秘密鍵を何らかの方法で知り得た場合には、その第三者はユーザの許可を得ることなく秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信することができ、これにより、ユーザの所有する第1ウォレットからユーザが意図しない第三者が所有する第3ウォレットへ仮想資産を流出させることができる。したがって、ユーザの秘密鍵が第三者に知られた場合にあっては、第1アドレスを移動元とし第3アドレスを移動先とする送信済取引情報には、上記真正な取引情報に加えて、ユーザの所有する第1ウォレットからユーザが意図しない第三者が所有する第3ウォレットへ向けた不正な取引情報が含まれ得る。   Here, the transmitted transaction information having the first address as the source and the third address as the destination is obtained from the first wallet owned by the user when the user's private key is not known to a third party. It is considered that it contains only genuine transaction information for the third wallet owned by the other party. On the other hand, if a third party knows the user's private key in any way, the third party must transmit transaction information electronically signed with the private key to the blockchain network without the user's permission. Thereby, the virtual asset can be leaked from the first wallet owned by the user to the third wallet owned by a third party not intended by the user. Therefore, when the user's private key is known to a third party, the transmitted transaction information having the first address as the source and the third address as the destination includes the authentic transaction information in addition to the authentic transaction information. And unauthorized transaction information from the first wallet owned by the user to the third wallet owned by a third party not intended by the user.

サーバ110の検知部323は、受信部321が受信した送信済取引情報が所定の要件に従っていない場合に、該送信済取引情報が不正であることを検知する(S1004,S1104)。この具体的方法としては、第1ウォレットとして機能するウォレット端末120の取引情報作成部421が作成する取引情報の作成ルールを予め決めてサーバ110と共有しておき、送信済取引情報DB332が記憶した送信済取引情報の中で、この作成ルールに従わない送信済取引情報を不正なものとして検知することが考えられる。なお、この作成ルールは、端末120においては、ルールDB433が記憶し、サーバ110においてはルールDB333が記憶する。   When the transmitted transaction information received by the receiving unit 321 does not conform to the predetermined requirements, the detection unit 323 of the server 110 detects that the transmitted transaction information is invalid (S1004, S1104). As a specific method, a transaction information creation rule created by the transaction information creation unit 421 of the wallet terminal 120 functioning as the first wallet is determined in advance, shared with the server 110, and stored in the transmitted transaction information DB 332. It is conceivable that among the transmitted transaction information, the transmitted transaction information that does not comply with the creation rule is detected as being illegal. Note that, in the terminal 120, the creation rule is stored in the rule DB 433, and in the server 110, the rule DB 333 is stored.

取引情報の作成ルールとしては、第1ウォレットからの仮想資産の移動量を予め決めておくことや、第1ウォレットからの仮想資産の移動先を予め決めておくことが考えられる。このような要件を用いた不正検知の具体的方法としては、一回当たりの送信済取引情報によって移動する仮想資産の量が所定の値を超える場合に、該送信済取引情報が不正であることを検知することや、所定の期間に受信した送信済取引情報によって移動する仮想資産の総量が所定の値を超える場合に、該送信済取引情報が不正であることを検知することが考えられる。あるいは、送信済取引情報に含まれる仮想資産の移動先(第3ウォレット)が予め決めた移動先とは異なる場合に、該送信済取引情報が不正であることを検知することが考えられる。   As the rules for creating the transaction information, it is conceivable that the amount of movement of the virtual asset from the first wallet is determined in advance, or the destination of the virtual asset from the first wallet is determined in advance. As a specific method of fraud detection using such requirements, when the amount of virtual assets moved by one sent transaction information exceeds a predetermined value, the transmitted transaction information is fraudulent. Or if the total amount of virtual assets moved by the transmitted transaction information received during a predetermined period exceeds a predetermined value, it is possible to detect that the transmitted transaction information is invalid. Alternatively, when the destination (third wallet) of the virtual asset included in the transmitted transaction information is different from the predetermined destination, it may be detected that the transmitted transaction information is invalid.

また、送信済取引情報が不正であることを検知する他の方法としては、第1ウォレットとして機能するウォレット端末120の送信部423が秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信した場合に、これと同時にまたは前後して、サーバ110の取引管理部322に対してもブロックチェーンネットワークに送信した取引情報に関する通知を送信する方法が考えられる。ユーザ自身により電子署名され送信された真正な取引情報の場合、サーバ110は、ウォレット端末120から取引管理部322が受信した通知と、ブロックチェーンネットワークから受信部321が受信した送信済取引情報の2つを受信する。一方、第三者が電子署名して送信した不正な取引情報の場合、サーバ110はブロックチェーンネットワークから受信部321が受信した送信済取引情報のみを受信する。したがって、この方法においては、送信済取引情報DB332のなかに、取引管理部322が送信部423から受け付けていない取引情報が含まれる場合には、検知部323は該送信済取引情報が不正であることを検知することができる。   Another method for detecting that the transmitted transaction information is invalid is as follows. When the transmitting unit 423 of the wallet terminal 120 functioning as the first wallet transmits the transaction information electronically signed with the secret key to the blockchain network. In addition, a method of transmitting a notification regarding the transaction information transmitted to the blockchain network to the transaction management unit 322 of the server 110 at the same time or before or after this is considered. In the case of the genuine transaction information electronically signed and transmitted by the user himself, the server 110 transmits the transaction information received from the wallet terminal 120 by the transaction management unit 322 and the transmitted transaction information received by the reception unit 321 from the blockchain network. To receive one. On the other hand, in the case of unauthorized transaction information transmitted by a third party with an electronic signature, the server 110 receives only the transmitted transaction information received by the receiving unit 321 from the blockchain network. Therefore, in this method, when the transmitted transaction information DB 332 includes transaction information that the transaction management unit 322 has not received from the transmission unit 423, the detection unit 323 determines that the transmitted transaction information is incorrect. Can be detected.

<<第2実施例>>
続いて、第1実施形態の第2実施例について説明する。第1実施形態の第2実施例は、ブロックチェーンネットワークに電子署名された取引情報を送信することによりウォレットの仮想資産の残高が変動する取引システムにおいて、ユーザが何らかの理由により秘密鍵を忘失し、実質上仮想資産が消失した状態になった場合に、第1ウォレットが管理する仮想資産を第2ウォレットへ仮想資産を移動させる取引情報をブロックチェーンネットワークに送信することにより、第1ウォレットが管理する仮想資産を保全する実施形態である。
<< 2nd Example >>
Subsequently, a second example of the first embodiment will be described. In a second example of the first embodiment, in a transaction system in which the balance of a wallet virtual asset fluctuates by transmitting transaction information electronically signed to a blockchain network, a user forgets a secret key for some reason, When the virtual asset is substantially lost, the first wallet manages the virtual asset managed by the first wallet by transmitting transaction information for moving the virtual asset to the second wallet to the blockchain network. This is an embodiment for preserving virtual assets.

以下の説明において、第1実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第1実施形態と同様の作用および効果についても、説明を省略する。以下、第1実施形態との相違点を中心に説明する。   In the following description, the same reference numerals denote the same functional components as in the first embodiment, and a description thereof will be omitted. The description of the same operation and effect as in the first embodiment will be omitted. Hereinafter, the description will focus on the differences from the first embodiment.

この第2実施例では、サーバ110の選択部324は、ユーザからの指示を一定期間以上受信しない場合、又は前記ユーザからの指示を受信した場合に、第1ウォレットの管理する仮想資産の残高を確認するとともに、予め記憶した未送信取引情報のなかから、当該残高以下の仮想資産を第2ウォレットへ移動させる取引情報を選択し、これをブロックチェーンネットワークに送信する。   In the second embodiment, when the instruction from the user is not received for a certain period of time or when the instruction from the user is received, the selection unit 324 of the server 110 determines the balance of the virtual asset managed by the first wallet. At the same time, the transaction information for moving the virtual asset whose balance is equal to or less than the balance to the second wallet is selected from the pre-stored untransmitted transaction information, and transmitted to the blockchain network.

<第2実施例の効果>
かかる第2実施例によれば、ユーザが第1ウォレットの秘密鍵を忘失した場合であっても、第1ウォレットに残った仮想資産を第2ウォレットになめらかに退避させることができる。これにより、仮想資産の消失を回避することができ、仮想資産の保全を実現することができる。
<Effect of Second Embodiment>
According to the second embodiment, even when the user has forgotten the secret key of the first wallet, the virtual assets remaining in the first wallet can be smoothly evacuated to the second wallet. As a result, it is possible to avoid the disappearance of the virtual asset, and it is possible to realize the maintenance of the virtual asset.

また、第2実施例によれば、秘密鍵を忘失した場合のほかにも、ユーザが第1ウォレットの秘密鍵が第三者に知得された恐れがあるとの疑いを抱いた場合であって、未だ具体的に不正な取引情報に基づく仮想資産の流出被害を受ける前の状態においても、第1ウォレットに残った仮想資産を第2ウォレットになめらかに退避させることができる。これにより、仮想資産の流出を予防することができる。   Further, according to the second embodiment, in addition to the case where the secret key is forgotten, there is a case where the user suspects that the secret key of the first wallet may have been obtained by a third party. Thus, even in a state before the virtual asset is leaked out based on the illegal transaction information, the virtual asset remaining in the first wallet can be smoothly evacuated to the second wallet. As a result, the outflow of virtual assets can be prevented.

<第2実施例の機能構成>
この第2実施例におけるサーバ110及び端末120の機能構成は、不正な取引情報の検知に関する機能部を必須としないという点以外は、第1実施形態と同様とすることができる。
<Functional Configuration of Second Embodiment>
The functional configuration of the server 110 and the terminal 120 in the second embodiment can be the same as that of the first embodiment except that a functional unit related to detection of unauthorized transaction information is not essential.

すなわち、サーバ110の機能構成において、取引管理部322と検知部323は必ずしも必要ではないし、受信部321は第1ウォレットの仮想資産の残高を算出する処理を行う機能を有すれば、仮想資産の取引システムから送信済取引情報を受信する処理を行う機能は必ずしも必要ではない。また、選択部324は、ユーザからの指示を一定期間以上受信しない場合、又は端末120からユーザの指示を受信した場合に受信した送信済取引情報に基づいて第1ウォレットの仮想資産の残高を把握する処理、記憶した未送信取引情報のなかから、第1ウォレットの仮想資産の残高以下の仮想資産を移動させる未送信取引情報を選択する処理を行う機能を有するものであればよい。   That is, in the functional configuration of the server 110, the transaction management unit 322 and the detection unit 323 are not necessarily required, and if the reception unit 321 has a function of calculating the balance of the virtual asset of the first wallet, The function of performing the process of receiving the transmitted transaction information from the transaction system is not always necessary. Further, the selection unit 324 grasps the balance of the virtual asset of the first wallet based on the transmitted transaction information received when the instruction from the user is not received for a certain period of time or more, or when the instruction from the user is received from the terminal 120. Any processing may be used as long as it has a function of selecting, from among the stored unsent transaction information, the unsent transaction information for moving a virtual asset equal to or less than the virtual asset balance of the first wallet.

<第2実施例の動作処理>
図12から図13を参照し、第2実施例に係る情報処理装置の処理について説明する。図12は、第2実施例における通信システム1が行う処理を示すシーケンス図の一例を示し、図13は、第2実施例における情報処理装置における処理のフローチャートの一例を示す。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよく、また、適宜、ステップの省略、置換、および追加が可能である。
<Operation Processing of Second Embodiment>
The processing of the information processing apparatus according to the second embodiment will be described with reference to FIGS. FIG. 12 illustrates an example of a sequence diagram illustrating a process performed by the communication system 1 according to the second embodiment, and FIG. 13 illustrates an example of a flowchart of a process performed by the information processing apparatus according to the second embodiment. Note that the processing procedure described below is merely an example, and each processing may be changed as much as possible within the scope of the technical idea of the present disclosure, and steps may be omitted, replaced, and added as appropriate. is there.

この第2実施例における動作処理は、ステップS904において、ユーザが秘密鍵を忘失したことを検知する処理を必須とするという点以外は、第1実施形態と同様とすることができる。   The operation processing in the second embodiment can be the same as that in the first embodiment except that in step S904, a process of detecting that the user has forgotten the secret key is essential.

すなわち、未送信取引情報を記憶する処理のあとは、ユーザが秘密鍵を忘失したことを検知する処理を行い、ユーザが秘密鍵を忘失したと推定できる場合には、未送信取引情報を送信する処理を行うことができる。ここで、未送信取引情報を送信する処理においては、ユーザからの指示を一定期間以上受信しない場合、又は前記ユーザからの指示を受信した場合に、ユーザが秘密鍵を忘失したと推定し、未送信取引情報をブロックチェーンネットワークに送信する(ステップS1204、S805、S806、S1304、S905、S906)。   That is, after the process of storing the unsent transaction information, a process of detecting that the user has forgotten the secret key is performed, and if it is estimated that the user has forgotten the secret key, the unsent transaction information is transmitted. Processing can be performed. Here, in the process of transmitting the untransmitted transaction information, it is presumed that the user has forgotten the secret key when the instruction from the user is not received for a certain period of time or more, or when the instruction from the user is received. The transmission transaction information is transmitted to the blockchain network (steps S1204, S805, S806, S1304, S905, S906).

<<第3実施例>>
続いて、第1実施形態の第3実施例について説明する。第1実施形態の第3実施例は、端末120に代わってあるいは加えて、サーバ110がユーザの秘密鍵が記録された第1ウォレットの管理を行い、未送信取引情報を作成する処理を行う実施例である。以下の説明において、上記第1実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第1実施形態と同様の作用および効果についても、説明を省略する。以下、第1実施形態との相違点を中心に説明する。
<<< 3rd Example >>>
Subsequently, a third example of the first embodiment will be described. In the third example of the first embodiment, instead of or in addition to the terminal 120, the server 110 manages the first wallet in which the user's secret key is recorded, and performs processing for creating unsent transaction information. It is an example. In the following description, the same reference numerals are given to the same functional components as those in the first embodiment, and the description will be omitted. The description of the same operation and effect as in the first embodiment will be omitted. Hereinafter, the description will focus on the differences from the first embodiment.

<<第3実施例の効果>>
この第1実施形態の第3実施例によれば、端末120が未送信取引情報を作成してサーバ110へ送信する代わりに、サーバ110が未送信取引情報を作成し、記憶することができる。そのため、ユーザが端末120に長期間アクセスしないような場合でも、サーバ110の未送信取引情報DB331に未送信取引情報を蓄積することができる。これにより、第1ウォレットの秘密鍵を知り得た第三者が第1ウォレットから仮想資産の一部を流出させた場合に、第1ウォレットに残った仮想資産を第2ウォレットになめらかに退避させることができる。
<< Effect of Third Embodiment >>
According to the third example of the first embodiment, instead of the terminal 120 creating and transmitting the unsent transaction information to the server 110, the server 110 can create and store the unsent transaction information. Therefore, even when the user does not access the terminal 120 for a long time, the unsent transaction information can be stored in the unsent transaction information DB 331 of the server 110. Thus, when a third party who has learned the secret key of the first wallet leaks a part of the virtual asset from the first wallet, the virtual asset remaining in the first wallet is smoothly saved to the second wallet. be able to.

<<第3実施例の機能構成>>
(1)サーバの機能構成
この第3実施例では、サーバ110の制御部313は、ユーザの秘密鍵が記録された第1ウォレットを管理するウォレット管理部と、取引情報作成部と、電子署名部とをさらに有する。
<< Functional Configuration of Third Embodiment >>
(1) Functional Configuration of Server In the third embodiment, the control unit 313 of the server 110 includes a wallet management unit that manages a first wallet in which a user's secret key is recorded, a transaction information creation unit, and an electronic signature unit. And

ウォレット管理部は、第1ウォレットに記録されたユーザの秘密鍵が第三者に知得されないよう管理する機能を有する。また、制御部313が有する取引情報作成部および電子署名部は、上記取引情報作成部421および電子署名部422と同様の機能を有する。これにより、サーバ110としては端末120によらずとも未送信取引情報を作成し記憶する処理を行うことができる。   The wallet management unit has a function of managing the secret key of the user recorded in the first wallet so that it cannot be known to a third party. The transaction information creation unit and the electronic signature unit of the control unit 313 have the same functions as the transaction information creation unit 421 and the electronic signature unit 422. Thereby, the server 110 can perform the process of creating and storing the unsent transaction information regardless of the terminal 120.

(2)端末の機能構成
端末120は、上記第1実施形態と同様の機能部を有し、ウォレット端末として機能する。すなわち、第3実施例においては、秘密鍵が端末120とサーバ110の両方で管理される。これにより、端末120としてはサーバ110によらずとも取引情報の作成及び取引情報への電子署名を行い、第2ウォレットを仮想資産の移動先とする取引情報をサーバ110へ送信する処理と、第3ウォレットを仮想資産の移動先とする取引情報をブロックチェーンネットワークあるいはブロックチェーンネットワークに接続された仮想資産取引所としての仮想資産の取引システムへ送信する処理を行うことができる。
(2) Functional Configuration of Terminal The terminal 120 has the same functional units as in the first embodiment, and functions as a wallet terminal. That is, in the third embodiment, the secret key is managed by both the terminal 120 and the server 110. Thereby, the terminal 120 creates the transaction information and performs the electronic signature on the transaction information without using the server 110, and transmits the transaction information with the second wallet as the destination of the virtual asset to the server 110; It is possible to perform a process of transmitting the transaction information in which the three wallets are the destination of the virtual asset to a blockchain network or a virtual asset trading system as a virtual asset exchange connected to the blockchain network.

<<第3実施例の動作処理>>
未送信取引情報を記憶する処理において、第1実施形態では、ウォレット端末120が未送信取引情報を作成し、サーバ110がこれを受け付けて未送信取引情報DB331に記憶していたが、第3実施例では、サーバ110も独自に未送信取引情報を作成し、記憶することができる。したがって、未送信取引情報を記憶する処理をサーバ110が単独で行うことも可能となったという点で、当該処理が冗長化されている。これにより、ウォレット端末120から未送信取引情報を受信しない場合であっても、未送信取引情報DB331は未送信取引情報を記録することができる。
<< Operation Process of Third Embodiment >>
In the process of storing the unsent transaction information in the first embodiment, the wallet terminal 120 creates the unsent transaction information, and the server 110 receives the unsent transaction information and stores it in the unsent transaction information DB 331. In the example, server 110 may also independently create and store unsent transaction information. Therefore, the process for storing the untransmitted transaction information can be performed independently by the server 110, so that the process is made redundant. Thereby, even when the unsent transaction information is not received from the wallet terminal 120, the unsent transaction information DB 331 can record the unsent transaction information.

上記処理において未送信取引情報が指定する移動させる仮想資産の量については、第1実施形態と同様とすることができる。さらに、未送信取引情報を作成するタイミングとしては、サーバ110が所定の時間周期毎、例えば、1日毎に未送信取引情報を作成し、未送信取引情報DB331に蓄積することが考えられる。   The amount of virtual assets to be moved specified by the untransmitted transaction information in the above processing can be the same as in the first embodiment. Further, as the timing for creating the unsent transaction information, it is conceivable that the server 110 creates the unsent transaction information every predetermined time period, for example, every day, and stores it in the unsent transaction information DB 331.

<<第4実施例>>
次に、第1実施形態の第4実施例について説明する。第1実施形態の第4実施例は、サーバ110に代わってあるいは加えて、端末120が未送信取引情報を記憶し、送信する処理を行う実施例である。以下の説明において、上記第1実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第1実施形態と同様の作用および効果についても、説明を省略する。以下、第1実施形態との相違点を中心に説明する。
<< 4th Example >>
Next, a fourth example of the first embodiment will be described. The fourth example of the first embodiment is an example in which the terminal 120 performs a process of storing and transmitting untransmitted transaction information instead of or in addition to the server 110. In the following description, the same reference numerals are given to the same functional components as those in the first embodiment, and the description will be omitted. The description of the same operation and effect as in the first embodiment will be omitted. Hereinafter, the description will focus on the differences from the first embodiment.

<<第4実施例の効果>>
この第1実施形態の第4実施例によれば、サーバ110の機能部を利用することなく、端末120の機能部だけで第1実施形態の情報処理方法を実施することができる。そのため、プログラム提供者としては、端末において上記情報処理方法を実行するプログラムを提供するだけでユーザの仮想資産を保全することができ、ユーザとしては当該プログラムをインストールした端末120を使用するだけで、事故の仮想資産の保全を達成することができる、また、第1実施形態と同様に、サーバ110が攻撃されることによりユーザの秘密鍵が流出するリスクを回避することも可能となる。
<< Effect of Fourth Embodiment >>
According to the fourth example of the first embodiment, the information processing method of the first embodiment can be performed only by the functional unit of the terminal 120 without using the functional unit of the server 110. Therefore, as a program provider, it is possible to protect a user's virtual assets only by providing a program for executing the above-described information processing method in a terminal, and as a user, only using the terminal 120 in which the program is installed, It is possible to achieve the maintenance of the virtual assets of the accident, and also to avoid the risk that the secret key of the user is leaked due to the attack on the server 110 as in the first embodiment.

<<第4実施例の機能構成>>
(1)サーバの機能構成
この第4実施例では、サーバ110は、上記情報処理方法を実行するプログラムの提供部を有する。当該プログラムはウォレットプログラムの位置機能として構成されていてもよい。
<< Functional Configuration of Fourth Embodiment >>
(1) Functional Configuration of Server In the fourth embodiment, the server 110 has a program providing unit that executes the above information processing method. The program may be configured as a location function of the wallet program.

(2)端末の機能構成
端末120は、上記第1実施形態に記載した機能部に加え、上記第1実施形態においてサーバ110が有する機能部のうち、受信部321と、取引管理部322と、検知部323と、選択部324と、送信部325に相当する機能部を有する。なお、第4実施例では、これらを受信部321’と、取引管理部322’と、検知部323’と、選択部324’と、送信部325’という。
(2) Functional Configuration of Terminal In addition to the functional units described in the first embodiment, the terminal 120 includes, among the functional units included in the server 110 in the first embodiment, a receiving unit 321, a transaction management unit 322, It has functional units corresponding to the detecting unit 323, the selecting unit 324, and the transmitting unit 325. In the fourth embodiment, these are referred to as a receiving unit 321 ', a transaction managing unit 322', a detecting unit 323 ', a selecting unit 324', and a transmitting unit 325 '.

未送信取引情報DB431は、取引情報作成部421および電子署名部422が作成した未送信取引情報(第2アドレス宛取引情報)をブロックチェーンネットワークに送信しない状態で記憶する。また、送信済取引情報DB432は、受信部321’が受信した送信済取引情報(第3アドレス宛取引情報)を記憶する。ルールDB433は、未送信取引情報をブロックチェーンネットワークに送信するための条件などを記憶する。   The unsent transaction information DB 431 stores the unsent transaction information (transaction information addressed to the second address) created by the transaction information creation unit 421 and the electronic signature unit 422 without sending it to the blockchain network. The transmitted transaction information DB 432 stores the transmitted transaction information (transaction information addressed to the third address) received by the receiving unit 321 '. The rule DB 433 stores conditions for transmitting untransmitted transaction information to the blockchain network.

受信部321’は、入出力I/F204を介して、ブロックチェーンネットワークから送信済取引情報を受信する処理を行う機能と、受信した送信済取引情報を送信済取引情報DB432に渡す処理を行う機能を有する。   The receiving unit 321 ′ has a function of performing a process of receiving the transmitted transaction information from the blockchain network via the input / output I / F 204 and a function of performing a process of passing the received transmitted transaction information to the transmitted transaction information DB 432. Having.

取引管理部322’は、第1アドレスに対応するユーザが秘密鍵により電子署名した取引情報をブロックチェーンネットワークに送信した場合に、その取引情報に関する情報を記憶する処理を行う機能を有する。   When the user corresponding to the first address transmits the transaction information electronically signed with the secret key to the blockchain network, the transaction management unit 322 'has a function of storing information relating to the transaction information.

検知部323’、選択部324’、および送信部325’は、上記検知部323、選択部324、および送信部325と同様の機能を有する。   The detection unit 323 ', the selection unit 324', and the transmission unit 325 'have the same functions as the detection unit 323, the selection unit 324, and the transmission unit 325.

<<第4実施例の動作処理>>
未送信取引情報を記憶する処理において、第1実施形態では、ウォレット端末120が未送信取引情報を作成し、サーバ110がこれを受け付けて未送信取引情報DB331に記憶していたが、第4実施例では、端末120が作成した未送信取引情報を端末120の未送信取引情報DB431が記憶することができる。なお、上記処理において未送信取引情報が指定する移動させる仮想資産の量および未送信取引情報を作成するタイミングについては、第1実施形態と同様である。
<< Operation Processing of Fourth Embodiment >>
In the process of storing the unsent transaction information, in the first embodiment, the wallet terminal 120 creates the unsent transaction information, and the server 110 receives the unsent transaction information and stores it in the unsent transaction information DB 331. In the example, the unsent transaction information created by the terminal 120 can be stored in the unsent transaction information DB 431 of the terminal 120. The amount of virtual assets to be moved specified by the unsent transaction information and the timing of creating the unsent transaction information in the above process are the same as in the first embodiment.

送信済取引情報が不正であることを検知する処理において、第1実施形態では、端末120が作成する取引情報の作成ルールをサーバ110と共有し、受信部321が受信した送信済取引情報の中で、この作成ルールから外れる送信済取引情報を不正なものとして検知するようにしたが、第4実施例では取引情報の作成ルールをサーバ110と共有する必要はない。したがって、上記の第1ウォレットからの仮想資産の移動量を予め決めておくことや、第1ウォレットからの仮想資産の移動先を予め決めておくという取引情報の作成ルールは、端末120のルールDB433が記憶する。   In the process of detecting that the transmitted transaction information is invalid, in the first embodiment, the transaction information creation rule created by the terminal 120 is shared with the server 110, and the received transaction information received by the receiving unit 321 is received. In the fourth embodiment, the transmitted transaction information that deviates from the creation rule is detected as an invalid one. However, in the fourth embodiment, it is not necessary to share the transaction information creation rule with the server 110. Therefore, the rules for creating transaction information that determine in advance the amount of virtual asset transfer from the first wallet and the destination of virtual asset transfer from the first wallet are described in the rule DB 433 of the terminal 120. Remembers.

また、端末120の取引管理部322’は、送信部423からブロックチェーンネットワークに送信した場合にその取引情報に関する情報を記憶する。したがって、ブロックチェーンネットワークから受信部321’が受信した送信済取引情報のなかに、取引管理部322’に記憶された取引情報にない取引情報が含まれる場合には、該送信済取引情報が不正であることを検知することができる。   Further, the transaction management unit 322 'of the terminal 120 stores information on the transaction information when transmitted from the transmission unit 423 to the blockchain network. Therefore, when the transmitted transaction information received by the receiving unit 321 ′ from the blockchain network includes transaction information that is not included in the transaction information stored in the transaction management unit 322 ′, the transmitted transaction information is invalid. Can be detected.

なお、上述したとおり、本発明は、上記の実施形態及び実施例に限定されるものではなく、その要旨を逸脱しない範囲内において様々な変形が可能である。すなわち、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、秘密鍵に代えて共通鍵を用いてもよいし、ブロックチェーンネットワークは、ブロックチェーンに関する情報をノード間で分散共有するネットワークであれば、必ずしもその通信手段がP2P通信プロトコルに従う必要はない。   Note that, as described above, the present invention is not limited to the above embodiments and examples, and various modifications can be made without departing from the scope of the invention. That is, the above-described embodiment is merely an example in all aspects, and is not to be construed as limiting. For example, a common key may be used in place of a secret key, and a blockchain network does not necessarily need to follow a P2P communication protocol for its communication means as long as information relating to the blockchain is distributed and shared between nodes.

1…通信システム、110…サーバ、110A…サーバ、110B…サーバ、120…端末、120A…端末、120B…端末、120C…端末、130…ネットワーク、200…情報処理装置、201…プロセッサ、202…メモリ、203…ストレージ、204…入出力インタフェース(入出力I/F)、205…通信インタフェース(通信I/F)、311,411…入出力インタフェース(入出力I/F)、312,412…通信インタフェース(通信I/F)、320,420…制御部、321…受信部、322…取引管理部、323…検知部、324…選択部、325…送信部、330,430…記憶部、331,431…未送信取引情報DB、332,432…送信済取引情報DB、333,433…ルールDB、334,434…プログラム、421…取引情報作成部、422…電子署名部、423…送信部。   DESCRIPTION OF SYMBOLS 1 ... Communication system, 110 ... Server, 110A ... Server, 110B ... Server, 120 ... Terminal, 120A ... Terminal, 120B ... Terminal, 120C ... Terminal, 130 ... Network, 200 ... Information processing apparatus, 201 ... Processor, 202 ... Memory , 203 storage, 204 input / output interface (input / output I / F), 205 communication interface (communication I / F), 311, 411 input / output interface (input / output I / F), 312, 412 communication interface (Communication I / F), 320, 420 ... control unit, 321 ... reception unit, 322 ... transaction management unit, 323 ... detection unit, 324 ... selection unit, 325 ... transmission unit, 330, 430 ... storage unit, 331, 431 … Unsent transaction information DB, 332, 432 Sent transaction information DB, 333, 433 Rule DB, 334, 4 4 ... program, 421 ... transaction information creating unit, 422 ... electronic signature unit, 423 ... transmission unit.

Claims (10)

情報処理装置が、
仮想資産を第1アドレスから第2アドレスに移動させる第2アドレス宛取引情報であって、前記第1アドレスに対応する暗号鍵により電子署名された第2アドレス宛取引情報を1または複数記憶するステップと、
所定の条件を満たす場合に、記憶された前記第2アドレス宛取引情報のうち、選択された第2アドレス宛取引情報をネットワークに送信するステップと、を実行する情報処理方法。
The information processing device is
Storing one or more transaction information addressed to a second address for moving a virtual asset from a first address to a second address, wherein the transaction information is electronically signed with an encryption key corresponding to the first address; When,
Transmitting a selected second address-addressed transaction information from the stored second address-addressed transaction information to a network when a predetermined condition is satisfied.
前記ネットワークに送信するステップは、
前記記憶した第2アドレス宛取引情報の中から、前記第1アドレスに紐づく仮想資産の総量以下の仮想資産を移動させる第2アドレス宛取引情報を選択するステップをさらに含む、請求項1に記載の情報処理方法。
Transmitting to the network,
The method according to claim 1, further comprising: selecting, from the stored transaction information addressed to the second address, transaction information addressed to the second address for transferring a virtual asset equal to or less than the total amount of the virtual asset associated with the first address. Information processing method.
仮想資産を前記第1アドレスから第3アドレスに移動させる第3アドレス宛取引情報であって、前記第1アドレスに対応する暗号鍵により電子署名された第3アドレス宛取引情報を受信するステップをさらに含み、
前記ネットワークに送信するステップは、
前記受信した第3アドレス宛取引情報が所定の要件を満たす場合に、前記記憶した第2アドレス宛取引情報のなかから、前記第1アドレスに紐づく仮想資産の総量以下の仮想資産を移動させる第2アドレス宛取引情報を選択するステップをさらに含む、請求項1又は2に記載の情報処理方法。
Receiving transaction information addressed to a third address for moving the virtual asset from the first address to the third address, the transaction information being electronically signed with an encryption key corresponding to the first address. Including
Transmitting to the network,
In the case where the received transaction information addressed to the third address satisfies a predetermined requirement, a virtual asset that is equal to or less than the total amount of virtual assets associated with the first address is moved from the stored transaction information addressed to the second address. The information processing method according to claim 1 or 2, further comprising a step of selecting transaction information addressed to two addresses.
前記ネットワークに送信するステップは、
前記受信した第3アドレス宛取引情報によって移動する仮想資産の量が所定の量を超える場合に、又は、所定の期間に受信した前記第3アドレス宛取引情報によって移動する仮想資産の総量が所定の量を超える場合に、選択された前記第2アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項3に記載の情報処理方法。
Transmitting to the network,
When the amount of virtual assets moved by the received third address-addressed transaction information exceeds a predetermined amount, or when the total amount of virtual assets moved by the third address-addressed transaction information received in a predetermined period is a predetermined amount, The information processing method according to claim 3, further comprising a step of transmitting the selected transaction information addressed to the second address to a network when the amount exceeds the amount.
前記第1アドレスに対応する前記暗号鍵により電子署名した取引情報がネットワークに送信される際に、前記第1アドレスに対応するユーザから該取引情報に関する通知を受け付けるステップをさらに実行し、
前記ネットワークに送信するステップは、
受信した前記第3アドレス宛取引情報に対応する前記通知を受信しない場合に、前記第2アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項3又は4に記載の情報処理方法。
When the transaction information electronically signed with the encryption key corresponding to the first address is transmitted to the network, the method further includes a step of receiving a notification regarding the transaction information from a user corresponding to the first address,
Transmitting to the network,
5. The information processing method according to claim 3, further comprising transmitting the transaction information addressed to the second address to a network when the notification corresponding to the received transaction information addressed to the third address is not received. 6.
前記ネットワークに送信するステップは、
受信した前記第3アドレス宛取引情報において、前記第3アドレスが予め設定された移動先に含まれない場合に、選択された前記第2アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項3〜5のいずれか一項に記載の情報処理方法。
Transmitting to the network,
If the third address is not included in the preset destination in the received transaction information addressed to the third address, the method further includes the step of transmitting the selected transaction information addressed to the second address to a network. Item 6. The information processing method according to any one of Items 3 to 5.
前記ネットワークに送信するステップは、
前記第1アドレスを所有するユーザからの指示を一定期間以上受信しない場合、又は前記ユーザからの指示を受信した場合に、選択された前記第2アドレス宛取引情報をネットワークに送信するステップをさらに含む、請求項1又は2に記載の情報処理方法。
Transmitting to the network,
The method further includes the step of transmitting the selected transaction information addressed to the second address to a network when an instruction from a user having the first address is not received for a predetermined period or more, or when an instruction from the user is received. The information processing method according to claim 1.
前記ネットワークに送信するステップは、
記憶した前記第2アドレス宛取引情報のなかから、前記第1アドレスに紐づく仮想資産の総量以下であって、
最も多くの仮想資産を移動させる一の第2アドレス宛取引情報、移動させる仮想資産の合計値が最も多くなる複数の第2アドレス宛取引情報、又は、記憶した時系列順の最も新しい第2アドレス宛取引情報のいずれかを選択するステップをさらに含む、請求項1〜7のいずれか一項に記載の情報処理方法。
Transmitting to the network,
Out of the stored transaction information addressed to the second address, the total amount of the virtual assets linked to the first address,
Transaction information addressed to one second address for moving the largest number of virtual assets, transaction information addressed to a plurality of second addresses where the total value of the virtual assets to be moved is the largest, or the latest second address stored in chronological order The information processing method according to any one of claims 1 to 7, further comprising a step of selecting one of the address transaction information.
仮想資産を第1アドレスから第2アドレスに移動させる第2アドレス宛取引情報であって、前記第1アドレスに対応する暗号鍵により電子署名された第2アドレス宛取引情報を1または複数記憶する第2アドレス宛取引情報記憶部と、
所定の条件を満たす場合に、記憶された前記第2アドレス宛取引情報のうち、選択された第2アドレス宛取引情報をネットワークに送信する送信部と、を有する情報処理装置。
A second address-based transaction information for moving a virtual asset from a first address to a second address, wherein one or a plurality of the second address-based transaction information electronically signed with an encryption key corresponding to the first address is stored. A two-address transaction information storage unit;
An information processing apparatus comprising: a transmission unit that transmits selected second address-addressed transaction information from the stored second address-addressed transaction information to a network when a predetermined condition is satisfied.
情報処理装置に、
仮想資産を第1アドレスから第2アドレスに移動させる第2アドレス宛取引情報であって、前記第1アドレスに対応する暗号鍵により電子署名された第2アドレス宛取引情報を1または複数記憶するステップと、
所定の条件を満たす場合に、記憶された前記第2アドレス宛取引情報のうち、選択された第2アドレス宛取引情報をネットワークに送信するステップと、を実行させるプログラム。
For information processing equipment,
Storing one or more transaction information addressed to a second address for moving a virtual asset from a first address to a second address, wherein the transaction information is electronically signed with an encryption key corresponding to the first address; When,
Transmitting a selected second address-addressed transaction information from the stored second address-addressed transaction information to a network when a predetermined condition is satisfied.
JP2018143436A 2018-07-31 2018-07-31 INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM Expired - Fee Related JP6526299B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018143436A JP6526299B1 (en) 2018-07-31 2018-07-31 INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143436A JP6526299B1 (en) 2018-07-31 2018-07-31 INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019003880A Division JP2020021446A (en) 2019-01-11 2019-01-11 Method for processing information, information processor, and program

Publications (2)

Publication Number Publication Date
JP6526299B1 JP6526299B1 (en) 2019-06-05
JP2020021205A true JP2020021205A (en) 2020-02-06

Family

ID=66730736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143436A Expired - Fee Related JP6526299B1 (en) 2018-07-31 2018-07-31 INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6526299B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659907B (en) 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 Method and device for executing intelligent contracts
JP6666511B1 (en) * 2019-11-01 2020-03-13 株式会社AndGo Apparatus, method and program for evacuating cryptocurrency
CN112561198B (en) * 2020-12-23 2023-12-01 iCALC控股有限公司 Block chain-based data processing method, device, equipment and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306971A (en) * 2000-04-25 2001-11-02 Nec Corp On-line settling method and data processing system and data processing method and account managing device and information storage medium
JP2018077714A (en) * 2016-11-10 2018-05-17 株式会社野村総合研究所 Transaction management program, transaction management system, and transaction management method
JP2018112827A (en) * 2017-01-10 2018-07-19 日本電信電話株式会社 Information processing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306971A (en) * 2000-04-25 2001-11-02 Nec Corp On-line settling method and data processing system and data processing method and account managing device and information storage medium
JP2018077714A (en) * 2016-11-10 2018-05-17 株式会社野村総合研究所 Transaction management program, transaction management system, and transaction management method
JP2018112827A (en) * 2017-01-10 2018-07-19 日本電信電話株式会社 Information processing system

Also Published As

Publication number Publication date
JP6526299B1 (en) 2019-06-05

Similar Documents

Publication Publication Date Title
US11182781B2 (en) Block chain encryption tags
US11899809B2 (en) Proof-of-approval distributed ledger
AU2018349940B2 (en) System and method for information protection
Franco Understanding Bitcoin: Cryptography, engineering and economics
CN110892434B (en) Transferring digital ticket based on blockchain network
US9398018B2 (en) Virtual currency system
US11151559B2 (en) Blockchain-based remittance method and apparatus
CA3004263C (en) Virtual currency system
US20150269539A1 (en) Virtual currency system
US20150269541A1 (en) Virtual currency system
KR20230149870A (en) System and method for distributing data records using a blockchain
CN111047443B (en) User scoring method and device, electronic equipment and computer readable storage medium
KR20160095720A (en) Method and apparatus for protecting transasction of encrypted currency
CN105453483A (en) Image based key derivation function
JP6709243B2 (en) Information processing equipment
CN113239375B (en) Block chain-based privacy factor data sharing system, method, computer device, and medium
CN110472974A (en) Assets transfer method, apparatus and system based on block chain intelligence contract
JP6526299B1 (en) INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM
Gomathi et al. Rain drop service and biometric verification based blockchain technology for securing the bank transactions from cyber crimes using weighted fair blockchain (WFB) algorithm
JP2023502057A (en) Identity verification protocol using blockchain transactions
JP2020021446A (en) Method for processing information, information processor, and program
JP2020129284A (en) Program, information processing device, and information processing method
Perwej et al. A technological perspective of blockchain security
Raju et al. An overview of 51% attack over Bitcoin network
Eshan et al. Deficiencies in blockchain technology and potential augmentation in cyber security

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190507

R150 Certificate of patent or registration of utility model

Ref document number: 6526299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees