IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-81029ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法
<>
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図1
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図2
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図3
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図4
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図5
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図6
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図7
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図8
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図9
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図10
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図11
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図12
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図13
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図14
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図15
  • 特開-ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024081029
(43)【公開日】2024-06-17
(54)【発明の名称】ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法
(51)【国際特許分類】
   G06F 16/182 20190101AFI20240610BHJP
   G06F 16/174 20190101ALI20240610BHJP
【FI】
G06F16/182
G06F16/174
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022194446
(22)【出願日】2022-12-05
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003421
【氏名又は名称】弁理士法人フィールズ国際特許事務所
(72)【発明者】
【氏名】岡 達也
(72)【発明者】
【氏名】山岡 裕司
(57)【要約】      (修正有)
【課題】全てのノードから削除されるブロックの発生を抑制するブロックチェーン管理プログラム、装置及び方法を提供する。
【解決手段】新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理は、台帳を保有する複数の装置が夫々含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定し、マイニング処理を行う際に選ばれた過去ブロックに対応するグループが特定のグループであるか否かを判定し、過去ブロックに対応するグループが特定のグループ以外のグループであると判定した場合、マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、当該グループが特定のグループであると判定した場合、マイニング処理に成功したことに対するインセンティブを第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する。
【選択図】図6
【特許請求の範囲】
【請求項1】
新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定し、
前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する、
処理をコンピュータに実行させることを特徴とするブロックチェーン管理プログラム。
【請求項2】
請求項1において、さらに、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記第2インセンティブを大きくする、
処理をコンピュータに実行させることを特徴とするブロックチェーン管理プログラム。
【請求項3】
請求項1において、さらに、
前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記第2インセンティブを小さくする、
処理をコンピュータに実行させることを特徴とするブロックチェーン管理プログラム。
【請求項4】
請求項1において、
前記決定する処理では、
前記過去ブロックのサイズを特定し、
特定した前記サイズの大きさに応じて前記追加インセンティブを決定する、
ことを特徴とするブロックチェーン管理プログラム。
【請求項5】
新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定するグループ特定部と、
前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する報酬決定部と、を有する、
ことを特徴とするブロックチェーン管理装置。
【請求項6】
新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定し、
前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する、
処理をコンピュータが実行することを特徴とするブロックチェーン管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法に関する。
【背景技術】
【0002】
近年、ピアツーピア(P2P:PeertoPeer)ネットワークにアクセスする複数のノード間において共通して台帳の管理を行うブロックチェーンが登場している。
【0003】
このようなブロックチェーンにおいて、複数のノードのそれぞれは、例えば、取引履歴等のトランザクション(以下、単にトランザクションとも呼ぶ)の内容を検証する処理(以下、検証処理とも呼ぶ)を行う。そして、複数のノードのそれぞれは、例えば、検証処理が行われた後の1以上のトランザクションを取り纏めることによってブロックを生成し、生成したブロックを台帳上の既存のブロックに追加するために必要な所定の条件を満たすための処理(以下、マイニング処理とも呼ぶ)を行う。その後、複数のノードのうちのマイニング処理に成功したノード(以下、単にマイニング成功ノードとも呼ぶ)は、例えば、マイニング処理に成功したブロックを台帳の一部として格納した後、当該ブロックを複数のノードのうちの他のノード(以下、単に他のノードとも呼ぶ)に対して送信することにより、複数のノード間においてブロックの内容を同一にする処理(以下、合意形成処理とも呼ぶ)を行う。
【0004】
さらに、上記のようなブロックチェーンでは、例えば、マイニング成功ノードに対してインセンティブが与えられる(例えば、特許文献1乃至3参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2019/038839号
【特許文献2】特表2022-533770号公報
【特許文献3】米国特許出願公開第2019/0237169号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、上記のようなマイニング処理は、例えば、過去に台帳の一部として格納されたブロック(以下、過去ブロックとも呼ぶ)を用いるコンセンサスアルゴリズムに従って行われる場合がある。そのため、上記のような複数のノードのそれぞれでは、例えば、マイニング処理を実行する必要性から、可能な限り多くの過去ブロックを保持する必要がある。
【0007】
しかしながら、例えば、保持している過去ブロックの総データサイズが大きくなった場合、複数のノードのそれぞれでは、過去ブロックの一部の削除が行われる場合がある。そのため、上記のようなブロックチェーンでは、例えば、全てのノードから削除されるブロック(いずれのノードにおいても保持されないブロック)が発生する可能性がある。
【0008】
そこで、一つの側面では、本発明は、全てのノードから削除されるブロックの発生を抑制することを可能とするブロックチェーン管理プログラム、ブロックチェーン管理装置及びブロックチェーン管理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
実施の形態の一態様では、新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定し、前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する、処理をコンピュータに実行させる。
【発明の効果】
【0010】
一つの側面によれば、全てのノードから削除されるブロックの発生を抑制することが可能になる。
【図面の簡単な説明】
【0011】
図1図1は、情報処理システム10の構成について説明する図である。
図2図2は、ノード1のハードウエア構成を説明する図である。
図3図3は、第1の実施の形態におけるノード1の機能について説明する図である。
図4図4は、第1の実施の形態におけるブロックチェーン管理処理の概略を説明するフローチャート図である。
図5図5は、第1の実施の形態におけるブロックチェーン管理処理の具体例について説明する図である。
図6図6は、第1の実施の形態におけるブロックチェーン管理処理の具体例について説明する図である。
図7図7は、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明するフローチャート図である。
図8図8は、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明するフローチャート図である。
図9図9は、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明するフローチャート図である。
図10図10は、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明するフローチャート図である。
図11図11は、グループ情報131の具体例について説明する図である。
図12図12は、基本報酬情報132の具体例について説明する図である。
図13図13は、追加報酬情報133の具体例について説明する図である。
図14図14は、追加報酬情報133の具体例について説明する図である。
図15図15は、追加報酬情報133の具体例について説明する図である。
図16図16は、追加報酬情報133の具体例について説明する図である。
【発明を実施するための形態】
【0012】
[第1の実施の形態における情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。以下、コンセンサスアルゴリズムがPoA(Proof of Access)であるものとして説明を行う。
【0013】
図1に示す情報処理システム10は、例えば、ノード1a(以下、ブロックチェーン管理装置1aとも呼ぶ)、ノード1b(以下、ブロックチェーン管理装置1bとも呼ぶ)、ノード1c(以下、ブロックチェーン管理装置1cとも呼ぶ)及びノード1d(以下、ブロックチェーン管理装置1dとも呼ぶ)を有する。ノード1a、ノード1b、ノード1c及びノード1dのそれぞれは、例えば、インターネット等のネットワークNWを介して互いに接続されている。なお、以下、ノード1a、ノード1b、ノード1c及びノード1dを総称して単にノード1またはブロックチェーン管理装置1とも呼ぶ。また、以下、情報処理システム10が4台のノード1を有する場合について説明を行うが、情報処理システム10は、例えば、4台以外の数の複数のノード1を有するものであってもよい。
【0014】
そして、ノード1aは、例えば、1台以上の仮想マシンまたは物理マシンであり、各ブロックを格納する記憶装置104aを有する。また、ノード1bは、例えば、1台以上の仮想マシンまたは物理マシンであり、各ブロックを格納する記憶装置104bを有する。また、ノード1cは、例えば、1台以上の仮想マシンまたは物理マシンであり、各ブロックを格納する記憶装置104cを有する。さらに、ノード1dは、例えば、1台以上の仮想マシンまたは物理マシンであり、各ブロックを格納する記憶装置104dを有する。以下、記憶装置104a、記憶装置104b、記憶装置104c及び記憶装置104dを総称して単に記憶装置104とも呼ぶ。
【0015】
具体的に、複数のノード1のそれぞれは、例えば、トランザクションの発行者(以下、単に発行者とも呼ぶ)によって発行された1以上のトランザクションを受信した場合、受信した1以上のトランザクションの内容を検証する検証処理を行う。そして、複数のノード1のそれぞれは、例えば、検証処理が行われた後の1以上のトランザクションを取り纏めることによってブロックを生成し、生成したブロックを台帳上の既存のブロックに追加するために必要な条件を満たすためのマイニング処理を行う。その後、複数のノード1のうちのマイニングに成功したマイニング成功ノード1は、例えば、マイニング処理に成功したブロックを台帳の一部として記憶装置104に格納した後、当該ブロックを複数のノード1のうちの他のノード1に対して送信することにより、マイニング成功ノード1がマイニング処理に成功したブロックの内容を複数のノード1間において同一にする合意形成処理を行う。
【0016】
さらに、情報処理システム10において、マイニング成功ノード1においてマイニング処理に成功した作業者(マイナー)には、例えば、マイニング処理に成功したことに対するインセンティブ(以下、第1インセンティブまたは基本報酬とも呼ぶ)が与えられる。
【0017】
ここで、上記のようなマイニング処理は、例えば、過去において記憶装置104に格納された過去ブロックを用いるコンセンサスアルゴリズムに従って行われる場合がある。そのため、上記のような複数のノード1のそれぞれは、例えば、マイニング処理を実行する必要性から、可能な限り多くの過去ブロックを保持する必要がある。
【0018】
しかしながら、保持している過去ブロックの総データサイズが大きくなった場合、複数のノード1のそれぞれでは、例えば、各ノード1に対応する記憶装置104に記憶した過去ブロックの一部の削除が行われる場合がある。そのため、上記のような情報処理システム10では、例えば、全てのノード1から削除されたブロックが発生する可能性がある。その場合、あるマイニング処理において使用する過去ブロックが、全てのノード1のいれずにも存在しないことが起こりうる。その結果、コンセンサスアルゴリズムが機能せず、新しいブロックを格納することができなくなる。
【0019】
そこで、本実施の形態におけるノード1は、例えば、新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、台帳を保有する複数のノード1がそれぞれ含まれる複数のグループから、自ノード1に対応する識別情報(例えば、自ノード1が有する公開鍵のハッシュ値)に基づいて自ノード1が含まれるグループ(以下、特定のグループとも呼ぶ)を特定する。
【0020】
そして、ノード1は、例えば、複数のグループのうち、マイニング処理を行う際に選ばれた過去ブロックに対応するグループが特定のグループであるか否かを判定する。
【0021】
その結果、過去ブロックに対応するグループが特定のグループ以外のグループであると判定した場合、マイニング処理に成功したマイニング成功ノード1は、例えば、マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定する。
【0022】
一方、過去ブロックに対応するグループが特定のグループであると判定した場合、マイニング成功ノード1は、例えば、マイニング処理に成功したことに対するインセンティブを第1インセンティブと追加インセンティブ(以下、追加報酬とも呼ぶ)とを合計することによって算出したインセンティブ(以下、第2インセンティブとも呼ぶ)に決定する。
【0023】
すなわち、本実施の形態における情報処理システム10では、例えば、マイニング処理に用いられた過去ブロックに対応するグループが特定のグループであった場合、マイニング処理に用いられた過去ブロックに対応するグループが特定のグループ以外のグループであった場合よりも、マイニング処理に成功したことに対するインセンティブを大きくする。
【0024】
これにより、本実施の形態における情報処理システム10では、例えば、複数のノード1のそれぞれに対して、各ノード1と同じグループに対応する過去ブロックを可能な限り保持させることが可能になる。言い換えれば、情報処理システム10は、例えば、全ての過去ブロックがいずれかのグループに対応付けられるように複数のノード1のグループ分けを行うことで、全ての過去ブロックがいずれかのグループに対応する各ノード1において優先的に保持され得る状況を作ることが可能になる。そのため、情報処理システム10では、例えば、全てのノード1から削除される過去ブロックの発生を抑制することが可能になる。
【0025】
[ノードのハードウエア構成]
次に、各ノード1のハードウエア構成について説明を行う。図2は、ノード1のハードウエア構成を説明する図である。
【0026】
ノード1は、図2に示すように、例えば、プロセッサであるCPU(Central Processing Unit)101と、メモリ102と、通信装置(I/Oインタフェース)103と、記憶装置104とを有する。各部は、バス105を介して互いに接続される。
【0027】
記憶装置104は、例えば、マイニング処理に成功したことに対するインセンティブを決定する処理(以下、ブロックチェーン管理処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示せず)を有する。また、記憶装置104は、例えば、ブロックチェーン管理処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶装置104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0028】
CPU101は、例えば、記憶装置104からメモリ102にロードされたプログラム110を実行してブロックチェーン管理処理を行う。
【0029】
また、通信装置103は、例えば、ネットワークNWを介して他のノード1との通信を行う。
【0030】
[第1の実施の形態におけるノードの機能]
次に、第1の実施の形態における各ノード1の機能について説明を行う。図3は、第1の実施の形態におけるノード1の機能について説明する図である。
【0031】
ノード1は、図3に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、トランザクション受信部111と、トランザクション検証部112と、マイニング実行部113と、合意形成部114と、グループ特定部115と、報酬決定部116とを含む各種機能を実現する。
【0032】
また、情報格納領域130には、図3に示すように、例えば、ブロックBL(過去ブロックBL)と、グループ情報131と、基本報酬情報132と、追加報酬情報133とが記憶される。
【0033】
トランザクション受信部111は、例えば、発行者によって発行された1以上のトランザクションを受信する。
【0034】
トランザクション検証部112は、例えば、トランザクション受信部111が受信した1以上のトランザクションの内容が正当な内容であるか否かについて検証する検証処理を行う。
【0035】
マイニング実行部113は、例えば、トランザクション検証部112が検証した1以上のトランザクションを含むブロックBLを生成し、生成したブロックを台帳上の既存のブロックに追加するために必要な所定の条件を満たすためのマイニング処理を行う。
【0036】
具体的に、マイニング実行部113は、例えば、コンセンサスアルゴリズムがPoAである場合、ランダムに選ばれた過去ブロックBLを用いたハッシュ値の計算を繰り返し行い、所定の閾値以下となるハッシュ値の算出を試みる。すなわち、ノード1は、この場合、例えば、ランダムに選ばれた過去ブロックBLが自ノード1に対応する記憶装置104に保持されている場合に限り、マイニング処理の実行を行うことが可能になる。
【0037】
合意形成部114は、例えば、マイニング実行部113によってマイニング処理に成功したブロックBLを台帳の一部として記憶装置104に格納した後、当該ブロックBLを複数のノード1のうちの他のノード1に対して送信することにより、複数のノード1間においてブロックBLの内容を同一にする合意形成処理を行う。
【0038】
グループ特定部115は、例えば、自ノード1がマイニング成功ノード1である場合、すなわち、自ノード1のマイニング実行部113がマイニング処理に成功した場合、自ノード1に対応する識別情報に基づいて、複数のノード1がそれぞれ含まれる複数のグループから自ノード1が含まれる特定のグループを特定する。
【0039】
報酬決定部116は、例えば、複数のグループのうち、マイニング実行部113がマイニング処理を実行する際に選ばれた過去ブロックBLに対応するグループがグループ特定部115によって特定された特定のグループであるか否かを判定する。
【0040】
その結果、マイニング実行部113がマイニング処理を実行する際に選ばれた過去ブロックBLに対応するグループが特定のグループ以外のグループであると判定した場合、報酬決定部116は、例えば、マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定する。
【0041】
一方、マイニング実行部113がマイニング処理を実行する際に選ばれた過去ブロックBLに対応するグループが特定のグループであると判定した場合、報酬決定部116は、例えば、マイニング処理に成功したことに対するインセンティブを、第1インセンティブと追加インセンティブとを合計することによって算出した第2インセンティブに決定する。
【0042】
なお、他のノード1から受信したブロックBL(他ノード1がマイニング処理に成功したブロックBL)は、例えば、自ノード1がマイニング処理に成功したブロックBLと同様に、記憶装置104(情報格納領域130)に記憶されるものであってもよい。グループ情報131、基本報酬情報132及び追加報酬情報133については後述する。
【0043】
[第1の実施の形態におけるブロックチェーン管理処理の概略]
次に、第1の実施の形態の概略について説明する。図4は、第1の実施の形態におけるブロックチェーン管理処理の概略を説明するフローチャート図である。
【0044】
ノード1は、図4に示すように、例えば、新たに発生したトランザクションからブロックBLを生成して台帳の一部として格納させるマイニング処理に成功するまで待機する(S1のNO)。
【0045】
その結果、マイニング処理に成功した場合(S1のYES)、ノード1は、例えば、複数のノード1がそれぞれ含まれる複数のグループから、自ノード1に対応する識別情報に基づいて自ノード1が含まれる特定のグループを特定する(S2)。
【0046】
そして、ノード1(マイニング成功ノード1)は、例えば、複数のグループのうち、マイニング処理において参照された過去ブロックBLに対応するグループが特定のグループであるか否かを判定する(S3)。
【0047】
その結果、過去ブロックBLに対応するグループが特定のグループであると判定した場合(S4のYES)、ノード1(マイニング成功ノード1)は、例えば、マイニング処理に成功したことに対するインセンティブを、第1インセンティブと追加インセンティブとを合計することによって算出した第2インセンティブに決定する(S5)。
【0048】
一方、過去ブロックBLに対応するグループが特定のグループ以外のグループであると判定した場合(S4のNO)、ノード1(マイニング成功ノード1)は、例えば、S5の処理を行わない。具体的に、ノード1は、この場合、例えば、マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定する。
【0049】
これにより、本実施の形態における情報処理システム10では、例えば、複数のノード1のそれぞれに対して、各ノード1と同じグループに対応する過去ブロックを可能な限り保持させることが可能になる。そのため、情報処理システム10では、例えば、全てのノード1から削除される過去ブロックの発生を抑制することが可能になる。
【0050】
なお、図4に示す手順のうち、例えば、S2およびS3に示す手順は、マイニング処理に着手する段階(S1の前)で実行することとしても良い。こうすることで、ノード1は、マイニング処理において参照された過去ブロックBLに対応するグループが特定のグループである場合のみマイニング処理に参加することもできる。言い換えれば、報酬の高いマイニング処理を選んで参加することもできる。
【0051】
[第1の実施の形態におけるブロックチェーン管理処理の具体例]
次に、第1の実施の形態におけるブロックチェーン管理処理の具体例について説明を行う。図5及び図6は、第1の実施の形態におけるブロックチェーン管理処理の具体例について説明する図である。なお、以下、複数のノード1のそれぞれの識別情報の下1桁が「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」、「a」、「b」、「c」、「d」、「e」及び「f」のいずれであるかに応じて、複数のノード1のそれぞれが16個のグループに分類される場合について説明を行う。
【0052】
具体的に、図5に示す例において、ノード1aに対応する識別情報ID11は、「45・・・22」であり、ノード1bに対応する識別情報ID12は、「3a・・・82」であり、ノード1cに対応する識別情報ID13は、「e1・・・6d」であり、ノード1dに対応する識別情報ID14は、「13・・・59」である。
【0053】
そのため、下1桁が2である識別情報ID11に対応するノード1a及び識別情報ID12に対応するノード1bは、図5に示すように、例えば、下1桁が2である識別情報に対応するノード1によって構成されるグループG1に含まれる。また、下1桁がdである識別情報ID13に対応するノード1cは、例えば、下1桁がdである識別情報に対応するノード1によって構成されるグループG2(グループG1と異なるグループ)に含まれる。さらに、下1桁が9である識別情報ID14に対応するノード1dは、例えば、下1桁が9である識別情報に対応するノード1によって構成されるグループG3(グループG1及びグループG2と異なるグループ)に含まれる。
【0054】
そして、例えば、ノード1aがマイニング成功ノード1になった場合(ノード1aがマイニング処理に成功した場合)、ノード1aは、自ノード1に対応する識別情報ID11の下1桁である2を特定する。その後、ノード1aは、図6(A)及び図6(B)に示すように、例えば、自ノード1に対応するグループとして、下1桁が2である識別情報に対応するグループG1を特定する(S2)。
【0055】
また、図6(A)に示す例は、ノード1aにおいて成功したマイニング処理に用いられた過去ブロックBLに対応する識別情報ID21が「12・・・32」であることを示している。そのため、ノード1aは、この場合、例えば、ノード1aにおいて成功したマイニング処理に用いられた過去ブロックBLに対応するグループとして、下1桁が2である識別情報に対応するグループG1を特定する(S3)。
【0056】
そして、この場合、ノード1aにおいて成功したマイニング処理に用いられた過去ブロックBLに対応するグループG1は、ノード1aに対応するグループとして特定されたグループG1と同じである。そのため、ノード1aは、この場合、例えば、マイニング処理に成功したことに対するインセンティブを、第2インセンティブ(第1インセンティブと追加インセンティブとの合計)に決定する(S4のYES、S5)。
【0057】
また、図6(B)に示す例は、ノード1aにおいて成功したマイニング処理に用いられた過去ブロックBLに対応する識別情報ID22が「D3・・・29」であることを示している。そのため、ノード1aは、この場合、例えば、ノード1aにおいて成功したマイニング処理に用いられた過去ブロックBLに対応するグループとして、下1桁が9である識別情報に対応するグループG3を特定する(S3)。
【0058】
そして、この場合、ノード1aにおいて成功したマイニング処理に用いられた過去ブロックBLに対応するグループG3は、ノード1aに対応するグループとして特定されたグループG1と異なる。そのため、ノード1aは、この場合、例えば、マイニング処理に成功したことに対するインセンティブを、第1インセンティブに決定する(S4のNO)。
【0059】
これにより、本実施の形態における情報処理システム10では、例えば、各グループに含まれるノード1の数の平準化を図ることが可能になる。そのため、情報処理システム10は、例えば、全てのノード1から削除される過去ブロックBLの発生をより抑制することが可能になる。
【0060】
なお、各ノード1は、S3の処理において、例えば、各過去ブロックBLに含まれる情報の全体から算出したハッシュ値、各過去ブロックBLに情報として含まれるハッシュ値、または、各ブロックBLに対応するブロック高を、各過去ブロックBLに対応する識別情報として用いるものであってよい。
【0061】
[第1の実施の形態におけるブロックチェーン管理処理の詳細]
次に、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明する。図7から図10は、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明するフローチャート図である。また、図11から図16は、第1の実施の形態におけるブロックチェーン管理処理の詳細について説明する図である。
【0062】
[ブロックチェーン管理処理のメイン処理]
初めに、ブロックチェーン管理処理のメイン処理について説明を行う。図7から図9は、第1の実施の形態におけるブロックチェーン管理処理のメイン処理について説明するフローチャート図である。
【0063】
トランザクション受信部111は、図7に示すように、例えば、発行者によって発行された1以上のトランザクションを受信するまで待機する(S11のNO)。
【0064】
そして、1以上のトランザクションを受信した場合(S11のYES)、トランザクション検証部112は、例えば、S11の処理で受信した1以上のトランザクションの内容を検証する検証処理を行う(S12)。
【0065】
続いて、マイニング実行部113は、例えば、S12の処理で検証した1以上のトランザクションを取り纏めることによってブロックBLを生成する(S13)。
【0066】
具体的に、マイニング実行部113は、例えば、S12の処理で検証した1以上のトランザクションに加え、S12の処理で検証した1以上のトランザクションから生成されたハッシュ値や、ブロックチェーン上における直前のブロック(最新のブロック)から生成されたハッシュ値や、自ノード1が有する公開鍵のハッシュ値等を含むブロックBLを生成する。
【0067】
さらに、マイニング実行部113は、例えば、生成したブロックBLについてのマイニング処理を行う(S13)。
【0068】
具体的に、マイニング実行部113は、例えば、コンセンサスアルゴリズムがPoAである場合、ランダムに選ばれた過去ブロックBLを用いたハッシュ値の計算を繰り返し行い、所定の閾値以下となる値の算出を試みる。
【0069】
その結果、例えば、S13の処理においてブロックBLについてのマイニング処理に成功した場合(S14のYES)、合意形成部114は、S13の処理でマイニング処理に成功したブロックBLについての合意形成処理を行う(S15)。
【0070】
具体的に、合意形成部114は、例えば、S13の処理でマイニング処理が行われたブロックBLを台帳の一部として記憶装置104に格納した後、S13の処理でマイニング処理が行われたブロックBLを複数のノード1のうちの他のノード1に対して送信することにより、S13の処理でマイニング処理が行われたブロックBLの内容を複数のノード1間において同一にする。
【0071】
続いて、グループ特定部115は、図8に示すように、例えば、複数のノード1がそれぞれ含まれる複数のグループから、自ノード1に対応する識別情報に基づいて自ノード1が含まれる特定のグループを特定する(S21)。
【0072】
具体的に、グループ特定部115は、例えば、情報格納領域130に記憶されたグループ情報131を参照し、自ノード1に対応する識別情報に基づいて自ノード1が含まれる特定のグループを特定する。以下、グループ情報131の具体例について説明を行う。
【0073】
[グループ情報の具体例]
図11は、グループ情報131の具体例について説明する図である。グループ情報131は、例えば、各グループと各ノード1の識別情報との対応関係を示す情報を含む情報である。
【0074】
図11に示すグループ情報131は、例えば、各グループに対応する識別情報が設定される「グループ識別情報」と、各グループに対応するノード1の識別情報が設定される「ノード識別情報」と、各グループに対応する過去ブロックBLの識別情報が設定される「ブロック識別情報」とを項目として有する。
【0075】
具体的に、図11に示すグループ情報131において、例えば、1行目の情報には、「グループ識別情報」として「1」が設定され、「ノード識別情報」として「下1桁が1」が設定され、「ブロック識別情報」として「下1桁が1」が設定されている。
【0076】
また、図11に示すグループ情報131において、例えば、2行目の情報には、「グループ識別情報」として「2」が設定され、「ノード識別情報」として「下1桁が2」が設定され、「ブロック識別情報」として「下1桁が2」が設定されている。
【0077】
また、図11に示すグループ情報131において、例えば、3行目の情報には、「グループ識別情報」として「3」が設定され、「ノード識別情報」として「下1桁が3」が設定され、「ブロック識別情報」として「下1桁が3」が設定されている。図11に含まれる他の情報についての説明は省略する。
【0078】
そのため、例えば、自ノード1の識別情報の下1桁が「3」である場合、グループ特定部115は、S21の処理において、自ノード1が含まれるグループ(特定のグループ)の識別情報として「3」を特定する。
【0079】
図8に戻り、報酬決定部116は、例えば、複数のグループのうち、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループであるか否かを判定する(S22)。
【0080】
具体的に、図11で説明したグループ情報131における2行目の情報には、「グループ識別情報」として「2」が設定され、「ブロック識別情報」として「下1桁が2」が設定されている。そのため、例えば、S13の処理において選ばれた過去ブロックBLの識別情報の下1桁が「2」である場合、報酬決定部116は、S13の処理において選ばれた過去ブロックBLに対応するグループに対応する識別情報として「2」を特定する。したがって、報酬決定部116は、この場合、例えば、S21の処理で特定した特定のグループに対応する識別情報が「2」であるか否かを判定する。
【0081】
その結果、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループ以外のグループであると判定した場合(S23のNO)、報酬決定部116は、例えば、S13の処理においてマイニング処理に成功したことに対するインセンティブを第1インセンティブに決定する(S24)。
【0082】
具体的に、報酬決定部116は、この場合、例えば、情報格納領域130に記憶した基本報酬情報132を参照し、S13の処理においてマイニング処理に成功したことに対する第1インセンティブを決定する。以下、基本報酬情報132の具体例について説明を行う。
【0083】
[基本報酬情報の具体例]
図12は、基本報酬情報132の具体例について説明する図である。基本報酬情報132は、例えば、第1インセンティブを示す情報を含む情報である。
【0084】
図12に示す基本報酬情報132は、例えば、各グループに対応する識別情報が設定される「グループ識別情報」と、第1インセンティブが設定される「基本報酬」とを項目として有する。
【0085】
具体的に、図12に示す基本報酬情報132において、例えば、1行目の情報には、「グループ識別情報」として「1」が設定され、「基本報酬」として「100」が設定されている。
【0086】
また、図12に示す基本報酬情報132において、例えば、2行目の情報には、「グループ識別情報」として「2」が設定され、「基本報酬」として「100」が設定されている。
【0087】
また、図12に示す基本報酬情報132において、例えば、3行目の情報には、「グループ識別情報」として「3」が設定され、「基本報酬」として「100」が設定されている。図12に含まれる他の情報についての説明は省略する。
【0088】
そのため、例えば、自ノード1の識別情報の下1桁が「3」である場合、報酬決定部116は、S24の処理において、図12に示す基本報酬情報132を参照し、「グループ識別情報」に「3」が設定された情報(3行目の情報)の「基本報酬」に設定された「100」を特定する。そして、報酬決定部116は、この場合、例えば、特定した「100」を第1インセンティブとして決定する。
【0089】
図8に戻り、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループであると判定した場合(S23のYES)、報酬決定部116は、例えば、S13の処理においてマイニング処理に成功したことに対するインセンティブを、第1インセンティブと追加インセンティブとを合計することによって算出した第2インセンティブに決定する(S25)。以下、S25の処理の詳細について説明を行う。
【0090】
[S25の処理の詳細]
図9は、S25の処理の詳細について説明する図である。
【0091】
報酬決定部116は、図9に示すように、例えば、S13の処理においてマイニング処理に成功したことに対する追加インセンティブを決定する(S41)。
【0092】
具体的に、報酬決定部116は、例えば、情報格納領域130に記憶された追加報酬情報133を参照し、S13の処理においてマイニング処理に成功したことに対する追加インセンティブを決定する。以下、追加報酬情報133の具体例について説明を行う。
【0093】
[追加報酬情報の具体例]
図13から図16は、追加報酬情報133の具体例について説明する図である。追加報酬情報133は、例えば、追加インセンティブを示す情報を含む情報である。
【0094】
図13等に示す追加報酬情報133は、例えば、各グループに対応する識別情報が設定される「グループ識別情報」と、追加インセンティブが設定される「追加報酬」とを項目として有する。
【0095】
具体的に、図13に示す追加報酬情報133において、例えば、1行目の情報には、「グループ識別情報」として「1」が設定され、「追加報酬」として「100」が設定されている。
【0096】
また、図13に示す追加報酬情報133において、例えば、2行目の情報には、「グループ識別情報」として「2」が設定され、「追加報酬」として「100」が設定されている。
【0097】
また、図13に示す追加報酬情報133において、例えば、3行目の情報には、「グループ識別情報」として「3」が設定され、「追加報酬」として「100」が設定されている。図13に含まれる他の情報についての説明は省略する。
【0098】
そのため、例えば、自ノード1の識別情報の下1桁が「3」である場合、報酬決定部116は、S41の処理において、図13に示す追加報酬情報133を参照し、「グループ識別情報」に「3」が設定された情報(3行目の情報)の「追加報酬」に設定された「100」を特定する。そして、報酬決定部116は、この場合、例えば、特定した「100」を追加インセンティブとして決定する。
【0099】
なお、追加報酬情報133は、図14に示すように、例えば、上記で述べた「追加報酬」の項目に代えて、または上記で述べた「追加報酬」の項目に加えて、S13の処理において選ばれた過去ブロックBLのサイズが閾値(以下、単に閾値とも呼ぶ)以上である場合における追加インセンティブが設定される「追加報酬(サイズ大)」と、S13の処理において選ばれた過去ブロックBLのサイズが閾値未満である場合における追加インセンティブが設定される「追加報酬(サイズ小)」とを項目として有するものであってもよい。
【0100】
具体的に、図14に示す追加報酬情報133において、例えば、1行目の情報には、「グループ識別情報」として「1」が設定され、「追加報酬(サイズ大)」として「120」が設定され、「追加報酬(サイズ小)」として「100」が設定されている。
【0101】
また、図14に示す追加報酬情報133において、例えば、2行目の情報には、「グループ識別情報」として「2」が設定され、「追加報酬(サイズ大)」として「120」が設定され、「追加報酬(サイズ小)」として「100」が設定されている。
【0102】
また、図14に示す追加報酬情報133において、例えば、3行目の情報には、「グループ識別情報」として「3」が設定され、「追加報酬(サイズ大)」として「120」が設定され、「追加報酬(サイズ小)」として「100」が設定されている。図14に含まれる他の情報についての説明は省略する。
【0103】
そのため、例えば、自ノード1の識別情報の下1桁が「3」であって、S13の処理において選ばれた過去ブロックBLのサイズが閾値以上であった場合、報酬決定部116は、S41の処理において、図14に示す追加報酬情報133を参照し、「グループ識別情報」に「3」が設定された情報(3行目の情報)の「追加報酬(サイズ大)」に設定された「120」を特定するものであってよい。そして、報酬決定部116は、この場合、例えば、特定した「120」を追加インセンティブとして決定するものであってよい。
【0104】
すなわち、例えば、各ノード1に対応する記憶装置2から一部の過去ブロックBLの削除が行われる場合、各ノード1では、サイズが大きい過去ブロックBLから順に削除される可能性が高い。そのため、本実施の形態におけるノード1では、例えば、S13の処理において選ばれた過去ブロックBLのサイズが大きいほど追加インセンティブを大きくするものであってもよい。
【0105】
これにより、本実施の形態における情報処理システム10では、例えば、サイズが大きい過去ブロックBLについても、各ノード1と同じグループに対応する過去ブロックBLを各ノード1に可能な限り保持させることが可能になる。そのため、本実施の形態における情報処理システム10では、例えば、全てのノード1から削除される過去ブロックの発生をより抑制することが可能になる。
【0106】
なお、図14に示す例では、過去ブロックBLのサイズの大きさによって2種類の追加報酬のうちのいずれかを適用する場合について説明を行ったが、これに限られない。具体的に、情報処理システム10では、例えば、過去ブロックBLのサイズの大きさによって3種類以上の追加報酬のうちのいずれかを適用するものであってもよい。
【0107】
図9に戻り、報酬決定部116は、例えば、S13の処理においてマイニング処理に成功したことに対する第1インセンティブと、S41の処理で決定した追加インセンティブとを合計することによって、第2インセンティブを算出する(S42)。
【0108】
具体的に、例えば、S13の処理においてマイニング処理に成功したことに対する第1インセンティブが「100」であり、S41の処理で決定した追加インセンティブが「100」である場合、報酬決定部116は、第2インセンティブとして「200」を算出する。
【0109】
図8に戻り、ブロックチェーン管理装置1は、S24の処理またはS25の処理の後、ブロックチェーン管理処理を終了する。
【0110】
なお、ブロックチェーン管理装置1は、例えば、S14の処理において、S13の処理においてブロックBLについてのマイニング処理に成功しなかった場合においても同様に(S14のNO)、ブロックチェーン管理処理を終了する。
【0111】
[インセンティブ変更処理]
次に、ブロックチェーン管理処理のうち、追加インセンティブを変更する処理(以下、インセンティブ変更処理とも呼ぶ)について説明を行う。図10は、インセンティブ変更処理について説明するフローチャート図である。
【0112】
報酬決定部116は、図10に示すように、例えば、インセンティブ変更タイミングになるまで待機する(S51のNO)。インセンティブ変更タイミングは、例えば、ブロックチェーン管理処理のメイン処理が行われた後のタイミングであってよい。また、インセンティブ変更タイミングは、例えば、ブロックチェーン管理処理のメイン処理が所定回行われた後のタイミングであってよい。
【0113】
すなわち、インセンティブ変更処理は、例えば、ブロックチェーン管理処理のメイン処理が行われるごとに行われるものであってもよいし、ブロックチェーン管理処理のメイン処理が所定回行われるごとに行われるものであってもよい。
【0114】
そして、インセンティブ変更タイミングになった場合(S51のYES)、報酬決定部116は、例えば、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループ以外のグループであるか否かを判定する(S52)。
【0115】
その結果、例えば、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループ以外のグループであると判定した場合(S52のNO)、報酬決定部116は、追加インセンティブが増加されるように追加インセンティブを変更する(S53)。
【0116】
具体的に、報酬決定部116は、この場合、例えば、今回のS13の処理におけるマイニング成功ノード1のグループと過去ブロックBLのグループとの組合せと同じの組合せでのS13の処理が再度行われる場合に、今回のS13の処理よりも大きい追加インセンティブがマイニング成功ノード1に対して与えられるように制御する。
【0117】
さらに具体的に、例えば、S13の処理において選ばれた過去ブロックBLに対応するグループの識別情報が「2」であり、S21の処理で特定した特定のグループに対応する識別情報が「3」である場合、報酬決定部116は、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループ以外のグループであると判定する。そのため、報酬決定部116は、この場合、図15の下線部分に示すように、例えば、「グループ識別情報」に「3」が設定された情報(3行目の情報)の「追加報酬」を「100」から「110」に更新する。
【0118】
すなわち、自ノード1が含まれるグループ(以下、第1グループとも呼ぶ)に対応する過去ブロックBLだけでなく、第1グループと異なる他のグループ(以下、第2グループとも呼ぶ)に対応する過去ブロックBLについても保持するノード1(以下、第1ノード1とも呼ぶ)が存在する場合、第1ノード1は、例えば、第1グループに対応する過去ブロックBLが参照されるマイニング処理のみでなく、第2グループに対応する過去ブロックBLが参照されるマイニング処理についても実行(参加)することが可能になる。そのため、この場合、例えば、第2グループに対応する過去ブロックBLが選ばれるマイニング処理の成功確率が低下することになり、第2グループに含まれるノード1(以下、第2ノード1とも呼ぶ)では、第2グループに対応する過去ブロックBLを保持するモチベーションが低下する。
【0119】
そこで、本実施の形態における情報処理システム10は、例えば、マイニング成功ノード1を含むグループと、マイニング処理において選ばれた過去ブロックBLに対応するグループとが異なる場合、マイニング処理において選ばれた過去ブロックBLに対応するグループに含まれるノード1がマイニング処理に成功した場合における追加インセンティブを大きくする。言い換えれば、情報処理システム10は、例えば、マイニング処理において選ばれた過去ブロックBLに対応するグループにマイニング成功ノード1が含まれない場合、マイニング処理において選ばれた過去ブロックBLに対応するグループに含まれるノード1がマイニング処理に成功した場合における第1インセンティブを大きくする。
【0120】
これにより、本実施の形態における情報処理システム10は、例えば、マイニング処理において選ばれた過去ブロックBLに対応するグループにマイニング成功ノード1が含まれない場合であっても、マイニング処理において選ばれた過去ブロックBLに対応するグループに含まれるノード1が同一グループに対応する過去ブロックBLを保持し続けるモチベーションの低下を抑制することが可能になる。そのため、本実施の形態における情報処理システム10では、例えば、全てのノード1から削除される過去ブロックの発生をより抑制することが可能になる。
【0121】
一方、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループであると判定した場合(S52のYES)、報酬決定部116は、追加インセンティブが減少されるように追加インセンティブを変更する(S54)。
【0122】
具体的に、報酬決定部116は、この場合、例えば、今回のS13の処理におけるマイニング成功ノード1のグループと過去ブロックBLのグループとの組合せと同じの組合せでのS13の処理が再度行われる場合に、今回のS13の処理よりも小さい追加インセンティブがマイニング成功ノード1に対して与えられるように制御する。
【0123】
さらに具体的に、例えば、S13の処理において選ばれた過去ブロックBLに対応するグループの識別情報が「2」であり、S21の処理で特定した特定のグループに対応する識別情報が「2」である場合、報酬決定部116は、S13の処理において選ばれた過去ブロックBLに対応するグループが特定のグループであると判定する。そのため、報酬決定部116は、この場合、図16の下線部分に示すように、例えば、「グループ識別情報」に「2」が設定された情報(2行目の情報)の「追加報酬」を「100」から「90」に更新する。
【0124】
すなわち、例えば、S53の処理が行われることによって追加インセンティブが増加したグループが発生した場合、追加インセンティブが増加したグループに対して移動するノード1(言い換えれば、所属するグループを変更するノード1)が発生する可能性がある。
【0125】
そこで、本実施の形態における情報処理システム10は、例えば、マイニング成功ノード1を含むグループ(特定のグループ)がマイニング処理において選ばれた過去ブロックBLに対応するグループと同一である場合、マイニング処理において選ばれた過去ブロックBLに対応するグループに含まれるノード1がマイニング処理に成功した場合における追加インセンティブを小さくする。言い換えれば、情報処理システム10は、例えば、マイニング処理において選ばれた過去ブロックBLに対応するグループにマイニング成功ノード1が含まれる場合、マイニング処理において選ばれた過去ブロックBLに対応するグループに含まれるノード1がマイニング処理に成功した場合における追加インセンティブを小さくする。
【0126】
これにより、本実施の形態における情報処理システム10は、例えば、S53の処理が行われることによって追加インセンティブが他のグループよりも大きくなるグループの増加を抑制することが可能になり、追加インセンティブが増加したグループに対して移動するノード1の発生を抑制することが可能になる。そのため、情報処理システム10では、例えば、S53の処理が行われる場合であっても、各グループに含まれるノード1の数の平準化を図ることが可能になり、全てのノード1から削除される過去ブロックBLの発生をより抑制することが可能になる。
【0127】
このように、本実施の形態におけるマイニング成功ノード1は、例えば、新たに発生したトランザクションからブロックBLを生成して台帳の一部として格納させるマイニング処理において、台帳を保有する複数のノード1がそれぞれ含まれる複数のグループから、自ノード1に対応する識別情報に基づいて自ノード1が含まれる特定のグループを特定する。
【0128】
そして、マイニング成功ノード1は、例えば、複数のグループのうち、マイニング処理を行う際に選ばれた過去ブロックBLに対応するグループが特定のグループであるか否かを判定する。
【0129】
その結果、過去ブロックBLに対応するグループが特定のグループ以外のグループであると判定した場合、マイニング成功ノード1は、例えば、マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定する。
【0130】
一方、過去ブロックBLに対応するグループが特定のグループであると判定した場合、マイニング成功ノード1は、例えば、マイニング処理に成功したことに対するインセンティブを第1インセンティブと追加インセンティブとを合計することによって算出した第2インセンティブに決定する。
【0131】
すなわち、本実施の形態における情報処理システム10では、例えば、マイニング処理に用いられた過去ブロックBLに対応するグループが特定のグループであった場合、マイニング処理に用いられた過去ブロックBLに対応するグループが特定のグループ以外のグループであった場合よりも、マイニング処理に成功したことに対するインセンティブを大きくする。
【0132】
これにより、本実施の形態における情報処理システム10では、例えば、複数のノード1のそれぞれに対して、各ノード1と同じグループに対応する過去ブロックBLを可能な限り保持させることが可能になる。言い換えれば、情報処理システム10は、例えば、全ての過去ブロックBLがいずれかのグループに対応付けられるように複数のノード1のグループ分けを行うことで、全ての過去ブロックBLがいずれかのグループに対応するノード1において優先的に保持され得る状況を作ることが可能になる。そのため、情報処理システム10では、例えば、全てのノード1から削除される過去ブロックBLの発生を抑制することが可能になる。
【0133】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0134】
(付記1)
新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定し、
前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する、
処理をコンピュータに実行させることを特徴とするブロックチェーン管理プログラム。
【0135】
(付記2)
付記1において、さらに、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記第2インセンティブを大きくする、
処理をコンピュータに実行させることを特徴とするブロックチェーン管理プログラム。
【0136】
(付記3)
付記1において、さらに、
前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記第2インセンティブを小さくする、
処理をコンピュータに実行させることを特徴とするブロックチェーン管理プログラム。
【0137】
(付記4)
付記1において、
前記決定する処理では、
前記過去ブロックのサイズを特定し、
特定した前記サイズの大きさに応じて前記追加インセンティブを決定する、
ことを特徴とするブロックチェーン管理プログラム。
【0138】
(付記5)
新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定するグループ特定部と、
前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する報酬決定部と、を有する、
ことを特徴とするブロックチェーン管理装置。
【0139】
(付記6)
付記5において、さらに、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記第2インセンティブを大きくする報酬決定部を、有する、
ことを特徴とするブロックチェーン管理装置。
【0140】
(付記7)
付記5において、
前記報酬決定部は、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記第2インセンティブを小さくする、
ことを特徴とするブロックチェーン管理装置。
【0141】
(付記8)
新たに発生したトランザクションからブロックを生成して台帳の一部として格納させるマイニング処理において、前記台帳を保有する複数の装置がそれぞれ含まれる複数のグループから、自装置に対応する識別情報に基づいて自装置が含まれる特定のグループを特定し、
前記マイニング処理を行う際に選ばれた過去ブロックに対応するグループが前記特定のグループであるか否かを判定し、
前記過去ブロックに対応するグループが前記特定のグループ以外のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを第1インセンティブに決定し、前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記マイニング処理に成功したことに対するインセンティブを前記第1インセンティブと追加インセンティブとの合計である第2インセンティブに決定する、
処理をコンピュータが実行することを特徴とするブロックチェーン管理方法。
【0142】
(付記9)
付記8において、さらに、
前記過去ブロックに対応するグループが前記特定のグループであると判定した場合、前記第2インセンティブを小さくする、
処理をコンピュータが実行することを特徴とするブロックチェーン管理方法。
【0143】
(付記10)
付記8において、
前記決定する処理では、
前記過去ブロックのサイズを特定し、
特定した前記のサイズの大きさに応じて前記追加インセンティブを決定する、
ことを特徴とするブロックチェーン管理方法。
【符号の説明】
【0144】
1a:ノード 1b:ノード
1c:ノード 1d:ノード
101:CPU 102:メモリ
103:I/Oインタフェース 104a:記憶装置
104b:記憶装置 104c:記憶装置
104d:記憶装置 105:バス
130:情報格納領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16