JP2020129282A - Program, information processing device, and information processing method - Google Patents

Program, information processing device, and information processing method Download PDF

Info

Publication number
JP2020129282A
JP2020129282A JP2019021772A JP2019021772A JP2020129282A JP 2020129282 A JP2020129282 A JP 2020129282A JP 2019021772 A JP2019021772 A JP 2019021772A JP 2019021772 A JP2019021772 A JP 2019021772A JP 2020129282 A JP2020129282 A JP 2020129282A
Authority
JP
Japan
Prior art keywords
transaction information
address
information
terminal
server
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.)
Pending
Application number
JP2019021772A
Other languages
Japanese (ja)
Inventor
三徳 高橋
Mitsunori Takahashi
三徳 高橋
勇介 清水
Yusuke Shiimizu
勇介 清水
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 JP2019021772A priority Critical patent/JP2020129282A/en
Publication of JP2020129282A publication Critical patent/JP2020129282A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

To provide a program, information processing device, and information processing method, which prevent fraudulent transaction information not intended by a user from being recorded in a distributed ledger.SOLUTION: A program provided herein makes an information processing device perform steps of: receiving first transaction information for moving a virtual asset from a first address to a second address for a predetermined fee; generating second transaction information for moving the virtual asset from the first address to an address different from the second address for a specified fee that is higher than that of the first transaction information when the first transaction information before being stored in a block satisfies predefined fraudulent conditions; and transmitting the second transaction information to a blockchain network.SELECTED DRAWING: Figure 10

Description

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

近年、通信機能を有するコンピュータ、スマートフォン、タブレット、携帯電話機などの端末を用いてネットワーク経由により、ユーザが仮想資産の売買取引を行えるようにしたサービスが広く一般に利用されている。例えば、特許文献1には、かかる仮想資産の取引において第三者が暗号鍵を不正に入手した場合などに、不正な取引情報に基づく取引の実行を抑制するための方法として、公開鍵を用いたチャレンジレスポンス認証を用いる方法が記載されている。 2. Description of the Related Art In recent years, services that allow users to buy and sell virtual assets through a network using terminals such as computers, smartphones, tablets, and mobile phones having a communication function have been widely used. For example, Patent Document 1 uses a public key as a method for suppressing execution of a transaction based on unauthorized transaction information when a third party illegally obtains an encryption key in the transaction of such virtual assets. The method of using the challenge response authentication is described.

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

仮想資産の取引は、特定の機関による管理の代わりに、ネットワーク上に存在するブロックチェーンとよばれる仮想資産の取引情報を記した分散型台帳により管理される。通常の中央集権的な仕組みでは中央機関が送金に関するコントロール権を有するが、仮想資産の取引では中央機関が存在しない。そのため、ユーザから第三者への送金が完了した時点で第三者以外が仮想資産にアクセスすることはできないし、また、送金が不正なものであるか否かを判断することもできない。 Transactions of virtual assets are managed by a distributed ledger that stores transaction information of virtual assets called block chains existing on the network, instead of being managed by a specific institution. In a normal centralized mechanism, the central authority has control over remittance, but there is no central authority in trading virtual assets. Therefore, when the remittance from the user to the third party is completed, no one other than the third party can access the virtual asset, and it is also impossible to judge whether the remittance is fraudulent.

ここで、特許文献1のように、ユーザに対して取引の都度にその取引情報の正当性をチャレンジレスポンス認証等により確認する方法も考えられる。しかしながら、仮想資産の取引の都度にチャレンジレスポンス認証を求めたのでは、取引が煩わしくなり、取引の迅速性も損なわれるという課題がある。 Here, as in Patent Document 1, a method of confirming the validity of the transaction information to the user each time a transaction is made by challenge response authentication or the like can be considered. However, if challenge response authentication is requested every time a virtual asset is traded, there is a problem that the transaction becomes troublesome and the speed of the transaction is impaired.

そのため、中央機関に代わり、暗号鍵を不正に入手した第三者による不正な取引情報を検知し、ユーザに過度の負担を求めることなく、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにする仕組みが求められている。 Therefore, on behalf of the central institution, illegal transaction information by a third party who illegally obtained the encryption key is detected, and illegal transaction information not intended by the user is recorded in the distributed ledger without demanding the user to bear an excessive burden. There is a need for a mechanism to prevent this.

そこで、本開示は、かかる事情に鑑みてなされたものであり、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにするプログラム、情報処理装置、及び情報処理方法を提供することを目的とする。 Therefore, the present disclosure has been made in view of such circumstances, and provides a program, an information processing device, and an information processing method that prevent unauthorized transaction information that is not intended by a user from being recorded in a distributed ledger. To aim.

本開示の一実施形態に係るプログラムは、情報処理装置に、所定の手数料を指定して、仮想資産を第1アドレスから第2アドレスに移動させる第1取引情報を受信するステップと、ブロックに格納する前の前記第1取引情報が、予め設定された不正条件を満たす場合に、前記第1取引情報よりも高い手数料を指定する第2取引情報であって、仮想資産を前記第1アドレスから前記第2アドレスとは異なるアドレスに移動させる第2取引情報を作成するステップと、前記第2取引情報をブロックチェーンネットワークに送信するステップと、を実行させる。 A program according to an embodiment of the present disclosure stores a block in a step of receiving first transaction information for moving a virtual asset from a first address to a second address by designating a predetermined fee in an information processing device. If the first transaction information before executing the second transaction information is a second transaction information designating a higher fee than the first transaction information when a preset fraud condition is satisfied, a virtual asset from the first address The steps of creating second transaction information to be moved to an address different from the second address and transmitting the second transaction information to the block chain network are executed.

本開示の一実施形態に係るプログラムは、情報処理装置に、仮想資産を所定のアドレスから移動させる取引情報であって、複数の秘密鍵により電子署名されることにより認証される取引情報を受信するステップと、未認証の前記取引情報が、予め設定された不正条件を満たす場合に、該取引情報に対して、前記情報処理装置が記憶した秘密鍵により電子署名を行わないことを決定するステップと、未認証の前記取引情報が、前記不正条件を満たさない場合に、該取引情報に対して、前記情報処理装置が記憶した前記秘密鍵により電子署名を行うステップと、を実行させる。 A program according to an embodiment of the present disclosure receives transaction information that causes an information processing device to move a virtual asset from a predetermined address, and is transaction information that is authenticated by being electronically signed by a plurality of secret keys. And a step of deciding not to electronically sign the transaction information with the secret key stored in the information processing device when the unauthenticated transaction information satisfies a preset fraud condition. If the unauthenticated transaction information does not satisfy the fraud condition, a step of electronically signing the transaction information with the secret key stored in the information processing apparatus is executed.

図1は、実施形態の一態様に係る取引システム1の構成を示す。FIG. 1 shows a configuration of a transaction system 1 according to one aspect of the embodiment. 図2は、本開示に係る情報処理装置のハードウェア構成の一例を示す。FIG. 2 shows an example of the hardware configuration of the information processing device according to the present disclosure. 図3は、第1実施形態に係るサーバ110の機能的な構成を示すブロック図の一例を示す。FIG. 3 shows an example of a block diagram showing a functional configuration of the server 110 according to the first embodiment. 図4は、取引情報DB332が記憶する第1取引情報のデータ構造の一例を示す。FIG. 4 shows an example of the data structure of the first transaction information stored in the transaction information DB 332. 図5は、取引情報DB332が記憶するブロックチェーンのデータ構造の一例を示す。FIG. 5 shows an example of the data structure of the block chain stored in the transaction information DB 332. 図6は、ルールDB323が記憶する条件のデータ構造の一例を示す。FIG. 6 shows an example of a data structure of conditions stored in the rule DB 323. 図7は、秘密鍵DB324が記憶する秘密鍵に関する情報のデータ構造の一例を示す。FIG. 7 shows an example of a data structure of information about a secret key stored in the secret key DB 324. 図8は、第1実施形態に係る第1端末120A乃至第3端末120Cの機能的な構成を示すブロック図の一例を示す。FIG. 8 shows an example of a block diagram showing a functional configuration of the first terminal 120A to the third terminal 120C according to the first embodiment. 図9は、第1実施形態における取引システム1が行う処理を示すシーケンス図の一例を示す。FIG. 9 shows an example of a sequence diagram showing a process performed by the trading system 1 in the first embodiment. 図10は、第1実施形態におけるサーバ110における処理のフローチャートの一例を示す。FIG. 10 shows an example of a flowchart of processing in the server 110 according to the first embodiment. 図11は、第2実施形態における取引システム1が行う処理を示すシーケンス図の一例を示す。FIG. 11 shows an example of a sequence diagram showing a process performed by the trading system 1 in the second embodiment. 図12は、第2実施形態におけるサーバ110における処理のフローチャートの一例を示す。FIG. 12 shows an example of a flowchart of processing in the server 110 according to the second embodiment.

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

本開示に係るプログラム、情報処理装置、及び情報処理方法を実施するための形態について、図面を参照して説明する。 Modes for carrying out a program, an information processing apparatus, and an information processing method 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 shows a configuration of a transaction system 1 for effectively implementing an information processing method according to an embodiment of the present disclosure. As disclosed in FIG. 1, in the transaction system 1, the servers 110A and 110B are connected to the terminals 120A, 120B, and 120C via the network 130. The servers 110A and 110B, and the terminals 120A, 120B, and 120C form a distributed ledger (hereinafter, also referred to as “block chain”). In the present disclosure, the block chain is described as a public type configuration without a central administrator, but the present invention is not limited to this, and may be a private type or a consortium type.

本開示において、サーバ110Aと、サーバ110Bとをそれぞれ区別する必要がない場合は、サーバ110Aとサーバ110Bとは、それぞれサーバ110と表現されてもよい。 In the present disclosure, if 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, if it is not necessary to distinguish the terminal 120A, the terminal 120B, and the terminal 120C from each other, 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. 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. The predetermined service includes, but is not limited to, a payment service, a financial service, an electronic commerce service, an SNS (Social Networking Service) typified by instant messenger, and a content providing service such as music/video/book. 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, the terminal used by the user X is expressed as a terminal 120X, and the user information in a predetermined service associated with the user X or the terminal 120X is expressed as a user information X. Note that the user information is user information associated with an account used by the user in a predetermined service. The user information is, for example and without limitation, the user's name, the user's icon image, the user's age, the user's gender, the user's address, the user's hobby, which is input by the user or given by a predetermined service. Information such as tastes, user identifiers, and other information associated with the user, electronic value (electronic money) balance information associated with the user, and credit card information (credit card number, etc.) associated with the user. Any one of them or a combination thereof may be used.

ネットワーク130は、2以上の情報処理装置200を接続する役割を担う。ネットワーク130は、端末120がサーバ110に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。 The network 130 has a role of connecting two or more information processing devices 200. The network 130 refers to a communication network that provides a connection path so that the terminal 120 can transmit and receive data after connecting 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 wired or wireless networks. The network 130 is, by way of example and not limitation, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless. LAN (Wireless LAN: WLAN), wide area network (Wide Area Network: WAN), wireless WAN (Wireless WAN: WWAN), metropolitan area network (Metropolitan Area Network: MAN), part of the Internet, public switched telephone network (Public) Switched Telephone Network: 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 a combination of two or more of these may be included. Networks 130 may include one or more networks 130.

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

情報処理装置200は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、サーバ装置、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダなど)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA(Personal Digital Assistant)、電子メールクライアントなど)、ウェアラブル端末(限定でなく例として、メガネ型デバイス、時計型デバイスなど)、他種のコンピュータ、またはコミュニケーションプラットホームを含む。 The information processing apparatus 200 includes, by way of example and not limitation, a smartphone, a mobile phone (feature phone), a computer (for example, without limitation, a desktop, laptop, tablet, etc.), a server device, a media computer platform (for example, but not limitation). , Cables, satellite set-top boxes, digital video recorders, etc.), handheld computer devices (such as, but not limited to, PDAs (Personal Digital Assistants), email clients, etc.), wearable terminals (such as, but not limited to, eyeglass devices, Including clock-type devices), 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 transaction 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 connected to each other via the bus B as an example and not a limitation.

情報処理装置200は、プロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により、本開示に記載される機能、および/または、方法を実現する。 The information processing apparatus 200 realizes the functions and/or methods described in the present disclosure by the cooperation of the processor 201, the memory 202, the storage 203, the input/output I/F 204, and the communication I/F 205. To 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 is, by way of example and not limitation, a central processing unit (CPU), MPU (Micro Processing Unit), GPU (Graphics processing Unit), microprocessor (microprocessor), processor core (processor core), multiprocessor (multiprocessor). , ASIC (Application-Specific Integrated Circuit), FPGA (Field Programmable Gate Array), etc., and a logic circuit (hardware) formed in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)) or the like, Each process 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 shown in each embodiment may be realized by a single integrated circuit. Further, the LSI may be referred to as VLSI, super LSI, 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 to the processor 201. The memory 202 also temporarily stores various data generated while the processor 201 executes the program. The memory 202 includes, for example and without limitation, a RAM (Random Access Memory), a ROM (Read Only Memory), and the like.

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

通信I/F205は、ネットワーク130を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F205は、ネットワーク130を介して、他の情報処理装置との通信を実行する機能を有する。通信I/F205は、各種データをプロセッサ201からの指示に従って、他の情報処理装置に送信する。また、通信I/F205は、他の情報処理装置から送信された各種データを受信し、プロセッサ201に伝達する。 The communication I/F 205 transmits 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 performing communication with another information processing device via the network 130. The communication I/F 205 transmits various data to another information processing device according to an instruction from the processor 201. Further, the communication I/F 205 receives various data transmitted from another information processing device and transfers 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 on 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, the input device and the output device may be integrated, or the input device and the output device may be separated.

入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報をプロセッサ201に伝達できる全ての種類の装置のいずれか、または、その組み合わせにより実現される。入力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(画像を介した操作入力)、マイク(音声による操作入力)を含む。 The input device is realized by any of all types of devices capable of receiving an input from a user and transmitting information related to the input to the processor 201, or a combination thereof. The input device includes, by way of example and not limitation, a touch panel, a touch display, a hardware key such as 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 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 or all of the devices capable of displaying the display data according to the display data written in the frame buffer. It is realized by combination. The output device is, for example, without limitation, a touch panel, a touch display, a monitor (as an example without limitation, a liquid crystal display, an OELD (Organic Electroluminescence Display), etc.), a head mounted display (HDM: Head Mounted Display), projection mapping, a hologram. , A device capable of displaying an image, text information and the like in the air (may be a vacuum), a speaker (voice output), a printer, and the like. Note that these output devices may be capable of displaying the display data in 3D.

本開示の各実施形態のプログラムは、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、限定でなく例として、ソフトウェアプログラムやコンピュータプログラムを含む。 The program of each embodiment of the present disclosure may be provided in a state of being stored in a computer-readable storage medium. The storage medium can store the program in a “non-transitory tangible medium”. 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, field programmable gate arrays (FPGAs), application specific ICs (ASICs), 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 any suitable combination of two or more thereof. Storage media 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 the information processing device 200 via any transmission medium (communication network, broadcast wave, or the like) capable of transmitting the program.

また、本開示の各実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 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(登録商標)などのプログラミング言語などを用いて実装される。 It should be noted that the program of the present disclosure is implemented using a script language such as JavaScript (registered trademark) or Python, a C language, a Go language, a programming language such as Swift, Kotlin, or Java (registered trademark) by way of example and not limitation. To be done.

