JP7032296B2 - トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム - Google Patents

トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム Download PDF

Info

Publication number
JP7032296B2
JP7032296B2 JP2018243795A JP2018243795A JP7032296B2 JP 7032296 B2 JP7032296 B2 JP 7032296B2 JP 2018243795 A JP2018243795 A JP 2018243795A JP 2018243795 A JP2018243795 A JP 2018243795A JP 7032296 B2 JP7032296 B2 JP 7032296B2
Authority
JP
Japan
Prior art keywords
transaction
transactions
load
cumulative load
determination device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018243795A
Other languages
English (en)
Other versions
JP2020107004A (ja
Inventor
陽介 加賀
健太 高橋
正和 藤尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018243795A priority Critical patent/JP7032296B2/ja
Publication of JP2020107004A publication Critical patent/JP2020107004A/ja
Application granted granted Critical
Publication of JP7032296B2 publication Critical patent/JP7032296B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラムに関する。
P2Pネットワーク上で非中央集権的な台帳管理を実現する技術として、分散台帳技術がある。分散台帳技術の一例であるBitcoinは、中央集権的組織なしで仮想通貨を実現する分散台帳であり、取引情報を示すトランザクションをまとめたブロックを鎖状に繋げていくことで合意形成を行う。
また、非特許文献1には、分散台帳技術の一例としてTangleが記載されている。Tangleは仮想通貨IOTAに使われているアルゴリズムであり、トランザクションをノードとする有向非循環グラフを構成することで、合意形成を行い、非中央集権的な台帳管理を行う。
また、特許文献1には、生体情報を秘密鍵として用いて、署名生成を行う生体署名技術が記載されている。
分散台帳技術では、コンセンサスアルゴリズムによって、トランザクションの有効性に関する合意形成を行う。Bitcoinは、PoW(Proof of Work)と呼ばれるコンセンサスアルゴリズムを採用している。このPoWは、マイナーと呼ばれる承認者がトランザクションの有効性を検証して、複数のトランザクションから構成されるブロックを生成し、そのブロックに関する計算問題を解く。この計算問題を解くためには膨大な計算能力が必要となるため、少数の個人または組織が独占的に承認を行うことはできず、中央集権的組織がなくても信頼性の高い合意形成を行うことができる。
特開2013-123142号公報
Serguei Popov, "The Tangle." (2016).
しかしながら、近年膨大な計算能力を入手して分散台帳に関する承認権限を独占することで、不正な取引を承認する攻撃が発生している。この問題を解決するために、計算能力に加えて資産の量やコミュニティへの貢献度を考慮する、PoS(Proof of Stake)やPoA(Proof of Activity)などが提案されているが、承認権限を独占されるリスクは依然として高い。
一方、Tangleは、トランザクション生成者が同時に過去のトランザクションを承認するモデルを有し、承認者へ支払う手数料が不要である仮想通貨IOTAを実現している。しかし、このTangleでも、PoWと同様に膨大な計算能力を持つ攻撃者は承認権限を独占することが可能となる。
そこで、本発明の一態様は、分散台帳におけるトランザクションの有効性に関する合意形成を行う際に、承認権限の独占を防止し、ひいては信頼性の高い分散台帳を実現することを目的とする。
本発明の一態様は、以下の構成を採用する。分散台帳方式におけるトランザクションの有効性を判定するトランザクション判定装置は、プロセッサとメモリと、を含み、前記メモリは、複数のトランザクションを保持し、前記複数のトランザクションは、前記複数のトランザクション間の承認関係によって有向非循環グラフを構成し、前記複数のトランザクションそれぞれの荷重及び生成者を示し、有効性の判定対象である対象トランザクションと、前記対象トランザクションによって承認されるトランザクションと、を含み、前記プロセッサは、前記複数のトランザクションの荷重に基づいて、前記複数のトランザクションそれぞれの累積荷重を算出し、前記複数のトランザクションに含まれるトランザクションからなる1以上のトランザクションペアそれぞれについて前記生成者が同一人物であるか否かを判定し、当該判定の結果に基づいて、前記累積荷重を更新する更新処理を実行し、前記更新した累積荷重に基づいて、前記対象トランザクションの有効性を判定する、トランザクション判定装置。
本発明の一態様によれば、分散台帳におけるトランザクションの有効性に関する合意形成を行う際に、承認権限の独占を防止し、ひいては信頼性の高い分散台帳を実現することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1における分散台帳システムの構成例を示すブロック図である。 実施例1におけるトランザクション生成処理とトランザクション確認処理の一例を示すシーケンス図である。 実施例1におけるトランザクション選択検証処理の一例を示すフローチャートである。 実施例1におけるトランザクション荷重算出処理の一例を示すフローチャートである。 実施例1におけるトランザクションのデータ構造例を示すブロック図である 実施例1における直接参照及び間接参照による検証同一人物確認処理の一例を示す説明図である。 実施例1における確認対象トランザクションの初期化時の累積荷重の一例を示す説明図である。 実施例1におけるトランザクション生成端末及びトランザクション確認端末を構成する計算機のハードウェア構成例を示すブロック図である。 実施例1におけるトランザクション生成端末による、ユーザ初期登録処理の一例を示すフローチャートである。 実施例1における確認対象トランザクションの更新後の累積荷重の一例を示す説明図である。
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
本実施形態は、分散台帳システムについて説明する。前述したように、分散台帳技術において、膨大な計算能力を持つ攻撃者は承認権限を独占するおそれがある。このような計算能力による承認権限の独占を防ぐ方式として、計算能力、資産量、貢献度等の独占が可能なリソースではなく、少数の個人や組織によって独占が困難なリソースを承認の根拠として使うことが考えられる。
独占困難なリソースの一例として、「人」が挙げられる。世界中の人が参加する分散台帳システムにおいて、1人1票しか投票できない制約を設けることができれば、トランザクションの承認は事実上多数決になる。このような状況では、承認権限を独占するためには、過半数の承認者を味方に付ける必要がある。これは、コンピュータを多数用意して計算能力を独占するのに比べてはるかにハードルが高い。
そこで、本実施形態の分散台帳システムは、トランザクションの有効性を検証する際に、当該トランザクションを承認するトランザクションの生成者の同一人物性を考慮してトランザクションの荷重を定義する。これにより、同一人物からの複数回の承認を防止し、承認権限の独占が困難な信頼性の高い分散台帳を実現することができる。
なお、同一人物による承認の検出を実現する方式として、個人の識別子を照合する方式や、個人が管理する秘密鍵に基づく電子署名と公開鍵の検証を用いる方式の他、指紋、顔、及び静脈などの生体情報を使って本人確認を行う生体認証方式等が挙げられる。特許文献1における、生体情報を秘密鍵として用いた署名生成を行う生体署名を、トランザクションの生成に用いることで、トランザクションを生成した人が同一人物か否かを検出することができる。
図1は、分散台帳システムの構成例を示すブロック図である。分散台帳システムは、例えば、互いに接続されたトランザクション生成端末1000及びトランザクション確認端末1100を含む。トランザクション生成端末1000は、トランザクションを生成する端末である。トランザクション確認端末1100は、受信したトランザクションの有効性を検証し、トランザクションを実行する端末である。
トランザクション生成端末1000は、例えば、トランザクション内容生成部1010、トランザクション選択検証部1020、秘密情報取得部1030、トランザクション署名生成部1040、通信部1050、及びトランザクション格納部1090を含む。
トランザクション内容生成部1010は、取引の内容を記述したトランザクションを生成する。トランザクション選択検証部1020は、承認するトランザクションを選択し、そのトランザクションが有効であるかを検証する。秘密情報取得部1030は、トランザクションを生成する際に必要となる署名生成を行うための秘密情報を取得する。一般的な電子署名に使われる秘密鍵や、指紋、顔、静脈などの生体情報は、いずれも秘密情報の一例である。
トランザクション署名生成部1040は、秘密情報取得部1030で取得した書名鍵を用いてトランザクションの署名を生成する。通信部1050は、ネットワークを介して接続された他の装置とデータの送受信を行う。トランザクション格納部1090は、過去に生成されたトランザクションを格納する。
トランザクション確認端末1100は、例えば、トランザクションハッシュ取得部1110、トランザクション荷重算出部1120、トランザクション検証部1130、トランザクション実行部1140、通信部1150、及びトランザクション格納部1190を含む。
トランザクションハッシュ取得部1110は、トランザクションのハッシュ値を算出する。トランザクション荷重算出部1120は、対象トランザクションの信頼度を示す荷重を算出する。トランザクション検証部1130は、対象トランザクションが有効であるかを検証する。
トランザクション実行部1140は、トランザクションが有効であるときに、トランザクション処理を実行する。通信部1150は、ネットワークを介して接続された他の装置とデータの送受信を行う。トランザクション格納部1190は、過去に生成されたトランザクションを格納する。
図8は、トランザクション生成端末1000及びトランザクション確認端末1100を構成する計算機のハードウェア構成例を示すブロック図である。計算機は、例えば、CPU810、メモリ820、補助記憶装置830、入力装置840、出力装置850、及び通信装置860を含む。
CPU810は、プロセッサを含み、メモリ820に格納されたプログラムを実行する。メモリ820は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU810が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置830は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の大容量かつ不揮発性の記憶装置であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置830から読み出されて、メモリ820にロードされて、プロセッサによって実行される。
計算機は、入力インターフェース及び出力インターフェースを有する。入力インターフェースは、キーボード、マウス、カメラ、及びスキャナなどの入力装置840が接続され、オペレータからの入力を受け付けるインターフェースである。入力装置840は、生体情報を取得するためのセンサ(例えば、指紋センサ、静脈センサ、カメラ、及びマイクロフォン等)を含んでもよい。
出力インターフェースは、ディスプレイ装置やプリンタなどの出力装置850が接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。通信装置860は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置であり、通信部による通信に用いられる。
CPU810が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介して計算機に提供され、非一時的記憶媒体である不揮発性の補助記憶装置830に格納される。このため、計算機は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
トランザクション生成端末1000、及びトランザクション確認端末1100は、それぞれ、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
トランザクション生成端末1000のCPU810は、例えば、トランザクション内容生成部1010、トランザクション選択検証部1020、秘密情報取得部1030、トランザクション署名生成部1040、通信部1050を含む。トランザクション確認端末1100のCPU810は、例えば、トランザクションハッシュ取得部1110、トランザクション荷重算出部1120、トランザクション検証部1130、トランザクション実行部1140、通信部1150を含む。
トランザクション生成端末1000の補助記憶装置830は、トランザクション格納部1090を含む。トランザクション確認端末1100の補助記憶装置830は、トランザクション格納部1190を含む。
例えば、トランザクション生成端末1000のCPU810は、トランザクション生成端末1000のメモリ820にロードされたトランザクション内容生成プログラムに従って動作することで、トランザクション内容生成部1010として機能し、トランザクション確認端末1100のメモリ820にロードされたトランザクション選択検証プログラムに従って動作することで、トランザクション選択検証部1020として機能する。トランザクション生成端末1000のCPU810に含まれる他の部、トランザクション確認端末1100のCPU810に含まれる各部についても同様である。
なお、本実施形態において、分散台帳システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
図9は、トランザクション生成端末1000による、ユーザ初期登録処理の一例を示すフローチャートである。まず、秘密情報取得部1030は、登録対象ユーザの秘密情報を取得する(S9010)。秘密情報は、正規のユーザのみが保有する情報である。例えば、トランザクション生成に電子署名を使う場合、秘密鍵は秘密情報の一例である。また、例えば、トランザクション生成に生体署名を使う場合は指紋、顔、及び静脈などのユーザ自身の生体情報は、秘密情報の一例である。なお、生体署名は、例えば、特許文献1に記載された技術によって実現される。
トランザクション内容生成部1010は、ステップS9010で取得した秘密情報に対応する公開情報を生成する(S9020)。トランザクション内容生成部1010は、トランザクション生成に電子署名を使う場合は、秘密鍵に対応する公開鍵を公開情報として生成する。また、トランザクション内容生成部1010は、トランザクション生成に生体署名を使う場合は、生体情報に対応する公開テンプレートを公開情報として生成する。
トランザクション内容生成部1010は、ステップS9020で生成した公開情報から、ユーザ自身のアドレスを生成する(S9030)。アドレスは、ステップS9020で生成した公開情報そのままでもよいし、公開情報をハッシュ関数などで変換したデータであってもよい。また、ユーザを一意に識別するデータをアドレスとして生成することができれば、前述した以外の方法が用いられてもよい。
以上の処理により、ユーザの初期登録が完了する。初期登録後、ユーザは分散台帳システムにおけるトランザクションを生成することが可能となる。
図5は、トランザクション500のデータ構造例を示すブロック図である。仮想通貨の支払い、及び何らかの契約手続きを自動化したスマートコントラクトは、いずれもトランザクションの一例である。
トランザクション500は、例えば、トランザクションハッシュ510、前トランザクションハッシュ520、取引先アドレス530、トランザクション内容540、被承認トランザクションハッシュ550、ノンス560、取引元検証情報570、取引元アドレス580、及び取引元署名590を含む。
トランザクションハッシュ510は、トランザクション500の内容に対してハッシュ関数を適用して得られるハッシュ値である。異なる内容のトランザクションから同一のハッシュ値が生成される確率は天文学的に小さいため、トランザクションハッシュはトランザクションを実質的に一意に特定する識別子である。
前トランザクションハッシュ520は、トランザクション500の前のトランザクションのトランザクションハッシュである。前のトランザクションとは、取引前のステータスを示す別のトランザクションである。
例えば、A氏からB氏への送金が行われ、その後B氏からC氏への送金が行われた場合、トランザクション500がB氏からC氏への送金取引であれば、前トランザクションはA氏からB氏への送金トランザクションである。つまり、B氏は、前トランザクションで送金を受けた通貨を、C氏へ送金する。
取引先アドレス530は、取引を行う相手を一意に特定するアドレスである。例えばC氏への送金取引が行われる場合、取引先アドレス530はC氏のアドレスである。なおアドレスは、例えば、C氏が管理する秘密鍵に対応する公開鍵、そのハッシュ値、又は他の任意の方法で生成されたC氏を一意に特定する識別子を求めることで得られる。
トランザクション内容540は、取引の詳細な内容を示すデータであり、例えば送金額などを含む。被承認トランザクションハッシュ550は、トランザクション500が直接承認する過去のトランザクションである。
この承認関係をトランザクション間の有向関係と捉えることで、トランザクションは有向非循環グラフ(DAG)を構成する。本実施例の分散台帳システムは、非特許文献1に記載のTangleと同様に、このDAGを使ってトランザクションに関する合意形成が行われる。
ノンス560は、トランザクション生成の際に行うPoW(Proof of Work)の結果得られる値である。ノンス560は一定の計算量の問題をトランザクション生成者が解いたことを示すために埋め込まれたデータである。
PoWは計算能力の独占が困難であることを根拠に、承認権限の独占を防いでいるが、現実的には多数のコンピュータを用意することによる計算能力の独占が可能である。本実施例の分散台帳システムは、後述する別の方法でこの承認権限の独占を防いでいるため、トランザクション500はノンス560に含まなくてもよい。
取引元検証情報570は、トランザクション生成者の署名を検証するための情報である。例えば、トランザクション署名として通常の電子署名が使われる場合は、取引元検証情報570は公開鍵を含む。また、例えば、生体情報を鍵として用いる生体署名がトランザクション署名として使われる場合は、取引元検証情報570は、公開テンプレートを含む。
取引元アドレス580は、トランザクション生成者を一意に特定するアドレスである。例えばB氏からの送金取引が行われる場合、B氏のアドレスが格納される。なお、アドレスは、例えば、B氏が管理する秘密鍵に対応する公開鍵、又はそのハッシュ値を求めることで得られる。取引元署名590は、トランザクション全体に対してトランザクション生成者が付与する署名である。この署名として、例えば、一般的な電子署名や生体署名を用いることができる。
以上、トランザクション500のデータ構造例を説明したが、トランザクション500は、必ずしも図示した全てのデータを含まなくてもよいし、図示されていないデータを含んでもよい。具体的には、例えば、トランザクション500は、ノンス560や取引元検証情報570を含まなくてもよい。
続いて、トランザクション生成処理とトランザクション確認処理について説明する。トランザクション生成処理において、トランザクション生成端末1000は、取引内容を含むトランザクションを生成する。本実施例では、非特許文献1で提案されているTangleと同様に、トランザクションは過去のトランザクションを承認することでDAGを構成する。
DAGはトランザクションの増加に伴い成長していき、生成されたトランザクションは、直接的又は間接的に新たなトランザクションにより承認される。自身を直接的又は間接的に承認するトランザクションが多いトランザクションの有効性は信頼に足ると考えられる。なお、トランザクションを直接的又は間接的に承認することを、単にトランザクションを承認するともいう。
トランザクション確認処理において、トランザクション確認端末1100は、生成済みのトランザクションの有効性を検証し、取引が有功かどうかを確認した上で当該トランザクションを実行する。トランザクション確認端末1100は、各トランザクションについて、自身を直接的又は間接的に承認するトランザクションの総量をカウントし、トランザクションの有効性が十分に信頼できるかを検証することで、当該確認が行われる。
図2は、トランザクション生成処理とトランザクション確認処理の一例を示すシーケンス図である。まず、トランザクション生成端末1000によるトランザクションを生成処理が行われる。トランザクション生成処理について説明する。
まず、トランザクション内容生成部1010は、トランザクション内容の生成を行う(S2010)。トランザクション内容は、例えば仮想通貨の送金が行われる場合は支払い元、支払先、及び金額のような取引に関する情報を含む。
トランザクション選択検証部1020は、生成するトランザクションが承認するトランザクションを、過去のトランザクションの中から選択してその内容を検証する(S2020)。ステップS2020の処理の詳細は図3を参照して後述する。ステップS2020の処理により、トランザクション生成時に承認するトランザクションが決定する。
秘密情報取得部1030は、トランザクションへ署名を付与するための秘密情報を取得する(S2030)。秘密情報として、例えば、一般的な電子署名を生成する秘密鍵を使うことができる。当該秘密鍵は、例えば、トランザクション生成端末1000に格納されたデータを参照することによって得られてもよいし、ハードウェアトークンに格納されていてもよい。
また、例えば、トランザクションへの署名に、指紋、顔、静脈などの生体情報を鍵とする生体署名を使用する場合は、秘密情報としてトランザクション生成者の生体情報を取得する。
続いて、トランザクション署名生成部1040は、ステップS2010で生成されたトランザクションに対して署名を生成して付与する(S2040)。署名としては、例えば、ステップS2030において秘密鍵を取得した場合は電子署名を用い、生体情報を取得した場合は生体署名が用いられる。通信部1050は、ステップS2040で署名を付与されたトランザクションをネットワークへ送信する。以上により、トランザクション生成端末1000におけるトランザクション生成処理が完了する。
次に、トランザクション確認端末1100による、対象トランザクションの有効性確認をするトランザクション確認処理が行われる。トランザクション確認処理について説明する。まず、トランザクション確認端末1100の通信部1150は、ステップS2050で送信されたトランザクションを受信する(S2110)。なお、前述したネットワークは、例えば、P2Pネットワークであり、各ノードがトランザクションに関する情報を共有している。
トランザクションハッシュ取得部1110は、確認対象のトランザクションのトランザクションハッシュ510を取得する(S2120)。確認対象のトランザクションとは、トランザクション確認端末1100にて有効性を確認するトランザクションである。
例えばeコマースであれば、小売業者が確認対象のトランザクションとして、消費者からの支払いトランザクションを指定し、支払いが有効であるかを確認し、有効であれば商品を発送する。トランザクションハッシュは、分散台帳システムと連携する別のシステムから受信してもよいし、キーボード、又は2次元コードなどによって入力されてもよい。
トランザクション荷重算出部1120は、確認対象のトランザクションの累積荷重を算出する(S2130)。累積荷重は、確認対象のトランザクションを直接的又は間接的に承認しているトランザクションの荷重の総和である。この累積荷重が大きいほど、承認しているトランザクションが多く、トランザクションが有効である確率が高いことを示す。ステップS2130の詳細は、図4を参照して後述する。
トランザクション検証部1130は、ステップS2130で得られた確認対象トランザクションの累積荷重に基づき、トランザクションが有効であるか否かを判定する(S2140)。具体的には、例えば、トランザクション検証部1130は、累積荷重が所定の閾値を超えればトランザクションが有効、当該所定の閾値未満であればトランザクションが無効であると判定する。また、トランザクション検証部1130は、累積荷重を考慮してトランザクションを選択するアルゴリズムを用いて、確認対象トランザクションが間接的に承認される確率を算出し、当該確率に対して閾値処理を行うことで有効性を判定してもよい。
トランザクション検証部1130がステップS2140でトランザクションが有効であると判定した場合、トランザクション実行部1140は、トランザクションの内容を実行する(S2150)。例えば、トランザクションが商品の対価の支払いを目的とするものであれば、トランザクション実行部1140は支払いが完了したとみなし、その後商品が発送される。
なお、トランザクション検証部1130がステップS2140でトランザクションが有効でないと判定した場合、トランザクション実行部1140は、例えば、トランザクションの内容を実行せず、例えば、トランザクション生成端末に対して、未承認であることを示すデータを返信する。以上により、トランザクションの生成及びトランザクションの確認及び実行が完了する。
図3は、ステップS2020におけるトランザクション選択検証処理の一例を示すフローチャートである。トランザクション選択検証処理において、トランザクション選択検証部1020は、生成するトランザクションの被承認トランザクションとして、過去のトランザクションを選択して、内容を検証し、問題なければ被承認トランザクションとして採用する。
まず、トランザクション選択検証部1020は、トランザクション格納部1090に格納された過去のトランザクションから1つ以上の被承認トランザクションを選択する(S3010)。具体的には、例えば、トランザクション選択検証部1020は、当該選択を、ランダムに行ってもよいし、MCMC(マルコフ連鎖モンテカルロ法)に代表される選択アルゴリズムを用いて行ってもよい。
続いて、トランザクション選択検証部1020は、ステップS3010で選択された被承認トランザクションの内容を検証する(S3020)。トランザクション選択検証部1020は、ステップS3020の検証において、被承認トランザクションの有効性を確認する。具体的には、例えば、仮想通貨のトランザクションの検証が行われる場合、トランザクション選択検証部1020は、正規の所有者が生成したトランザクションであることや、支払い後の残高がマイナスにならないことなどを、検証する。
トランザクション選択検証部1020は、被承認トランザクションがDAG上で直接又は間接的に承認しているトランザクションを遡って検証し、不正なトランザクションを承認していないことを確認する(S3030)。トランザクション選択検証部1020は、ステップS3020の内容検証とステップS3030の履歴検証の結果を確認する(S3040)。
トランザクション選択検証部1020は双方の検証結果に問題がなければ、被承認トランザクションを有効と判定してトランザクション選択検証処理を終了し、少なくとも一方の検証結果に問題があれば被承認トランザクションを無効と判定してステップS3010に戻る。
なお、トランザクション選択検証部1020は、ステップS3020の内容検証において問題があると判定した場合、ステップS3030を実行することなく、被承認トランザクションを無効と判定してステップS3010に戻ってもよい。また、例えば、トランザクション選択検証処理を開始してから所定時間が経過しても有効な被承認トランザクションが得られない場合には、トランザクション選択検証処理をタイムアウトさせてもよい。
次に、ステップS2130におけるトランザクション荷重算出処理について説明する。トランザクション荷重算出処理において、トランザクション荷重算出部1120は、DAGに含まれるトランザクションのうち、確認対象トランザクションを直接的又は間接的に承認しているトランザクションを対象として、トランザクションの生成者が同一人物であるか否かを確認し、得られた結果を用いてトランザクションの累積荷重を算出する。
具体的には、例えば、承認トランザクションのうち生成者が同一人物と判定されたトランザクションは、それぞれの荷重を加算せず、荷重の最大値のみが加算される。このようにすることで、同一人物が生成したトランザクションは複数あっても、1つ分のトランザクションの荷重しか加算されないため、1人1票の承認を実現できる。
図4は、ステップS2130におけるトランザクション荷重算出処理の一例を示すフローチャートである。まず、トランザクション荷重算出部1120は、確認対象トランザクションの累積荷重を初期化する(S4010)。
図7は、確認対象トランザクションの初期化時の累積荷重の一例を示す説明図である。図7の例では、確認対象トランザクション500a~500eによってDAGが構成され、確認対象トランザクション500a~500eの荷重はそれぞれ1であるものとする。
確認対象トランザクションの累積荷重として、最大累積荷重と最小累積荷重が定義される。トランザクション荷重算出部1120は、最大累積荷重の初期値として、確認対象トランザクションを直接的又は間接的に承認しているトランザクションの荷重の総和を代入する。
例えば、確認対象トランザクション500aは、確認対象トランザクション500cに直接的に承認され、確認対象トランザクション500d及び確認対象トランザクション500eに間接的に承認されている。また、確認対象トランザクション500a自身も確認対象トランザクション500aを直接的に承認しているものとして扱う。従って、確認対象トランザクション500aの最大累積荷重の初期値は、これら4つの確認対象トランザクションとの総和である4である。
また、トランザクション荷重算出部1120は、各確認対象トランザクションの最小累積荷重として、当該確認対象トランザクションを直接的又は間接的に承認しているトランザクションの荷重の最大値を代入する。図7の例では、確認対象トランザクション500a~500eの荷重はいずれも1であるため、確認対象トランザクション500a~500eの最小累積荷重はいずれも1である。
つまり、最大累積荷重は、承認トランザクションの全てが同一人物ではなかった場合に得られる最大の累積荷重であり、最小累積荷重は、承認トランザクションの全てが同一人物であった場合に得られる最小の累積荷重である。
図4の説明に戻る。トランザクション荷重算出部1120は、承認トランザクションのうち、まだ同一人物であるか否かを検証していない2つのトランザクションを、トランザクションペアとして選択する(S4020)。
ステップS4020における選択方法として、例えば、ランダムに選択する、トランザクションの荷重の和が大きい又は小さいペアから順に選択する、MCMC(マルコフ連鎖モンテカルロ法)に代表される選択アルゴリズムを用いて選択する、DAG内の深さが深い又は浅い方から優先的に選択する、などの方法がある。
トランザクション荷重算出部1120は、ステップS4020で選択したトランザクションペアが同一人物によって生成されたものか否かを確認する(S4030)。ステップS4030における確認方法として、例えば、取引元アドレス580の確認、取引元署名590に含まれる電子署名の確認、取引元署名590に含まれる生体署名の確認の3つが考えられる。
前述した通り取引元アドレス580は、トランザクション生成者の公開鍵やそのハッシュ値などを示すデータであり、本人を一意に特定するものである。トランザクション荷重算出部1120は、トランザクションペアに含まれる2つの取引元アドレスが一致することを確認することで、トランザクションが同一人物によって生成されたかを判定することができる。
なお、公開鍵やそのハッシュ値を無制限に生成できると一人で複数のアドレスを持つことができるため、同一人物が複数人を詐称することができ、同一人物確認を正しく行うことができない。このため、取引元アドレスに基づき同一人物確認を実施する際には、1人が単一のアドレスしか持てないことを保証する必要がある。
例えば、公開鍵証明書を認証局が発行することとし、公開鍵証明書発行時に本人確認を実施して過去に登録がないことを保証する仕組みがあれば、このような取引元アドレスに基づく同一人物確認が正しく行われる。
ここで、電子署名及び生体署名に基づく同一人物確認手順について説明する。電子署名に基づく同一人物確認方法は、直接参照と間接参照の2種類の方法を含む。図6は、直接参照及び間接参照による検証同一人物確認処理の一例を示す説明図である。
まず直接参照について説明する。トランザクション荷重算出部1120は、トランザクションAの取引元署名590に含まれる電子署名と、もう一方のトランザクションBの取引元検証情報570に含まれる公開鍵と、を用いて署名検証を行うことでトランザクションAとトランザクションBが同一人物によって生成されたものであるか否かを確認することができる。このようにトランザクションAとトランザクションBのみを直接的に参照することによって、同一人物確認ができる方式を直接参照と呼ぶ。
続いて、間接参照について説明する。まず、トランザクション荷重算出部1120は、トランザクションBの前トランザクションハッシュ520と等しいトランザクションハッシュ510を持つトランザクションを過去のトランザクションから検索し、それを参照トランザクション620として特定する。
さらに、トランザクション荷重算出部1120は、参照トランザクション620の取引先アドレス530に含まれる公開鍵と、トランザクションAに含まれる取引元署名590に含まれる電子署名と、を用いて署名検証を行う。トランザクションBに取引元検証情報570が含まれている場合は直接参照が可能だが、トランザクションBに取引元検証情報570が含まれていない場合は、直接参照が困難又は不可能であるため、トランザクション荷重算出部1120は間接参照を用いて検証する。
トランザクション荷重算出部1120は、署名の検証に成功した場合、トランザクションAとトランザクションBは同一の秘密鍵と公開鍵のペアで生成されたことになるため、トランザクションAとトランザクションBの生成者は同一人物であると判定する。トランザクション荷重算出部1120は、署名の検証に失敗した場合、トランザクションAとトランザクションBは異なる秘密鍵と公開鍵のペアで生成されたことになるため、トランザクションAとトランザクションBの生成者は同一人物ではないと判定する。
なお、生体署名に基づく確認も、電子署名に基づく確認と同様に、直接参照と間接参照の2種類がある。直接参照では、トランザクション荷重算出部1120は、トランザクションAの取引元署名590に含まれる生体署名と、トランザクションBの取引元検証情報570に含まれる公開テンプレートと、を用いて、署名検証を行う。
また、間接参照では、トランザクション荷重算出部1120は、まずトランザクションBの前トランザクションハッシュ520と等しいトランザクションハッシュ510を持つトランザクションを過去のトランザクションから検索し、それを参照トランザクション620として特定する。
さらに、トランザクション荷重算出部1120は、参照トランザクション620の取引先アドレス530に含まれる公開テンプレートと、トランザクションAに含まれる取引元署名590に含まれる生体署名とを検証する。トランザクションBに取引元検証情報570が含まれている場合は直接参照が可能だが、トランザクションBに取引元検証情報570が含まれていない場合は、直接参照が困難又は不可能であるため、トランザクション荷重算出部1120は、間接参照を用いて検証する。
トランザクション荷重算出部1120は署名の検証に成功した場合、トランザクションAとトランザクションBは同一の生体情報を持つ人物が生成したことになるため、トランザクションAとトランザクションBの生成者は同一人物であると判定する。
トランザクション荷重算出部1120は署名の検証に失敗した場合、トランザクションAとトランザクションBは異なる生体情報を持つ人物が生成したことになるため、トランザクションAとトランザクションBの生成者は同一人物ではないと判定する。
図4の説明に戻る。トランザクション荷重算出部1120は、以上の手順でトランザクションペア同一人物確認(S4030)を実施した後、得られた確認結果を用いてトランザクションクラスタリングを行う(S4040)。具体的には、例えば、トランザクション荷重算出部1120は、生成者が同一人物であると判定されたトランザクションを同じクラスタ、生成者が同一人物ではないと判定されたトランザクションを異なるクラスタに分類する。
例えば、M件の承認トランザクションが全て同一人物である場合、クラスタは1つであり、当該クラスタに全ての承認トランザクションが含まれる。また、M件の承認トランザクションが全て異なる人物によって生成された場合、クラスタはM個となり、M個のクラスタそれぞれに1つの承認トランザクションが含まれる。
トランザクション荷重算出部1120は、ステップS4040において得られたクラスタを用いて、確認対象トランザクションの最大累積荷重及び最小累積荷重を更新する(S4050)。更新後の最大累積荷重は、未確認のトランザクションペアが全て異なる人物によって生成された場合の累積荷重である。
トランザクション荷重算出部1120は、最大累積荷重の初期値と同様に、各トランザクションについて、当該トランザクションを直接的又は間接的に承認するトランザクションの荷重の総和を新たな最大累積荷重として算出して更新する。但し、同一のクラスタに属する複数のトランザクションに直接的又は間接的に承認されているトランザクションの最大累積荷重の算出においては、荷重の総和を算出する際、当該複数のトランザクションの荷重を重複して加算せず、当該複数のトランザクションの荷重の最大値を1回のみ加算する。
また、更新後の最小累積荷重は、未確認のトランザクションペアが全て同一人物によって生成された場合の累積荷重である。つまり、トランザクション荷重算出部1120は、各トランザクションについて、当該トランザクションを直接的又は間接的に承認するトランザクションそれぞれが属するクラスタの荷重の最大値を新たな最小累積荷重として更新する。
但し、あるクラスタに属する全ての承認トランザクションについて、他のクラスタに属する全てのトランザクションとの同一人物確認が完了していれば、今後同一人物と判定されて他のクラスタと統合されることはない。従って、トランザクション荷重算出部1120は、各トランザクションの最小累積荷重の更新において、このようなクラスタに属する承認トランザクションの荷重は当該クラスタの荷重の最大値として扱い、残りのクラスタに属する承認トランザクションの荷重は当該残りのクラスタ全ての荷重の最大値として扱う。
前述した方法で累積荷重が更新されるため、ステップS4030の同一人物確認が行われるたびに、最大累積荷重は変化しない又は減少し(増加することはない)、最小累積荷重は変化しない又は増加する(減少することはない)。
図10は、確認対象トランザクションの更新後の累積荷重の一例を示す説明図である。図10の例は、図7の例において初回のステップS4030において、確認対象トランザクション500d及び確認対象トランザクション500eが同一人物であると判定された場合の荷重を示す。
最大累積荷重の算出においては、確認対象トランザクション500d及び確認対象トランザクション500eが同一クラスタに属し、確認対象トランザクション500a~500cは、当該同一クラスタ以外のクラスタであって、それぞれ異なるクラスタに属する。確認対象トランザクション500d及び確認対象トランザクション500eの双方に直接的又は間接的に承認されていた確認対象トランザクション500a~500dの最大累積荷重がそれぞれ1ずつ減少する。なお、確認対象トランザクション500a~500eの全ての荷重が1であるため、最小累積荷重については変化しない。
図4の説明に戻る。続いて、トランザクション荷重算出部1120は、得られた確認対象トランザクションの最大累積荷重と最小累積荷重に対して、確認を終了してよいか否かを判定する(S4060)。トランザクション荷重算出部1120は、例えば、最大累積荷重が十分小さいこと、及び最小累積荷重が十分大きいことの少なくとも一方が満たされることを判定することによって、ステップS4060における確認終了の判定を行う。なお、ステップS4010において複数組のトランザクションペアを選択して、当該複数組のペアそれぞれにステップS4030~4050の処理を行った上で、ステップS4060の判定を実行してもよい。
前述したように。最大累積荷重は、今後さらに確認処理を行った場合においてとり得る最大の累積荷重であり、この値が十分に小さければトランザクションが有効と判定される確率は極めて小さい。このため、トランザクション荷重算出部1120は、例えば、確認対象トランザクションの最大累積荷重が閾値未満であると判定した場合、確認完了とし、ステップS2130におけるトランザクション荷重算出処理を終了する。なお、全てのトランザクションの累積荷重を算出して有効か否かの判定を行いたい場合は、最大累積荷重の判定を行わずに全ての組合せのトランザクションの同一人物確認を行ってもよい。
当該閾値は、予め定められた値であってもよいし、トランザクション荷重算出部1120がDAGに対するMCMCなどを活用して動的に求めてもよい。動的な閾値は、例えば非特許文献2で開示されている、MCMCに基づくトランザクション選択を使って、トランザクションの信頼度が十分に高くなる累積荷重を算出することで、求めることができる。
また、最小累積荷重は、今後さらに確認処理を行った場合においてとり得る最小の累積荷重であり、この値が十分に大きければトランザクションが有効と判定される確率は極めて大きい。このため、トランザクション荷重算出部1120は、確認対象トランザクションの最小累積荷重が閾値以上と判定した場合、確認完了とし、ステップS2130におけるトランザクション荷重算出処理を終了する。当該閾値は、最大累積荷重と同様に、予め定められた値であってもよいし、トランザクション荷重算出部1120がDAGに対するMCMCなどを活用して動的に求めてもよい。なお、全てのトランザクションの累積荷重を算出して有効か否かの判定を行いたい場合は、最小累積荷重の判定を行わずに全ての組合せのトランザクションの同一人物確認を行ってもよい。
また、トランザクション荷重算出部1120は、ステップS4050において、最大累積荷重が十分に小さくない、かつ最小累積荷重が十分大きくない、と判定した場合、ステップS4020に戻る。
また、トランザクション荷重算出部1120は、確認を途中で打ち切らずに全ての承認トランザクションに関して確認を実施してもよく、この場合、最大累積荷重と最小累積荷重を設けずに、未確認の承認トランザクションがなくなるまでステップS4020からステップS4050までの処理を継続する。以上により、確認対象トランザクションに対する累積荷重の算出が完了する。
前述したように、トランザクション検証部1130は、ステップS2130で得られた確認対象トランザクションの累積荷重の値を用いて、トランザクションが有効であるか否かを判定する(S2140)。トランザクションが有効であるとは、今後DAGが成長したときに、将来的に無効と判定される可能性が十分に小さく、トランザクションの有効性が確定した状態であることを示す。
ステップS2140におけるトランザクション判定において、ステップS2130で得られた最大累積荷重及び最小累積荷重に対する閾値処理を適用することができる。また、ステップS2130で得られた最大累積荷重又は最小累積荷重を確認対象のトランザクションの累積荷重としたときに、トランザクション検証部1130はDAGに対してMCMCなどのトランザクション選択アルゴリズムを適用し、確認対象トランザクションが承認される確率を求め、その確率に対する閾値処理を適用してもよい。
以上、トランザクション生成端末1000によるトランザクション生成処理、及びトランザクション確認端末1100によるトランザクション確認処理が完了する。なお、前述した例において、最大累積荷重及び最小累積荷重の双方が算出されていたが、一方のみを算出し、当該一方のみに基づいて、トランザクションの有効性が判定されてもよい。
トランザクション確認端末1100は、トランザクション確認処理において、確認対象トランザクションの累積荷重の算出に、確認対象トランザクションを直接的又は間接的に承認するトランザクションが同一人物により生成されたものかを判定する。そして、トランザクション確認端末1100は、同一人物が生成した承認トランザクションについては、1つのトランザクションの荷重のみを加算する。つまり、同一人物が何度承認トランザクションを生成しても1票しかカウントされないことになり、少数の人物が分散台帳システムの承認権限を独占することは困難となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
500 トランザクション、810 CPU、820 メモリ、830 補助記憶装置、1000 トランザクション生成端末、1020 トランザクション選択検証部1020、1040 トランザクション署名生成部、1100 トランザクション確認端末、1110 トランザクションハッシュ取得部、1120 トランザクション荷重算出部、1130 トランザクション検証部、1140 トランザクション実行部

Claims (12)

  1. 分散台帳方式におけるトランザクションの有効性を判定するトランザクション判定装置であって、
    プロセッサとメモリと、を含み、
    前記メモリは、複数のトランザクションを保持し、
    前記複数のトランザクションは、
    前記複数のトランザクション間の承認関係によって有向非循環グラフを構成し、
    前記複数のトランザクションそれぞれの荷重及び生成者を示し、
    有効性の判定対象である対象トランザクションと、前記対象トランザクションによって承認されるトランザクションと、を含み、
    前記プロセッサは、
    前記複数のトランザクションの荷重に基づいて、前記複数のトランザクションそれぞれの累積荷重を算出し、
    前記複数のトランザクションに含まれるトランザクションからなる1以上のトランザクションペアそれぞれについて前記生成者が同一人物であるか否かを判定し、当該判定の結果に基づいて、前記累積荷重を更新する更新処理を実行し、
    前記更新した累積荷重に基づいて、前記対象トランザクションの有効性を判定する、トランザクション判定装置。
  2. 請求項1に記載のトランザクション判定装置であって、
    前記プロセッサは、
    前記更新処理において、
    前記生成者が同一人物である承認トランザクションを同一のクラスタに分類し、
    前記クラスタそれぞれの荷重の代表値を算出し、
    前記代表値に基づいて、前記累積荷重を更新する、トランザクション判定装置。
  3. 請求項1に記載のトランザクション判定装置であって、
    前記累積荷重は、最大累積荷重を含み、
    前記プロセッサは、
    前記更新処理において、
    前記生成者が同一人物であるか否かを未特定のトランザクションが全て異なる人物によって生成された場合における累積荷重を、前記複数のトランザクションそれぞれの最大累積荷重として算出し、
    前記1以上のトランザクションペアそれぞれについて前記生成者が同一人物であるか否かの判定の結果に基づいて、前記最大累積荷重を更新し、
    前記最大累積荷重に対する閾値処理に基づいて、前記対象トランザクションの有効性を判定する、トランザクション判定装置。
  4. 請求項3に記載のトランザクション判定装置であって、
    前記プロセッサは、
    前記更新した最大累積荷重が所定の条件を満たしたと判定した場合、前記更新した最大累積荷重に基づいて、前記対象トランザクションの有効性を判定し、
    前記更新した最大累積荷重が所定の条件を満たしたと判定した場合、前記更新処理を再度実行する、トランザクション判定装置。
  5. 請求項1に記載のトランザクション判定装置であって、
    前記累積荷重は、最小累積荷重を含み、
    前記プロセッサは、
    前記更新処理において、
    前記生成者が同一人物であるか否かを未特定のトランザクションが、全て同一人物によって生成された場合における累積荷重を、前記複数のトランザクションそれぞれの最小累積荷重として算出し、
    前記1以上のトランザクションペアそれぞれについて前記生成者が同一人物であるか否かの判定の結果に基づいて、前記最小累積荷重を更新し、
    前記最小累積荷重に対する閾値処理に基づいて、前記対象トランザクションの有効性を判定する、トランザクション判定装置。
  6. 請求項5に記載のトランザクション判定装置であって、
    前記プロセッサは、
    前記更新した最小累積荷重が所定の条件を満たしたと判定した場合、前記更新した最小累積荷重に基づいて、前記対象トランザクションの有効性を判定し、
    前記更新した最小累積荷重が所定の条件を満たしたと判定した場合、前記更新処理を再度実行する、トランザクション判定装置。
  7. 請求項1に記載のトランザクション判定装置であって、
    前記複数のトランザクションは、前記複数のトランザクションの生成者を示す情報として、前記生成者の識別子を含む、トランザクション判定装置。
  8. 請求項1に記載のトランザクション判定装置であって、
    前記複数のトランザクションは、前記複数のトランザクションの生成者を示す情報として、前記生成者の電子署名と、前記電子署名の検証情報と、を含む、トランザクション判定装置。
  9. 請求項8に記載のトランザクション判定装置であって、
    前記電子署名は、前記生成者の生体情報を鍵とする生体署名であり、
    前記検証情報は、公開テンプレートである、トランザクション判定装置。
  10. 請求項8に記載のトランザクション判定装置であって、
    前記複数のトランザクションそれぞれは、当該トランザクションの前のトランザクションを示し、
    前記プロセッサは、
    トランザクションペアの一方のトランザクションに含まれる署名と、当該トランザクションペアの他方のトランザクションの前のトランザクションに含まれる検証情報と、を用いて、当該トランザクションペアが同一人物によって生成されたものであるか否かを判定する、トランザクション判定装置。
  11. トランザクション判定装置が、分散台帳方式におけるトランザクションの有効性を判定する方法であって、
    前記トランザクション判定装置は、
    プロセッサとメモリと、を含み、
    前記メモリは、複数のトランザクションを保持し、
    前記複数のトランザクションは、
    前記複数のトランザクション間の承認関係によって有向非循環グラフを構成し、
    前記複数のトランザクションそれぞれの荷重及び生成者を示し、
    有効性の判定対象である対象トランザクションと、前記対象トランザクションによって承認されるトランザクションと、を含み、
    前記方法は、
    前記プロセッサが、前記複数のトランザクションの荷重に基づいて、前記複数のトランザクションそれぞれの累積荷重を算出し、
    前記プロセッサが、前記複数のトランザクションに含まれるトランザクションからなる1以上のトランザクションペアそれぞれについて前記生成者が同一人物であるか否かを判定し、当該判定の結果に基づいて、前記累積荷重を更新する更新処理を実行し、
    前記プロセッサが、前記更新した累積荷重に基づいて、前記対象トランザクションの有効性を判定する、方法。
  12. トランザクション判定装置に、分散台帳方式におけるトランザクションの有効性を判定する処理を実行させるためのプログラムであって、
    前記トランザクション判定装置は、
    プロセッサとメモリと、を含み、
    前記メモリは、複数のトランザクションを保持し、
    前記複数のトランザクションは、
    前記複数のトランザクション間の承認関係によって有向非循環グラフを構成し、
    前記複数のトランザクションそれぞれの荷重及び生成者を示し、
    有効性の判定対象である対象トランザクションと、前記対象トランザクションによって承認されるトランザクションと、を含み、
    前記プログラムは、
    前記複数のトランザクションの荷重に基づいて、前記複数のトランザクションそれぞれの累積荷重を算出する手順と、
    前記複数のトランザクションに含まれるトランザクションからなる1以上のトランザクションペアそれぞれについて前記生成者が同一人物であるか否かを判定し、当該判定の結果に基づいて、前記累積荷重を更新する更新処理を実行する手順と、
    前記更新した累積荷重に基づいて、前記対象トランザクションの有効性を判定する手順と、を前記プロセッサに実行させるプログラム。
JP2018243795A 2018-12-26 2018-12-26 トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム Active JP7032296B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018243795A JP7032296B2 (ja) 2018-12-26 2018-12-26 トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018243795A JP7032296B2 (ja) 2018-12-26 2018-12-26 トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム

Publications (2)

Publication Number Publication Date
JP2020107004A JP2020107004A (ja) 2020-07-09
JP7032296B2 true JP7032296B2 (ja) 2022-03-08

Family

ID=71450848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018243795A Active JP7032296B2 (ja) 2018-12-26 2018-12-26 トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム

Country Status (1)

Country Link
JP (1) JP7032296B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018014622A (ja) 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018014622A (ja) 2016-07-21 2018-01-25 株式会社日立製作所 署名検証システム、署名検証方法及びプログラム

Also Published As

Publication number Publication date
JP2020107004A (ja) 2020-07-09

Similar Documents

Publication Publication Date Title
US11063765B2 (en) Systems and methods for providing identity scores
Ghosh et al. Security of Cryptocurrencies in blockchain technology: State-of-art, challenges and future prospects
JP7504794B2 (ja) 分散データレコード
SA518392296B1 (ar) أنظمة وطرق للتحقق من الهوية الشخصية متعدد العوامل والمعتمد على سلاسل كتلية
JP2024029020A (ja) 一般的な計算のためのブロックチェーン
CN114730422A (zh) 用于在具有区块链协议和智能合约的分布式系统中的商务的系统和方法
WO2018158936A1 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
WO2017082237A1 (ja) ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
JP6838388B2 (ja) 情報処理システム、情報処理方法、プログラム及び情報処理装置
JP5753772B2 (ja) 生体認証システム
WO2019209291A1 (en) Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
Khedekar et al. Protection to Personal Data Using Decentralizing Privacy of Blockchain.
JP7032296B2 (ja) トランザクション判定装置、トランザクション判定方法、及びトランザクション判定プログラム
JP2007272600A (ja) 環境認証と連携した本人認証方法、環境認証と連携した本人認証システムおよび環境認証と連携した本人認証用プログラム
Alkhodair et al. Consensus Algorithms of Distributed Ledger Technology--A Comprehensive Analysis
JP7061083B2 (ja) 署名システム、署名方法及びプログラム
Thakur et al. AntiPhiMBS-Auth: A new anti-phishing model to mitigate phishing attacks in mobile banking system at authentication level
EP4099612A1 (en) Control method, server, and program
CN112766971A (zh) 在区块链中发送交易和执行交易的方法和装置
Bennett et al. Registration and Verification of Birth Certificate using Blockchain Technology
JP7563814B1 (ja) 情報処理システム、情報処理方法、及びプログラム
KR102524323B1 (ko) 블록체인 네트워크에 기반하여 nft를 공증하기 위한 방법 및 이를 이용한 공증 서버
EP4391441A1 (en) Nft issuing system
US20230289779A1 (en) System and method for automatically validating users to access blockchain based applications
US20220400017A1 (en) Grinding Resistant Cryptographic Systems and Cryptographic Systems Based on Certified Miners

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220224

R150 Certificate of patent or registration of utility model

Ref document number: 7032296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150