(57)【要約】  ブロックチェーンの安全性を向上させるためのブロック生成方法、装置およびブロックチェーンネットワーク。前記方法は、ブロック生成装置の秘密鍵情報に基づいて、ブロック生成装置により生成されたブロックに署名して、署名ブロックを得るステップと、ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示するステップとを含む。【選択図】  図１
2019519990.tif 000002
【特許請求の範囲】
【請求項１】
ブロック生成方法であって、
秘密鍵情報を内蔵したブロック生成装置に用いられ、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得るステップと、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示するステップとを含むことを特徴とするブロック生成方法。
【請求項２】
前記ブロック生成装置はハッシュプロセッサユニットを含み、
秘密鍵に基づいて、前記ブロック生成装置により生成されたブロックに署名する前記ステップの前に、
前記ハッシュプロセッサユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得るステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１処理ユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得る前に、
前記第１ノード装置によって、前記ブロックに含まれる取引データを取得するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ブロック生成装置は秘密鍵プロセッサユニットを含み、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名するステップは、
前記秘密鍵プロセッサユニットにおける前記秘密鍵情報に基づいて、前記ブロックに署名して、前記署名ブロックを得るステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１ノード装置によって、前記ブロックチェーンネットワークにおける第２ノード装置が開示した署名ブロックを取得するステップと、
公開鍵情報に基づいて、前記第２ノード装置が開示した署名ブロックに対して署名認証を行うステップと、
署名認証に成功した後、取得した前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うステップと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するステップとを含むことを特徴とする請求項１〜４のいずれかに記載の方法。
【請求項６】
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る前記ステップの前に、
前記第１ノード装置によって、前記ブロック生成装置が前回生成したブロックと現在のブロックチェーンにおける最新ブロックの間にあるブロックの数を決定するステップと、
前記ブロック数が所定閾値ｍ（ｍは１以上且つｎより小さい正整数であり、ｎは前記ブロックチェーンネットワークにおけるすべてのノード装置の数である）以上であることを決定するステップとを含むことを特徴とする請求項１〜４のいずれかに記載の方法。
【請求項７】
ブロック生成方法であって、
ブロック生成装置に用いられ、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得するステップと、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行うステップと、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うステップと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するステップとを含むことを特徴とするブロック生成方法。
【請求項８】
ブロック生成装置であって、
秘密鍵情報を内蔵しており、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る署名モジュールと、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する開示モジュールとを備えることを特徴とするブロック生成装置。
【請求項９】
前記第１ノード装置によって、前記ブロックチェーンネットワークにおける第２ノード装置が開示した署名ブロックを取得する取得モジュールと、
公開鍵情報に基づいて、前記第２ノード装置が開示した署名ブロックに対して署名認証を行う署名認証モジュールと、
署名認証に成功した後、取得した前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュールと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュールとをさらに備えることを特徴とする請求項８に記載のブロック生成装置。
【請求項１０】
前記署名モジュールが前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名する前に、前記第１ノード装置によって、前記ブロック生成装置が前回生成したブロックと現在のブロックチェーンにおける最新ブロックの間にあるブロックの数を決定し、  
前記ブロック数が所定閾値ｍ（ｍは１以上で且つｎより小さい正整数であり、ｎは前記ブロックチェーンネットワークにおけるすべてのノード装置の数である）以上であることを決定する決定モジュールをさらに備える、ことを特徴とする請求項８又は９に記載のブロック生成装置。
【請求項１１】
ブロック生成装置であって、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する取得モジュールと、
公開鍵情報を用いて前記署名ブロックに対して署名認証を行う署名認証モジュールと、
署名認証を通過した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュールと、
プルーフ・オブ・ワーク確認結果に基づいて、復号して得られた前記ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュールとを備えることを特徴とするブロック生成装置。
【請求項１２】
ブロック生成装置であって、
少なくとも１つのプロセッサユニット、通信インターフェース、記憶装置及び通信バスを備え、
前記少なくとも１つのプロセッサユニット、前記通信インターフェース及び前記記憶装置は、前記通信バスを介して相互通信を行い、
前記記憶装置はプログラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行し、
前記ブロック生成装置に内蔵された秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る操作と、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する操作とを実現するように配置されることを特徴とするブロック生成装置。
【請求項１３】
前記少なくとも１つのプロセッサユニットは、メインプロセッサユニットとハッシュプロセッサユニットを含み、
前記メインプロセッサユニットは、前記ハッシュプロセッサユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得るように配置されることを特徴とする請求項１２に記載のブロック生成装置。
【請求項１４】
前記少なくとも１つのプロセッサユニットはさらに、前記第１ノード装置によって、前記ブロックに含まれる取引データを取得することを特徴とする請求項１３に記載のブロック生成装置。
【請求項１５】
前記少なくとも１つのプロセッサユニットは、メインプロセッサユニットと秘密鍵プロセッサユニットを含み、
前記メインプロセッサユニットは、前記秘密鍵プロセッサユニットにおける前記秘密鍵情報に基づいて、前記ブロックに署名して、前記署名ブロックを得るように配置されることを特徴とする請求項１２に記載のブロック生成装置。
【請求項１６】
ブロック生成装置であって、
少なくとも１つのプロセッサユニット、通信インターフェース、記憶装置及び通信バスを備え、
前記少なくとも１つのプロセッサユニット、前記通信インターフェース及び前記記憶装置は、前記通信バスを介して相互通信を行い、
前記記憶装置はプログラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行し、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する操作と、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行う操作と、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行う操作と、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定する操作とを実現するように配置されることを特徴とするブロック生成装置。
【請求項１７】
ブロックチェーンネットワークであって、
少なくとも２つのノード装置を備え、
前記少なくとも２つのノード装置は第１ノード装置を含み、前記第１ノード装置は請求項８に記載のブロック生成装置を含み、又は前記第１ノード装置は請求項１２に記載のブロック生成装置を含み、
前記少なくとも２つのノード装置は第２ノード装置を含み、前記第２ノード装置は請求項１１に記載のブロック生成装置を含み、又は前記第２ノード装置は請求項１６に記載のブロック生成装置を含むことを特徴とするブロックチェーンネットワーク。
【請求項１８】
コンピュータ読取可能な記憶媒体であって、
請求項１〜６のいずれかに記載の方法を実行するためのコマンドを含むコンピュータプログラムを保存することを特徴とするコンピュータ読取可能な記憶媒体。
【請求項１９】
コンピュータ読取可能な記憶媒体であって、
請求項７に記載の方法を実行するためのコマンドを含むコンピュータプログラムを保存することを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はブロックチェーンの技術分野に関し、特にブロック生成方法、装置及びブロックチェーンネットワークに関する。
【背景技術】
【０００２】
ブロックチェーン技術は、分散型、非中央集権性、トラストフリーのネットワークデータコンセンサス記憶技術であり、独自のブロック（Ｂｌｏｃｋ）生成メカニズムとＰ２Ｐ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ、ポイントツーポイント）ネットワーク通信メカニズムに基づいて分散コンピューティングの同期性を実現する。
【０００３】
通常、ブロックチェーンの形成過程において、計算に関与するすべてのノードは、取引（Ｔｒａｎｓａｃｔｉｏｎ）、ブロック計算など、同じ権限を持っている。従来技術では、ブロック計算に関与するノードの計算能力が異なるので、ブロックの生成率を向上させるために、ブロックを計算するノードが使用するハードウェアもＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央プロセッサ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、グラフィックスプロセッサ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、フィールドプログラマブルゲートアレイ）からＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、専用チップ）へ発展している。
【０００４】
しかしながら、ブロックチェーンでは、「５１％攻撃」がある。すなわち、理論的に、５１％を超える計算能力を有するノード又は複数のノードが、ブロックチェーンに対して「５１％攻撃」を行い、ブロックチェーンの正常な作動を阻害して、ブロックチェーンのデータを破壊する。現在、単一ノードの計算能力が高まるのに伴い、単一又は少数のノードが一体化して巨大な計算能力を有する可能性がある。このため、ブロックチェーンネットワークにおける各ノードの計算能力の差異が大きい場合、「５１％攻撃」を可能にする条件の成立が困難なことではなくなり、ブロックチェーンネットワークの安全性に脅威を与える。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の主な目的は、ブロックチェーンの安全性を向上させるためのブロック生成方法、装置及びブロックチェーンネットワークを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る第１態様は、秘密鍵情報を内蔵したブロック生成装置に用いられ、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得るステップと、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示するステップとを含むブロック生成方法を提供する。
【０００７】
本発明に係る第２態様は、ブロック生成装置に用いられ、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得するステップと、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行うステップと、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うステップと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するステップとを含むブロック生成方法を提供する。
【０００８】
本発明に係る第３態様は、秘密鍵情報を内蔵しており、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る署名モジュールと、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する開示モジュールとを含むブロック生成装置を提供する。
【０００９】
本発明に係る第４態様は、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する取得モジュールと、
公開鍵情報を用いて前記署名ブロックに対して署名認証を行う署名認証モジュールと、
署名認証を通過した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュールと、
プルーフ・オブ・ワーク確認結果に基づいて、復号して得られた前記ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュールとを備える、ブロック生成装置を提供する。
【００１０】
本発明に係る第５態様は、
少なくとも１つのプロセッサユニット、通信インターフェース、記憶装置及び通信バスを備え、
前記少なくとも１つのプロセッサユニット、前記通信インターフェース及び前記記憶装置は、前記通信バスを介して相互通信を行い、
前記記憶装置はプログラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行し、
前記ブロック生成装置に内蔵された秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る操作と、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示するように配置される操作とを実現する、ブロック生成装置を提供する。
【００１１】
本発明に係る第６態様は、
少なくとも１つのプロセッサユニット、通信インターフェース、記憶装置及び通信バスを備え、
前記少なくとも１つのプロセッサユニット、前記通信インターフェース及び前記記憶装置は、前記通信バスを介して相互通信を行い、
前記記憶装置はプログラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行し、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する操作と、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行う操作と、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行う操作と、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定する操作とを実現するように配置される、ブロック生成装置を提供する。
【００１２】
本発明に係る第７態様は、
少なくとも２つのノード装置を備え、
前記少なくとも２つのノード装置は第１ノード装置を含み、前記第１ノード装置は第３態様に記載のブロック生成装置を含み、又は前記第１ノード装置は第５態様に記載のブロック生成装置を含み、
前記少なくとも２つのノード装置は第２ノード装置を含み、前記第２ノード装置は第４態様に記載のブロック生成装置を含み、又は前記第２ノード装置は第６態様に記載のブロック生成装置を含む、ブロックチェーンネットワークを提供する。
【００１３】
本発明に係る第８態様は、第１態様に記載の方法を実行するためのコマンドを含むコンピュータプログラムを保存したコンピュータ読取可能な記憶媒体を提供する。
【００１４】
本発明に係る第９態様は、第２態様に記載の方法を実行するためのコマンドを含むコンピュータプログラムを保存したコンピュータ読取可能な記憶媒体を提供する。
【発明の効果】
【００１５】
上記技術案によれば、ブロック生成装置は、ブロックを生成した後、ブロックに対して秘密鍵署名を行い、且つブロックチェーンネットワークにおける第１ノード装置によって、秘密鍵署名が行われた署名ブロックを他のノード装置に開示する。このように、その他のノード装置は、署名ブロックの署名認証により該ブロック生成装置の身元を確認できる。それにより、不正なブロック生成装置に対しては、ブロックチェーンネットワークはブロックチェーンへブロックが追加されるのを拒否することができ、それによりブロックチェーンの安全性が確保される。
【００１６】
本発明の実施例又は従来技術における技術案をより明瞭に説明するために、以下、実施例の説明に使用される図面を簡単に説明するが、勿論、以下の説明における図面は本発明の実施例の一部に過ぎず、当業者であれば、創造的な努力を必要とせずに、これら図面に基づいてほかの図面を想到し得る。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例におけるブロック生成方法の概略フローチャートである。
【図２】本発明の実施例における別のブロック生成方法の概略フローチャートである。
【図３】本発明の実施例における実行環境の模式図である。
【図４】図３に示される実行環境でのブロック生成方法の概略フローチャートである。
【図５Ａ】本発明の実施例におけるブロック生成装置の構造模式図である。
【図５Ｂ】本発明の実施例における別のブロック生成装置の構造模式図である。
【図６】本発明の実施例における別のブロック生成装置の構造模式図である。
【図７Ａ】本発明の実施例における別のブロック生成装置の構造模式図である。
【図７Ｂ】本発明の実施例における別のブロック生成装置の構造模式図である。
【図８】本発明の実施例における別のブロック生成装置の構造模式図である。
【図９】本発明の実施例におけるブロックチェーンネットワークの構造模式図である。
【発明を実施するための形態】
【００１８】
本発明の実施例の目的、技術案及び利点をより明瞭にするために、以下、本発明の実施例における図面を参照しながら、本発明の実施例における技術案を明瞭且つ完全に説明するが、勿論、説明する実施例は本発明の実施例の一部に過ぎず、すべての実施例ではない。本発明の実施例に基づいて、当業者が創造的な努力を必要とせずに想到し得るすべてのその他の実施例は本発明の保護範囲に属する。
【００１９】
当業者が本発明の実施例による技術案を簡単に把握できるように、以下、係る関連技術について簡単に説明する。
【００２０】
ブロックチェーンは、ブロックチェーンネットワークにおけるすべてのノードが参加したりメンテナンスをしたりする非中央集権性分散型データベースシステムであり、暗号化方法により生成した一連のデータブロックからなり、データブロックがそれぞれブロックチェーンの１つのブロックとなる。生成順に、ブロックは規則的にリンクされて１本のデータチェーンを構成し、このようなデータチェーンがブロックチェーンと呼ばれる。
【００２１】
ＰｏＷ（Ｐｒｏｏｆ  ｏｆ  Ｗｏｒｋ、プルーフ・オブ・ワーク）に基づくブロック生成メカニズムでは、有効ブロックを生成するためにブロック生成装置が１つの所望の計算量を有する数学の難問を正しく解く必要があり、一般的に、Ｎｏｎｃｅ（Ｎｕｍｂｅｒ  ｏｎｃｅ、非繰り返し乱数）を含むブロックのヘッダーデータに対してハッシュ計算を行い、Ｎｏｎｃｅを調整することで、ハッシュ結果が特定条件を満たすようにし、また生成したハッシュ値が特定条件、たとえば、最初のｎ個のビットが０ｘ０であるような条件を満たすことが求められる。特定条件を満たすハッシュ結果を算出した後、ノード装置は、Ｎｏｎｃｅを含むブロックヘッダデータとブロックデータを組み合わせてブロックとしてブロードキャストし、他のノード装置によって当該ブロックがプロトコルにより定義されたフォーマットと標準に合致すると認められた場合、該ブロックをブロックチェーンに追加することができる。具体的には、ビットコイン（ｂｉｔｃｏｉｎ）の応用を参照すればよい。
【００２２】
なお、ＰｏＷの場合、ブロック生成装置の計算能力は通常ハッシュレート（Ｈａｓｈ  Ｒａｔｅ）を基準とする。また、上記ブロックデータには、各ノード装置が取引（Ｔｒａｎｓａｃｔｉｏｎ）過程においてブロードキャストした取引データが含まれてもよい。該取引データは通常、所定の通貨属性、及び所有者のデジタル署名、受信者のアドレスを含む。取引データがブロックに書き込まれた後、所有者のデジタル署名が確認されると、所有権は受信者側へ移転される。
【００２３】
本発明の実施例は、秘密鍵情報を内蔵したブロック生成装置に用いられるブロック生成方法を提供し、図１に示されるように、該方法は、ステップＳ１０１とＳ１０２を含む。
【００２４】
Ｓ１０１、前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る。
【００２５】
該ブロック生成装置は、ブロックチェーンネットワークにおけるいずれかのノード装置の一部であってもよく、前記ブロックチェーンネットワークにおけるいずれかのノード装置と通信接続を確立した独立装置であってもよく、具体的には、該ブロック生成装置とノード装置は、たとえば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ユニバーサル・シリアル・バス）、Ｅｔｈｅｒｎｅｔ（イーサネット）、Ｂｌｕｅｔｏｏｔｈ（ブルートゥース）、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ−Ｆｉｄｅｌｉｔｙ）などの各種データバスを介して接続できる。
【００２６】
上記ＰｏＷブロック生成メカニズムについての説明を参照する。一例として、ブロック生成装置は第１ノード装置に通信可能に接続される。前記第１ノード装置はブロックチェーンネットワークにおけるノード装置であり、ネットワークインターフェースを介してブロックチェーンネットワークにおけるその他のノード装置がブロードキャストした取引データを受信できる。このように、該ブロック生成装置は、前記第１ノード装置から取引データを取得して、前記取引データをブロックデータとし、Ｎｏｎｃｅを含むブロックヘッダデータに対してハッシュ計算を行い、ハッシュ結果が特定条件を満たすようにした後、ブロックデータとブロックヘッダデータに基づいてブロックを生成する。
【００２７】
上記はブロック生成装置がブロックを生成する一形態について例示的に説明したものに過ぎず、具体的に実施するとき、ブロック生成装置は、取引データを取得しない場合にも、ブロックを生成でき、本発明では、それについて限定しない。
【００２８】
Ｓ１０２、ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する。
【００２９】
なお、ブロックチェーンネットワークにおけるブロック生成装置ごとに、内蔵された秘密鍵情報が異なり、且つ、ブロック生成装置は、自身の公開鍵情報を特定のノード装置によりその他のノード装置へブロードキャストできる。このように、あるノード装置が開示した署名ブロックを受信すると、対応した公開鍵を用いて署名認証を行う。署名認証に成功すると、開示した署名ブロックが正当であり、すなわち、該署名ブロックを生成するブロック生成装置がブロックチェーンへ新ブロックを追加する権利を有することを示し、さらにブロックに対するプルーフ・オブ・ワーク確認、及びブロックがプロトコルにより定義されたフォーマットと標準に合致するか否かの確認が可能になる。署名ブロックに対する署名認証が失敗すると、ブロックチェーンへの該ブロックの追加が拒否され、ブロックチェーンの安全性を確保する。
【００３０】
本発明の実施例の一実施形態において、該ブロック生成装置はハッシュプロセッサユニットを含み、該ハッシュプロセッサユニットは特定のハッシュアルゴリズムを用いてブロックデータに対してハッシュ計算を行う。つまり、上記ステップＳ１０１の前に、該ブロック生成装置は、該ハッシュプロセッサユニットを用いて前記ブロックデータに基づいて前記ブロックを生成する。
【００３１】
ブロック生成装置にはハッシュプロセッサユニットが内蔵されることにより、ハッシュアルゴリズム自身を保護して、他人により取得されにくくする。また、専用プロセッサユニットを用いてハッシュ計算を行うと、ノード装置のハッシュレートを制限できる。たとえば、ブロックチェーンネットワークの初期化には、同一型番と規格のハッシュプロセッサユニットを用いたブロック生成装置だけに秘密鍵と公開鍵を割り当てて、初期化終了後、新しいブロック生成装置を追加するときに、ハッシュレートが近いブロック生成装置だけの加入を許可してもよい。ここで、ブロックチェーンネットワークへの新しいブロック生成装置の追加は特定のノード装置によって行うことができ、該ノード装置からブロックチェーンへ新しく追加したブロック生成装置の公開鍵を動的に書き込む。それにより、各ノードのハッシュレートの一致性が確保され、単一ノード又は少数のノードが一体として閾値を超える計算能力を有することを避け、更に「５１％攻撃」の形成を防止し、ブロックチェーンの安全性を向上させる。
【００３２】
前記ブロック生成装置はさらに、秘密鍵プロセッサユニットを内蔵してもよく、上記ステップＳ１０１は、具体的には、前記秘密鍵プロセッサユニットにおける秘密鍵を用いて前記ブロックに署名して、前記署名ブロックを得る。
【００３３】
つまり、ブロック生成装置に内蔵された秘密鍵が前記秘密鍵プロセッサユニットにあることにより、ハードウェアを利用して署名秘密鍵を保護することができる。たとえば、高安全性パスワードチップが使用され、秘密鍵の生成、暗号化と復号、署名検証などの計算過程がすべてパスワードチップで行われることで、署名秘密鍵が常にパスワードチップにあることを確保して、秘密鍵に対する高強度の保護を実現する。
【００３４】
以上から明らかなように、ハッシュプロセッサユニットと秘密鍵プロセッサユニットを備える場合、ブロック生成装置は、有効ブロックを生成するのに特定のハッシュアルゴリズム及び署名秘密鍵を同時に具備しなければならないため、チェーンネットワークの安全性が向上する。
【００３５】
本発明の実施例の一実施形態において、該ブロック生成装置は、前記ブロックデータに基づいてブロックを生成する前に、前記第１ノード装置によって、前記ブロック生成装置が前回生成したブロックと現在のブロックチェーンにおける最新ブロックの間にあるブロックの数を決定し、且つ前記ブロック数が所定閾値ｍ（ｍは１以上で且つｎより小さい正整数であり、ｎは前記ブロックチェーンネットワークにおけるすべてのノード装置の数である）以上であることを決定する。
【００３６】
つまり、ブロック生成装置は、一旦ブロックを生成したら、次回のブロックを生成するまでにｍ個のブロック分の間隔がある。ここで、具体的には、ｍは実際のニーズに応じて設定できる。たとえば、ｍ＝ｎ−１とし、すなわち、ブロック生成装置は次回のブロックを生成するまでにｎ−１のブロック分の間隔が必要である。このような場合、ブロックチェーンのブロック生成を続けられるように、すべてのｎ個のブロック生成装置は正常に作動しなければならない。また、たとえばｍ＝１では、ブロック生成装置は１つのブロックごとに次回のブロック生成を実行でき、このような場合、ｍ＋１個の不正に制御されたノードが「５１％攻撃」となる。
【００３７】
このように、ブロックチェーンネットワークの実際の状況に基づいて、ｍの大きさを合理的に設定すると、同一ブロック生成装置が連続的にブロックを生成できないため、あるブロック生成装置のハッシュレートが過度に高くなることによる「５１％攻撃」の可能性が低下する。
【００３８】
本発明の実施例はさらに、ブロック生成装置に用いられる別のブロック生成方法を提供し、図２に示されるように、前記方法は、ステップＳ２０１〜Ｓ２０４を含む。
【００３９】
Ｓ２０１、第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する。
【００４０】
Ｓ２０２、公開鍵情報を用いて前記署名ブロックに対して署名認証を行う。
【００４１】
公開鍵情報は、該第２ノード装置にあらかじめ保存したものであってもよく、該第２ノード装置が前記署名ブロックから取得したものであってもよい。
【００４２】
Ｓ２０３、署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行う。
【００４３】
Ｓ２０４、プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定する。
【００４４】
具体的には、署名ブロックの生成は図１に示される方法を参照すればよいため、詳細な説明を省略する。
【００４５】
なお、ブロックチェーンネットワークにおける各ノード装置は、その他のノード装置が開示した署名ブロックに対して署名認証を行うことができ、計算してブロックを生成することもできる。つまり、同一ブロック生成装置は、図１に示されるブロック生成方法も、図２に示されるブロック生成方法も利用できる。
【００４６】
図３は本発明の実施例の実行環境の一例の模式図であり、図示したとおり、該実行環境は、第１ノード装置３１と第２ノード装置３２を含み、そのうち、第１ノード装置３１と第２ノード装置３２はブロックチェーンネットワークにおけるいずれか２つのノード装置である。第１ノード装置３１はブロック生成装置３１１、第２ノード装置３２はブロック生成装置３２１を含む。
【００４７】
当業者が本発明の実施例による技術案をより容易に把握できるように、以下、図３を参照しながら、本発明の実施例によるブロック生成方法の一例について詳細に説明する。図４に示されるように、該方法は、ステップＳ４０１〜Ｓ４０９を含む。
【００４８】
Ｓ４０１、第１ノード装置３１はブロックチェーンネットワークから少なくとも１つの取引データを取得する。
【００４９】
Ｓ４０２、第１ノード装置３１は前記取引データに基づいてブロックデータを生成する。
前記ブロックデータは前記少なくとも１つの取引データを含む。
【００５０】
Ｓ４０３、第１ノード装置３１のブロック生成装置３１１は、前記ブロックデータに基づいてブロックを生成する。
【００５１】
なお、上記で説明したＰｏＷブロック生成メカニズム以外、本発明は、その他のブロック発生メカニズム、たとえば、ＰｏＳ（Ｐｒｏｏｆ  ｏｆ  Ｓｔａｋｅ、プルーフ・オブ・ステーク）に基づいてブロックを生成してもよいが、本発明では、それについて限定しない。説明の便宜上、本発明の実施例では、ＰｏＷブロック生成メカニズムを例にして説明した。
【００５２】
Ｓ４０４、第１ノード装置３１のブロック生成装置３１１は、自身の秘密鍵を用いて前記ブロックに署名し、署名ブロックを得る。
【００５３】
Ｓ４０５、第１ノード装置３１は、前記署名ブロックを第２ノード装置３２へブロードキャストする。
【００５４】
Ｓ４０６、第２ノード装置３２は前記署名ブロックを受信する。
【００５５】
Ｓ４０７、第２ノード装置３２のブロック生成装置３２１は、公開鍵情報を用いて前記署名ブロックに対して署名認証を行う。
【００５６】
さらに、署名認証に成功すると、ステップＳ４０８を実行し、成功しないと、第２ノード装置は前記署名ブロックを破棄して、さらなる処理をしない。
【００５７】
Ｓ４０８、第２ノード装置３２のブロック生成装置３２１は、署名ブロックに対してプルーフ・オブ・ワーク確認を行う。
【００５８】
さらに、プルーフ・オブ・ワーク確認に成功すると、ステップＳ４０９を実行し、成功しない場合、第２ノード装置は前記署名ブロックを破棄して、当該ブロックのブロックチェーンへの書き込みを拒否する。
【００５９】
Ｓ４０９、第２ノード装置３２のブロック生成装置３２１は前記署名ブロックを現在のブロックチェーンに追加する。
【００６０】
なお、上記過程において、第２ノード装置３２のブロック生成装置３２１は、署名ブロックを生成して、第２ノード装置３２によって署名ブロックを第１ノード装置３１へブロードキャストしてもよく、第１ノード装置３１のブロック生成装置３２１は、第１ノード装置３１が受信した署名ブロックに対して署名認証及び後続のプルーフ・オブ・ワーク確認を行うことができ、具体的には、上記方法のステップを参照すればよいため、詳細な説明を省略する。
【００６１】
上記は例示的に説明するに過ぎず、図３に示されるブロック生成装置もノード装置の一部であり、これらに置換してもよく、ブロック生成装置は独立した装置としてノード装置に通信可能に接続されてもよい。このような場合、図４に示される上記方法のステップでは、ブロック生成装置とノード装置の間のインタラクションであれば、通信インターフェースによって実現できる。本発明では、それについて限定しない。
【００６２】
また、上記方法の実施例については、説明し易さから、一連の動作の組み合わせとして説明したが、当業者にとって、明細書において説明する実施例のいずれも好適実施例であり、関連動作が本発明によって必須なものではないことが自明なことである。たとえば、ブロック生成装置は、取引データを取得しない場合にも、ブロックを生成できる。
【００６３】
本発明の実施例はさらに、図１によるブロック生成方法を実施するためのブロック生成装置５０を提供し、前記ブロック生成装置５０は、秘密鍵情報を内蔵しており、図５Ａに示されるように、該ブロック生成装置５０は、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る署名モジュール５０１と、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックをほかのノード装置に開示する開示モジュール５０２とを備える。
【００６４】
上記ブロック生成装置を用いると、該ブロック生成装置は、ブロックを生成した後、ブロックに対して秘密鍵署名を行い、且つブロックチェーンネットワークにおける第１ノード装置によって秘密鍵署名が行われた署名ブロックをその他のノード装置へ開示する。このように、その他のノード装置は、署名ブロックに対する署名認証により該ブロック生成装置の身元を確認できる。それにより、不正なブロック生成装置に対しては、ブロックチェーンネットワークはブロックチェーンへそれによるブロックの追加を拒否することができ、ブロックチェーンの安全性が確保される。
【００６５】
図５Ｂに示されるように、該ブロック生成装置５０はさらに、
前記第１ノード装置によって、前記ブロックチェーンネットワークにおける第２ノード装置が開示した署名ブロックを取得する取得モジュール５０３と、公開鍵情報に基づいて、前記第２ノード装置が開示した署名ブロックに対して署名認証を行う署名認証モジュール５０４と、署名認証に成功した後、取得した前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュール５０５と、プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュール５０６とを備えるようにしてもよい。
【００６６】
つまり、ブロック生成装置５０は、あるノード装置が開示した署名ブロックを受信すると、対応した公開鍵を用いて署名認証を行い、署名認証に成功すると、開示した署名ブロックが正当であり、すなわち該署名ブロックを生成するブロック生成装置がブロックチェーンへ新ブロックを追加する権利を有することを示し、ブロックに対するプルーフ・オブ・ワーク確認、及びブロックがプロトコルにより定義されたフォーマットおよび標準に合致するかの認証をさらに行うことができる。署名ブロックに対する署名認証に失敗した場合、ブロックチェーンへの該ブロックの追加を拒否することで、ブロックチェーンの安全性を確保する。
【００６７】
図５Ｂに示されるように、該ブロック生成装置５０はさらに、前記署名モジュールが秘密鍵に基づいて、前記ブロック生成装置により生成されたブロックを署名する前に、前記第１ノード装置によって、前記ブロック生成装置が前回生成したブロックと現在のブロックチェーンにおける最新ブロックの間にあるブロックの数を決定し、且つ、前記ブロック数が所定閾値ｍ（ｍは１以上で且つｎより小さい正整数であり、ｎは前記ブロックチェーンネットワークにおけるすべてのノード装置の数である）以上であることを決定する決定モジュール５０７を備えるようにしてもよい。
【００６８】
なお、図５は例示的説明に過ぎず、具体的に実施する場合、ブロック生成装置は、たとえば関連秘密鍵情報を保存する記憶装置などのほかの部材を備えてもよく、図中には網羅的に示されていない。また、ブロック生成装置としては、高安全性パスワードチップを使用してもよく、その秘密鍵の生成、暗号化と復号、署名検証などの計算過程がすべてパスワードチップにおいて行われることで、署名秘密鍵が常にパスワードチップにあることが確保され、秘密鍵に対する高強度の保護を実現する。
【００６９】
当業者にとって明らかなように、説明の便利さ及び簡素化から、上記説明したブロック生成装置の各モジュールの具体的な作動過程については、前述の方法の実施例における対応過程を参照すればよいため、詳細な説明を省略する。
【００７０】
また、上記ブロック生成装置を構成するモジュールの分割は、ロジック機能に応じた分割のみであり、実際に実施する場合、別の分割方式を用いてもよい。且つ、各モジュールの物理的な実現形態も複数種の方式があり、本発明では、それについて限定しない。
【００７１】
本発明の実施例はさらに、図２によるブロック生成方法を実施するための別のブロック生成装置６０を提供し、図６に示されるように、該ブロック生成装置６０は、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する取得モジュール６０１と、
公開鍵情報を用いて前記署名ブロックに対して署名認証を行う署名認証モジュール６０２と、
署名認証を通過した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュール６０３と、
プルーフ・オブ・ワーク確認結果に基づいて、復号して得られた前記ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュール６０４とを備える。
【００７２】
当業者にとって明らかなように、説明の便利さ及び簡素化から、上記説明したブロック生成装置の各ユニットの具体的な作動過程については、前述した方法の実施例における対応過程を参照すればよいため、詳細な説明を省略する。
【００７３】
また、上記ブロック生成装置を構成するモジュールの分割は、ロジック機能に応じた分割のみであり、実際に実施する場合、別の分割方式を用いてもよい。且つ、各モジュールの物理的な実現形態も複数種の方式があり、本発明では、それについて限定しない。
【００７４】
本発明の実施例はさらにブロック生成装置７０を提供し、図７Ａに示されるように、該ブロック生成装置７０は、
少なくとも１つのプロセッサユニット（図７に示されるプロセッサユニット７０１）、通信インターフェース７０２、記憶装置７０３及び通信バス７０４を備え、前記少なくとも１つのプロセッサユニット、前記通信インターフェース７０２及び前記記憶装置７０３は前記通信バス７０４を介して相互通信を行い、
前記記憶装置７０３はプロクラムコードを格納するように配置され、前記プログラムコードはコンピュータオペレーションコマンドとネットワークフロー図を含む。前記記憶装置７０３は高速ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ）を備えてもよく、さらに不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、たとえば少なくとも１つのディスク記憶装置を備えてもよい。
【００７５】
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行して、
前記ブロック生成装置に内蔵された秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る操作と、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する操作とを実現するように配置される。
【００７６】
図７Ｂに示されるように、前記少なくとも１つのプロセッサユニットは、メインプロセッサユニット７０１１とハッシュプロセッサユニット７０１２を含み、前記メインプロセッサユニットは、前記ハッシュプロセッサユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得るように配置される。このように、前記メインプロセッサユニットはさらに、前記第１ノード装置によって、取引データを取得し、前記ハッシュプロセッサユニットにより計算されたブロックには前記取引データが含まれる。
【００７７】
ブロック生成装置に内蔵されたハッシュプロセッサユニット７０１２は、ハッシュアルゴリズム自身を保護して、他人に取得されにくくする。また、専用プロセッサユニットを用いてハッシュ計算を行うと、ノード装置のハッシュレートを制限できる。単一ノード又は少数のノードが一体化して閾値を超える計算能力を有することを避け、更に「５１％攻撃」の形成を防止し、ブロックチェーンの安全性を向上させる。
【００７８】
図７Ｂに示されるように、前記少なくとも１つのプロセッサユニットはさらに、秘密鍵プロセッサユニット７０１３を内蔵してもよく、前記メインプロセッサユニット７０１１は、前記秘密鍵プロセッサユニットにおける秘密鍵に基づいて前記ブロックに署名して、前記署名ブロックを得るように配置される。つまり、ハードウェアを利用して署名秘密鍵を保護することができ、たとえば、高安全性パスワードチップが使用され、秘密鍵の生成、暗号化と復号、署名検証などの計算過程がすべてパスワードチップにおいて行われることで、署名秘密鍵が常にパスワードチップにあることを確保して、署名秘密鍵に対する高強度の保護を実現するようにしてもよい。
【００７９】
本発明の実施例はさらに別のブロック生成装置８０を提供し、図８に示されるように、前記ブロック生成装置８０は、
少なくとも１つのプロセッサユニット（図８に示されるプロセッサユニット８０１）、通信インターフェース８０２、記憶装置８０３及び通信バス８０４を備え、前記少なくとも１つのプロセッサユニット、前記通信インターフェース８０２及び前記記憶装置８０３は前記通信バス８０４を介して相互通信を行い、
前記記憶装置８０３はプロクラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行して、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する操作と、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行う操作と、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行う操作と、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定する操作とを実現するように配置される。
【００８０】
本発明の実施例はさらにブロックチェーンネットワーク９０を提供し、前記ブロックチェーンネットワークは少なくとも２つのノード装置を含む。図９に示されるように、前記少なくとも２つのノード装置は第１ノード装置９０１を含み、前記第１ノード装置９０１は図７Ａ又は図７Ｂに示されるブロック生成装置７０を含む。具体的には、上記図７Ａ又は図７Ｂの対応説明を参照すればよいため、詳細な説明を省略する。あるいは、前記第１ノード装置９０１は、図５Ａ又は図５Ｂに示されるブロック生成装置５０を含む。具体的には、上記図５Ａ又は図５Ｂの対応説明を参照すればよいため、詳細な説明を省略する。
【００８１】
前記少なくとも２つのノード装置は、第２ノード装置９０２を含み、前記第２ノード装置は図８に示されるブロック生成装置８０を含む。具体的には、上記図８の対応説明を参照すればよいため、詳細な説明を省略する。あるいは、前記第２ノード装置９０２は、図６に示されるブロック生成装置６０を含む。具体的には、上記図６の対応説明を参照すればよいため、詳細な説明を省略する。
【００８２】
このように、公秘密鍵の権限制御に基づいて、ハッシュレートが一致するブロック生成装置からブロックチェーンネットワーク、たとえば、ブロックチェーンのプライベートチェーンを構成する。各ブロック生成装置のブロック生成率がほぼ一致するため、「５１％攻撃」の条件が成立する難度を向上させて、ブロックチェーンの安全性をより向上させる。
【００８３】
本願に係る複数の実施例では、なお、開示されているネットワーク、装置及び方法は、ほかの方式によっても実現できる。たとえば、上記説明した装置の実施例は模式的なものに過ぎず、複数のモジュールを組み合わせたり、別のシステムに集積したり、又は一部の特徴を無視したり、実行しなかったりしてもよい。
【００８４】
また、本発明の各実施例における各機能モジュールは、１つの処理ユニットに集積されてもよく、各モジュールは独立して物理的に存在してもよく、２つ又は２つ以上のモジュールは１つのモジュールに集積されてもよい。上記集積モジュールは、ハードウェア形態として実現されてもよいし、ハードウェアとソフトウェア機能ユニットを組み合わせた形態として実現してもよい。
【００８５】
上記のようにソフトウェア機能ユニット形態として実現される集積ユニットは、１つのコンピュータリーダブル記憶媒体に保存してもよい。上記ソフトウェア機能ユニットは、記憶媒体に保存されて、コンピュータ装置（パーソナルコンピュータ、サーバ、又はネットワーク装置等）に本発明の各実施例の前記方法の一部のステップを実行させるいくつかのコマンドを含む。前述記憶媒体には、Ｕディスク、モバイルディスク、ＲＡＭ、磁気ディスク又は光ディスクなどのデータを保存可能な各種媒体が含まれる。
【００８６】
以上は、本発明の実施形態に過ぎず、本発明の保護範囲はそれらに制限されず、当業者であれば、本発明で開示されている技術範囲を逸脱せずに容易に想到し得る変更又は置換はすべて本発明の保護範囲に含まれる。従って、本発明の保護範囲は特許請求の範囲による保護範囲を基準にする。
【図１】
2019519990.tif 000003
【図２】
2019519990.tif 000004
【図３】
2019519990.tif 000005
【図４】
2019519990.tif 000006
【図５Ａ】
2019519990.tif 000007
【図５Ｂ】
2019519990.tif 000008
【図６】
2019519990.tif 000009
【図７Ａ】
2019519990.tif 000010
【図７Ｂ】
2019519990.tif 000011
【図８】
2019519990.tif 000012
【図９】
2019519990.tif 000013
【手続補正書】
【提出日】平成30年11月20日(2018.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロック生成方法であって、
秘密鍵情報を内蔵したブロック生成装置に用いられ、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得るステップと、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示するステップとを含むことを特徴とするブロック生成方法。
【請求項２】
前記ブロック生成装置はハッシュプロセッサユニットを含み、
秘密鍵に基づいて、前記ブロック生成装置により生成されたブロックに署名する前記ステップの前に、
前記ハッシュプロセッサユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得るステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１処理ユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得る前に、
前記第１ノード装置によって、前記ブロックに含まれる取引データを取得するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記ブロック生成装置は秘密鍵プロセッサユニットを含み、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名するステップは、
前記秘密鍵プロセッサユニットにおける前記秘密鍵情報に基づいて、前記ブロックに署名して、前記署名ブロックを得るステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１ノード装置によって、前記ブロックチェーンネットワークにおける第２ノード装置が開示した署名ブロックを取得するステップと、
公開鍵情報に基づいて、前記第２ノード装置が開示した署名ブロックに対して署名認証を行うステップと、
署名認証に成功した後、取得した前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うステップと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するステップとを含むことを特徴とする請求項１〜４のいずれかに記載の方法。
【請求項６】
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る前記ステップの前に、
前記第１ノード装置によって、前記ブロック生成装置が前回生成したブロックと現在のブロックチェーンにおける最新ブロックの間にあるブロックの数を決定するステップと、
前記ブロック数が所定閾値ｍ（ｍは１以上且つｎより小さい正整数であり、ｎは前記ブロックチェーンネットワークにおけるすべてのノード装置の数である）以上であることを決定するステップとを含むことを特徴とする請求項１〜４のいずれかに記載の方法。
【請求項７】
ブロック生成方法であって、
ブロック生成装置に用いられ、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得するステップと、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行うステップと、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うステップと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するステップとを含むことを特徴とするブロック生成方法。
【請求項８】
ブロック生成装置であって、
秘密鍵情報を内蔵しており、
前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る署名モジュールと、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する開示モジュールとを備えることを特徴とするブロック生成装置。
【請求項９】
前記第１ノード装置によって、前記ブロックチェーンネットワークにおける第２ノード装置が開示した署名ブロックを取得する取得モジュールと、
公開鍵情報に基づいて、前記第２ノード装置が開示した署名ブロックに対して署名認証を行う署名認証モジュールと、
署名認証に成功した後、取得した前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュールと、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュールとをさらに備えることを特徴とする請求項８に記載のブロック生成装置。
【請求項１０】
前記署名モジュールが前記秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名する前に、前記第１ノード装置によって、前記ブロック生成装置が前回生成したブロックと現在のブロックチェーンにおける最新ブロックの間にあるブロックの数を決定し、  
前記ブロック数が所定閾値ｍ（ｍは１以上で且つｎより小さい正整数であり、ｎは前記ブロックチェーンネットワークにおけるすべてのノード装置の数である）以上であることを決定する決定モジュールをさらに備える、ことを特徴とする請求項８又は９に記載のブロック生成装置。
【請求項１１】
ブロック生成装置であって、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する取得モジュールと、
公開鍵情報を用いて前記署名ブロックに対して署名認証を行う署名認証モジュールと、
署名認証を通過した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行うプルーフ・オブ・ワークモジュールと、
プルーフ・オブ・ワーク確認結果に基づいて、復号して得られた前記ブロックをブロックチェーンに追加するか否かを決定するブロック追加モジュールとを備えることを特徴とするブロック生成装置。
【請求項１２】
ブロック生成装置であって、
少なくとも１つのプロセッサユニット、通信インターフェース、記憶装置及び通信バスを備え、
前記少なくとも１つのプロセッサユニット、前記通信インターフェース及び前記記憶装置は、前記通信バスを介して相互通信を行い、
前記記憶装置はプログラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行し、
前記ブロック生成装置に内蔵された秘密鍵情報に基づいて、前記ブロック生成装置により生成されたブロックに署名して、署名ブロックを得る操作と、
ブロックチェーンネットワークにおける第１ノード装置によって前記署名ブロックを他のノード装置に開示する操作とを実現するように配置されることを特徴とするブロック生成装置。
【請求項１３】
前記少なくとも１つのプロセッサユニットは、メインプロセッサユニットとハッシュプロセッサユニットを含み、
前記メインプロセッサユニットは、前記ハッシュプロセッサユニットに内蔵された特定ハッシュアルゴリズムに基づいてハッシュ計算を行い、前記ブロックを得るように配置されることを特徴とする請求項１２に記載のブロック生成装置。
【請求項１４】
前記少なくとも１つのプロセッサユニットはさらに、前記第１ノード装置によって、前記ブロックに含まれる取引データを取得することを特徴とする請求項１３に記載のブロック生成装置。
【請求項１５】
前記少なくとも１つのプロセッサユニットは、メインプロセッサユニットと秘密鍵プロセッサユニットを含み、
前記メインプロセッサユニットは、前記秘密鍵プロセッサユニットにおける前記秘密鍵情報に基づいて、前記ブロックに署名して、前記署名ブロックを得るように配置されることを特徴とする請求項１２に記載のブロック生成装置。
【請求項１６】
ブロック生成装置であって、
少なくとも１つのプロセッサユニット、通信インターフェース、記憶装置及び通信バスを備え、
前記少なくとも１つのプロセッサユニット、前記通信インターフェース及び前記記憶装置は、前記通信バスを介して相互通信を行い、
前記記憶装置はプログラムコードを格納するように配置され、
前記少なくとも１つのプロセッサユニットは、前記プログラムコードを実行し、
第２ノード装置によって、前記ブロックチェーンネットワークにおける第１ノード装置が開示した署名ブロックを取得する操作と、
公開鍵情報に基づいて、前記署名ブロックに対して署名認証を行う操作と、
署名認証に成功した後、前記署名ブロックに対してプルーフ・オブ・ワーク確認を行う操作と、
プルーフ・オブ・ワーク確認結果に基づいて、前記署名ブロックをブロックチェーンに追加するか否かを決定する操作とを実現するように配置されることを特徴とするブロック生成装置。
【請求項１７】
ブロックチェーンネットワークであって、
少なくとも２つのノード装置を備え、
前記少なくとも２つのノード装置は第１ノード装置を含み、前記第１ノード装置は請求項１２に記載のブロック生成装置を含み、
前記少なくとも２つのノード装置は第２ノード装置を含み、前記第２ノード装置は請求項１６に記載のブロック生成装置を含むことを特徴とするブロックチェーンネットワーク。
【請求項１８】
不発揮性のコンピュータ読取可能な記憶媒体であって、
請求項１〜６のいずれかに記載の方法を実行するためのコマンドを含むコンピュータプログラムを保存することを特徴とする不発揮性のコンピュータ読取可能な記憶媒体。
【請求項１９】
不発揮性のコンピュータ読取可能な記憶媒体であって、
請求項７に記載の方法を実行するためのコマンドを含むコンピュータプログラムを保存することを特徴とする不発揮性のコンピュータ読取可能な記憶媒体。
【国際調査報告】
2019519990.tif 000014
2019519990.tif 000015
2019519990.tif 000016
2019519990.tif 000017