情報処理装置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 configured to be performed by another information processing device.

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

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

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

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

本開示は、明示されない限り、いずれの実施形態または実施例を実施するに際して、事前に、または、実施の直前にユーザからの同意を取得してもよい。また、取得する同意は、包括的なものでもよく、都度取得するものでもよい。 Unless otherwise specified, the present disclosure may obtain consent from a user before or immediately before implementing any of the embodiments or examples. Further, the consent to be acquired may be comprehensive or may be acquired each time.

以下、本開示の一例に係る実施形態について、図面を参照して説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。 Hereinafter, an embodiment 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, the example of the present disclosure can be variously modified and implemented without departing from the spirit thereof. Further, in the following description of the drawings, the same or similar reference numerals are given to the same or similar portions, and the drawings are schematic and do not necessarily match actual dimensions and ratios. Furthermore, the drawings may include portions having different dimensional relationships and ratios.

<用語>
実施形態について具体的に説明する前に、まず本開示で使用される用語について説明する。本開示における「仮想資産」とは、仮想通貨や、それに準ずる取引可能な資産を示す。「仮想通貨」とは、原則として、資金決済に関する法律(平成21年法律第59号)の第2条第5項第1号および第2号に規定されるもの、または、それに準ずるものであって、紙幣や硬貨のような現物をもたずに電子データとして流通し、ネットワークを通じて不特定多数の間で物品やサービスの対価として使用することができ、中央銀行などの公的な発行主体や管理者が必ずしも存在せずに専門の取引所や販売所で売買され、また、円やドルやユーロなどの実体的な通貨と交換できるものを意味するが、これに限られない。なお、仮想資産はこれに限定されず、ブロックチェーン上に記録された情報であって、ユーザ間で所有権をトランザクションによって送受信可能なものであればよい。
<Terms>
Before specifically describing the embodiments, first, terms used in the present disclosure will be described. The “virtual asset” in the present disclosure indicates a virtual currency or a tradable asset that is equivalent thereto. As a general rule, the "virtual currency" is the one stipulated in Article 2, Paragraph 5, Items 1 and 2 of the Act on Fund Settlement (Law No. 59 of 2009), or equivalent thereto. Therefore, it can be distributed as electronic data without having physical items such as banknotes and coins, and can be used as consideration for goods and services among unspecified number of people through the network. It does not necessarily mean that the manager does not necessarily exist but is traded on a specialized exchange or sales place, and can also be exchanged for a real currency such as yen, dollar or euro, but it is not limited to this. Note that the virtual asset is not limited to this, and may be information recorded on the block chain as long as the ownership can be transmitted and received between users by a transaction.

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

ユーザが所有する仮想資産を他のユーザに送金する際には、取引情報がブロックチェーンネットワークに送信される。「ブロックチェーンネットワーク」とは、所定の通信プロトコルに従って通信する2以上の情報処理装置200によって構成されたブロックチェーンに関する情報を共有するネットワークをいう。ブロックチェーンネットワークは一例として、P2Pネットワークである。 When sending a virtual asset owned by a user to another user, transaction information is sent to the blockchain network. The “blockchain network” refers to a network that shares information about a blockchain configured by two or more information processing devices 200 that communicate according to a predetermined communication protocol. The block chain network is, for example, a P2P network.

このブロックチェーンネットワークに参加するノードは、ネットワーク130を介して互いにブロックチェーンに関する情報を直接共有することができる。ここでは、一例として、取引情報はブロードキャスト通信でネットワーク130に送信されるとして説明するが、これに限定されず、ユニキャスト通信やマルチキャスト通信によって送信されてもよい。ブロックチェーンネットワークにブロードキャストされた取引情報は、ブロックチェーンネットワークに接続される各情報処理装置200で受信される。一例として、ブロードキャストされた取引情報は、当該取引情報を受信した情報処理装置200のうち任意の情報処理装置200によってブロックに格納される。ブロックチェーンネットワークに送信されたブロックは、PoW(Proof of Work)、PoS(Proof of Stake)などのアルゴリズムによる合意形成を経て、最後に確定したブロックの次につないで記録される。 Nodes participating in the blockchain network can directly share information about the blockchain with each other via the network 130. Here, as an example, the transaction information is described as being transmitted to the network 130 by broadcast communication, but the present invention is not limited to this, and may be transmitted by unicast communication or multicast communication. The transaction information broadcast to the block chain network is received by each information processing device 200 connected to the block chain network. As an example, the broadcast transaction information is stored in a block by any information processing device 200 of the information processing devices 200 that has received the transaction information. The block transmitted to the block chain network is recorded after being connected to the block finally determined after consensus formation by an algorithm such as PoW (Proof of Work) or PoS (Proof of Stake).

<第1実施形態>
第1実施形態は、端末120あるいはサーバ110がブロックチェーンネットワークに電子署名された取引情報を送信することにより所定アドレスの有する仮想資産の残高が変動する取引システム1において、サーバ110が不正な取引情報がブロックチェーンネットワークに送信されたことを検知した場合に、その不正な取引情報をキャンセルするための取引情報をブロックチェーンネットワークに送信する実施形態である。
<First Embodiment>
In the first embodiment, in the transaction system 1 in which the terminal 120 or the server 110 transmits the transaction information electronically signed to the block chain network, the balance of virtual assets at a predetermined address fluctuates. Is an embodiment of transmitting transaction information for canceling the illegal transaction information to the block chain network when it is detected that is transmitted to the block chain network.

この第1実施形態にかかるプログラム、情報処理装置、及び情報処理方法では、サーバ110に第1取引情報を不正と判断するための条件を予め記憶させておく。そして、サーバ110が不正な取引情報がブロックチェーンネットワークに送信されたことを検知した場合に、その不正な取引情報よりも優先的に分散型台帳に取り込まれるキャンセル用の取引情報をブロックチェーンネットワークに送信する。この際、キャンセル用の取引情報を優先的に分散型台帳に取り込ませるために、サーバ110は、不正な取引情報に含まれる手数料を参照して、これよりも高い手数料を指定するキャンセル用の取引情報を作成し、そのキャンセル用の取引情報をブロックチェーンネットワークに送信する。 In the program, the information processing apparatus, and the information processing method according to the first embodiment, the server 110 stores in advance a condition for determining that the first transaction information is illegal. When the server 110 detects that the fraudulent transaction information is transmitted to the blockchain network, the fraudulent transaction information is transferred to the blockchain network with the transaction information for cancellation that is preferentially incorporated into the distributed ledger. Send. At this time, in order to preferentially incorporate the transaction information for cancellation into the distributed ledger, the server 110 refers to the fee included in the fraudulent transaction information and specifies a higher fee than this transaction for cancellation. Create information and send the cancellation transaction information to the blockchain network.

なお、ここで、取引情報毎に指定される「手数料」(トランザクションフィー)とは、マイニング作業に成功した者(マイナー)がその成功報酬の一部として受け取る仮想資産である。マイニング作業とは、例えば、PoW(Proof of Work)やPoS(Proof of Stake)を用いてブロックチェーンネットワークに送信された取引情報の正当性を検証し、複数の取引情報を格納したブロックをブロックチェーンの末尾に追加する作業をいう。 Here, the “commission” (transaction fee) specified for each transaction information is a virtual asset received by a person (minor) who succeeds in mining work as a part of the success fee. The mining work is, for example, using PoW (Proof of Work) or PoS (Proof of Stake) to verify the legitimacy of transaction information transmitted to the blockchain network, and to block blocks storing multiple transaction information. It means the work to add to the end of.

ブロックチェーンネットワークの仕組みにおいて、マイナーはPoW(Proof of Work)などを成立させるために多量の電気代とマシン代を消費する必要がある。そのため、高い手数料を指定する取引情報を優先してマイニング処理を行う。したがって、各取引情報に指定される手数料の値は、マイナーがその取引情報をブロックに含める作業に対する合理的なインセンティブとして働く。 In the structure of the blockchain network, the miner needs to consume a large amount of electricity bill and machine bill to establish PoW (Proof of Work). Therefore, the mining process is performed with priority given to transaction information designating a high fee. Thus, the value of the fee specified for each transaction information serves as a reasonable incentive for the miner to include that transaction information in the block.

この取引システム1では、例えば、サーバ110と、第1端末120Aと、第2端末120Bと、第3端末120Cと、がネットワーク130を介して接続される。ここで、サーバ110は、不正な取引情報を検知し、その不正な取引情報をキャンセルする取引情報をブロックチェーンネットワークに送信する情報処理装置である。また、第1端末120A乃至第3端末120Cは、それぞれ、取引システム1の利用者が仮想資産の取引のために利用する端末である。より具体的には、第1端末120Aは、仮想資産の移動元となる第1アドレスに対応する端末であり、第2端末120Bは、仮想資産の移動先となる第2アドレスに対応する端末であり、第3端末120Cは、限定でなく例として第1アドレスのユーザが管理する他の端末である。 In this transaction system 1, for example, the server 110, the first terminal 120A, the second terminal 120B, and the third terminal 120C are connected via the network 130. Here, the server 110 is an information processing device that detects illegal transaction information and transmits transaction information that cancels the illegal transaction information to the block chain network. The first terminal 120A to the third terminal 120C are terminals used by users of the trading system 1 for trading virtual assets. More specifically, the first terminal 120A is a terminal corresponding to the first address that is the movement source of the virtual asset, and the second terminal 120B is a terminal corresponding to the second address that is the movement destination of the virtual asset. Yes, the third terminal 120C is, for example and without limitation, another terminal managed by the user of the first address.

本開示では、第1端末120Aが第1アドレスに対応する端末であり、第2端末120Bが第2アドレスに対応する端末であり、第3端末120Cが第3アドレスに対応する端末であるものとする。但し、各アドレス及びそのアドレスに対応する暗号鍵は、必ずしも端末により管理及び使用される必要はない。例えば、端末が暗号鍵を記録するソフトウェア(デスクトップ)ウォレットに代えて、サーバが暗号鍵を記録する場合をウェブ(オンライン)ウォレット、USB等の記録媒体が暗号鍵を記録する場合をハードウェアウォレット、紙媒体が暗号鍵を記録する場合をコールド(ペーパー)ウォレットであってもよい。 In the present disclosure, the first terminal 120A is a terminal corresponding to the first address, the second terminal 120B is a terminal corresponding to the second address, and the third terminal 120C is a terminal corresponding to the third address. To do. However, each address and the encryption key corresponding to that address do not necessarily have to be managed and used by the terminal. For example, instead of a software (desktop) wallet in which a terminal records an encryption key, a web (online) wallet when a server records an encryption key, a hardware wallet when a recording medium such as a USB records an encryption key, The case where the paper medium records the encryption key may be a cold (paper) wallet.

なお、以降では暗号鍵は、秘密鍵で暗号化を行い公開鍵で複合化を行う公開鍵暗号方式で用いられる秘密鍵として説明するが、これに限定されず、同じ鍵暗号化と複合化を行う共通鍵暗号方式の共通鍵等、任意の暗号鍵でもよい。また、以下の説明では仮想資産を一例としてビットコインとして説明するがこれに限定されない。 In the following, the encryption key will be described as a secret key used in a public key cryptosystem in which encryption is performed with a private key and decryption is performed with a public key, but the invention is not limited to this, and the same key encryption and decryption can be used. Any encryption key such as a common key of the common key cryptosystem to be used may be used. In the following description, virtual assets are described as bit coins as an example, but the present invention is not limited to this.

<第1実施形態の効果>
かかる第1実施形態によれば、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにすることができる。より具体的には、第1実施形態では、サーバ110が、不正な取引情報よりも高い手数料を指定するキャンセル用の取引情報を作成し、ブロックチェーンネットワークに送信することで、キャンセル用の取引情報を優先的に処理されるよう仕向ける。これにより、ユーザの保有する秘密鍵が悪意のある第三者に知得された場合であっても、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにすることができる。
<Effects of First Embodiment>
According to the first embodiment, it is possible to prevent unauthorized transaction information not intended by the user from being recorded in the distributed ledger. More specifically, in the first embodiment, the server 110 creates transaction information for cancellation that specifies a higher fee than fraudulent transaction information, and transmits the transaction information for cancellation to the blockchain network. To be processed preferentially. This makes it possible to prevent unauthorized transaction information not intended by the user from being recorded in the distributed ledger even if the private key held by the user is known to a malicious third party.

<第1実施形態の機能構成>
図3〜図7を用いてサーバ110及び端末120の機能構成を説明する。図3〜図7に開示の各機能部は、情報処理装置200が備えるプロセッサ201と、メモリ202と、ストレージ203と、入出力I/F204と、通信I/F205との協働により実現される。
<Functional configuration of the first embodiment>
Functional configurations of the server 110 and the terminal 120 will be described with reference to FIGS. Each functional unit disclosed in FIGS. 3 to 7 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. ..

(1)サーバの機能構成
図3は、第1実施形態に係るサーバ110の機能的な構成を示すブロック図の一例を示す。サーバ110は、取引システム1において不正な取引情報の検知を行う情報処理装置の一例であり、入出力I/F311と、通信I/F312と、記憶部320と、制御部330とを有する。
(1) Functional Configuration of Server FIG. 3 shows an example of a block diagram showing a functional configuration of the server 110 according to the first embodiment. The server 110 is an example of an information processing device that detects unauthorized transaction information in the transaction system 1, and includes an input/output I/F 311, a communication I/F 312, a storage unit 320, and a control unit 330.

入出力I/F311は、例えば、入出力I/F204を用いて実現され得る。また、通信I/F312は、例えば、通信I/F205を用いて実現され得る。記憶部320は、例えば、メモリ202及び/又はストレージ203を用いて実現され得る。制御部330は、例えば、プロセッサ201が、記憶部320に格納されているプログラムを読みだして実行することで実現され得る。 The input/output I/F 311 can be realized by using the input/output I/F 204, for example. The communication I/F 312 can be realized by using the communication I/F 205, for example. The storage unit 320 can be realized by using the memory 202 and/or the storage 203, for example. The control unit 330 can be realized by, for example, the processor 201 reading out and executing a program stored in the storage unit 320.

また、記憶部320は、本実施形態にかかるサーバが実行するプログラム321と、ブロックチェーンネットワークに送信された取引情報を管理する取引情報DB332と、不正を検知するための条件を管理するルールDB323と、秘密鍵DB324と、を格納する。 The storage unit 320 also includes a program 321 executed by the server according to the present embodiment, a transaction information DB 332 that manages transaction information transmitted to the blockchain network, and a rule DB 323 that manages conditions for detecting fraud. , Secret key DB 324.

このプログラム321は、例えば、ルールDB323を参照して、不正な取引情報を検知し、検知した不正な取引情報が分散型台帳に記録されないよう、キャンセル用の取引情報を作成して送信するためのプログラムである。なお、このプログラム321は、コンピュータに読み取り可能な記録媒体に記録されてもよく、この記録媒体からコンピュータにインストールされてもよい。 For example, the program 321 refers to the rule DB 323 to detect illegal transaction information, and creates and transmits transaction information for cancellation so that the detected illegal transaction information is not recorded in the distributed ledger. It is a program. The program 321 may be recorded in a computer-readable recording medium, or may be installed in the computer from this recording medium.

取引情報DB332には、例えば、ブロックチェーンネットワークに送信された取引情報に関する情報が管理される。取引情報は、仮想資産を移動させる。 The transaction information DB 332 manages information about transaction information transmitted to the block chain network, for example. The transaction information moves the virtual asset.

