(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-29
(45)【発行日】2023-04-06
(54)【発明の名称】ブロックチェーン実行方法、装置、設備、記憶媒体、及びプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20230330BHJP
【FI】
H04L9/32 200Z
(21)【出願番号】P 2021050173
(22)【出願日】2021-03-24
【審査請求日】2021-03-24
(31)【優先権主張番号】202010708130.6
(32)【優先日】2020-07-22
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ポー、チン
【審査官】青木 重徳
(56)【参考文献】
【文献】中国特許出願公開第111371905(CN,A)
【文献】米国特許出願公開第2017/0300877(US,A1)
【文献】米国特許出願公開第2017/0344987(US,A1)
【文献】中国特許出願公開第110945853(CN,A)
【文献】淵田 康之,特集:イノベーションと金融 ブロックチェーンと金融取引の革新,野村資本市場クォータリー,日本,株式会社野村資本市場研究所,2015年11月01日,第19巻第2号(通巻74号),p.11-35
【文献】佐古 和恵,透明性と公平性を実現するブロックチェーン技術,情報処理,日本,一般社団法人情報処理学会,2016年08月15日,第57巻 第9号,p.864-869
【文献】Kalle Rosenbaum(斉藤 賢爾 ほか),詳解 ビットコイン,初版第1刷,日本,株式会社オライリー・ジャパン,2020年03月23日,p.175-186,219-246
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
ブロックチェーン実行装置が以下の各ステップを実行するブロックチェーン実行方法であって、
ローカルノードのローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得るステップと、
前記ブロックヘッダの署名に基づいて、ローカルノードが前記ブロードキャストされるべきブロックのブロック生成権を競争するように、前記ブロードキャストされるべきブロックのブロック標識を決定するステップと、を含む
ことを特徴とするブロックチェーン実行方法。
【請求項2】
前記ブロックヘッダの署名に基づいて、ローカルノードが前記ブロードキャストされるべきブロックのブロック生成権を競争するように、前記ブロードキャストされるべきブロックのブロック標識を決定するステップは、
コンセンサスアルゴリズムに基づいて、前記ブロックヘッダの署名に基づいて、前記ブロードキャストされるべきブロックのブロック標識を決定するステップと、
前記ブロック標識がターゲット要件を満たす場合、前記ローカルノードが前記ブロードキャストされるべきブロックのブロック生成ノードであると決定するステップと、
前記ブロック標識がターゲット要件を満たさない場合、前記ローカルノードが前記ブロードキャストされるべきブロックのブロック生成ノードであると決定する、または他のノードが前記ブロードキャストされるべきブロックのブロック生成ノードであると分かるまで、前記ブロックヘッダの署名を変更して前記ブロードキャストされるべきブロックの前記ブロック標識を改めて決定するステップと、を含む
ことを特徴とする請求項1に記載のブロックチェーン実行方法。
【請求項3】
前記ブロックヘッダの署名を変更するステップは、
署名アルゴリズムにおける署名の乱数を調整するステップと、
前記署名の乱数と前記ローカルアカウントの鍵とに基づいて、前記ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行うことで、前記ブロックヘッダの署名を変更するステップと、を含む
ことを特徴とする請求項2に記載のブロックチェーン実行方法。
【請求項4】
前記ブロックヘッダの署名を変更するステップは、
前記ブロックヘッダのデータにおけるブロックの乱数を調整するステップと、
前記ローカルアカウントの鍵に基づいて、調整後の前記ブロックヘッダのデータに対して署名を行うことで、前記ブロックヘッダの署名を変更するステップと、を含む
ことを特徴とする請求項2に記載のブロックチェーン実行方法。
【請求項5】
前記コンセンサスアルゴリズムは、プルーフオブワークPOWアルゴリズムである
ことを特徴とする請求項2に記載のブロックチェーン実行方法。
【請求項6】
ローカルノード
を除く他のノードがブロック生成ノードである場合、
前記ブロードキャストされるべきブロックのブロック生成操作を実行し、後続の
前記ブロックヘッダの署名
を変更することに用いられるためにローカルアカウントの鍵を更新するステップ、をさらに含む
ことを特徴とする請求項1~5のいずれか1項に記載のブロックチェーン実行方法。
【請求項7】
ローカルノードのローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得るブロックヘッダ署名取得モジュールと、
前記ブロックヘッダの署名に基づいて、ローカルノードが前記ブロードキャストされるべきブロックのブロック生成権を競争するように、前記ブロードキャストされるべきブロックのブロック標識を決定するブロック生成権競争モジュールと、を備える
ことを特徴とするブロックチェーン実行装置。
【請求項8】
前記ブロック生成権競争モジュールは、
コンセンサスアルゴリズムに基づいて、前記ブロックヘッダの署名に基づいて、前記ブロードキャストされるべきブロックのブロック標識を決定するブロック標識決定ユニットと、
前記ブロック標識がターゲット要件を満たす場合、前記ローカルノードが前記ブロードキャストされるべきブロックのブロック生成ノードであると決定するブロック生成ノード決定ユニットと、
前記ブロック標識がターゲット要件を満たさない場合、前記ローカルノードが前記ブロードキャストされるべきブロックのブロック生成ノードであると決定する、または他のノードが前記ブロードキャストされるべきブロックのブロック生成ノードであると分かるまで、前記ブロックヘッダの署名を変更して前記ブロードキャストされるべきブロックの前記ブロック標識を改めて決定するブロックヘッダ署名変更ユニットと、を備える
ことを特徴とする請求項
7に記載のブロックチェーン実行装置。
【請求項9】
前記ブロックヘッダ署名変更ユニットは、
署名アルゴリズムにおけるターゲットの乱数を調整する署名乱数調整サブユニットと、
前記署名の乱数と前記ローカルアカウントの鍵とに基づいて、前記ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行うことで、前記ブロックヘッダの署名を変更するブロックヘッダ署名変更サブユニットと、を備える
ことを特徴とする請求項
8に記載のブロックチェーン実行装置。
【請求項10】
前記ブロックヘッダ署名変更ユニットは、
前記ブロックヘッダのデータにおけるブロックの乱数を調整するブロック乱数調整サブユニットと、
前記ローカルアカウントの鍵に基づいて、調整後のブロックヘッダのデータに対して署名を行うことで、前記ブロックヘッダの署名を変更するブロックヘッダ署名変更サブユニットと、を備える
ことを特徴とする請求項
8に記載のブロックチェーン実行装置。
【請求項11】
前記コンセンサスアルゴリズムは、プルーフオブワークPOWアルゴリズムである
ことを特徴とする請求項
8に記載のブロックチェーン実行装置。
【請求項12】
ローカルノード
を除く他のノードがブロック生成ノードである場合、
前記ブロードキャストされるべきブロックのブロック生成操作を実行し、後続の
前記ブロックヘッダの署名
を変更することに用いられるためにローカルアカウントの鍵を更新するアカウントの鍵更新モジュール、をさらに備える
ことを特徴とする請求項
7~
11のいずれか1項に記載のブロックチェーン実行装置。
【請求項13】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能な命令が記憶されており、
前記命令は、前記少なくとも1つのプロセッサにより実行される場合、請求項1~
6のいずれか1項に記載のブロックチェーン実行方法を実行させることを特徴とする電子設備。
【請求項14】
請求項1~
6のいずれか1項に記載のブロックチェーン実行方法をコンピュータに実行させるためのコンピュータ命令を記憶した非一過性のコンピュータ可読記憶媒体。
【請求項15】
コンピュータにおいて、プロセッサにより実行される場合、請求項1~
6のいずれか一項に記載のブロックチェーン実行方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、コンピュータ技術分野に関し、特にブロックチェーン技術に関し、具体的にブロックチェーン実行方法、装置、設備、記憶媒体、及びプログラムに関する。
【背景技術】
【0002】
コンセンサスメカニズムはブロックチェーン技術の重要なコンポーネントであり、その目標はすべての誠実なノードが一貫したブロックチェーンのビューを保存できるようにすることである。現在のブロックチェーン公開ネットワークにおいて、POW(Proof of Work、プルーフオブワーク)メカニズムは重要な役割を果たしており、現在の最も成熟しているコンセンサスメカニズムでもある。
【0003】
POWコンセンサスアルゴリズムは非中央集権を実現するために当初誕生したが、マイニングプール技術の出現に伴い、いくつかの大きなマイニングプールがブロックチェーンネットワークにおける計算力の大部分を掌握するようになり、ブロックチェーンネットワークが徐々に中央集権し、信憑性も次第に欠けることとなる。同時に、マイニングプール攻撃の問題も存在し、ブロックチェーンネットワークの安定性と安全性とに影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本出願は、非中央集権の程度がさらに高く、ブロックチェーンネットワークの安定性と安全性とがより優れているブロックチェーン実行方法、装置、設備および記憶媒体を提供する。
【課題を解決するための手段】
【0005】
本発明の1つの態様は、ブロックチェーン実行方法を提供し、当該方法は、
ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得ることと、
前記ブロックヘッダの署名に基づいて、ローカルノードが前記ブロードキャストされるべきブロックのブロック生成権を競争するように、前記ブロードキャストされるべきブロックのブロック標識を決定することと、を含む。
【0006】
本発明の他の態様は、ブロックチェーン実行装置を提供し、当該装置は、
ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得るためのブロックヘッダ署名取得モジュールと、
前記ブロックヘッダの署名に基づいて、ローカルノードが前記ブロードキャストされるべきブロックのブロック生成権を競争するように、前記ブロードキャストされるべきブロックのブロック標識を決定するためのブロック生成権競争モジュールと、を備える。
【0007】
本発明の他の態様は、電子設備をさらに提供し、当該電子設備は、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能な命令が記憶されており、
前記命令は、前記少なくとも1つのプロセッサにより実行される場合、本発明の実施形態の任意の前記ブロックチェーン実行方法を実行させることを特徴とする。
【0008】
本発明の他の態様は、コンピュータ命令を記憶した非一過性のコンピュータ可読記憶媒体をさらに提供し、当該コンピュータ命令を記憶した非一過性のコンピュータ可読記憶媒体は、
本発明の実施形態の任意の前記ブロックチェーン実行方法をコンピュータに実行させる。
【発明の効果】
【0009】
本発明の技術により、ブロックチェーンネットワークの非中央集権の程度、ブロックチェーンネットワークの安定性と安全性とを向上する。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態によるブロックチェーン実行方法のフローチャートである。
【
図2】本発明の実施形態による他のブロックチェーン実行方法のフローチャートである。
【
図3A】本発明の実施形態による他のブロックチェーン実行方法のフローチャートである。
【
図3B】本発明の実施形態によるブロードキャストされるべきブロックの生成過程の模式図である。
【
図3C】本発明の実施形態によるジェネシスブロックのブロックボディの構造模式図である。
【
図3D】本発明の実施形態による非ジェネシスブロックのブロックボディの構造模式図である。
【
図4】本発明の実施形態によるブロックチェーン実行装置の構造図である。
【
図5】本発明の実施形態によるブロックチェーン実行方法の電子設備のブロック図である。
【発明を実施するための形態】
【0011】
ここに記載された内容は、本発明の実施形態のキーポイントまたは重要な特徴を標識することを意図せず、また、本発明の範囲を制限することにも用いられないことを理解すべきである。本発明の他の特徴については、下記の明細書を通して説明を促す。
【0012】
添付図面は、本方案をより良く理解するためのものであり、本発明を限定するものではない。
【0013】
以下では、本発明の例示的な実施形態を、理解を容易にするために本発明の実施形態の様々な詳細を含む添付の図面に関連して説明するが、これらは単に例示的なものであると考えるべきである。 したがって、当業者は、本発明の範囲および精神を逸脱することなく、本明細書に記載された実施形態に様々な変更および修正を加えることができることを認識すべきである。同様に、以下の説明では、周知の機能および構成については、明確化および簡明化のために説明を省略する。
【0014】
本出願にて開示される各ブロックチェーン実行方法およびブロックチェーン実行装置は、ブロックチェーンネットワークにおいて、各ブロックチェーンノードがコンセンサスメカニズムに基づいてブロック生成権の競争およびブロック生成を行う状況に適している。各ブロックチェーン実行方法は、ブロックチェーン実行装置により実行されることができ、当該ブロックチェーン実行装置は、ソフトウェアおよび/又はハードウェアを用いて実現され、かつ、具体的にブロックチェーンノードを搭載する電子設備に配置される。
【0015】
図1は、本発明の実施形態によるブロックチェーン実行方法のフローチャートであり、当該方法は、以下を含む。
【0016】
S101において、ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得る。
【0017】
ここで、ブロックヘッダのデータは、ブロードキャストされるべきブロックのブロックヘッダに含まれる一部または全部のデータであると理解することができる。ローカルアカウントの鍵は、ローカルノードのブロックチェーンアカウントの対応するアカウントの秘密鍵であってもよい。
【0018】
例示的に、署名アルゴリズムに基づいて、ローカルノードのアカウントの鍵を採用し、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を取得する。
【0019】
S102において、ブロックヘッダの署名に基づいて、ローカルノードがブロードキャストされるべきブロックのブロック生成権を競争するように、ブロードキャストされるべきブロックのブロック標識を決定する。
【0020】
例示的に、コンセンサスアルゴリズムに基づいて、ブロックヘッダの署名に基づいて、ブロードキャストされるべきブロックのブロック識別を決定することで、ローカルノードとブロックチェーンネットワークにおける他のノードとが、ブロードキャストされるべきブロックのブロック生成を競合するようにする。相応的に、ブロードキャストされるべきブロックのブロック生成権を得たノードは、自身が生成したブロードキャストされるべきブロックをチェイニングし、かつ、ブロックチェーンネットワークに送信し、他のノードが当該ブロードキャストされるべきブロックの正確性および有効性に対して検証を行うようにする。ここで、チェイニングとは、ブロークチェーンへの接続を指す。
【0021】
本発明の選択可能な実施形態において、ブロードキャストされるべきブロックは、以下の方法を採用して生成することができる。要素報酬トランザクション要求を含む処理されるべきトランザクション要求を実行し、かつ、トランザクションデータを生成しブロードキャストされるべきブロックに追加する。ここで、要素報酬トランザクション要求は、ローカルノードのブロック生成の要素報酬および/またはトランザクション要求実行過程の要素報酬を、自身のブロックチェーンアカウントに移行するのに用いられる。
【0022】
ここで、処理されるべきトランザクション要求は、ブロックチェーンユーザがある業務機能を実現するために起こされ要求であると理解することができる。相応的に、ブロックチェーンノードは、当該処理されるべきトランザクション要求を実行することにより、ブロックチェーンユーザに相応の業務を提供し、かつ、当該処理されるべきトランザクション要求を実行する要素報酬を取得する。
【0023】
例示的に、トランザクション要求の要求タイプに基づいて、処理されるべきトランザクション要求を要素移行トランザクション要求と通常のトランザクション要求とに分割することができる。ここで、要素移行トランザクション要求は、ブロックチェーンアカウントにおいて既に凍結解除された要素を要素管理アカウントに移行するために用いられ、このうち、要素管理アカウントはブロックチェーンアカウントよりも小さいアクティブ率を有する。ブロックチェーンアカウントにおいて既に凍結解除された要素をアクティブ率が比較的低い要素管理アカウントに移行することにより、ユーザが既に取得した要素の安全性を向上できることを理解することができる。
【0024】
一般的に、要素移行トランザクション要求を実行する要素報酬は、通常のトランザクション要求を実行する要素報酬よりも多い。ブロック生成ノードの利益を最大にするために、本発明の選択可能な実施形態にて、処理されるべきトランザクション要求において要素移行トランザクション要求が存在するか否かを予め識別することができ、存在する場合、要素移行トランザクション要求と要素報酬トランザクション要求とを含む処理されるべきトランザクション要求を実行し、存在しない場合、通常のトランザクション要求と要素報酬トランザクション要求とを含む処理されるべきトランザクション要求を実行する。
【0025】
例示的に、処理されるべきトランザクション要求の要求タイプに基づいて、当該処理されるべきトランザクション要求が要素移行トランザクション要求であるか否かを識別することができる。相応的に、要素移行トランザクション要求を優先的に選択して処理を行う。
【0026】
選択的に、要素移行トランザクション要求を実行するとき、要素移行トランザクショデータを生成し、かつ、当該要素移行トランザクショデータをブロードキャストされるべきブロックのブロックボディに追加する。通常のトランザクション要求を実行するとき、通常のトランザクショデータを生成し、かつ、通常のトランザクショデータをブロードキャストされるべきブロックのブロックボディに追加する。ブロードキャストされるべきブロックがブロック生成制限条件を満たす場合、自身のアカウントの鍵に基づいて、ブロックボディにおけるブロックの内容に対して署名を行い、ブロックの検証に用いて、かつ、ブロックをパッケージ化する。ここで、ブロック生成制限条件は、最長のブロック生成時間間隔であってもよく、最大のブロックサイズに達する等であってもよい。
【0027】
具体的に、ブロードキャストされるべきブロックがジェネシスブロックである場合、ブロックチェーンネットワークにおける処理されるべきトランザクション要求が要素移行トランザクション要求を含むことは不可能であり、したがって、要素移行トランザクション要求の識別を行う必要がない。ブロードキャストされるべきブロックが非ジェネシスブロックである場合にのみ、要素移行トランザクション要求の識別操作がトリガされる。
【0028】
説明が必要なのは、従来技術において、マイニングプールの管理者は、マイニングプールにおける他のノードに乱数のセグメントを分割する方法により、ブロック生成権の計算量をマイニングプールにおける他のノードに割り当てることを行うことで、他のノードが一部の乱数に対して計算を行うようにし、マイニングプールの管理者がブロック生成権を競争するのを補助することができる。他のノードの計算参加により、マイニングプールの管理者を担うブロックチェーンノードはより高い確率でブロック生成権を競争できるようになり、ブロックチェーンネットワークをますます中央集権し、ブロックチェーンネットワーク信憑性も失われ始めている。同時に、マイニングプールの計算力攻撃の問題に直面する可能性があり、二重支出取引などの状況が発生を導き、ブロックチェーンネットワークの安全性と安定性とを低下させる。
【0029】
本発明の実施形態は、ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得、ブロックヘッダの署名に基づいて、ローカルノードがブロードキャストされるべきブロックのブロック生成権を競争するように、ブロードキャストされるべきブロックのブロック標識を決定する。上述の技術方案は、ローカルノードのローカルアカウントの鍵を導入することにより、ブロック生成権の競争を行い、マイニングプールの管理者が、マイニングプールにおける他のノードとローカルノードのローカルアカウントの鍵を共有しない状況で、他のノードが、マイニングプールの管理者がブロック生成権の競争を行うのを手助け出来ないようにし、マイニングプールの管理者がローカルアカウントの鍵を他のノードに共有したとき、マイニングプールの管理者自身のアカウントの安全が脅かされる。したがって、本発明は、ブロック生成権を競争する過程において、ローカルアカウントの鍵を導入することにより、複数のノードが同一のノードになりすましてブロック生成権を競争することを防止することができ、ブロックチェーンネットワークの非中央集権の程度を高め、さらにブロックチェーンネットワークの安定性と安全性とを高める。
【0030】
図2は、本発明の実施形態による他のブロックチェーン実行方法のフローチャートであり、当該方法は上述した各技術方案に基づいて、さらに最適化の改良を行った。
【0031】
さらに、「ブロックヘッダの署名に基づいて、ローカルノードがブロードキャストされるべきブロックのブロック生成権を競争するように、ブロードキャストされるべきブロックのブロック標識を決定する」操作を、「コンセンサスアルゴリズムに基づいて、ブロックヘッダの署名に基づいて、ブロードキャストされるべきブロックのブロック標識を決定することと、ブロック標識がターゲット要件を満たす場合、ローカルノードはブロードキャストされるべきブロックのブロック生成ノードとして決定することと、ブロック標識がターゲット要件を満たさない場合、ローカルノードがブロードキャストされるべきブロックのブロック生成ノードであると決定する、または他のノードがブロードキャストされるべきブロックのブロック生成ノードであると分かるまで、ブロックヘッダの署名を変更してブロードキャストされるべきブロックのブロック標識を改めて決定すること」に細かく分けることより、ブロック生成権の競争メカニズムを改善する。
【0032】
図2に示すような、ブロックチェーン実行方法は、以下を含む。
【0033】
S201において、ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得る。
【0034】
例示的に、署名アルゴリズムに基づいて、ローカルアカウント鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を取得する。
【0035】
選択的に、後続のブロック標識の計算を行えるように、取得したブロックヘッダの署名をブロックヘッダに追加することができる。
【0036】
S202において、コンセンサスアルゴリズムに基づいて、ブロックヘッダの署名に基づいて、ブロードキャストされるべきブロックのブロック標識を決定する。
【0037】
ここで、コンセンサスアルゴリズムはパズル計算を行うために用いられ、パズルを解く方法により、ブロックチェーンネットワークにおけるブロック生成ノードを決定し、ブロックチェーンネットワークにおいて、毎回1つのブロックチェーンノードのみがブロック生成操作を行うことを保証する。例示的に、コンセンサスアルゴリズムはPOWアルゴリズムであってもよい。
【0038】
ここで、コンセンサスアルゴリズムの入力データはブロックヘッダの署名を含み、コンセンサスアルゴリズムの出力データはブロック識別を含む。ここで,ブロックヘッダの署名は、ターゲット乱数に基づいて生成され,ターゲット乱数を変更することにより、ブロックヘッダの署名を変更し,異なるブロック標識の計算を行うことができる。
【0039】
S203において、ブロック標識がターゲット要件を満たすか否かを判断する。満たす場合、S204を実行し、満たさない場合、S205を実行する。
【0040】
ここで、ターゲット要件は、取得したブロック標識がターゲット値よりも小さいか否かであってもよく、小さければ、解決成功を表し、プルーフオブワークが完了した、すなわち、ローカルノードがブロックチェーンシステムにおける他のノード間において、ブロック生成権を競争できたことを示し、小さくない場合、他のブロック生成ノードがブロック生成権を競合できていない状況で、ブロック標識の計算を継続する。
【0041】
S204において、ローカルノードがブロードキャストされるべきブロックのブロック生成ノードであると決定し、S206の実行に跳ぶ。
【0042】
例示的に、ローカルノードがブロードキャストされるべきブロックのブロック生成ノードであると決定した後、ローカルノードはブロードキャストされるべきブロックのブロック生成操作を実行し、さらに、ブロードキャストされるべきブロックをローカルに維持されているブロックチェーンに追加し、かつ、他のノードが検証を行うために、ブブロードキャストされるべきブロックをブロックチェーンネットワークに送信し、検証に通過した後、ブロックのチェイニング操作を行う。
【0043】
ブロードキャストされるべきブロックをブロックチェーンネットワークに送信した後、ローカルアカウントの鍵が漏洩するリスクがある。ローカルノードのアカウントの安全を維持するために、ブロック生成ノードはさらに、ブロードキャストされるべきブロックのブロック生成操作を実行するときに、またはブロードキャストされるべきブロックのブロック生成操作が実行した後、後続の署名に用いられるためにローカルアカウントの鍵を更新することができる。ここで、アカウントの鍵は、アカウントの秘密鍵であってもよい。
【0044】
例示的に、ローカルノードは、階層的決定性ウォレット技術を採用し、アカウントの秘密鍵を改めて生成する、および、生成されたアカウントの秘密鍵に対して管理を行うことができる。
【0045】
一般に、ブロック生成ノードがブロック生成操作を実行後、ブロック生成要素報酬とトランザクション要求を実行した後の要素報酬とを取得する。自身のブロックチェーンアカウントのアクティブ率が比較的高いため、そのアカウントの安全性は比較的劣る。アカウントの安全問題がユーザに迷惑をかけるのを避けるため、通常、ローカルノードはブロック生成後に得られた要素報酬を自身のブロックチェーンアカウントから転出する。通常の状況では、ローカルノードがブロードキャストされるべきブロックのブロック生成操作を実行するとき、取得した要素報酬は凍結状態にあり、次のブロックが生成されるときに凍結解除される。そのため、ローカルノードは自身のブロックチェーンアカウントから直接要素移行操作を行うことができない。
【0046】
例示的に、ローカルノードは、自身のブロックチェーンアカウント、要素管理アカウントおよび移行金額に基づいて、要素移行トランザクション要求を生成し、当該要素管理アカウントのアクティブ率はブロックチェーンアカウントより小さく、後続のブロック生成ノードが要素移行トランザクション要求を処理するために、要素移行トランザクション要求をブロックチェーンネットワークに送信し、ブロックチェーンアカウントにおいて移行されるべき要素を要素管理アカウントに移行する。
【0047】
説明が必要なのは、要素移行過程においてローカルノードのアカウントの鍵が必要となるため、ローカルノードがマイニングプールの管理者である場合、マイニングプールの管理者がローカルアカウントの鍵をマイニングプール内の他のノードに共有すると、マイニングプールの管理者がブロック生成操作を完了した後、他のノードもマイニングプールの管理者が共有したアカウントの鍵を介して、マイニングプールの管理者のブロックチェーンアカウントにおける要素を自身の要素管理アカウントに移行することができ、マイニングプールの管理者に利益がない。そのため、自身の利益からみて、ブロック生成権の競争過程においてブロックチェーンノードのローカルアカウントの鍵を導入することにより、ブロックチェーンネットワークにおけるマイニングプールに対する制約を実現することができ、ブロックチェーンネットワークの非中央集権を保障し、さらにブロックチェーンネットワークの安全性と安定性とを高めることができる。
【0048】
選択的に、要素管理アカウントはコールドウォレットアカウントであってもよい。
【0049】
S205において、他のノードがブロードキャストされるべきブロックのブロック生成ノードであることを分かるか否かについて、そうである場合、S206を実行し、そうでない場合、S207を実行する。
【0050】
ブロック生成権を競合できなかったローカルノードが、他のノードもブロック生成権を競合できなかったと分かったとき、ブロックヘッダの署名を変更することにより、改めてブロック標識の確定を行い、プルーフオブワークを継続する。ブロック生成権を競合できなかったローカルノードが、他のノードがブロードキャストされるべきブロックのブロック生成ノードであると分かる、すなわち、他のノードがブロック生成権を得たとき、ブロック生成ノードの決定操作を終了し、すなわち、今回のプルーフオブワーク操作を終了することにより、計算資源の浪費を回避する。
【0051】
S206において、ブロック生成ノードの決定操作を終了する。
【0052】
S207において、ブロックヘッダの署名を変更し、ブロードキャストされるべきブロックのブロック標識を改めて決定して、S203の実行に戻る。
【0053】
本発明の1つの選択可能な実施形態において、ブロックヘッダの署名を変更することは、署名アルゴリズムにおける署名の乱数を調整すること、署名の乱数とローカルアカウントの鍵とに基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行うことで、ブロックヘッダの署名を変更することであってもよい。
【0054】
理解することができるのは、署名の乱数を調整することで、ブロックヘッダの署名を変更するたびに、ローカルアカウントの鍵を借りて改めて署名を行う必要があることを保障することで、ブロック生成権の競争過程が円滑に行われることを保証した前提で、マイニングプールの管理者がブロック生成権の競争計算を他のノードに割り当てて補助計算を行うことを回避し、ブロックチェーンネットワークの非中央集権の基礎を築き、ブロックチェーンネットワークの安定性と安全性との保証を提供する。
【0055】
本発明の他の選択可能な実施形態において、ブロックヘッダの署名を変更することは、ブロックヘッダのデータにおけるブロックの乱数を調整すること、ローカルアカウントの鍵に基づいて、調整後のブロックヘッダのデータに対して署名を行うことで、ブロックヘッダの署名を変更すること、であってもよい。
【0056】
ブロックヘッダのデータにおけるブロックの乱数を調整することにより、ブロックヘッダの署名を変更するたびに、ローカルアカウントの鍵を借りて改めて署名を行う必要があることを保障することで、ブロック生成権の競争過程が行われることを保証した前提で、マイニングプールの管理者がブロック生成権の競争計算を他のノードに割り当てて補助計算を行うことを回避し、ブロックチェーンネットワークの非中央集権の基礎を築き、ブロックチェーンネットワークの安定性と安全性との保証を提供すると理解すべきである。
【0057】
説明が必要なのは、署名の乱数とブロックの乱数との調整は、両方とも、どちらか一方を選択して実行してもよいし、同時に実行してもよい。もちろん、計算を容易にし、ブロック生成権の競合効率を高めるために、署名アルゴリズムにおける署名の乱数の包含状況に基づいて、署名の乱数とブロックの乱数との調整を択一的に行い、さらに調整後の乱数に基づいて、ブロックヘッダの署名の変更を行ってもよい。
【0058】
本発明の実施形態は、ローカルノードがブロードキャストされるべきブロックのブロック生成権を競合する操作により、コンセンサスアルゴリズムに基づいて、ブロックヘッダの署名に基づいて、ブロードキャストされるべきブロックのブロック標識を決定すること、ブロック標識がターゲット要件を満たす場合、ローカルノードはブロードキャストされるべきブロックのブロック生成ノードであると決定すること、ブロック標識がターゲット要件を満たさない場合、ローカルノードがブロードキャストされるべきブロックのブロック生成ノードであると決定する、または他のノードがブロードキャストされるべきブロックのブロック生成ノードであると分かるまで、ブロックヘッダの署名を変更してブロードキャストされるべきブロックのブロック標識を改めて決定すること、に細かく分けられる。上述の技術方案を採用することにより、従来のコンセンサスアルゴリズムの基礎の上にコンセンサスアルゴリズムの入力データをローカルノードの口座の鍵に基づいて生成されたブロックヘッダの署名を含むように変更することにより、マイニングプールがブロック生成権の競争過程に参加することを制限し、ブロック生成権の競争メカニズムを改善するとともに、ブロックチェーンネットワークの非中央集権の程度を高め、さらにブロックチェーンネットワークの安定性と安全性とを高める。
【0059】
図3Aは、本発明の実施形態による他のブロックチェーン実行方法のフローチャートであり、当該方法は上述した各技術方案に基づいて、好適な実施形態を提供する。
【0060】
図3Aに示すように、ブロックチェーン実行方法は、以下を含む。
【0061】
S301において、署名アルゴリズムに基づいて、アカウントの秘密鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダに対して署名を行い、ブロックヘッダの署名を得る。
【0062】
S302において、ブロックヘッダの署名をブロックヘッダに追加し、ブロックヘッダを更新する。
【0063】
S303において、POWアルゴリズムに基づいて、更新後のブロックヘッダに基づいて、ローカルノードがブロックチェーンネットワークにおける他のノードとブロック生成権を競争するように、ブロードキャストされるべきブロックのブロック標識を決定する。
【0064】
例示的に、ブロック標識がターゲット要件を満たす場合、ローカルノードはブロック生成ノードであると決定し、すなわちローカルノードが競争できたブロードキャストされるべきブロックのブロック生成権である。ブロック標識がターゲット要件を満たさない場合、署名アルゴリズムにおける署名の乱数を調整することにより、アカウントの秘密鍵を用いて、前回のブロックヘッダの署名以外のブロックヘッダのデータに対して改めて署名を行ったあと、ブロックヘッダにおいて前回に取得したブロックヘッダの署名を更新する。または、ブロックヘッダのデータにおけるブロックの乱数を調整することにより、アカウントの秘密鍵を用いて、前回のブロックヘッダの署名以外のブロックヘッダのデータに対して改めて署名を行ったあと、ブロックヘッダにおいて前回に取得したブロックヘッダの署名を更新する。更新されたブロックヘッダの署名の新たなブロックヘッダを採用して、POWアルゴリズムに基づいて、ローカルノードがブロック生成権を競争できる、または他のノードがブロック生成権を競争できたとわかるまで、ブロードキャストされるべきブロックのブロック標識を改めて決定する。
【0065】
S304において、ブロック生成権を得た後、他のノードの検証のために、ブロードキャストされるべきブロックをチェイニングして、ブロックチェーンネットワークに送信する。
【0066】
S305において、階層的決定性ウォレット技術を採用し、後続の署名に用いられるために、自身のアカウントの公開鍵に基づいて新たなアカウントの秘密鍵を改めて生成する。
【0067】
S306において、ブロックチェーンアドレス、自身のコールドウォレットアドレスおよび移行されるべき要素の移行金額に基づいて、要素移行トランザクション要求を生成する。ここで、移行されるべき要素は、ブロック生成要素報酬および/または処理されるべきトランザクション要求実行時の要素報酬を含み、移行されるべき要素は、次のブロックがブロック生成したとき、凍結状態から凍結解除状態に変更される。
【0068】
S307において、後続のブロック生成ノードが要素移行トランザクション要求を処理するために、要素移行トランザクション要求をブロックチェーンネットワークに送信し、移行されるべき要素をブロックチェーンアドレスの鍵から自身のコールドウォレットアドレスに移行する。
【0069】
図3Bに示されるブロードキャストされるべきブロックの生成過程の模式図を参照すると、当該生成過程は以下を含む。
【0070】
S310において、処理されるべき要求に要素移行トランザクション要求が存在するか否かを識別し、存在する場合、S320を実行し、存在しない場合、S330を実行する。
【0071】
ここで、処理されるべき要求に要素移行トランザクション要求が存在するか否かを識別することは、ブロードキャストされるべきブロックがジェネシスブロックであるか否かを予め識別することができ、そうである場合、要素移行トランザクション要求の識別を行うことを必要とせず、通常のトランザクション要求とブロック生成報酬のトランザクション要求とを含む処理されるべき要求を直接実行し、そうでない場合、要求タイプに基づいて、処理されるべき要求から要素移行トランザクション要求を選択する。ここで、要求タイプには要素移行タイプと非要素移行タイプとを含む。
【0072】
S320において、歴代のブロック生成後に起こされた要素移行トランザクション要求と要素報酬トランザクション要求とを含む処理されるべきリクエストを優先的に実行し、かつ、相応のトランザクションデータを生成し、ブロードキャストされるべきブロックのブロックボディに追加する。続けてS340を実行する。
【0073】
ここで、要素報酬トランザクション要求は、ローカルノードのブロック生成要素報酬とトランザクション要求実行過程の要素とを、ローカルノード自身のブロックチェーンアカウントに移行するのに用いられる。
【0074】
S330において、通常のトランザクション要求と要素報酬トランザクション要求とを含む処理されるべき要求を実行し、かつ、相応のトランザクションデータを生成し、ブロードキャストされるべきブロックのブロックボディに追加する。続けてS340を実行する。
【0075】
S340において、ブロードキャストされるべきブロックがブロック生成制限条件を満たす場合、自身のアカウントの秘密鍵に基づいて、ブロックボディにおけるブロックの内容に対して署名を行い、ブロックの検証に用いる。
【0076】
図3Cに示されるジェネシスブロックのブロックボディの構造模式図を参照すると、当該ブロックボディには、要素報酬トランザクション要求を実行することで生成されたトランザクションデータ11、および、通常のトランザクション要求を実行することで生成されたトランザクションデータ20、さらにブロック生成ノードのブロックの内容に対する署名30を含むことがわかる。
【0077】
図3Dに示される非ジェネシスブロックのブロックボディの構造模式図を参照すると、当該ブロックボディには、要素報酬トランザクション要求を実行することで生成されたトランザクションデータ11、歴代のブロック生成ノードにより起こされた要素移行トランザクション要求を実行することで生成されたトランザクションデータ12、および通常のトランザクション要求を実行することで生成されたトランザクションデータ20、さらにブロック生成ノードのブロックの内容に対する署名30を含むことがわかる。
【0078】
説明が必要なのは、
図3Cと
図3Dとは、それぞれジェネシスブロックおよび非ジェネシスブロックにおけるブロックボディの構造について例示的に説明したものであり、ブロックボディに含まれる寧陽の記憶空間の順序については何の限定も行わない。
【0079】
本発明は、ブロック生成権の競争過程において、アカウントの秘密鍵を導入することにより、マイニングプールの管理者が、ブロック生成権の競争過程において、マイニングプールにおける他のノードに計算作業を割り当てないようにする。たとえ、マイニングプールの管理者が計算作業をマイニングプールにおける他のノードに割り当てる場合、必然的にアカウントの秘密鍵も共有する必要があり、そうでない場合、計算過程を割り当てることはできない。マイニングプールの管理者がアカウントの秘密鍵をマイニングプールにおける他のノードに共有した場合、ブロック生成が成功したのならば、他のノードはいずれもアカウントの秘密鍵を借りて、ブロック生成後の要素表終を、マイニングプールの管理者のブロックチェーンアドレスから、自分のコールドウォレットアドレスに移行しようとすることができ、マイニングプールの管理者の利益が図られず、さらにはマイニングプールの管理者に損失をもたらすこととなる。
【0080】
図4は、本発明の実施形態によるブロックチェーン実行装置の構造図であり、当該ブロックチェーン実行装置400は、ブロックヘッダ署名取得モジュール401と、ブロック生成権競争モジュール402とを含む。ここで、
ブロックヘッダ署名取得モジュール401は、ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得る。
【0081】
ブロック生成権競争モジュール402は、ブロックヘッダの署名に基づいて、ローカルノードがブロードキャストされるべきブロックのブロック生成権を競争するように、ブロードキャストされるべきブロックのブロック標識を決定する。
【0082】
本発明の実施形態は、ブロックヘッダ署名取得モジュールを通して、ローカルアカウントの鍵に基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行い、ブロックヘッダの署名を得、ブロック生成権競争モジュールを通して、ブロックヘッダの署名に基づいて、ローカルノードがブロードキャストされるべきブロックのブロック生成権を競争するように、ブロードキャストされるべきブロックのブロック標識を決定する。上述の技術方案は、ローカルノードのローカルアカウントの鍵を導入することにより、ブロック生成権の競争を行い、マイニングプールの管理者が、マイニングプールにおける他のノードとローカルノードのローカルアカウントの鍵を共有しない状況で、他のノードが、マイニングプールの管理者がブロック生成権の競争を行うのを手助け出来ないようにし、マイニングプールの管理者がローカルアカウントの鍵を他のノードに共有したとき、マイニングプールの管理者自身のアカウントの安全が脅かされる。したがって、本発明は、ブロック生成権を競争する過程において、ローカルアカウントの鍵を導入することにより、複数のノードが同一のノードになりすましてブロック生成権を競争することを防止することができ、ブロックチェーンネットワークの非中央集権の程度を高め、さらにブロックチェーンネットワークの安定性と安全性とを高める。
【0083】
さらに、ブロック生成権競争モジュール402は、以下を含む。
【0084】
ブロック標識決定ユニットは、コンセンサスアルゴリズムに基づいて、ブロックヘッダの署名に基づいて、ブロードキャストされるべきブロックのブロック標識を決定する。
【0085】
ブロック生成ノード決定ユニットは、ブロック標識がターゲット要件を満たす場合、ローカルノードはブロードキャストされるべきブロックのブロック生成ノードであると決定する。
【0086】
ブロックヘッダ署名変更ユニットは、ブロック標識がターゲット要件を満たさない場合、ローカルノードがブロードキャストされるべきブロックのブロック生成ノードであると決定する、または他のノードがブロードキャストされるべきブロックのブロック生成ノードであると分かるまで、ブロックヘッダの署名を変更してブロードキャストされるべきブロックのブロック標識を改めて決定する。
【0087】
さらに、ブロックヘッダ署名変更ユニットは、以下を含む。
【0088】
署名乱数調整サブユニットは、署名アルゴリズムにおける署名の乱数を調整する。
【0089】
ブロックヘッダ署名変更サブユニットは、署名の乱数とローカルアカウントの鍵とに基づいて、ブロードキャストされるべきブロックのブロックヘッダのデータに対して署名を行うことで、ブロックヘッダの署名を変更する。
【0090】
さらに、ブロックヘッダ署名変更ユニットは、以下を含む。
【0091】
ブロック乱数調整サブユニットは、ブロックヘッダのデータにおけるブロックの乱数を調整する。
【0092】
ブロックヘッダ署名変更サブユニットは、ローカルアカウントの鍵に基づいて、調整後のブロックヘッダのデータに対して署名を行うことで、ブロックヘッダの署名を変更する。
【0093】
さらに、コンセンサスアルゴリズムは、プルーフオブワークPOWアルゴリズムである。
【0094】
さらに、ローカルノードがブロック生成ノードである場合、装置はさらに、以下を含む。
【0095】
アカウントの鍵更新モジュールは、ブロードキャストされるべきブロックのブロック生成操作を実行し、後続の署名に用いられるためにローカルアカウントの鍵を更新する。
【0096】
さらに、ローカルノードがブロック生成ノードである場合、装置はさらに、以下を含む。
【0097】
要素移行トランザクション要求生成モジュールは、自身のブロックチェーンアカウント、要素管理アカウントおよび移行金額に基づいて、要素移行トランザクション要求を生成し、要素管理アカウントのアクティブ率はブロックチェーンアカウントよりも小さい。
【0098】
要素移行トランザクション要求送信モジュールは、後続のブロック生成ノードが要素移行トランザクション要求を処理するために、要素移行トランザクション要求をブロックチェーンネットワークに送信し、ブロックチェーンアカウントにおいて移行されるべき要素を要素管理アカウントに移行する。
【0099】
上述のブロックチェーン実行装置は、本発明の任意の実施形態において提供されるブロックチェーン実行方法を実行することができ、ブロックチェーン実行方法を実行する相応の機能モジュールと有益な効果とを備える。
【0100】
本発明の実施形態によれば、本発明は、電子設備および可読記憶媒体をさらに提供する。
【0101】
図5に示すよう、本発明の実施形態によるブロックチェーン実行方法を実現する電子設備のブロック図である。電子設備は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、および他の適切なコンピュータのような様々な形態のデジタルコンピュータを表すことができる。また、電子設備はパーソナルデジタル処理、携帯電話、スマートフォン、装着可能デバイス、およびその他の類似のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことができる。ここで示した構成要素、それらの接続と関係、およびそれらの機能は例示的なものに過ぎず、本発明で説明されたものおよび/または要求される本発明の実施を制限することは意図されない。
【0102】
図5に示すよう、当該電子設備は、1つ又は複数のプロセッサ501と、メモリ502と、高速インターフェースと低速インターフェースとを含む各構成要素を接続するためのインターフェースとを含む。各構成要素は、異なるバスを利用して互いに接続し、共通のマザーボードに取り付けられてもよいし、必要に応じて他の方法で取り付けられてもよい。プロセッサは、電子設備内で実行される命令を処理してもよく、また、外部入出力デバイス(例えば、インターフェースに接続された表示デバイス)にグラフィックユーザインターフェース(Graphical User Interface,GUI)を表示するための、メモリまたはメモリ上に記憶されたグラフィカル情報の命令を含む。他の実施形態では、必要に応じて、複数のプロセッサおよび/または複数のバスを複数のメモリおよび複数のメモリとともに使用することができる。同様に、複数の電子設備を接続してもよく、各デバイスは、部分的に必要な動作、例えば、サーバアレイ、ブレードサーバの集合、またはマルチプロセッサシステムとして、提供する。
図5においてプロセッサ501を例とする。
【0103】
メモリ502は、本発明にて提供された非一過性のコンピュータ可読記憶媒体である。メモリは、本発明で提供されるブロックチェーン実行方法を少なくとも1つのプロセッサに実行させるように、少なくとも1つのプロセッサによって実行されることができる命令を記憶する。本発明における非一過性のコンピュータ可読記憶媒体は、本発明で提供されたブロックチェーン実行方法をコンピュータに実行させるためのコンピュータ命令を記憶する。
【0104】
メモリ502は、非一過性のコンピュータ可読記憶媒体として、非一過性のソフトウェアプログラム、非一過性のコンピュータ実行可能なプログラムおよびモジュールを記憶するために使用されてもよく、本発明の実施形態におけるブロックチェーン実行方法に対応するプログラム命令/モジュール、(例えば、
図4に示される、ブロックヘッダ署名取得モジュール401とブロック生成権競争モジュール402のようなもの)である。プロセッサ501は、メモリ502に記憶されている非一過性のソフトウェアプログラム、命令およびモジュールを実行することにより、サーバの様々な機能アプリケーションおよびデータ処理、即ち上述した方法に関する実施形態に係るブロックチェーン実行方法を実行する。
【0105】
メモリ502は、オペレーティングシステムや少なくとも1つの機能に必要なアプリケーションを記憶することができるプログラムの記憶領域と、ブロックチェーン実行方法に係る電子設備の使用によって生成されたデータなどを記憶することができるデータの記憶領域と、を含むことができる。さらに、メモリ502は、高速ランダムアクセスメモリを含んでもよく、非一過性の固体記憶装置を含んでもよい。例えば、少なくとも1つの磁気ディスク記憶装置、フラッシュメモリ装置、または他の非一過性の固体記憶装置を含むことができる。いくつかの実施形態では、メモリ502はオプションとして、プロセッサ501に対して遠隔的に設定されたメモリを含み、これらの遠隔メモリは、ネットワークを介してブロックチェーン実行方法に係る電子設備に接続されてもよい。上記のネットワークの例は、インターネット、企業内ネットワーク、ローカルネットワーク、モバイル通信ネットワークおよびその組み合わせを含むが、これらに限定されない。
【0106】
本発明の実施形態のブロックチェーン実行方法に対応する電子設備は、入力装置503と出力装置504とをさらに含むことができる。プロセッサ501、メモリ502、入力装置503、および出力装置504は、バスまたは他の方法で接続されてもよく、
図5ではバスを介して接続されている。
【0107】
入力装置503は、入力された数字または文字を受信し、ブロックチェーン実行方法に係る電子設備のユーザ設定および機能制御に関するキー信号入力を生成することができ、例えば、タッチパネル、キーパッド、マウス、トラックボード、タッチパッド、指示棒、1つまたは複数のマウスボタン、トラックボール、ジョイスティックなどを含むことができる。出力装置504は、表示装置、補助照明装置(例えばLED)、および触覚フィードバック装置(例えば、振動モータ)などを含むことができる。この表示装置は、液晶ディスプレイ(Liquid Crystal Display、LCD)、発光ダイオード(Light Emitting Diode、LED)ディスプレイおよびプラズマディスプレイを含むことができるがこれらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【0108】
本発明におけるシステムおよび技術に係る様々な実施形態は、デジタル電子回路システム、集積回路システム、専用集積回路(Application Specific Integrated Circuits、ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせによって実現されることができる。これらの様々な実施形態は、1つまたは複数のコンピュータプログラムにおいて実装されてもよく、この1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステム上で実行されてもよく、および/または解釈されてもよく、このプログラマブルプロセッサは、専用または汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置より、データと命令を受信し、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置に、データと命令を送信する。
【0109】
これらの計算プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードともいう)は、プログラマブルプロセッサのマシン命令を含み、過程指向および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/マシン言語を用いてこれらの計算プログラムを実施することができる。本発明で使用されるように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、マシン命令および/またはデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、デバイス、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、編集可能論理デバイス(programmable logic device、PLD)を意味し、機械読み取り可能な信号としてのマシン命令を受信する機械可読媒体を含む。「機械読み取り可能な信号」という用語は、マシン命令および/またはデータをプログラマブルプロセッサに提供するための任意の信号を意味する。
【0110】
ユーザとのイントラクションを提供するために、本発明で説明されているシステムや技術は、コンピュータ上で実施されてもよく、また、ユーザに情報を表示するための表示装置(例えば、CRT(Cathode Ray Tube、ブラウン管)またはLCD(液晶ディスプレイ)モニタ)と、入力をコンピュータに提供するためのキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを備えてもよい。他の種類の装置も、ユーザとのイントラクションを提供するために使用され得る。例えば、ユーザに提供されたフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、いかなる形式(音響入力、音声入力、または触覚入力を含む)で受信されてもよい。
【0111】
本発明で説明されているシステムおよび技術は、バックグラウンド構成要素を含む計算システム(例えば、データサーバとして)、または中間部構成要素を含む計算システム(例えば、アプリケーションサーバ)、または、フロントエンド構成要素を含む計算システム(例えば、グラフィカルユーザインタフェースまたはネットワークブラウザを備えたユーザコンピュータであって、ユーザがこのグラフィカルユーザインタフェースまたはネットワークブラウザを介して本発明で説明されたシステムおよび技術に係る実施形態とインタラクションを行うことができるユーザコンピュータ)に実行されてもよく、または、このようなバックグラウンド構成要素、中間部構成要素、またはフロントエンド構成要素の任意の組合せを含む計算システムにおいて実行されてもよい。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されてもよい。通信ネットワークの例えとして、ローカルネットワーク(Local Area Network,LAN)、広域ネットワーク(Wide Area Network,WAN)およびインターネットを含む。
【0112】
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは一般的に相互に離れており、通信ネットワークを介してインタラクションを行う。クライアントとサーバとの関係を持つコンピュータプログラムがそれぞれのコンピュータ上で実行されることによって、クライアントとサーバとの関係は構築される。
【0113】
本発明の技術方案に基づくと、ローカルノードのローカルアカウントの鍵を導入することにより、ブロック生成権の競争を行い、マイニングプールの管理者が、マイニングプールにおける他のノードとローカルノードのローカルアカウントの鍵を共有しない状況で、他のノードが、マイニングプールの管理者がブロック生成権の競争を行うのを手助け出来ないようにし、マイニングプールの管理者がローカルアカウントの鍵を他のノードに共有したとき、マイニングプールの管理者自身のアカウントの安全が脅かされる。したがって、本発明は、ブロック生成権を競争する過程において、ローカルアカウントの鍵を導入することにより、複数のノードが同一のノードになりすましてブロック生成権を競争することを防止することができ、ブロックチェーンネットワークの非中央集権の程度を高め、さらにブロックチェーンネットワークの安定性と安全性とを高める。
【0114】
上記の様々な態様のフローを使用して、ステップを新たに順序付け、追加、または削除することが可能であることを理解すべきである。例えば、本発明で記載された各ステップは、並列に実行しても良いし、順次に実行しても良いし、異なる順序で実行しても良い。本発明で開示された技術案が所望する結果を実現することができる限り、本発明ではこれに限定されない。
【0115】
上記具体的な実施形態は、本発明の保護範囲に対する限定を構成するものではない。当業者は、設計事項やその他の要因によって、様々な修正、組み合わせ、サブ組み合わせ、および代替が可能であることを理解するべきである。本発明の要旨および原則内における変更、均等な置換および改善等は、いずれも本発明の保護範囲に含まれるべきである。
【符号の説明】
【0116】
400 ブロックチェーン実行装置
401 ブロックヘッダ署名取得モジュール
402 ブロック生成権競争モジュール
501 プロセッサ
502 メモリ