取引情報DB332には、ブロックチェーンネットワークに送信された未署名取引情報が管理されていてもよい。未署名取引情報としては、電子署名がされていない取引情報、又は後述するマルチシグネチャ型の電子署名において電子署名数が足りていない取引情報が挙げられる。 The transaction information DB 332 may manage unsigned transaction information transmitted to the block chain network. The unsigned transaction information includes transaction information that has not been electronically signed, or transaction information in which the number of electronic signatures is insufficient in a multi-signature type electronic signature described later.

図4に、取引情報DB332が記憶する取引情報のデータ構造の一部を模式的に示す。なお、図4に示すデータ構造は一例であり、取引情報は任意のデータ構造とすることが可能である。 FIG. 4 schematically shows a part of the data structure of the transaction information stored in the transaction information DB 332. Note that the data structure shown in FIG. 4 is an example, and the transaction information can have any data structure.

取引情報はインプットとアウトプットを含む。アウトプットは、例えば送金金額と解錠条件とが指定されている。解錠条件は、今回送金する仮想資産を別の取引情報で使用する際に必要な条件である。なお、ある取引情報で作成されたアウトプットのうち、未だ別の取引情報のインプットで参照されていないアウトプットをUTXOともいう。 Transaction information includes inputs and outputs. For the output, for example, the remittance amount and the unlocking condition are designated. The unlocking condition is a condition required when the virtual asset to be remitted this time is used for another transaction information. An output that has not been referred to as an input of another transaction information among outputs created by one transaction information is also called UTXO.

取引情報のインプットには、今回使用するUTXOを示す情報(例えばポインタ等である)や、UTXOの解放条件が指定されている。解放条件は、UTXOを使用するための条件であり、当該UTXOが送金された取引情報のアウトプットにおいて指定されている解錠条件に対応する。なお、取引情報は、インプットとアウトプットとを複数含んでも良い。 In the input of the transaction information, information indicating the UTXO used this time (for example, a pointer or the like) and the release condition of the UTXO are designated. The release condition is a condition for using the UTXO, and corresponds to the unlocking condition specified in the output of the transaction information to which the UTXO is remitted. The transaction information may include a plurality of inputs and outputs.

ここで取引情報T01では、2つのインプットと2つのアウトプットとを有している。インプットのそれぞれには、今回送金する仮想資産をユーザAが受け取ったUTXOを参照する情報と、当該UTXOが指定する解錠条件に対応する解放条件(この例ではユーザAの署名と公開鍵)が指定されている。また、アウトプットに、送金金額として、任意の量の仮想資産と、解錠条件として、送金相手の公開鍵のハッシュ値が指定されている。この例では、解錠条件に指定されている公開鍵のハッシュ値が、アウトプットで指定した仮想資産の宛先(アドレス)を意味している。以下の例では、解錠条件で指定されている任意のユーザの公開鍵のハッシュ値を、当該ユーザのアドレスとも呼ぶ。 Here, the transaction information T01 has two inputs and two outputs. For each of the inputs, the information that refers to the UTXO that user A received the virtual asset to be retransmitted this time and the release condition (the signature and public key of user A in this example) corresponding to the unlocking condition specified by the UTXO are included. It is specified. In the output, an arbitrary amount of virtual assets is specified as the remittance amount, and a hash value of the public key of the remittance partner is specified as the unlocking condition. In this example, the hash value of the public key specified in the unlocking condition means the destination (address) of the virtual asset specified in the output. In the following example, the hash value of the public key of an arbitrary user designated by the unlocking condition is also called the address of the user.

なお、解錠条件に公開鍵のハッシュ値が指定されている場合は、解放条件は当該公開鍵と、その公開鍵に対応する秘密鍵による署名となる。また、解錠条件の記述の仕方は、図5の例に限定されず、同じ条件を示せればスクリプト等を用いてより簡略化してもよい。 When the hash value of the public key is specified as the unlocking condition, the release condition is the signature of the public key and the private key corresponding to the public key. The method of describing the unlocking condition is not limited to the example of FIG. 5, and may be simplified by using a script or the like if the same condition is shown.

詳細は後述するが、取引情報はマイナーによって検証され、承認されるとブロックと呼ばれる構造体に格納される。この検証・承認の作業をマイニングと呼ぶ。マイニングを行ったマイナーは手数料を得られる。一例として、手数料は、取引情報のインプットに指定したUTXOで移動された仮想資産の総額と、アウトプットで指定した送金金額の差額である。ただし、手数料の指定の仕方はこれに限定されない。例えば送金したい額に上乗せして指定するなど任意の方法でもよい。 As will be described later in detail, the transaction information is verified by the miner and, if approved, stored in a structure called a block. This verification/approval work is called mining. Miners who mined get a commission. As an example, the fee is the difference between the total amount of virtual assets transferred by UTXO specified in the input of transaction information and the remittance amount specified in the output. However, the method of designating the fee is not limited to this. For example, any method may be used, such as adding the amount to be transferred and designating.

取引情報T02には、インプットに取引情報T01のアウトプット(UTXO)へのポインタと、当該UTXOが指定する解錠条件に対応する解放条件(この例では、ユーザBの署名・公開鍵)とが設定されている。また、アウトプットとして、取引情報T01において、ユーザBが受け取った仮想資産のうち送金したい金額(典型的には代金から手数料を引いた金額)と、解錠条件(典型的には送金相手の公開鍵のハッシュ値)とが指定されている。 The transaction information T02 includes, as an input, a pointer to the output (UTXO) of the transaction information T01 and a release condition (in this example, the signature/public key of the user B) corresponding to the unlocking condition designated by the UTXO. It is set. As the output, in the transaction information T01, the amount of money to be remitted (typically the amount obtained by subtracting the fee from the fee) out of the virtual assets received by user B and the unlocking condition (typically disclosure of the remittance partner) Key hash value) and are specified.

なお、詳細は後述するが、図4に示した取引情報では、いずれも解錠条件として単一のユーザの公開鍵のハッシュ値(アドレス)が指定されているが、これに限定されない。例えばアウトプットに指定される解錠条件は、複数のユーザを指定して、指定した複数のユーザのうち、所定数以上の署名と公開鍵を、当該アウトプットを参照する取引情報のインプットで指定することを示す解錠条件が指定されてもよい。この場合には、例えばアウトプットの解錠条件としては、複数のユーザの公開鍵のハッシュ値と、そのうち満たすべき数とが指定される。このようなアウトプットの解錠条件を指定して送金することを、マルチシグアドレスに送金するとも呼ぶ。 Although the details will be described later, in the transaction information shown in FIG. 4, the hash value (address) of the public key of a single user is designated as the unlocking condition, but the unlocking condition is not limited to this. For example, the unlocking condition specified for the output specifies multiple users, and a specified number of signatures and public keys out of the specified users are specified by the input of transaction information that refers to the output. An unlocking condition indicating that the operation is to be performed may be designated. In this case, for example, as the output unlocking condition, the hash values of the public keys of a plurality of users and the number of them to be satisfied are designated. Remittance by designating the unlocking condition of the output is also called remittance to a multisig address.

なお、取引情報の構造は図4の例に限定されず、任意の構造でよい。 The structure of the transaction information is not limited to the example shown in FIG. 4 and may be any structure.

次いで、図5に、取引情報DB332が記憶するブロックチェーンのデータ構造の一部を模式的に示す。図5は、時系列順に並んだブロックのうち、N+1番目のブロックの構造を示す図である。 Next, FIG. 5 schematically shows a part of the data structure of the block chain stored in the transaction information DB 332. FIG. 5 is a diagram showing the structure of the N+1th block among the blocks arranged in chronological order.

ブロックの「ヘッダー」には、例えば、N番目のブロックのダイジェスト、タイムスタンプ、ターゲット、ナンスが格納される。 The “header” of the block stores, for example, the digest, time stamp, target, and nonce of the Nth block.

「N番目のブロックのダイジェスト」には、例えば、ブロックチェーンネットワーク上で、サーバ110及び端末120がそのN番目のブロックを一意に識別するための識別情報が格納される。N番目のブロックのダイジェストとしては、例えば、ブロックのハッシュ値を用いることができる。 The "digest of the Nth block" stores, for example, identification information for uniquely identifying the Nth block by the server 110 and the terminal 120 on the block chain network. As the digest of the Nth block, for example, a hash value of the block can be used.

「タイムスタンプ」には、ブロックを作成した場合にマイナーが付すタイムスタンプ又はブロックナンバーに関する情報が格納される。 The "time stamp" stores information about the time stamp or block number that the miner gives when a block is created.

「ターゲット」と「ナンス」は、例えば、PoW(Proof of Work)の技術を用いてマイニングを行う場合に用いられる値である。「ターゲット」は、マイニングの難易度に関する値である。「ナンス」は、ブロックを作成するときにマイナーによって作成される任意の値である。 “Target” and “nonce” are values used when mining is performed using the PoW (Proof of Work) technique, for example. The “target” is a value related to the difficulty level of mining. "Nance" is any value created by a miner when creating a block.

マイニングについて具体的に説明する。マイニングにおいて、マイナーはN+1番目のブロックのダイジェスト(ハッシュ値)がターゲットの値以下となるナンスを発見し、適切なナンスを発見すると、発見したナンスを格納してN+1番目のブロックを作成する。マイニングを行うブロックチェーンノードは、この適切ナンスを発見することを目的に、ナンスの値を変更しながら、繰り返しブロックヘッダーのダイジェストの計算(マイニング)を行う。任意のナンスを含んだブロックヘッダーのダイジェストが、ターゲット以下となる確率は極めて小さいため、マイニングには過大なコストがかかる。 The mining will be specifically described. In mining, the miner finds a nonce in which the digest (hash value) of the N+1th block is equal to or less than the target value, and when an appropriate nonce is found, stores the found nonce to create the N+1th block. The blockchain node that performs mining repeatedly calculates (mining) the digest of the block header while changing the value of the nonce for the purpose of discovering this appropriate nonce. Since the probability of the block header digest containing an arbitrary nonce being less than the target is extremely small, mining costs too much.

なお、マイニングはPoWの技術を用いる構成に限定されない。例えば各情報処理装置200は、作成されたブロックのヘッダーがターゲットの値以下になるか否かにかかわらず、ブロックをブロックチェーンの末尾に追加する構成でもよい。この場合、取引情報D332に記憶されるブロックは、ターゲット及びナンスを含まない構成でもよい。さらに、ブロックチェーンがプライベート型やコンソーシアム型である場合には、マイニングが行われない構成でもよい。 Note that mining is not limited to the configuration using PoW technology. For example, each information processing device 200 may be configured to add the block to the end of the block chain regardless of whether the header of the created block is equal to or less than the target value. In this case, the block stored in the transaction information D332 may not include the target and the nonce. Further, when the block chain is a private type or a consortium type, the mining may not be performed.

ブロックの「ボディ」には、複数の取引情報が格納されている。ブロックに格納された取引情報は、同じタイムスタンプデータを有する。 A plurality of transaction information is stored in the "body" of the block. The transaction information stored in the block has the same time stamp data.

ルールDB323は、不正条件記憶部の一例であり、ルールDB323には、取引情報が第1アドレスのユーザが意図しない不正なものであるか否か検知するための不正条件(以下、「不正検知条件」ともいう。)が管理される。ルールDB323で管理される各条件は、ユーザごとに異なっていてもよい。 The rule DB 323 is an example of a fraud condition storage unit, and the rule DB 323 includes a fraud condition for detecting whether or not the transaction information is fraud that the user at the first address does not intend (hereinafter referred to as “fraud detection condition”). Also referred to as "." is managed. Each condition managed by the rule DB 323 may be different for each user.

なお、ブロックの構造は図5の例に限定されず、任意の構造でもよい。 The block structure is not limited to the example shown in FIG. 5, and may be any structure.

図6に、ルールDB323が記憶する条件のデータ構造の一部を模式的に示す。図6の例では、仮想資産の保有者のユーザ(以下、説明のために「第1アドレス」と呼ぶ。)と、当該ユーザが保有する仮想資産を移動させる取引情報を不正と判断するための条件とが対応付けられて記憶されている。図6の例では、ユーザが仮想資産を受け取る際に解錠条件として指定されるアドレス(当該ユーザの公開鍵のハッシュ値である。)と、条件とが対応付けられている。一例として、ルールDB323に記憶される条件としては、以下のものが挙げられる。 FIG. 6 schematically shows a part of the data structure of the conditions stored in the rule DB 323. In the example of FIG. 6, a user of a virtual asset holder (hereinafter, referred to as “first address” for explanation) and transaction information for moving the virtual asset held by the user are determined to be fraudulent. The conditions are stored in association with each other. In the example of FIG. 6, the address (which is the hash value of the public key of the user) specified as the unlocking condition when the user receives the virtual asset is associated with the condition. As an example, the conditions stored in the rule DB 323 include the following.

「移動先アドレス」には、仮想資産の移動先(アウトプットの解錠条件に指定されるアドレス)に関する条件を格納することができる。例えば、あるアドレス(第1アドレス)のユーザは、特定のアドレス(第2アドレス)を仮想資産の移動先とすることを予め指定することができる。この場合において、ある取引情報の送金先のアドレスが予め設定された特定の移動先(第2アドレス)に含まれない場合には、サーバ110の検知部333は、その取引情報を不正と判断することができる。 The “destination address” can store a condition relating to the destination (address specified in the unlock condition of the output) of the virtual asset. For example, the user of a certain address (first address) can specify in advance that a specific address (second address) is set as the moving destination of the virtual asset. In this case, if the remittance destination address of certain transaction information is not included in the preset specific destination (second address), the detection unit 333 of the server 110 determines that transaction information is invalid. be able to.

「取引時間」には、取引情報の送信日時に関する条件を格納することができる。例えば、第1アドレスのユーザは、取引情報をブロックチェーンネットワークに送信する一日のうちの特定の時間帯を予め指定することができる。この場合、第1アドレスから仮想資産を移動させる取引情報が指定された時間帯以外において送信された場合には、サーバ110の検知部333は、その取引情報を不正と判断することができる。 The “transaction time” can store a condition relating to the date and time of transmission of transaction information. For example, the user at the first address may pre-designate a specific time period of the day in which transaction information is sent to the blockchain network. In this case, if the transaction information for moving the virtual asset from the first address is transmitted in a time period other than the designated time period, the detection unit 333 of the server 110 can determine that transaction information is illegal.

また、「取引時間」に、第1アドレスのユーザは、取引情報をブロックチェーンネットワークに送信しない特定の期間を予め指定することもできる。例えば、外出その他都合により仮想資産の取引をしない特定の期間が指定されている場合において、その期間内に第1アドレスから仮想資産を移動させる取引情報が送信された場合には、サーバ110の検知部333は、当該取引情報を不正と判断することができる。 Further, in the “transaction time”, the user of the first address can also previously specify a specific period during which the transaction information is not transmitted to the blockchain network. For example, when a specific period in which the virtual asset is not transacted is specified due to going out or other reasons, and transaction information for moving the virtual asset is transmitted from the first address within the period, detection of the server 110 is performed. The unit 333 can determine that the transaction information is fraudulent.

「移動量」には、第1アドレスから一度に移動する仮想資産の量に関する条件を格納することができる。例えば、第1アドレスのユーザは、1つの取引情報により移動する仮想資産の量の上限を予め指定することができる。また、第1アドレスのユーザは、所定の期間内に送信された取引情報により移動する仮想資産の合計量の上限をあらかじめ指定することもできる。この場合、取引情報が指定された上限を超える量の仮想資産を移動させる場合にはサーバ110の検知部333は、その取引情報を不正と判断することができる。 The “movement amount” can store a condition relating to the amount of virtual assets that are moved at a time from the first address. For example, the user of the first address can previously specify the upper limit of the amount of virtual assets to be moved by one transaction information. Further, the user of the first address can also specify in advance the upper limit of the total amount of virtual assets to be moved by the transaction information transmitted within the predetermined period. In this case, when moving the virtual assets in an amount exceeding the specified upper limit of the transaction information, the detection unit 333 of the server 110 can determine that the transaction information is illegal.

「通知」には、第1アドレスから仮想資産を移動させる取引情報の送信に際し、当該取引情報に関する通知を別途受信するか否かに関する条件を格納することができる。例えば、第1アドレスのユーザは、第1アドレスから仮想資産を移動させる取引情報の送信前又は送信後に、第1アドレスから仮想資産を移動させる(または移動させた)旨の通知をサーバ110に対して行うか否かを予め指定することができる。この通知が「要」となっている場合において、第1アドレスから仮想資産を移動させる取引情報に前後して通知を受信しない場合には、サーバ110の検知部333は、当該取引情報を不正と判断することができる。 In the “notification”, when transmitting the transaction information for moving the virtual asset from the first address, a condition regarding whether or not to separately receive the notification regarding the transaction information can be stored. For example, the user of the first address notifies the server 110 that the virtual asset is moved (or moved) from the first address before or after the transaction information for moving the virtual asset from the first address is transmitted. It can be designated in advance whether or not to carry out. If the notification is “necessary” and the notification is not received before or after the transaction information for moving the virtual asset from the first address, the detection unit 333 of the server 110 determines that the transaction information is invalid. You can judge.

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

秘密鍵DB324は、秘密鍵記憶部の一例であり、秘密鍵DB324には、例えば、第1アドレスの秘密鍵に関する情報が管理される。図7に、秘密鍵DB324が記憶する秘密鍵に関する情報のデータ構造の一部を模式的に示す。 The secret key DB 324 is an example of a secret key storage unit, and the secret key DB 324 manages, for example, information about the secret key of the first address. FIG. 7 schematically shows a part of the data structure of information about the secret key stored in the secret key DB 324.

「移動元アドレス」には、仮想資産の移動元アドレス(第1アドレス)に関する情報が格納されている。また、「秘密鍵」には、第1アドレスに対応する秘密鍵に関する情報が格納されている。さらに、「第3アドレス」には、第1アドレスから仮想資産を移動させる取引情報が不正であると検知した場合に、第1アドレスから仮想資産を移動させる宛先に関する情報が格納されていてもよい。 The “transfer source address” stores information on the transfer source address (first address) of the virtual asset. The "secret key" stores information about the secret key corresponding to the first address. Further, the “third address” may store information regarding a destination to which the virtual asset is moved from the first address when it is detected that the transaction information for moving the virtual asset from the first address is invalid. ..

なお、図7では、第3アドレスは、予め、移動元アドレスや秘密鍵と対応付けて記憶する態様を示しているが、これに限定されず、第3アドレスは、その都度ユーザが選択してもよい。 Although FIG. 7 shows a mode in which the third address is stored in advance in association with the source address and the secret key, the present invention is not limited to this, and the third address is selected by the user each time. Good.

次いで、図3に戻り、制御部330について説明する。制御部330は、秘密鍵管理部331、ルール管理部332、検知部333と、取引情報作成部334と、を有する。 Next, returning to FIG. 3, the control unit 330 will be described. The control unit 330 includes a secret key management unit 331, a rule management unit 332, a detection unit 333, and a transaction information creation unit 334.

通信I/F312は、ブロックチェーンネットワークから、取引情報を受信する受信部としての機能も有する。また、通信I/F312は、第1端末120A乃至第3端末120Cから、要求や通知を受信する受信部としての機能を有する。このような要求や通知としては、第1端末120A乃至第3端末120Cから受信する、取引情報が不正なものであるか否か検知するための条件の登録要求・変更要求・削除要求、任意のアドレスの秘密鍵に関する情報の登録要求・変更要求・削除要求、及び、第1端末120A乃至第3端末120Cのユーザが自身のアドレスから仮想資産を移動させる取引情報を送信した旨の通知などが挙げられる。 The communication I/F 312 also has a function as a receiving unit that receives transaction information from the block chain network. The communication I/F 312 also has a function as a receiving unit that receives requests and notifications from the first terminal 120A to the third terminal 120C. Such requests and notifications include registration request/change request/deletion request of conditions for detecting whether the transaction information received from the first terminal 120A to the third terminal 120C is invalid, or any request. Examples include registration request/change request/deletion request for information related to the private key of the address, and notification that the user of the first terminal 120A to the third terminal 120C has transmitted transaction information for moving the virtual asset from its own address. To be

通信I/F312は、ブロックチェーンネットワークに、取引情報や通知を送信する送信部としての機能を有する。また、通信I/F312は、第1端末120A乃至第3端末120Cに、通知を送信する送信部としての機能を有する。 The communication I/F 312 has a function as a transmission unit that transmits transaction information and notification to the block chain network. Further, the communication I/F 312 has a function as a transmission unit that transmits a notification to the first terminal 120A to the third terminal 120C.

これらの機能構成は、プロセッサ201が、記憶部320に格納されているプログラム321を読み出して実行することで実現される。また、サーバ110によって実現される機能構成は、実施形態や実施例に応じて、適宜、機能の省略、置換、及び追加が行われてもよい。 These functional configurations are realized by the processor 201 reading and executing the program 321 stored in the storage unit 320. In addition, the functional configuration realized by the server 110 may be appropriately omitted, replaced, or added depending on the embodiment or the example.

秘密鍵管理部331は、秘密鍵DBの情報を管理する機能を有する。一例として、サーバ110の受信部が第1端末120Aから第1アドレスのユーザの秘密鍵の登録要求を受けた場合には、秘密鍵管理部331は、第1アドレスと対応付けてその秘密鍵に関する情報を記憶する。また、秘密鍵に関する情報の更新要求又は削除要求を受けた場合には、秘密鍵管理部331は、それら要求に応じて、秘密鍵に関する情報の更新または削除をする。 The private key management unit 331 has a function of managing information in the private key DB. As an example, when the receiving unit of the server 110 receives a registration request of the secret key of the user of the first address from the first terminal 120A, the secret key management unit 331 relates to the secret key in association with the first address. Store information. When receiving a request to update or delete information on the private key, the private key management unit 331 updates or deletes information on the private key in response to the request.

ルール管理部332は、ルールDB323の情報を管理する機能を有する。一例として、サーバ110の受信部が第1端末120Aから不正検知条件(不正条件)の登録要求を受けた場合には、ルール管理部332は、第1アドレスと対応付けてその不正検知条件を記憶する。また、不正検知条件の更新要求又は削除要求を受けた場合には、ルール管理部332は、それら要求に応じて、不正検知条件の更新または削除をする。 The rule management unit 332 has a function of managing information in the rule DB 323. As an example, when the receiving unit of the server 110 receives a fraud detection condition (illegal condition) registration request from the first terminal 120A, the rule management unit 332 stores the fraud detection condition in association with the first address. To do. Further, when receiving the update request or the deletion request for the fraud detection condition, the rule management unit 332 updates or deletes the fraud detection condition according to the request.

検知部333は、ルールDB323に記憶された不正検知条件に基づいて、ブロックに格納される前の取引情報が当該取引情報における仮想資産の移動元のユーザが意図しない不正なものであるか否かを検知する機能を有する。一例として、サーバ110の受信部がブロックチェーンネットワークから、ルールDB323に不正検知条件が登録されたユーザのアドレスを移動元とする取引情報(検知部333の検知対象となる取引情報である。以下、検知対象の取引情報を「第1取引情報」とも呼ぶ。)を受信した場合には、検知部333はその取引情報がルールDB323に記憶された不正検知条件を満たすか否かを判断する。 Based on the fraud detection condition stored in the rule DB 323, the detection unit 333 determines whether or not the transaction information before being stored in the block is unintended by the user who is the transfer source of the virtual asset in the transaction information. Has the function of detecting As an example, the transaction information in which the receiving unit of the server 110 moves from the block chain network to the address of the user whose fraud detection condition is registered in the rule DB 323 (transaction information to be detected by the detection unit 333. When the transaction information to be detected is also referred to as “first transaction information”), the detection unit 333 determines whether or not the transaction information satisfies the fraud detection condition stored in the rule DB 323.

第1取引情報が不正検知条件を満たす場合には、検知部333は、第1取引情報からその手数料に関する情報を特定する。そして、検知部333は、手数料に関する情報とともに、取引情報作成部334に対して、不正と判断した第1取引情報よりも高い手数料を指定するキャンセル用の取引情報であって、第1アドレスに対応する暗号鍵により電子署名された取引情報(以下、「第2取引情報」とも呼ぶ。)を作成するよう指示をする。 When the first transaction information satisfies the fraud detection condition, the detection unit 333 identifies the information regarding the fee from the first transaction information. Then, the detection unit 333 is transaction information for cancellation that specifies a higher fee than the first transaction information determined to be incorrect to the transaction information creation unit 334 together with the information regarding the fee, and corresponds to the first address. It is instructed to create transaction information (hereinafter, also referred to as “second transaction information”) electronically signed by the encryption key.

一方、第1取引情報が不正検知条件を満たさない場合には、検知部333は、第1取引情報が正当なものであると判断する。なお、検知部333は、第1取引情報が不正検知条件を満たす又は満たさないと判断した場合に、その旨を第1端末120Aに通知するようサーバ110の送信部に指示をしてもよい。 On the other hand, when the first transaction information does not satisfy the fraud detection condition, the detection unit 333 determines that the first transaction information is valid. If the detection unit 333 determines that the first transaction information satisfies or does not satisfy the fraud detection condition, the detection unit 333 may instruct the transmission unit of the server 110 to notify the first terminal 120A of that fact.

取引情報作成部334は、検知部333からの指示に応じて電子署名された第2取引情報を作成して、作成した第2取引情報をブロックチェーンネットワークに送信するようサーバ110の送信部に指示する機能を有する。 The transaction information creation unit 334 creates the second transaction information electronically signed according to the instruction from the detection unit 333, and instructs the transmission unit of the server 110 to send the created second transaction information to the block chain network. Have the function to

一例として、取引情報作成部334は、検知部333から第1取引情報の手数料に関する情報とともに第2取引情報を送信するよう指示を受けた場合には、第1取引情報よりも高い手数料を指定して、秘密鍵DBを参照して電子署名をしてする第2取引情報を作成する。そして、取引情報作成部334は、第2取引情報を速やかにブロックチェーンネットワークに送信するよう送信部に指示をする。なお、第2取引情報がアウトプットに指定する仮想資産の移動先は、特に制限されない。 As an example, when the transaction information creation unit 334 receives an instruction from the detection unit 333 to transmit the second transaction information together with the information regarding the fee of the first transaction information, the transaction information creation unit 334 specifies a higher fee than the first transaction information. Then, the second transaction information to be digitally signed is created by referring to the private key DB. Then, the transaction information creation unit 334 instructs the transmission unit to immediately transmit the second transaction information to the blockchain network. The destination of the virtual asset designated as the output by the second transaction information is not particularly limited.

これにより、仮想資産の取引システムにおいて、マイナーは、手数料のインセンティブにしたがって、不正な第1取引情報よりも優先的に第2取引情報をブロックチェーン(分散型台帳)に取り込ませることができる。第2取引情報がブロックチェーンに取り込まれることにより、第1取引情報のインプットに指定された未使用トランザクションアウトプットは、使用済トランザクションアウトプットとなる。そのため、第1取引情報による仮想資産の送金をキャンセルさせることができる。 Thus, in the virtual asset transaction system, the miner can take the second transaction information into the blockchain (distributed ledger) in preference to the fraudulent first transaction information in accordance with the incentive for the fee. The unused transaction output designated as the input of the first transaction information becomes the used transaction output by incorporating the second transaction information into the block chain. Therefore, it is possible to cancel the remittance of the virtual asset by the first transaction information.

以下、さらに付加的態様について説明する。 Hereinafter, additional aspects will be described.

取引情報作成部334は、第2取引情報として、仮想資産を前記第1アドレスから第3アドレスに移動させる第2取引情報を作成することができる。この際、取引情報作成部334は、第1アドレスから仮想資産を退避させる移動先として、秘密鍵DB324に記憶された第3アドレスを参照することができる。第3アドレスは、第1アドレスを所有するユーザと同一の者が所有するアドレスであってもよいし、第1アドレスを所有するユーザが信頼する他の者が所有するアドレスであってもよい。ここで、他の者としては、サーバ110などが挙げられる。 The transaction information creation unit 334 can create, as the second transaction information, second transaction information for moving the virtual asset from the first address to the third address. At this time, the transaction information creation unit 334 can refer to the third address stored in the private key DB 324 as the destination for saving the virtual asset from the first address. The third address may be an address owned by the same person as the user who owns the first address, or may be an address owned by another person trusted by the user who owns the first address. Here, the other person may be the server 110 or the like.

これにより、サーバ110は、既に悪意のある第三者に秘密鍵が知られた第1アドレスから、仮想資産を退避させることができる。そのため、継続的に不正な第1取引情報がブロックチェーンネットワークに送信されることにより、第1アドレスが保有する仮想資産が脅かされることを回避することができる。 As a result, the server 110 can save the virtual asset from the first address whose private key has already been known to a malicious third party. Therefore, it is possible to avoid threatening the virtual asset held by the first address by continuously transmitting the unauthorized first transaction information to the block chain network.

取引情報作成部334は、第1取引情報がブロックチェーンに取り込まれる前に、検知部333からの指示に応じて、速やかに第2取引情報をブロックチェーンネットワークに送信することが好ましい。より具体的には、検知部333が不正な第1取引情報を検知した場合には、第2取引情報を送信することについて第1アドレスのユーザに問い合わせ等をすることなく、速やかに第2取引情報をブロックチェーンネットワークに送信することができる。 It is preferable that the transaction information creation unit 334 promptly transmits the second transaction information to the block chain network according to an instruction from the detection unit 333 before the first transaction information is taken into the block chain. More specifically, when the detection unit 333 detects the illegal first transaction information, the second transaction is promptly performed without inquiring the user of the first address about transmitting the second transaction information. Information can be sent to the blockchain network.

また、取引情報作成部334は、取引情報DB322を参照し、最新のブロックが作成された日時とその日時からの経過時間を監視し、経過時間に応じて、速やかに第2取引情報をブロックチェーンネットワークに送信することができる。例えば、PofWの場合、約10分毎に新しいブロックが作成される。そのため、新たなブロックが作成される直前には、検知部333と取引情報作成部334がパフォーマンスを発揮できるよう、プロセッサ201、メモリ202、及び/又はストレージ203を割り当てることが好ましい。 In addition, the transaction information creation unit 334 refers to the transaction information DB 322, monitors the date and time when the latest block was created, and the elapsed time from that date and time, and immediately transmits the second transaction information to the block chain according to the elapsed time. Can be sent to the network. For example, in the case of PofW, a new block is created about every 10 minutes. Therefore, immediately before the new block is created, it is preferable to allocate the processor 201, the memory 202, and/or the storage 203 so that the detection unit 333 and the transaction information creation unit 334 can exert their performance.

これにより、第2取引情報の送信前に第1取引情報がブロックチェーンに取り込まれるリスクを低減することができる。 Thereby, the risk that the first transaction information is taken into the blockchain before the transmission of the second transaction information can be reduced.

検知部333は、第1取引情報が不正検知条件を満たす場合に、第1取引情報に指定される未使用トランザクションアウトプットに関する情報を特定することができる。この場合、検知部333は、第2取引情報が特定した未使用トランザクションアウトプットをインプットに指定するよう取引情報作成部334に対して指示をすることができる。この場合、第1取引情報のインプットが複数の未使用トランザクションアウトプットを含む場合には、第2取引情報のインプットに指定される未使用トランザクションアウトプットは、第1取引情報のインプットで指定された未使用トランザクションアウトプットを少なくとも一つ含む。 The detection unit 333 can specify the information related to the unused transaction output designated in the first transaction information when the first transaction information satisfies the fraud detection condition. In this case, the detection unit 333 can instruct the transaction information creation unit 334 to specify the unused transaction output specified by the second transaction information as an input. In this case, if the input of the first transaction information includes a plurality of unused transaction outputs, the unused transaction output specified in the input of the second transaction information is specified in the input of the first transaction information. Contains at least one unused transaction output.

これにより、第1取引情報のインプットに指定された未使用トランザクションアウトプットを、より直接的に使用済トランザクションアウトプットとすることができる。そのため、第1取引情報のインプットに指定された未使用トランザクションアウトプットと第2取引情報のインプットに指定された未使用トランザクションアウトプットとが相違することを回避することができる。すなわち、第1取引情報による仮想資産の送金がキャンセルされないリスクを低減することができる。 Thereby, the unused transaction output designated as the input of the first transaction information can be directly used as the used transaction output. Therefore, it is possible to avoid the difference between the unused transaction output designated as the input of the first transaction information and the unused transaction output designated as the input of the second transaction information. That is, it is possible to reduce the risk that the remittance of the virtual asset by the first transaction information is not canceled.

取引情報作成部334は、インプットとして第1アドレスが有する全ての未使用トランザクションアウトプットを指定した第2取引情報を作成することができる。 The transaction information creation unit 334 can create second transaction information that specifies all unused transaction outputs that the first address has as an input.

これにより、第2取引情報のインプットに指定された未使用トランザクションアウトプットは、第1取引情報のインプットに指定された未使用トランザクションアウトプットを含むものとなる。そのため、検知部333が第1取引情報に指定される未使用トランザクションアウトプットに関する情報を特定するステップを省略することができる。 Accordingly, the unused transaction output designated as the input of the second transaction information includes the unused transaction output designated as the input of the first transaction information. Therefore, the step in which the detection unit 333 specifies the information regarding the unused transaction output designated in the first transaction information can be omitted.

(2)端末の機能構成
図8は、第1実施形態に係る第1端末120A乃至第3端末120Cの機能的な構成を示すブロック図の一例を示す。第1端末120A乃至第3端末120Cは、取引システム1において、ユーザが仮想資産の取引に用いる情報処理装置の一例であり、入出力I/F811と、通信I/F812と、記憶部820と、制御部830とを有する。
(2) Functional Configuration of Terminal FIG. 8 shows an example of a block diagram showing a functional configuration of the first terminal 120A to the third terminal 120C according to the first embodiment. The first terminal 120A to the third terminal 120C are an example of an information processing device used by a user for trading virtual assets in the trading system 1, and include an input/output I/F 811, a communication I/F 812, and a storage unit 820. And a control unit 830.

入出力I/F811は、例えば、入出力I/F204を用いて実現され得る。また、通信I/F812は、例えば、通信I/F205を用いて実現され得る。記憶部820は、例えば、メモリ202及び/又はストレージ203を用いて実現され得る。制御部830は、例えば、プロセッサ201が、記憶部820に格納されているプログラムを読みだして実行することで実現され得る。 The input/output I/F 811 can be realized by using the input/output I/F 204, for example. The communication I/F 812 can be realized by using the communication I/F 205, for example. The storage unit 820 can be realized by using the memory 202 and/or the storage 203, for example. The control unit 830 can be realized by, for example, the processor 201 reading out and executing a program stored in the storage unit 820.

入出力I/F821は、所定の画面を表示し、また、第1端末120A乃至第3端末120Cの画面に表示されたボタンや、第1端末120A乃至第3端末120Cのタッチパネルなどを用いてユーザ操作を受け付けて、操作に関する情報を制御部830に出力する。 The input/output I/F 821 displays a predetermined screen, and uses the buttons displayed on the screens of the first terminal 120A to the third terminal 120C and the touch panel of the first terminal 120A to the third terminal 120C. The operation is accepted and information regarding the operation is output to the control unit 830.

第1端末120A乃至第3端末120Cの通信I/F822は、サーバ110に対して、取引情報の作成要求、取引情報のブロックチェーンネットワークへの送信要求、不正検知条件の登録要求、変更要求、及び削除要求、アドレスの秘密鍵に関する情報の登録要求、変更要求、及び削除要求、取引情報を送信した旨の通知を送信したりする送信部としての機能を有する。また、通信I/F822は、ブロックチェーンネットワークから第2取引情報などを受信したり、サーバ110から不正検知条件の登録、更新、及び削除要求に対する完了通知などを受信したりする受信部としての機能を有する。 The communication I/F 822 of the first terminal 120A to the third terminal 120C requests the server 110 to create transaction information, request to transmit transaction information to the blockchain network, request to register fraud detection conditions, change request, and It has a function as a transmission unit that transmits a deletion request, a registration request for information about the secret key of the address, a change request, and a notification that the deletion request and the transaction information have been transmitted. The communication I/F 822 also functions as a receiving unit that receives the second transaction information and the like from the block chain network and the completion notification for the fraud detection condition registration, update, and deletion requests from the server 110. Have.

第1端末120A乃至第3端末120Cの記憶部820は、例えば、第1端末120A乃至第3端末120Cが実行するプログラム821及び取引情報DB822を記憶する。このプログラム821は、限定ではなく一例として、取引システム1において仮想資産の取引処理を実行させるプログラムである。また、第1端末120Aのプログラム821は、不正検知条件や秘密鍵に関する情報の登録、更新、及び削除要求を送信する処理をさらに実行させるプログラムであってもよい。このプログラム821は、コンピュータ読み取り可能な記録媒体に記録されてもよく、この記録媒体からコンピュータにインストールされてもよい。 The storage unit 820 of the first terminal 120A to the third terminal 120C stores, for example, the program 821 executed by the first terminal 120A to the third terminal 120C and the transaction information DB 822. This program 821 is, for example and not by way of limitation, a program for executing transaction processing of virtual assets in the transaction system 1. Further, the program 821 of the first terminal 120A may be a program that further executes a process of transmitting a request for registering, updating, and deleting information regarding fraud detection conditions and secret keys. The program 821 may be recorded in a computer-readable recording medium or may be installed in the computer from this recording medium.

取引情報DB822は、取引情報DB322と同様の構成とすることができる。 The transaction information DB 822 can have the same configuration as the transaction information DB 322.

第1実施形態においては、秘密鍵に関する情報はサーバ110の秘密鍵管理DB324により管理されるため、第1端末120A乃至第3端末120Cは秘密鍵を記憶しなくともよい。以下、第1端末120A乃至第3端末120Cは秘密鍵を記憶せず、サーバ110が暗号鍵を記録するウェブ(オンライン)ウォレットを前提に説明するが、ウォレットの態様はこれに限定されない。 In the first embodiment, since the information about the secret key is managed by the secret key management DB 324 of the server 110, the first terminal 120A to the third terminal 120C do not have to store the secret key. Hereinafter, the first terminal 120A to the third terminal 120C will be described on the premise of a web (online) wallet in which the private key is not stored and the server 110 records the encryption key, but the form of the wallet is not limited to this.

第1端末120A乃至第3端末120Cの制御部830は、例えば、サーバ110に対して、取引情報の作成及び送信について指示をする取引情報作成部831、秘密鍵の管理に関する要求を行う秘密鍵管理部832と、を有する。なお、第2端末120B及び第3端末120Cは、秘密鍵管理部832を有しない構成としてもよい。 The control unit 830 of the first terminal 120A to the third terminal 120C, for example, the transaction information creation unit 831 that instructs the server 110 to create and send the transaction information, and the private key management that makes a request for private key management. And a portion 832. The second terminal 120B and the third terminal 120C may not have the secret key management unit 832.

取引情報作成部831は、入出力I/F811からのユーザ操作を受け付けて、サーバ110に対して、取引情報を作成し、ブロックチェーンネットワークに送信するように、指示をする。 The transaction information creation unit 831 accepts a user operation from the input/output I/F 811, and instructs the server 110 to create transaction information and send it to the block chain network.

より具体的には、第1端末120A乃至第3端末120Cの取引情報作成部831は、アドレスに紐づけられた未使用トランザクションアウトプットを特定するようサーバ110に要求する機能と、特定した未使用トランザクションアウトプットを用いて取引情報を作成するようサーバ110に要求する機能と、作成した取引情報に秘密鍵による電子署名を行うようサーバ110に要求する機能とを有する。これにより、取引情報の作成から取引情報に対する電子署名をサーバ110に指示することができる。 More specifically, the transaction information creation unit 831 of the first terminal 120A to the third terminal 120C has a function of requesting the server 110 to identify the unused transaction output associated with the address, and the identified unused transaction output. It has a function of requesting the server 110 to create transaction information using the transaction output, and a function of requesting the server 110 to electronically sign the created transaction information with a secret key. Accordingly, it is possible to instruct the server 110 to create a transaction information and to electronically sign the transaction information.

秘密鍵管理部832は、入出力I/F811からのユーザ操作を受け付けて、サーバ110に対して、秘密鍵に関する情報の登録、更新、及び削除要求を行うよう第1端末120A乃至第3端末120Cの送信部に指示する機能を有する。 The secret key management unit 832 accepts a user operation from the input/output I/F 811, and requests the server 110 to register, update, and delete information regarding the secret key, from the first terminal 120A to the third terminal 120C. It has a function of instructing the transmitting unit of.

例えば、サーバ110の秘密鍵DB324に秘密鍵に関する情報を登録したい場合には、秘密鍵管理部832は、第1アドレスのユーザの操作に応じて、秘密鍵の登録要求をサーバ110に送信する。秘密鍵の登録要求に応じて、サーバ110の秘密鍵管理部331は、秘密鍵に関する情報を秘密鍵DB324に登録するとともに、登録完了通知を第1端末120Aに送信する。 For example, when it is desired to register information about the private key in the private key DB 324 of the server 110, the private key management unit 832 sends a private key registration request to the server 110 in response to the operation of the user at the first address. In response to the private key registration request, the private key management unit 331 of the server 110 registers information about the private key in the private key DB 324 and sends a registration completion notification to the first terminal 120A.

ルール管理部833は、入出力I/F811からのユーザ操作を受け付けて、サーバ110に対して、不正検知条件の登録、更新、及び削除要求を行うよう第1端末120A乃至第3端末120Cの送信部に指示する機能を有する。 The rule management unit 833 receives the user operation from the input/output I/F 811, and transmits the first terminal 120A to the third terminal 120C to the server 110 so as to request registration, update, and deletion of the fraud detection condition. It has a function to instruct the department.

例えば、サーバ110のルールDB323に不正検知条件を登録したい場合には、ルール管理部833は、第1アドレスのユーザの操作に応じて、不正検知条件の登録要求をサーバ110に送信する。不正検知条件の登録要求に応じて、サーバ110のルール管理部332は、不正検知条件をルールDB332に登録するとともに、登録完了通知を第1端末120Aに送信する。 For example, when the fraud detection condition is to be registered in the rule DB 323 of the server 110, the rule management unit 833 sends a fraud detection condition registration request to the server 110 in response to an operation by the user at the first address. In response to the fraud detection condition registration request, the rule management unit 332 of the server 110 registers the fraud detection condition in the rule DB 332 and sends a registration completion notification to the first terminal 120A.

また、第1アドレスのユーザが不正検知条件を更新したい場合には、ルール管理部833は、第1アドレスのユーザの操作に応じて、不正検知条件の更新に関する情報をサーバ110に送信する。不正検知条件の更新要求に応じて、サーバ110のルール管理部332は、ルールDB332から不正検知条件を更新する第1アドレスを特定し、その不正検知条件を更新する。 Further, when the user of the first address wants to update the fraud detection condition, the rule management unit 833 transmits the information regarding the update of the fraud detection condition to the server 110 according to the operation of the user of the first address. In response to the fraud detection condition update request, the rule management unit 332 of the server 110 specifies the first address for updating the fraud detection condition from the rule DB 332, and updates the fraud detection condition.

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

(秘密鍵に関する情報及び不正検知条件を記憶する処理)
図9に示すステップS901において、第1端末120Aの秘密鍵管理部832は、ユーザ操作に応じて、秘密鍵に関する情報とともに秘密鍵の登録要求をサーバ110に対して送信するよう、通信I/F812に指示する。サーバ110の受信部は、秘密鍵の登録要求に応じて、秘密鍵に関する情報を秘密鍵DB324に記憶するよう、秘密鍵管理部331に指示する(ステップS902、S1001)。
(Process of storing information about private key and fraud detection condition)
In step S901 illustrated in FIG. 9, the private key management unit 832 of the first terminal 120A sends a communication key I/F 812 so as to send a private key registration request together with information about the private key to the server 110 in response to a user operation. Instruct. In response to the private key registration request, the receiving unit of the server 110 instructs the private key management unit 331 to store information about the private key in the private key DB 324 (steps S902, S1001).

ステップS903において、第1端末120Aのルール管理部833は、ユーザ操作に応じて、不正検知条件の登録要求をサーバ110に対して送信するよう、通信I/F812に指示する。サーバ110の受信部は、不正検知条件の登録要求に応じて、不正検知条件をルールDB323に記憶するよう、ルール管理部332に指示する(ステップS904、S1002)。 In step S903, the rule management unit 833 of the first terminal 120A instructs the communication I/F 812 to transmit a fraud detection condition registration request to the server 110 in response to a user operation. In response to the fraud detection condition registration request, the reception unit of the server 110 instructs the rule management unit 332 to store the fraud detection condition in the rule DB 323 (steps S904 and S1002).

上記のようにして記憶した秘密鍵に関する情報及び不正検知条件は、第1端末120Aから受信する変更要求または削除要求に応じて、サーバ110の秘密鍵管理部331又はルール管理部332が変更または削除することができる。 The secret key information and the fraud detection condition stored as described above are changed or deleted by the secret key management unit 331 or the rule management unit 332 of the server 110 according to the change request or the deletion request received from the first terminal 120A. can do.

(第1取引情報を受信する処理)
ステップS905,S1003において、サーバ110の受信部は、ブロックチェーンネットワークから第1取引情報を受信し、取引情報DB332に記憶させる。
(Process of receiving first transaction information)
In steps S905 and S1003, the receiving unit of the server 110 receives the first transaction information from the block chain network and stores it in the transaction information DB 332.

(不正な第1取引情報を検知する処理)
ステップS906,S1004において、サーバ110の検知部333は、ルールDB323に記憶された不正検知条件に基づいて、取引情報DB332に記憶した第1取引情報が不正なものであるか否かを判断する。この際、検知部333が対象とする第1取引情報は、ブロックに格納する前の第1取引情報である。
(Process to detect unauthorized first transaction information)
In steps S906 and S1004, the detection unit 333 of the server 110 determines whether the first transaction information stored in the transaction information DB 332 is illegal based on the fraud detection condition stored in the rule DB 323. At this time, the first transaction information targeted by the detection unit 333 is the first transaction information before being stored in the block.

検知部333は、ブロックに格納する前の第1取引情報が不正なものと判断する場合には、その第1取引情報のインプット及びアウトプットに関する情報から手数料を特定する。そして、検知部333は、特定した手数料とともに、取引情報作成部334に第2取引情報を作成するよう指示をする。なお、検知部333は、第1取引情報が不正検知条件の少なくとも一つを満たせば、第1取引情報を不正なものと判断することができる。 When the detection unit 333 determines that the first transaction information before being stored in the block is invalid, the detection unit 333 identifies the fee from the information regarding the input and output of the first transaction information. Then, the detection unit 333 instructs the transaction information creation unit 334 to create the second transaction information together with the specified fee. The detecting unit 333 can determine that the first transaction information is illegal if the first transaction information satisfies at least one of the fraud detection conditions.

(第2取引情報を送信する処理)
ステップS907,S1005において、取引情報作成部334は、第1取引情報よりも高い手数料を指定する第2取引情報を作成し、秘密鍵DB324に記憶した秘密鍵により電子署名を行う。
(Process of transmitting second transaction information)
In steps S907 and S1005, the transaction information creation unit 334 creates second transaction information that specifies a higher fee than the first transaction information, and makes an electronic signature using the secret key stored in the secret key DB 324.

ステップS908,S1006において、取引情報作成部334は、第2取引情報を速やかにブロックチェーンネットワークに送信するようサーバ110の送信部に指示をする。一度不正検知条件がサーバ110に登録されると、サーバ110は、第1取引情報の受信から処理を開始する。なお、不正件条件や秘密鍵は、ユーザ操作に応じて、適宜変更されてもよい。 In steps S908 and S1006, the transaction information creation unit 334 instructs the transmission unit of the server 110 to immediately transmit the second transaction information to the block chain network. Once the fraud detection condition is registered in the server 110, the server 110 starts the process from the reception of the first transaction information. The fraud condition and the secret key may be appropriately changed according to the user operation.

なお、第1実施形態において、第2取引情報として第1取引情報による仮想資産の移動をキャンセルする取引情報を作成し、ブロックチェーンネットワークに送信してもよい。 In the first embodiment, as the second transaction information, transaction information for canceling the movement of the virtual asset by the first transaction information may be created and transmitted to the block chain network.

これにより、第1アドレスのユーザは、不正な第1取引情報をキャンセルするための防御手段を得ることができる。そのため、例えば、悪意のある第三者は、秘密鍵を知得するインセンティブが低減する。また、例えば、第1アドレスのユーザは、これまで取引に使用してきた第1アドレスを捨ててまで、第3アドレス等に仮想資産を退避させる必要性が低減する。 Thereby, the user of the first address can obtain a defense measure for canceling the illegal first transaction information. Therefore, for example, a malicious third party has less incentive to learn the secret key. Further, for example, the user of the first address reduces the need to save the virtual asset to the third address or the like until the first address used for the transaction is discarded.

具体的な動作処理としては、まず、取引情報作成部334は、第1取引情報による仮想資産の移動をキャンセルする第2取引情報を作成し、ブロックチェーンネットワークに送信するようサーバ110の送信部に指示する。 As a specific operation process, first, the transaction information creation unit 334 creates second transaction information for canceling the movement of the virtual asset by the first transaction information, and instructs the transmission unit of the server 110 to transmit the second transaction information to the block chain network. Give instructions.

この場合の第2取引情報のデータ構造は、ブロックチェーンネットワークが特定のキャンセル用の取引情報を用意している場合には、その取引情報のデータ構造に準じることができる。キャンセル用の取引情報の一例として、キャンセル対象である第1取引情報を特定するためのトランザクションIDと、第1取引情報の手数料よりも高い手数料と、第1アドレスのユーザの電子署名を含むものが挙げられる。 The data structure of the second transaction information in this case can be based on the data structure of the transaction information when the blockchain network prepares the transaction information for specific cancellation. As an example of the transaction information for cancellation, a transaction ID for identifying the first transaction information to be canceled, a fee higher than the fee for the first transaction information, and an electronic signature of the user of the first address are included. Can be mentioned.

また、キャンセルに使われる場合の第2取引情報の他の例として、第1アドレスの有する未使用トランザクションアウトプットの全て又は一部を第1アドレスから第1アドレスに移動させる取引情報を利用することもできる。 Also, as another example of the second transaction information used for cancellation, use transaction information that moves all or part of the unused transaction output of the first address from the first address to the first address. Can also

この第2取引情報によれば、手数料分が減少すること以外は、仮想資産は第1アドレスから第1アドレスに移動するものとなる。そのため、見た目上は、手数料を支払ってキャンセルをしたことと同等となる。このような取引情報であれば、ブロックチェーンネットワークが特定のキャンセル用の取引情報を用意していないような場合でも、用いることができる。 According to this second transaction information, the virtual asset moves from the first address to the first address, except that the fee is reduced. Therefore, in appearance, it is equivalent to canceling after paying a fee. Such transaction information can be used even when the block chain network does not prepare specific transaction information for cancellation.

<<第1実施形態の変形例>>
次に、第1実施形態の変形例について説明する。第1実施形態の変形例は、サーバ110に代わってあるいは加えて、第1端末120Aが秘密鍵を管理する例である。本変形例では、第1端末120Aが第2取引情報を作成し、送信する処理を行うことができる。
<<Modification of First Embodiment>>
Next, a modified example of the first embodiment will be described. The modified example of the first embodiment is an example in which the first terminal 120A manages the secret key instead of or in addition to the server 110. In this modification, the first terminal 120A can perform the process of creating and transmitting the second transaction information.

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

<<変形例の効果>>
本変形例によれば、サーバ110の秘密鍵管理部331、取引情報作成部334、及び秘密鍵DB324を利用することなく、第1端末120Aの機能部だけで第2取引情報を利用した第1取引情報のキャンセルを実施することができる。
<<Effect of Modification>>
According to this modification, the first transaction using the second transaction information is performed only by the functional unit of the first terminal 120A without using the private key management unit 331, the transaction information creation unit 334, and the private key DB 324 of the server 110. Transaction information can be canceled.

そのため、サーバ110が攻撃されることにより、サーバ110の管理する秘密鍵が流出するリスクを回避することが可能となる。 Therefore, it is possible to avoid the risk that the private key managed by the server 110 leaks due to the attack on the server 110.

<<変形例の機能構成>>
(1)サーバ110の機能構成
本変形例では、サーバ110の制御部330は、秘密鍵管理部331、取引情報作成部334、及び秘密鍵DB324を有しなくともよい。
<<Functional configuration of modification>>
(1) Functional Configuration of Server 110 In this modification, the control unit 330 of the server 110 does not have to have the secret key management unit 331, the transaction information creation unit 334, and the secret key DB 324.

また、サーバ110の検知部333は、不正な第1取引情報を検知した場合には、その第1取引情報が指定する手数料等の情報とともに、不正な取引情報を検知した旨の通知を第1端末120Aに対して送信するよう、サーバ110の送信部に指示をする。 In addition, when the detection unit 333 of the server 110 detects the unauthorized first transaction information, the first notification of the detection of the unauthorized transaction information is given together with the information such as the fee designated by the first transaction information. The transmission unit of the server 110 is instructed to transmit to the terminal 120A.

(2)端末120の機能構成
第1端末120Aの制御部830は、例えば、取引情報作成部831、秘密鍵管理部832と、ルール管理部833とを有する。ここで、取引情報作成部831は、例えば、端末が取引情報の作成とブロックチェーンネットワークへの送信を行う機能を有する。また、秘密鍵管理部832は、例えば、秘密鍵を端末により管理し、その秘密鍵を用いた電子署名を行う機能を有する。以下、各機能部について説明する。
(2) Functional Configuration of Terminal 120 The control unit 830 of the first terminal 120A has, for example, a transaction information creation unit 831, a secret key management unit 832, and a rule management unit 833. Here, the transaction information creation unit 831 has, for example, a function of allowing the terminal to create transaction information and send it to the blockchain network. The private key management unit 832 has a function of managing a private key by a terminal and performing an electronic signature using the private key, for example. Hereinafter, each functional unit will be described.

第1端末120Aの受信部が不正な取引情報を検知した旨の通知をサーバ110から受信したときは、取引情報作成部831は、第2取引情報を作成し、秘密鍵管理部832に電子署名を行うよう指示をする。また、取引情報作成部831は、電子署名をした第2取引情報をブロックチェーンネットワーク上に送信するよう第1端末120Aの送信部に指示をする。 When the receiving unit of the first terminal 120A receives the notification that the fraudulent transaction information is detected from the server 110, the transaction information creating unit 831 creates the second transaction information and digitally signs the private key management unit 832. Instruct them to do. Further, the transaction information creation unit 831 instructs the transmission unit of the first terminal 120A to transmit the second transaction information having the electronic signature on the block chain network.

なお、取引情報作成部831が第2取引情報を作成し、電子署名を行う処理については、取引情報作成部334と同様とすることができる。 The transaction information creation unit 831 can create the second transaction information and perform the electronic signature processing in the same manner as the transaction information creation unit 334.

本変形例における取引情報作成部831は、入出力I/F811からのユーザ操作を受け付けて、取引情報を作成し、ブロックチェーンネットワークに送信するように、第1端末120A乃至第3端末120Cの送信部に指示することもできる。 The transaction information creation unit 831 in the present modification receives the user operation from the input/output I/F 811, creates transaction information, and transmits the first terminal 120A to the third terminal 120C so as to transmit the transaction information to the block chain network. You can also instruct the department.

この場合、第1端末120Aの取引情報作成部831は、アドレスに紐づけられた未使用トランザクションアウトプットを特定する機能と、特定した未使用トランザクションアウトプットを用いて取引情報を作成する機能と、作成した取引情報に秘密鍵による電子署名を行う機能とを有する。 In this case, the transaction information creation unit 831 of the first terminal 120A has a function of identifying the unused transaction output associated with the address, and a function of creating transaction information using the identified unused transaction output. It has a function of digitally signing the created transaction information with a private key.

本変形例における秘密鍵管理部832は、第1アドレスに対応する秘密鍵を管理し、他の機能部の要求に応じて取引情報に電子署名をする機能を有する。 The private key management unit 832 in this modification has a function of managing the private key corresponding to the first address and digitally signing the transaction information in response to a request from another functional unit.

例えば、秘密鍵管理部832は、不正な取引情報を検知した旨の通知をサーバ110から受信したときは、取引情報作成部831からの指示に応じて、第2取引情報に電子署名をする。 For example, when the private key management unit 832 receives a notification from the server 110 that illegal transaction information has been detected, the private key management unit 832 digitally signs the second transaction information in accordance with an instruction from the transaction information creation unit 831.

<<変形例の動作処理>>
本変形例では、秘密鍵に関する情報を記憶する処理(S901,S902)を省くことができる。
<<Operation processing of modification>>
In this modification, the process of storing information about the secret key (S901, S902) can be omitted.

また、不正な第1取引情報を検知する処理においては、検知部333が、第1取引情報を不正なものと判断する場合には、その第1取引情報が指定する手数料等の情報とともに、不正な取引情報を検知した旨の通知を第1端末120Aに対して送信するよう、サーバ110の送信部に指示をする。そして、第2取引情報を送信する処理は、第1端末の取引情報作成部831が、サーバ110の送信部からの指示に応じて、行うことができる。 In addition, in the process of detecting the illegal first transaction information, when the detecting unit 333 determines that the first transaction information is illegal, it is illegal along with information such as a fee specified by the first transaction information. The transmission unit of the server 110 is instructed to transmit a notification that the transaction information is detected to the first terminal 120A. Then, the process of transmitting the second transaction information can be performed by the transaction information creation unit 831 of the first terminal according to an instruction from the transmission unit of the server 110.

<第2実施形態>
第2実施形態は、ユーザはマルチシグアドレス(マルチシグウォレット)を利用して仮想資産の送受信を行う例である。この例では、サーバ110がマルチシグアドレスの電子署名に用いる複数の秘密鍵のうちの少なくとも一つを記憶している。マルチシグアドレスのユーザは、自身のアドレスから仮想資産を送金する際に、作成した取引情報に対して自分の秘密鍵で電子署名することに加えて、サーバ110に電子署名を依頼する必要がある。典型的には、電子署名の署名依頼は署名対象の取引情報とあわせて、サーバ110に送信される。署名依頼を受信すると、サーバ110は、受信した取引情報が不正か否かを判断し、不正である場合には、その取引情報に電子署名を行わない。なお、以下では一例として、2of3のマルチシグアドレスの例について説明する。
<Second Embodiment>
The second embodiment is an example in which a user uses a multisig address (multisig wallet) to send and receive virtual assets. In this example, the server 110 stores at least one of the plurality of secret keys used for the electronic signature of the multisig address. The user of the multisig address needs to request the server 110 for an electronic signature in addition to electronically signing the created transaction information with his/her private key when remitting the virtual asset from his/her address. .. Typically, the signature request for the electronic signature is transmitted to the server 110 together with the transaction information to be signed. Upon receiving the signature request, the server 110 determines whether or not the received transaction information is fraudulent, and if it is fraudulent, it does not electronically sign the transaction information. Note that, as an example, an example of a 2of3 multisig address will be described below.

また、一例として端末120Aにおいて管理されるマルチシグアドレス(第1アドレス)に必要な複数の秘密鍵のうち、サーバ110が記憶し署名に用いる秘密鍵を「第1秘密鍵」という。また、端末120Aに記憶され、第1アドレスのユーザが署名に用いる秘密鍵を「第2秘密鍵」という。さらに、その他の媒体が記憶し必要に応じて署名に用いる秘密鍵を「第3秘密鍵」という。第3秘密鍵は、第1アドレスのユーザが使用する他の端末(第3端末120C)や他のサーバ110Bにより管理されていてもよい。また、第3秘密鍵は、第1秘密鍵を記憶するサーバ110により管理されていてもよい。 In addition, as an example, among the plurality of secret keys required for the multisig address (first address) managed by the terminal 120A, the secret key stored by the server 110 and used for signature is referred to as “first secret key”. The secret key stored in the terminal 120A and used by the user at the first address for signature is referred to as a "second secret key". Furthermore, a secret key stored in another medium and used for signature as needed is referred to as a "third secret key". The third secret key may be managed by another terminal (third terminal 120C) used by the user of the first address or another server 110B. Further, the third secret key may be managed by the server 110 that stores the first secret key.

本開示では、第1端末120Aが第1アドレスに対応する端末であり、第2端末120Bが第2アドレスに対応する端末であり、第3端末120Cが第3アドレスに対応する端末であるものとする。なお、本開示では第1乃至第3アドレスはいずれもマルチすぐアドレスであるとする。但し、各アドレス及びそのアドレスに対応する暗号鍵は、必ずしも端末により管理及び使用される必要はない。例えば、端末が暗号鍵を記録するソフトウェア(デスクトップ)ウォレットに代えて、サーバが暗号鍵を記録する場合をウェブ(オンライン)ウォレット、USB等の記録媒体が暗号鍵を記録する場合をハードウェアウォレット、紙媒体が暗号鍵を記録する場合をコールド(ペーパー)ウォレットであってもよい。 In the present disclosure, the first terminal 120A is a terminal corresponding to the first address, the second terminal 120B is a terminal corresponding to the second address, and the third terminal 120C is a terminal corresponding to the third address. To do. In addition, in the present disclosure, it is assumed that the first to third addresses are all immediate addresses. However, each address and the encryption key corresponding to that address do not necessarily have to be managed and used by the terminal. For example, instead of a software (desktop) wallet in which a terminal records an encryption key, a web (online) wallet when a server records an encryption key, a hardware wallet when a recording medium such as a USB records an encryption key, The case where the paper medium records the encryption key may be a cold (paper) wallet.

なお、以降では暗号鍵は、秘密鍵で暗号化を行い公開鍵で複合化を行う公開鍵暗号方式で用いられる秘密鍵として説明するが、これに限定されず、同じ鍵暗号化と複合化を行う共通鍵暗号方式の共通鍵等、任意の暗号鍵でもよい。 In the following, the encryption key will be described as a secret key used in a public key cryptosystem in which encryption is performed with a private key and decryption is performed with a public key, but the invention is not limited to this, and the same key encryption and decryption can be used. Any encryption key such as a common key of the common key cryptosystem to be used may be used.

<第2実施形態の効果>
かかる第2実施形態によれば、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにすることができる。より具体的には、第2実施形態では、サーバ110が、不正な取引情報に対して第1秘密鍵により電子署名を行わないことを決定する。マルチシグアドレスから仮想資産を送金するための取引情報は、必要な数の署名がなされなければとなるまではマイナーによりブロックに取り込まれない。これにより、ユーザの保有する第2秘密鍵が悪意のある第三者に知得された場合であっても、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにすることができる。
<Effects of Second Embodiment>
According to the second embodiment, it is possible to prevent unauthorized transaction information not intended by the user from being recorded in the distributed ledger. More specifically, in the second embodiment, the server 110 determines not to digitally sign the illegal transaction information with the first secret key. Transaction information for remitting virtual assets from multisig addresses will not be captured in blocks by miners until the required number of signatures must be made. This makes it possible to prevent unauthorized transaction information that is not intended by the user from being recorded in the distributed ledger even when the second secret key held by the user is known to a malicious third party. ..

<第2実施形態の機能構成>
以下、第2実施形態の機能構成について説明する。以下の説明において、上記第1実施形態と同様の機能構成については同一の符号を付すと共に、説明を省略する。また、第1実施形態と同様の作用および効果についても、説明を省略する。以下、第1実施形態との相違点を中心に説明する。
<Functional configuration of the second embodiment>
The functional configuration of the second embodiment will be described below. In the following description, the same reference numerals will be given to the same functional configurations as those in the first embodiment, and description thereof will be omitted. The description of the same operation and effect as those of the first embodiment will be omitted. Hereinafter, differences from the first embodiment will be mainly described.

(1)サーバの機能構成
第2実施形態において、サーバ110は、取引システム1において署名依頼があった取引情報が不正か否かを判断し、電子署名をするか否かの決定を行う情報処理装置の一例である。記憶部320が格納するプログラム321は、不正な未署名取引情報については、電子署名を行わないことを決定するためのプログラムである。
(1) Functional Configuration of Server In the second embodiment, the server 110 determines whether or not the transaction information requested for signature in the transaction system 1 is invalid, and determines whether or not to make an electronic signature. It is an example of an apparatus. The program 321 stored in the storage unit 320 is a program for deciding not to digitally sign unauthorized unsigned transaction information.

秘密鍵DB324には、第1秘密鍵に関する情報が管理される。 Information about the first secret key is managed in the secret key DB 324.

検知部333は、ルールDB323に記憶された不正検知条件に基づいて、署名依頼の対象の取引情報が第1アドレスのユーザが意図しない不正なものであるか否かを検知する機能を有する。一例として、サーバ110の受信部がブロックチェーンネットワークから未署名取引情報を受信した場合には、検知部333はその取引情報がルールDB323に記憶された不正検知条件を満たすか否かを判断する。 The detection unit 333 has a function of detecting, based on the fraud detection condition stored in the rule DB 323, whether or not the transaction information targeted for the signature request is fraudulent that the user at the first address does not intend. As an example, when the receiving unit of the server 110 receives unsigned transaction information from the block chain network, the detection unit 333 determines whether the transaction information satisfies the fraud detection condition stored in the rule DB 323.

取引情報が不正検知条件を満たす場合には、検知部333は、その取引情報に第1秘密鍵による電子署名を付さないことを決定し、その旨を取引情報作成部334に対して指示をする。 When the transaction information satisfies the fraud detection condition, the detection unit 333 determines not to attach the electronic signature with the first secret key to the transaction information, and instructs the transaction information creation unit 334 to that effect. To do.

一方、署名依頼対象の取引情報が不正検知条件を満たさない場合には、検知部333は、その取引情報が正当なものであると判断する。そして、検知部333は、その取引情報に第1秘密鍵による電子署名を付すよう、取引情報作成部334に対して指示をする。 On the other hand, when the transaction information targeted for signature request does not satisfy the fraud detection condition, the detection unit 333 determines that the transaction information is valid. Then, the detection unit 333 instructs the transaction information creation unit 334 to attach the electronic signature using the first secret key to the transaction information.

取引情報作成部334は、検知部333からの指示に応じて、取引情報に電子署名を行う。これにより、取引情報に必要な数の電子署名数がされることになる。取引情報作成部334は署名をした取引情報をブロックチェーンネットワークに送信する。 The transaction information creation unit 334 gives an electronic signature to the transaction information according to the instruction from the detection unit 333. As a result, the required number of electronic signatures for the transaction information is obtained. The transaction information creation unit 334 transmits the signed transaction information to the block chain network.

これにより、ユーザの意図しない不正な取引情報は未署名のままとなる。そのため、ユーザの保有する第2秘密鍵が悪意のある第三者に知得された場合であっても、ユーザの意図しない不正な取引情報が分散型台帳に記録されないようにすることができる。 As a result, unauthorized transaction information not intended by the user remains unsigned. Therefore, even if the second secret key held by the user is known to a malicious third party, it is possible to prevent unauthorized transaction information not intended by the user from being recorded in the distributed ledger.

以下、さらに付加的態様について説明する。 Hereinafter, additional aspects will be described.

なお、検知部333は、未署名取引情報が不正検知条件を満たすと判断した場合に、第1端末120Aのユーザに対して、不正検知条件を満たす取引情報を受信した旨の確認通知を送信するようサーバ110の送信部に指示をすることができる。 In addition, when the detection unit 333 determines that the unsigned transaction information satisfies the fraud detection condition, the detection unit 333 transmits a confirmation notification that the transaction information satisfying the fraud detection condition is received, to the user of the first terminal 120A. The transmission unit of the server 110 can be instructed to do so.

これにより、第1端末120Aのユーザは、第三者により自己の管理する第2秘密鍵が知得された可能性があることを速やかに知ることができる。そのため、第1端末120Aのユーザは、仮想資産をより安全なアドレスに退避させるなどの措置を迅速にとることができる。 This allows the user of the first terminal 120A to quickly know that the second secret key managed by the user may be known by a third party. Therefore, the user of the first terminal 120A can quickly take measures such as saving the virtual asset to a safer address.

また、不正検知条件を満たす取引情報が端末120Aのユーザにより作成されてサーバ110に送信された場合も考えられる。このように場合には、確認通知を受信した端末120Aの取引情報作成部831は、ユーザ操作に応じて、サーバ110に対して、取引情報に対して第1秘密鍵による電子署名を行うよう通知することができる。あるいは、第1アドレスのユーザは別途保存しておいた第3秘密鍵により不正と誤判断された取引情報に電子署名をしてもよい。 It is also possible that the transaction information satisfying the fraud detection condition is created by the user of the terminal 120A and transmitted to the server 110. In this case, the transaction information creation unit 831 of the terminal 120A that has received the confirmation notice notifies the server 110 to electronically sign the transaction information with the first secret key according to the user operation. can do. Alternatively, the user of the first address may electronically sign the transaction information that is misjudged as illegal by the third secret key stored separately.

これにより、第1端末120Aのユーザが作成した真正な取引情報であって、何らかの事情により不正検知条件を満たしてしまう取引情報についても、滞りなくブロックに格納させることができる。 Accordingly, even genuine transaction information created by the user of the first terminal 120A and satisfying the fraud detection condition for some reason can be stored in the block without delay.

(2)端末の機能構成
第2実施形態における第1端末120A乃至第3端末120Cは、取引システム1において、ユーザが仮想資産の取引に用いる情報処理装置の一例であり、第1実施形態における第1端末120A乃至第3端末120Cと同様の構成とすることができる。
(2) Functional configuration of terminal The first terminal 120A to the third terminal 120C in the second embodiment are examples of the information processing device used by the user in trading virtual assets in the trading system 1, and the first embodiment in the first embodiment. The first terminal 120A to the third terminal 120C can have the same configuration.

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

(秘密鍵に関する情報及び不正検知条件を記憶する処理)
図11に示すステップS1103において、第1端末120Aのルール管理部833は、ユーザ操作に応じて、不正検知条件の登録要求をサーバ110に対して送信するよう、通信I/F812に指示する。サーバ110の受信部は、不正検知条件の登録要求に応じて、不正検知条件をルールDB323に記憶するよう、ルール管理部332に指示する(ステップS1104、S1202)。このとき、サーバ110は、不正検知条件の登録要求を行ったユーザごとに鍵ペア(秘密鍵と公開鍵)を生成し、不正検知条件と対応付けて記憶することが好ましい。サーバ110において、ユーザごとに異なる秘密鍵を用いて電子署名をすることで、よりセキュリティレベルが向上する。
(Process of storing information about private key and fraud detection condition)
In step S1103 illustrated in FIG. 11, the rule management unit 833 of the first terminal 120A instructs the communication I/F 812 to transmit the fraud detection condition registration request to the server 110 according to the user operation. In response to the fraud detection condition registration request, the reception unit of the server 110 instructs the rule management unit 332 to store the fraud detection condition in the rule DB 323 (steps S1104 and S1202). At this time, it is preferable that the server 110 generate a key pair (private key and public key) for each user who has made a registration request for the fraud detection condition, and stores the key pair in association with the fraud detection condition. In the server 110, the security level is further improved by digitally signing the secret key different for each user.

上記のようにして記憶した秘密鍵に関する情報及び不正検知条件は、第1端末120Aから受信する変更要求または削除要求に応じて、サーバ110の秘密鍵管理部331又はルール管理部332が変更または削除することができる。 The secret key information and the fraud detection condition stored as described above are changed or deleted by the secret key management unit 331 or the rule management unit 332 of the server 110 according to the change request or the deletion request received from the first terminal 120A. can do.

(未署名取引情報を受信する処理)
ここで、端末120Aの秘密鍵が略取され、悪意のあるユーザ(一例として端末120Bのユーザとする)によって端末120Aのユーザが所有する仮想資産を盗み取るための取引情報を作成した場合を例に説明する。この例では端末120Aのユーザの仮想資産はマルチシグウォレットで管理されているため、秘密鍵を略取したユーザもサーバ110に電子署名を依頼する必要がある。そのため、端末120Bのユーザは、まず、端末120Aのユーザの仮想資産を任意のアドレスへ移動させる取引情報を作成し、端末120Aから略取した秘密鍵で電子署名する。そして、署名した取引情報をサーバ110に送信する。
ステップS1105,S1203において、サーバ110の受信部は、端末120Bから未署名取引情報を受信し、取引情報DB332に記憶させる。
(Process to receive unsigned transaction information)
Here, taking as an example the case where the secret key of the terminal 120A is stolen and transaction information for stealing the virtual assets owned by the user of the terminal 120A is created by a malicious user (the user of the terminal 120B as an example). explain. In this example, since the virtual assets of the user of the terminal 120A are managed by the multisig wallet, the user who has taken out the secret key also needs to request the server 110 for an electronic signature. Therefore, the user of the terminal 120B first creates transaction information for moving the virtual asset of the user of the terminal 120A to an arbitrary address, and digitally signs it with the secret key taken from the terminal 120A. Then, the signed transaction information is transmitted to the server 110.
In steps S1105 and S1203, the receiving unit of the server 110 receives the unsigned transaction information from the terminal 120B and stores it in the transaction information DB 332.

(不正な取引情報を検知する処理)
ステップS1106,S1204において、サーバ110の検知部333は、ルールDB323に記憶された不正検知条件に基づいて、取引情報DB332に記憶した取引情報が不正なものであるか否かを判断する。
(Process to detect illegal transaction information)
In steps S1106 and S1204, the detection unit 333 of the server 110 determines whether the transaction information stored in the transaction information DB 332 is illegal based on the fraud detection condition stored in the rule DB 323.

(第1秘密鍵による電子署名をするか否かの決定する処理)
ステップS1107,S1205において、検知部333は、取引情報が不正なものと判断した場合には、取引情報作成部334に対して、第1秘密鍵による電子署名を行わないよう指示をする。なお、検知部333は、取引情報が不正検知条件の少なくとも一つを満たせば、未署名取引情報を不正なものと判断することができる。
(Process of deciding whether or not to make an electronic signature using the first secret key)
In steps S1107 and S1205, when the detection unit 333 determines that the transaction information is invalid, the detection unit 333 instructs the transaction information creation unit 334 not to perform the electronic signature with the first secret key. The detection unit 333 can determine that the unsigned transaction information is invalid if the transaction information satisfies at least one of the fraud detection conditions.

なお、S1206において、検知部333は、取引情報が真正なものと判断する場合には、取引情報作成部334に対して、第1秘密鍵による電子署名を行うよう指示をする。 In S1206, when the detection unit 333 determines that the transaction information is authentic, it instructs the transaction information creation unit 334 to make an electronic signature with the first secret key.

なお、この第2実施形態によれば、サーバ110の管理者が不正により、第1秘密鍵を用いて取引情報を作成した場合であっても、ユーザの使用する第1端末120Aが第2秘密鍵により電子署名を行わないことができる。また、サーバ110が攻撃されることにより、サーバ110の管理する第1秘密鍵が流出した場合であっても、ユーザの使用する第1端末120Aが第2秘密鍵により電子署名を行わないことができる。これにより、不正な取引情報が分散型台帳に記録されないようにすることができる。 According to the second embodiment, the first terminal 120A used by the user has the second secret even when the administrator of the server 110 has created the transaction information by using the first secret key due to fraud. The key can be used to prevent electronic signatures. Even if the first secret key managed by the server 110 is leaked due to the attack on the server 110, the first terminal 120A used by the user may not perform the digital signature with the second secret key. it can. As a result, it is possible to prevent unauthorized transaction information from being recorded in the distributed ledger.

なお、上述したとおり、本発明は、上記の実施形態及び実施例に限定されるものではなく、その要旨を逸脱しない範囲内において様々な変形が可能である。すなわち、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、秘密鍵に代えて共通鍵を用いてもよいし、ブロックチェーンネットワークは、ブロックチェーンに関する情報をノード間で分散共有するネットワークであれば、必ずしもその通信手段がP2P通信プロトコルに従う必要はない。また、既述の実施形態においてはUTXOに基づいてアドレスの残高を管理する構成について説明したがこれに限定されず、アカウントベースにより残高を管理する構成でもよい。この場合、トランザクションを生成する際には単に送信したい仮想資産の量や手数料の額を直接指定してもよい。 As described above, the present invention is not limited to the above-described embodiments and examples, and various modifications can be made without departing from the spirit of the invention. That is, the above embodiments are merely examples in all respects, and should not be construed as limited. For example, a common key may be used instead of the secret key, and the blockchain network does not necessarily need to follow the P2P communication protocol if the blockchain network is a network in which information regarding the blockchain is distributed and shared among the nodes. Further, in the above-described embodiment, the configuration for managing the balance of addresses based on UTXO has been described, but the present invention is not limited to this, and a configuration for managing balances on an account basis may be used. In this case, when generating a transaction, the amount of virtual assets or the amount of commission to be transmitted may be directly specified.

<付記>
(付記1−1)
情報処理装置に、
所定の手数料を指定して、仮想資産を第1アドレスから第2アドレスに移動させる第1取引情報を受信するステップと、
ブロックに格納する前の前記第1取引情報が、予め設定された不正条件を満たす場合に、前記第1取引情報よりも高い手数料を指定する第2取引情報であって、仮想資産を前記第1アドレスから前記第2アドレスとは異なるアドレスに移動させる第2取引情報を作成するステップと、
前記第2取引情報をブロックチェーンネットワークに送信するステップと、を実行させる、プログラム。
<Appendix>
(Appendix 1-1)
In the information processing device,
Receiving a first transaction information for moving a virtual asset from a first address to a second address by designating a predetermined fee;
When the first transaction information before being stored in a block satisfies a preset fraud condition, it is second transaction information designating a higher fee than the first transaction information, and the virtual asset is the first transaction information. Creating second transaction information for moving from an address to an address different from the second address,
A step of transmitting the second transaction information to a block chain network, the program being executed.

(付記1−2)
前記ブロックチェーンネットワークに送信するステップは、
前記第2取引情報として、前記第1アドレスが管理するすべての仮想資産を前記第2アドレスとは異なる前記アドレスに移動させるステップを含む、
付記1−1に記載のプログラム。
(Appendix 1-2)
The step of transmitting to the blockchain network,
As the second transaction information, a step of moving all virtual assets managed by the first address to the address different from the second address,
The program described in appendix 1-1.

(付記1−3)
前記不正条件は、
前記受信した第1取引情報によって移動する仮想資産の量が所定の量を超えること、又は、所定の期間に受信した前記第1取引情報によって移動する仮想資産の総量が所定の量を超えることを含む、
付記1−1又は付記1−2のいずれか一項に記載のプログラム。
(Appendix 1-3)
The illegal condition is
The amount of virtual assets moved by the received first transaction information exceeds a predetermined amount, or the total amount of virtual assets moved by the first transaction information received in a predetermined period exceeds a predetermined amount. Including,
The program according to any one of appendices 1-1 or 1-2.

(付記1−4)
仮想資産を前記第1アドレスから移動させる取引情報がブロックチェーンネットワークに送信される際に、前記第1アドレスに対応するユーザから該取引情報に関する通知を受け付けるステップをさらに実行し、
前記不正条件は、
受信した前記第1取引情報に対応する前記通知を受信しないことを含む、
付記1−1又は付記1−2のいずれか一項に記載のプログラム。
(Appendix 1-4)
When transaction information for moving a virtual asset from the first address is transmitted to a blockchain network, further performing a step of receiving a notification regarding the transaction information from a user corresponding to the first address,
The illegal condition is
Including not receiving the notification corresponding to the received first transaction information,
The program according to any one of appendices 1-1 or 1-2.

(付記1−5)
前記不正条件は、
受信した前記第1取引情報において、前記第2アドレスが予め設定された移動先に含まれないことを含む、
付記1−1又は付記1−2のいずれか一項に記載のプログラム。
(Appendix 1-5)
The illegal condition is
In the received first transaction information, including that the second address is not included in a preset destination,
The program according to any one of appendices 1-1 or 1-2.

(付記1−6)
第1取引情報が不正と判断するための不正条件を記憶する不正条件記憶部と、
所定の手数料により仮想資産を第1アドレスから第2アドレスに移動させる第1取引情報を受信する受信部と、
受信した前記第1取引情報が不正と判断するための要件を満たすか否かを判定する検知部と、
ブロックに格納する前の前記第1取引情報が前記要件を満たす場合に、前記第1取引情報よりも高い手数料を指定する第2取引情報であって、仮想資産を前記第1アドレスから前記第2アドレスとは異なるアドレスに移動させる第2取引情報を作成する取引情報作成部と、
前記第2取引情報をブロックチェーンネットワークに送信する送信部と、を有する、
情報処理装置。
(Appendix 1-6)
An illegal condition storage unit that stores an illegal condition for determining that the first transaction information is illegal;
A receiving unit for receiving first transaction information for moving the virtual asset from the first address to the second address by a predetermined fee,
A detection unit that determines whether or not the received first transaction information satisfies a requirement for determining that the transaction information is illegal;
Second transaction information designating a higher fee than the first transaction information when the first transaction information before being stored in a block satisfies the requirement, and a virtual asset from the first address to the second transaction information. A transaction information creating unit that creates second transaction information to be moved to an address different from the address,
A transmission unit that transmits the second transaction information to a block chain network,
Information processing device.

(付記1−7)
情報処理装置が、
所定の手数料を指定して、仮想資産を第1アドレスから第2アドレスに移動させる第1取引情報を受信するステップと、
ブロックに格納する前の前記第1取引情報、予め設定された不正条件を満たす場合に、前記第1取引情報よりも高い手数料を指定する第2取引情報であって、仮想資産を前記第1アドレスから前記第2アドレスとは異なるアドレスに移動させる第2取引情報を作成するステップと、
前記第2取引情報をブロックチェーンネットワークに送信するステップと、を実行する、
情報処理方法。
(Appendix 1-7)
The information processing device
Receiving a first transaction information for moving a virtual asset from a first address to a second address by designating a predetermined fee;
The first transaction information before being stored in a block, second transaction information that specifies a higher fee than the first transaction information when a preset fraud condition is satisfied, and the virtual asset is the first address. From the second address to a different address from the second address, creating second transaction information,
Transmitting the second transaction information to a blockchain network,
Information processing method.

(付記2−1)
情報処理装置に、
仮想資産を所定のアドレスから移動させる取引情報であって、複数の秘密鍵により電子署名されることにより認証される取引情報を受信するステップと、
未認証の前記取引情報が、予め設定された不正条件を満たす場合に、該取引情報に対して、前記情報処理装置が記憶した秘密鍵により電子署名を行わないことを決定するステップと、
未認証の前記取引情報が、前記不正条件を満たさない場合に、該取引情報に対して、前記複数の秘密鍵の少なくとも一つを用いる電子署名を行うステップと、
を実行させる、プログラム。
(Appendix 2-1)
In the information processing device,
Receiving transaction information for moving a virtual asset from a predetermined address, the transaction information being authenticated by being digitally signed by a plurality of secret keys,
When the unauthenticated transaction information satisfies a preset fraud condition, a step of deciding not to electronically sign the transaction information with a secret key stored in the information processing device,
When the unauthenticated transaction information does not satisfy the fraud condition, a step of digitally signing the transaction information using at least one of the plurality of secret keys,
A program that runs

(付記2−2)
受信した前記取引情報が前記不正条件を満たす場合に、前記所定のアドレスに対応するユーザに対して、前記不正条件を満たす取引情報を受信した旨の確認通知を送信するステップを、さらに実行させる、
付記2−1に記載のプログラム。
(Appendix 2-2)
When the received transaction information satisfies the fraud condition, a step of transmitting a confirmation notice to the user corresponding to the predetermined address that the transaction information satisfying the fraud condition is received is further executed.
The program described in Appendix 2-1.

(付記2−3)
前記不正条件は、
前記受信した取引情報によって移動する仮想資産の量が所定の量を超えること、又は、所定の期間に受信した前記取引情報によって移動する仮想資産の総量が所定の量を超えることを含む、
付記2−1又は付記2−2に記載のプログラム。
(Appendix 2-3)
The illegal condition is
Including that the amount of virtual assets moved by the received transaction information exceeds a predetermined amount, or that the total amount of virtual assets moved by the transaction information received in a predetermined period exceeds a predetermined amount,
The program according to Appendix 2-1 or Appendix 2-2.

(付記2−4)
仮想資産を前記所定のアドレスから移動させる前記取引情報がブロックチェーンネットワークに送信される際に、前記所定のアドレスに対応するユーザから該取引情報に関する通知を受け付けるステップをさらに実行し、
前記不正条件は、
受信した前記取引情報に対応する前記通知を受信しないことを含む、
付記2−1又は付記2−2に記載のプログラム。
(Appendix 2-4)
When the transaction information for moving a virtual asset from the predetermined address is transmitted to a blockchain network, further performing a step of receiving a notification regarding the transaction information from a user corresponding to the predetermined address,
The illegal condition is
Including not receiving the notification corresponding to the received transaction information,
The program according to Appendix 2-1 or Appendix 2-2.

(付記2−5)
前記不正条件は、
受信した前記取引情報において、仮想資産の移動先のアドレスが予め設定された移動先に含まれないことを含む、
付記2−1又は付記2−2に記載のプログラム。
(Appendix 2-5)
The illegal condition is
In the received transaction information, including that the destination address of the virtual asset is not included in the preset destination,
The program according to Appendix 2-1 or Appendix 2-2.

(付記2−6)
仮想資産を所定のアドレスから移動させる取引情報であって、複数の秘密鍵により電子署名されることにより認証される取引情報の電子署名に使用する秘密鍵の少なくとも一つを記憶する秘密鍵管記憶部と、
未認証の前記取引情報を不正と判断するための不正条件を記憶する不正条件記憶部と、
未認証の前記取引情報を受信する受信部と、
未認証の前記取引情報が不正と判断するための要件を満たすか否かを判定する検知部と、
未認証の前記取引情報が、予め設定された不正条件を満たす場合に、該取引情報に対して前記記憶した秘密鍵により電子署名を行わないことを決定し、未認証の前記取引情報が、前記不正条件を満たさない場合に、該取引情報に対して、前記複数の秘密鍵の少なくとも一つを用いる電子署名を行う電子署名部と、を有する、
情報処理装置。
(Appendix 2-6)
Private key storage that stores transaction information for moving virtual assets from a predetermined address, and stores at least one secret key used for digital signature of transaction information that is authenticated by being digitally signed by multiple private keys. Department,
An illegal condition storage unit that stores an illegal condition for determining the unauthenticated transaction information as illegal,
A receiving unit for receiving the unauthenticated transaction information,
A detection unit that determines whether or not the unauthenticated transaction information satisfies the requirement for determining that the transaction information is illegal,
If the unauthenticated transaction information satisfies a preset fraud condition, it is determined that the transaction information is not digitally signed with the stored secret key, and the unauthenticated transaction information is An electronic signature unit that performs an electronic signature using at least one of the plurality of secret keys on the transaction information when the fraudulent condition is not satisfied,
Information processing device.

(付記2−7)
情報処理装置が、
仮想資産を所定のアドレスから移動させる取引情報であって、複数の秘密鍵により電子署名されることにより認証される取引情報を受信するステップと、
未認証の前記取引情報が、予め設定された不正条件を満たす場合に、該取引情報に対して、前記情報処理装置が記憶した秘密鍵により電子署名を行わないことを決定するステップと、
未認証の前記取引情報が、前記不正条件を満たさない場合に、該取引情報に対して、前記複数の秘密鍵の少なくとも一つを用いる電子署名を行うステップと、を実行する、
情報処理方法。
(Appendix 2-7)
The information processing device
Receiving transaction information for moving a virtual asset from a predetermined address, the transaction information being authenticated by being digitally signed by a plurality of secret keys,
When the unauthenticated transaction information satisfies a preset fraud condition, a step of deciding not to electronically sign the transaction information with a secret key stored in the information processing device,
Performing a digital signature using at least one of the plurality of secret keys on the transaction information when the unauthenticated transaction information does not satisfy the fraud condition.
Information processing method.

1…取引システム、110…サーバ、110A…サーバ、110B…サーバ、120…端末、120A…第1端末、120B…第2端末、120C…第3端末、130…ネットワーク、200…情報処理装置、201…プロセッサ、202…メモリ、203…ストレージ、204…入出力インタフェース(入出力I/F)、205…通信インタフェース(通信I/F)、320…記憶部、321…プログラム、332…取引情報DB、323…ルールDB、324…秘密鍵DB、330…制御部、331…秘密鍵管理部、332…ルール管理部、333…検知部、334…取引情報作成部、820…記憶部、821…プログラム、822…取引情報DB、830…制御部、831…取引情報作成部、832…秘密鍵管理部、833…ルール管理部 1... Trading system, 110... Server, 110A... Server, 110B... Server, 120... Terminal, 120A... First terminal, 120B... Second terminal, 120C... Third 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), 320... storage unit, 321... program, 332... transaction information DB, 323... Rule DB, 324... Secret key DB, 330... Control part, 331... Secret key management part, 332... Rule management part, 333... Detection part, 334... Transaction information creation part, 820... Storage part, 821... Program, 822... Transaction information DB, 830... Control unit, 831... Transaction information creating unit, 832... Private key management unit, 833... Rule management unit

Claims (1)

明細書に記載の発明。 The invention described in the specification.
JP2019021772A 2019-02-08 2019-02-08 Program, information processing device, and information processing method Pending JP2020129282A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019021772A JP2020129282A (en) 2019-02-08 2019-02-08 Program, information processing device, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019021772A JP2020129282A (en) 2019-02-08 2019-02-08 Program, information processing device, and information processing method

Publications (1)

Publication Number Publication Date
JP2020129282A true JP2020129282A (en) 2020-08-27

Family

ID=72174690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019021772A Pending JP2020129282A (en) 2019-02-08 2019-02-08 Program, information processing device, and information processing method

Country Status (1)

Country Link
JP (1) JP2020129282A (en)

Similar Documents

Publication Publication Date Title
US10742646B2 (en) Provisioning transferable access tokens
US11784799B2 (en) Secure distribution and management of cryptographic keys within a computing environment using distributed ledgers
CA3065479C (en) Secure management of transfers of digital assets between computing devices using permissioned distributed ledgers
US20140279403A1 (en) Methods and systems for executing mobile currency transactions
US20210182272A1 (en) Secure distribution of digital assets within a computing environment using permissioned distributed ledgers
CA2970746A1 (en) Peer forward authorization of digital requests
US11336440B2 (en) Secure management and regeneration of cryptographic keys within a computing environment using permissioned distributed ledgers
CN109447601A (en) The method of eye-witness&#39;s transfer transactions is executed in block chain network
JP6526299B1 (en) INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM
US11887104B1 (en) Mobile wallet with offline payment
JP2020129284A (en) Program, information processing device, and information processing method
WO2022154789A1 (en) Token-based off-chain interaction authorization
CN112970234B (en) Account assertion
CN115119531A (en) Multi-factor authentication using blockchain transactions
JP2020134958A (en) Program, information processing method, and information processing device
JP2020129282A (en) Program, information processing device, and information processing method
JP2020129283A (en) Program, information processing device, and information processing method
US11005882B1 (en) Reputation-based transaction security
JP2020021446A (en) Method for processing information, information processor, and program
JP7448191B2 (en) data management system
US20230334470A1 (en) Blockchain interoperability system for native asset creation
US20230368293A1 (en) Fiat payment based on a cryptocurrency blockchain transaction
US20230368292A1 (en) Cryptocurrency payment based on a canceled fiat transaction
US20230259604A1 (en) System and method for authenticating users via pattern based digital resources on a distributed development platform
JP2020129752A (en) Program, information processing apparatus, and information processing method