(57)【要約】【課題】本発明は、コンピュータ資源の無駄遣いを防止するネットワークを介して互いに通信するノードの資源運営方法と、コンピュータ装置とを提供する。【解決手段】本発明のネットワークを介して互いに通信する複数のノードの何れか１つで資源を運営する方法は、マイニングプログラムを介して問題を受信し作業証明を行うステップと、トランザクションを生成し複数のノードに伝送するステップと、複数のノードからトランザクション、およびブロックハッシュ値を受信するステップと、作業証明の実行を中断しブロックハッシュ値を用いて生成または受信したトランザクションに対する有効性を検査し、認証されるとブロックを生成するステップと、マイニングプログラムを介して行った作業証明に相当する報酬を受信するステップと、ブロックをブロックチェーンに接続させるステップとを含む。【選択図】  図３
2019106180.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信する複数のノードのいずれか１つで資源を運営する方法において、
マイニング（ｍｉｎｉｎｇ）プログラムを介して問題を受信して作業証明を行うステップと、
トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を生成して前記複数のノードに伝送するステップと、
前記複数のノードからトランザクション、およびブロックハッシュ（ｂｌｏｃｋ  ｈａｓｈ）値を受信するステップと、
前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成するステップと、
前記マイニングプログラムを介して前記行った作業証明に相当する報酬（ｒｅｗａｒｄ）を受信するステップと、
前記ブロックをブロックチェーンに接続させるステップとを含む方法。
【請求項２】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、
前記マイニングプログラムを介してマシンラーニング（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）に相当する問題を解決するためにマシンラーニングを行うステップを含む、請求項１に記載の方法。
【請求項４】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、
前記作業証明の実行を中断するまで行った作業証明作業量に比例して報酬を受信するステップを含む、請求項１に記載の方法。
【請求項５】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、
前記作業証明の実行を中断するまで行った作業証明作業量が予め定められた最小作業量より大きい場合、報酬を受信するステップを含む、請求項１に記載の方法。
【請求項６】
前記最小作業量は、前記複数のノードのうち最も先にブロックハッシュ値を生成したノードが行った作業証明作業量の１／２である、請求項５に記載の方法。
【請求項７】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、
前記マイニングプログラムを介して前記行った作業証明に相当する暗号化通貨を受信するステップを含む、請求項１に記載の方法。
【請求項８】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、
前ブロックを生成した後、マイニングプログラムを介して問題を受信して作業証明を行うステップを含む、請求項１に記載の方法。
【請求項９】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、
一定時間間隔でマイニングプログラムを介して問題を受信して作業証明を行うステップを含む、請求項１に記載の方法。
【請求項１０】
ネットワークを介して互いに通信する複数のノードのいずれか１つで資源を運営する方法において、
マイニング（ｍｉｎｉｎｇ）プログラムを介してマシンラーニング（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）に相当する問題を解決するためにマシンラーニングを行うステップと、
トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を生成して前記複数のノードに伝送するステップと、
前記複数のノードからトランザクションを受信するステップと、
ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成するステップと、
前記ブロックハッシュ値を前記複数のノードに伝送するステップと、
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬（ｒｅｗａｒｄ）を受信するステップと、
前記ブロックをブロックチェーンに接続させるステップとを含む方法。
【請求項１１】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬を受信するステップは、
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する暗号化通貨を受信するステップを含む、請求項１０に記載の方法。
【請求項１３】
ネットワークを介して互いに通信する複数のノードのいずれか１つとして動作するコンピュータ装置において、
前記ネットワークと通信する通信機と、
前記通信機と接続される少なくとも１つのプロセッサとを含み、
前記少なくとも１つのプロセッサは、
マイニングプログラムを介して問題を受信して作業証明を行い、
トランザクションを生成して前記複数のノードに伝送し、
前記複数のノードからトランザクション、ブロックハッシュ値を受信し、
前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成し、
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信し、
前記ブロックをブロックチェーンに接続するように構成されるコンピュータ装置。
【請求項１４】
前記問題は、マシンラーニングに相当する問題を含み、
前記作業証明は、マシンラーニングを含む、請求項１３に記載のコンピュータ装置。
【請求項１５】
前記行った作業証明に相当する報酬は、暗号化通貨を含む、請求項１３に記載のコンピュータ装置。
【請求項１６】
ネットワークを介して互いに通信する複数のノードのいずれか１つとして動作するコンピュータ装置において、
前記ネットワークと通信する通信機と、
前記通信機と接続される少なくとも１つのプロセッサとを含み、
前記少なくとも１つのプロセッサは、
マイニングプログラムを介してマシンラーニングに相当する問題を解決するためにマシンラーニングを行い、
トランザクションを生成して前記複数のノードに伝送し、
前記複数のノードからトランザクションを受信し、
ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成し、
前記ブロックハッシュ値を前記複数のノードに伝送し、
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬（ｒｅｗａｒｄ）を受信し、
前記ブロックをブロックチェーンに接続するように構成されるコンピュータ装置。
【請求項１７】
前記行ったマシンラーニングに相当する報酬は、暗号化通貨を含む、請求項１６に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置に関し、より具体的には、ネットワークを介して互いに通信する複数のノードのいずれか１つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか１つとして動作するコンピュータ装置に関する。
【背景技術】
【０００２】
ブロックチェーンは、多数の参加者にデータを共有してデータの偽造を防止する方式を使用する。ブロックチェーンは、代表的なオンライン仮想通貨であるビットコイン（登録商標）に適用可能である。ビットコインは誰でも閲覧可能な帳簿に取引内訳を記録し、ビットコインを使用する多数の参加者が定められた時間間隔で取引内訳を検証してハッキングを防止する。すなわち、ブロックチェーンは、すべてのネットワーク参加者が取引内訳を共有および保管する分散型（ｄｅｃｅｎｔｒａｌｉｚｅｄ）構造を含む。２００８年に公開されたサトシ・ナカモト（Ｓａｔｏｓｈｉ  Ｎａｋａｍｏｔｏ）の論文「ビットコイン：ピア・ツー・ピア電子通貨システム（Ｂｉｔｃｏｉｎ：Ａ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｅｌｅｃｔｒｏｎｉｃ  Ｃａｓｈ  Ｓｙｓｔｅｍ）」には、中央の金融機関が介入しないＰ２Ｐ方式の電子通貨が提示されており、暗号学的関数（ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｆｕｎｃｔｉｏｎ）を利用した通貨の二重支払い（ｄｏｕｂｌｅ  ｓｐｅｎｄｉｎｇ）問題を解決し、これに参加する分散化されたノードがマイニング（ｍｉｎｉｎｇ）過程によりインセンティブを受ける方式が提示されている。
【０００３】
ブロックチェーンを作る時、作業証明（Ｐｒｏｏｆ  Ｏｆ  Ｗｏｒｋ）に従うブロックチェーンは、マイニング（Ｍｉｎｉｎｇ）によりトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）とトランザクションの集合であるブロック（Ｂｌｏｃｋ）を検証し承認する。参加者、すなわちノードは、ネットワークにコンピュータ資源を提供し無数のコンピュータパワーで問題を解いてこそ、ブロックを生成できる権限がある。
【０００４】
すなわち、作業証明方式は、高性能のコンピュータを用いて最も早く承認されたマイナーが報酬を受けられる。結局、より高性能のグラフィックカードと電気料金が投入されてこそ、他のマイナーに追いつけて、より多いコインを得ることができる構造である。そして、このようなシステムが過度な電気料金とともにマイナー間の競争を激化させており、エネルギーの無駄遣いと環境問題まで取り上げられている。
【０００５】
上記記載の内容は単に本発明の技術的思想に対する背景技術の理解を助けるためのものであり、したがって、それは本発明の技術分野における当業者に知られた先行技術に該当する内容と理解されない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、作業証明方式のブロックチェーンのマイニング過程で用いられるコンピューティングパワーをマシンラーニングに用い、これを補償してコンピュータ資源の無駄遣いを防止するネットワークを介して互いに通信するノードそれぞれの資源運営方法、そしてそれらノードのいずれか１つとして動作するコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか１つで資源を運営する方法は、マイニング（ｍｉｎｉｎｇ）プログラムを介して問題を受信して作業証明を行うステップと、トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を生成して前記複数のノードに伝送するステップと、前記複数のノードからトランザクション、およびブロックハッシュ（ｂｌｏｃｋ  ｈａｓｈ）値を受信するステップと、前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成するステップと、前記マイニングプログラムを介して前記行った作業証明に相当する報酬（ｒｅｗａｒｄ）を受信するステップと、前記ブロックをブロックチェーンに接続させるステップとを含む。
【０００８】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含んでもよい。
【０００９】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、前記マイニングプログラムを介してマシンラーニング（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）に相当する問題を解決するためにマシンラーニングを行うステップを含んでもよい。
【００１０】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、前記作業証明の実行を中断するまで行った作業証明作業量に比例して報酬を受信するステップを含んでもよい。
【００１１】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、前記作業証明の実行を中断するまで行った作業証明作業量が予め定められた最小作業量より大きい場合、報酬を受信するステップを含んでもよい。
【００１２】
前記最小作業量は、前記複数のノードのうち最も先にブロックハッシュ値を生成したノードが行った作業証明作業量の１／２であってもよい。
【００１３】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、前記マイニングプログラムを介して前記行った作業証明に相当する暗号化通貨を受信するステップを含んでもよい。
【００１４】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、前ブロックを生成した後、マイニングプログラムを介して問題を受信して作業証明を行うステップを含んでもよい。
【００１５】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、一定時間間隔でマイニングプログラムを介して問題を受信して作業証明を行うステップを含んでもよい。
【００１６】
本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか１つで資源を運営する方法は、マイニング（ｍｉｎｉｎｇ）プログラムを介してマシンラーニング（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）に相当する問題を解決するためにマシンラーニングを行うステップと、トランザクション（ｔｒａｎｓａｃｔｉｏｎ）を生成して前記複数のノードに伝送するステップと、前記複数のノードからトランザクションを受信するステップと、ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成するステップと、前記ブロックハッシュ値を前記複数のノードに伝送するステップと、前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬（ｒｅｗａｒｄ）を受信するステップと、前記ブロックをブロックチェーンに接続させるステップとを含む。
【００１７】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含んでもよい。
【００１８】
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬を受信するステップは、前記マイニングプログラムを介して前記行ったマシンラーニングに相当する暗号化通貨を受信するステップを含んでもよい。
【００１９】
本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか１つとして動作するコンピュータ装置は、前記ネットワークと通信する通信機と、前記通信機と接続される少なくとも１つのプロセッサとを含み、前記少なくとも１つのプロセッサは、マイニングプログラムを介して問題を受信して作業証明を行い、トランザクションを生成して前記複数のノードに伝送し、前記複数のノードからトランザクション、ブロックハッシュ値を受信し、前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成し、前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信し、前記ブロックをブロックチェーンに接続するように構成されてもよい。
【００２０】
前記問題は、マシンラーニングに相当する問題を含み、前記作業証明は、マシンラーニングを含んでもよい。
【００２１】
前記行った作業証明に相当する報酬は、暗号化通貨を含んでもよい。
【００２２】
本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか１つとして動作するコンピュータ装置は、前記ネットワークと通信する通信機と、前記通信機と接続される少なくとも１つのプロセッサとを含み、前記少なくとも１つのプロセッサは、マイニングプログラムを介してマシンラーニングに相当する問題を解決するためにマシンラーニングを行い、トランザクションを生成して前記複数のノードに伝送し、前記複数のノードからトランザクションを受信し、ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成し、前記ブロックハッシュ値を前記複数のノードに伝送し、前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬（ｒｅｗａｒｄ）を受信し、前記ブロックをブロックチェーンに接続するように構成される。
【００２３】
前記行ったマシンラーニングに相当する報酬は、暗号化通貨を含んでもよい。
【発明の効果】
【００２４】
このような本発明の実施形態に係るネットワークを介して互いに通信するノードそれぞれの資源運営方法、そして、それらノードのいずれか１つとして動作するコンピュータ装置によれば、作業証明方式のブロックチェーンのマイニング過程で用いられるコンピューティングパワーをマシンラーニングに用い、これを補償してコンピュータ資源の無駄遣いを防止することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態が適用可能なブロックチェーンシステムを示すブロック図である。
【図２】本発明の実施形態に係るブロックチェーンを示す概念図である。
【図３】図２のブロックチェーンのデータブロックの一部をより具体的に示す概念図である。
【図４】本発明の実施形態に係る複数のノードのいずれか１つでブロックチェーンをアップデートする方法を示すフロー図である。
【図５】図４のＳ１３０ステップの実施形態を示すフロー図である。
【図６】図１の複数のノードのいずれか１つに適した例示的なコンピュータ装置を示すブロック図である。
【発明を実施するための形態】
【００２６】
上記の背景技術に記載の内容は単に本発明の技術的思想に対する背景技術の理解を助けるためのものである。したがって、それは本発明の技術分野における当業者に知られた先行技術に該当する内容と理解されない。
【００２７】
以下の記述において、説明の目的として、多様な実施形態の理解のために多くの具体的な細部内容が提示される。しかし、多様な実施形態がこのような具体的な細部内容なしにまたは１つ以上の同等な方式で実施できることは明らかである。他の例示において、よく知られた構造と装置は、多様な実施形態を不必要に理解しにくくすることを避けるためにブロック図で表示される。図面にて、構成要素の大きさまたは相対的な大きさは明確な説明のために誇張されることがある。また、同一の参照番号は同一の構成要素を表す。
【００２８】
明細書全体において、ある部分が他の部分と「接続」されているとする時、これは、「直接的に接続」されている場合のみならず、その中間に別の素子を挟んで「間接的に接続」されている場合も含む。明細書全体において、ある部分がある構成要素を「含む」とする時、これは、特に反対の記載がない限り、他の構成要素を除くのではなく、他の構成要素をさらに包含できることを意味する。
【００２９】
図１は、本発明の実施形態が適用可能なブロックチェーンシステム１００を示すブロック図である。
【００３０】
図１を参照すれば、ブロックチェーンシステム１００は、複数のノード１１０〜１７０からなる分散型ネットワーク（ｄｅｃｅｎｔｒａｌｉｚｅｄ  ｎｅｔｗｏｒｋ）システムである。分散型ネットワークを構成するノード１１０〜１７０は、コンピュータ、移動端末、専用電子装置など計算能力を有する電子装置である。実施形態として、ノード１１０〜１７０は、ブロックチェーンを配布するソフトウェアを有し、ブロックチェーンのダウンロードを受ける人またはコンピュータであってもよい。
【００３１】
ブロックチェーンシステム１００は、ブロックチェーン（ｂｌｏｃｋ  ｃｈａｉｎ）と呼ばれるデータブロックの接続集合内にすべてのノード１１０〜１７０に共通して知られた情報を格納することができる。複数のノード１１０〜１７０それぞれは、相互間の通信を行って同一のデータブロックを含む同一のブロックチェーンを格納することができる。複数のノード１１０〜１７０は、ブロックチェーンを格納し、新規データブロックを生成および伝播し、受信した新規データブロックを検証し、新規データブロックをブロックチェーンに含ませてブロックチェーンをアップデートするフルノード（ｆｕｌｌ  ｎｏｄｅ）であってもよい。例えば、フルノードは、ブロックチェーン全体を全部格納し、他のノードとの接続により自らの有するブロック情報を他に与えることができるノードである。
【００３２】
前記ノード１１０〜１７０がフルノードと説明されたが、本発明の実施形態はこれに限定されない。複数のノード１１０〜１７０の少なくとも一部は、簡易ノード（ｌｉｇｈｔｗｅｉｇｈｔ  ｎｏｄｅ）であってもよい。例えば、簡易ノードは、ユーザの財布を格納したりするが、ブロックチェーンネットワークにアクセスするためには、第三者が所有するサーバに依存し、ブロックチェーン複製本を格納しない。
【００３３】
複数のノード１１０〜１７０それぞれは、データブロックを生成するたびに生成された新規データブロックを他のノードに共有し、これによって、複数のノード１１０〜１７０は、同一のデータブロックを含む同一のブロックチェーンを格納することができる。新規データブロックを受信したデータブロックは、当該データブロックを検証して新規データブロックをブロックチェーンに含ませるか否かを合意することができる。検証結果に基づき、複数のノード１１０〜１７０は、ブロックチェーンをアップデートすることができる。この方式により、複数のノード１１０〜１７０は、同一のブロックチェーンを格納することができる。
【００３４】
図２は、本発明の実施形態に係るブロックチェーン２００を示す概念図である。
【００３５】
図２を参照すれば、ブロックチェーン２００は、順次に接続されたデータブロック２１０〜２３０を含む。ブロックチェーン２００は、ブロックチェーンシステム１００に含まれた各ノードが新規データブロックを生成し、生成された新規データブロックを共有し、共有されたデータブロックをブロックチェーン２００にリンクすることにより生成される。図２には、３つのデータブロック２１０〜２３０が例示的に示されているが、ブロックチェーン２００に含まれるデータブロックの数はこれに制限されない。
【００３６】
データブロック２１０〜２３０それぞれは、ブロックヘッダＢＨとブロックボディＢＢとを含む。ブロックヘッダＢＨには、前ブロックヘッダＢＨのハッシュ値が入っていて、一種のチェーンのようにリンクドリスト方式ですべてのブロックが接続されており、合意アルゴリズムに用いる任意のノンス（ｎｏｎｃｅ）値とブロック生成の難易度を調整する難易度目標（ｎＢｉｔｓ）値などが含まれていてもよい。ブロックヘッダＢＨは、データブロック間の接続関係を示すために、前データブロックのハッシュ値を含むことができる。例えば、第Ｎ−１データブロック２２０のブロックヘッダＢＨは、前データブロック２１０のブロックヘッダＢＨに含まれたハッシュ値を含む。ブロックチェーン２００が有効であるかを検証する過程で、ブロックヘッダＢＨ内に含まれたハッシュ値が用いられる。ブロックボディＢＢには、支援するサービスに応じて異なる値が入ることができる。例えば、デジタル暗号通貨システムであるビットコインでは、１０分間発生したユーザ間の取引がブロックボディＢＢに含まれる。
【００３７】
図３は、図２のブロックチェーン２００のデータブロックの一部をより具体的に示す概念図である。
【００３８】
図２および図３を参照すれば、各データブロックのブロックヘッダＢＨは、前データブロックのハッシュ値２２１、２３１と、現データブロックのハッシュ値２２２、２３２と、ボディのハッシュ値２２３、２３３とを含むことができる。
【００３９】
データブロック２１０〜２３０は、ハッシュ値に基づいて接続される。第Ｎデータブロック２３０のブロックヘッダＢＨに含まれた前データブロックのハッシュ値は、前データブロックである第Ｎ−１データブロック２２０のブロックヘッダＢＨに含まれた現データブロックのハッシュ値と同一の値である。このように、各データブロックは、ブロックヘッダＢＨ内に前データブロックのハッシュ値を含むことにより連鎖的に接続される。ブロックチェーンシステム１００に参加するノード１１０〜１７０は、データブロック２１０〜２３０それぞれに含まれた前データブロックのハッシュ値に基づいてデータブロック２１０〜２３０の有効性を検証することができる。これによって、すでに生成されてブロックチェーン２００に含まれているデータブロックの内容を偽造または変造することは極めて困難である。
【００４０】
ブロックヘッダＢＨのボディのハッシュ値２２３、２３３は、当該ブロックボディＢＢのヘッダを示すことができる。
【００４１】
ブロックヘッダＢＨは、追加データ２２４、２３４フィールドをさらに含んでもよい。例えば、追加データ２２４、２３４は、当該データブロックが生成された時点を示すタイムスタンプを含むことができる。
【００４２】
ブロックボディＢＢは、トランザクションに関する情報を含む。複数のノード１１０〜１７０は、同一のデータブロック２１０〜２３０を格納している。複数のノード１１０〜１７０のうち任意のノード（例えば、１１０）に格納されたデータブロック２１０〜２３０が偽造または変造されるとしても、当該ノードに格納されたデータブロック２１０〜２３０は、他のノードのデータブロック２１０〜２３０と異なるので、偽造または変造は容易に判別できる。これによって、データブロック２１０〜２３０のブロックボディＢＢ内のトランザクションに関する情報は任意に変更されにくく、そのため、相対的に高い信頼性を有する。
【００４３】
もし、特定の管理者によって管理される中央サーバにトランザクションに関する情報が格納されるならば、当該管理者の必要に応じて任意にまたはハッキングによってトランザクションに対応する情報が操作されることがある。反面、本発明の実施形態によれば、ブロックチェーン２００にトランザクションに関する情報を格納することによりその情報が複数のノード１１０〜１７０によって共有され、したがって、誰かによってトランザクションに対応する情報が恣意的に変更される可能性は減少できる。さらに、先に説明されたように、複数のノード１１０〜１７０それぞれは、データブロック２１０〜２３０それぞれに含まれた前データブロックのハッシュ値に基づいて各データブロックの有効性を検証できるため、誰かによってすでに生成されたデータブロックの内容、すなわちブロックボディＢＢ内のトランザクションに関する情報が偽造または変造されることは困難である。これによって、ブロックチェーン２００に格納された情報は高い信頼性を有することができる。
【００４４】
図４は、本発明の実施形態に係る複数のノードのいずれか１つでブロックチェーンをアップデートする方法を示すフロー図である。
【００４５】
図４を参照すれば、Ｓ１１０ステップで、マイニングプログラムを介してマイニングのための問題を受信する。実施形態として、マイニングのための問題は、マシンラーニングを必要とする問題であってもよく、当該ノードでは、特定マシンラーニングのための入力データを受信することができる。マシンラーニングは、人工知能（ＡＩ）のアクセス方式の一つで複雑なアルゴリズムを用いて大量のデータを分析してそのうちパターンを認識し、それに基づいて予測をすることでディープラーニングを含むことができる。本発明の他の実施形態によれば、マイニングのための問題は、当該ノードにおけるコンピューティングパワー、すなわちプロセスパワーを提供して解決する問題であってもよい。例えば、多数の目標物に対する同時交戦能力と武器管制、弾道計算などのための軍事分野、地球科学、生物学、化学、物理学などの科学演算分野、地球科学、物理学、数学などすべての分野を網羅した微分方程式の計算が必要な天気予測分野、および株価予測分野などスーパコンピュータが必要な分野の問題がマイニングのための問題として受信される。
【００４６】
本発明の実施形態によれば、当該ノードは、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納しているフルノードであってもよい。
【００４７】
Ｓ１２０ステップで、受信した問題を解決するために作業証明を行う。一実施形態として、作業証明は、マシンラーニングであってもよい。例えば、当該ノードで音声認識（人工知能仮想秘書など）、顔認識（ＳＮＳで多く用いられているフィルタ機能など）、あるいは物体認識（リンゴやオレンジのような物体のイメージで検索する機能など）のような人工知能（ＡＩ）技術のために、多様な音声、顔面、物体の経験的データに基づいて学習をし、予測を行い自らの性能を向上させるマシンラーニングが行われる。本発明の他の実施形態によれば、作業証明は、当該ノードにおけるコンピューティングパワー、すなわちプロセスパワーを提供して、軍事分野、科学演算分野、天気予測分野および株価予測分野の問題に対する演算または計算を行うものであってもよい。
【００４８】
当該ノードでは、作業証明を行うと同時に、トランザクションを生成して他のノードに伝送する。実施形態として、当該ノードで生成されたトランザクションが一定以上蓄積されると、そのトランザクション情報を他のノードに伝送してトランザクション情報を共有することができる。同じく、他のノードで生成されたトランザクションも当該ノードに受信される。
【００４９】
当該ノードで作業証明に成功すると、ブロックハッシュ値を生成する。本発明の実施形態によれば、当該ノードでない他のノードのうちの１つで作業証明に成功する場合、作業証明成功ノードからブロックハッシュ値を受信する。Ｓ１３０ステップで、当該ノードでは、有効性検証アルゴリズムを用いてトランザクションとブロックハッシュ値に対して有効性を判断した後、有効性検証が完了するトランザクションとブロックハッシュ値を用いてブロックを生成する。
【００５０】
Ｓ１４０ステップで、マイニングプログラムを介して当該ノードで行った作業証明に相当する報酬を受信する。本発明の実施形態によれば、当該ノードで最も先に作業証明に成功したかにかかわらず当該ノードで行った作業証明作業量に対して報酬を受けることができる。報酬は、暗号化通貨であってもよく、ビットコイン、イーサリウム、ライトコイン、リップル、ＡＣＯＩＮ、ダッシュ、ボスコインのうちの少なくともいずれか１つであってもよい。
【００５１】
Ｓ１５０ステップで、ブロックチェーンに生成されたブロックを接続させて、ブロックチェーンがアップデートされる。本発明の実施形態によれば、マイニングプログラムを介して問題を受信するＳ１１０ステップは、前ブロックを生成した後、または一定時間間隔で行われる。例えば、ビットコインの場合、現在１０分間隔で問題を受信する。
【００５２】
図５は、図４のＳ１３０ステップの実施形態を示すフロー図である。
【００５３】
図５を参照すれば、Ｓ１３１ステップで、他のノードからブロックハッシュ値を受信したか否かが判別される。すなわち、当該ノードでない他のノードのうちの１つで作業証明に成功したか否かが判別される。もしそうであれば、Ｓ１３３ステップで、最も先に作業証明に成功した作業証明成功ノードからブロックハッシュ値を受信し、有効性検証アルゴリズムを用いてトランザクションとブロックハッシュ値に対して有効性を検証する。この後、Ｓ１３４ステップで、トランザクションとブロックハッシュ値を用いてブロックを生成する。
【００５４】
Ｓ１３１ステップでそうでなければ、Ｓ１３２ステップで、ブロックハッシュ値を生成したか否かが判別される。すなわち、当該ノードで最も先に作業証明に成功したか否かが判別される。もしそうであれば、Ｓ１３４ステップで、トランザクションとブロックハッシュ値を用いてブロックを生成する。
【００５５】
Ｓ１３２ステップでそうでなければ、これは、どのノードでも作業証明に成功できなかった状態であるので、再度、Ｓ１３１ステップに戻る。
【００５６】
図４で説明したように、Ｓ１３４ステップでブロックが生成されると、マイニングプログラムを介して当該ノードで行った作業証明に相当する報酬を受信する。本発明の実施形態によれば、当該ノードでない他のノードで作業証明に最も先に成功しても、当該ノードで行った作業証明作業量に対して報酬を受けることができる。例えば、報酬は、作業証明の実行を中断するまで行った作業証明作業量に比例して受信される。実施形態として、作業証明に成功したノードでないノードが多数でありうるため、報酬は、作業証明作業量が予め定められた最小作業量より大きいノードにのみ受信される。この時、最小作業量は、作業証明成功ノードの作業量の１／２であってもよい。報酬は、暗号化通貨であってもよく、ビットコイン、イーサリウム、ライトコイン、リップル、ＡＣＯＩＮ、ダッシュ、ボスコインのうちの少なくともいずれか１つであってもよい。
【００５７】
図６は、図１の複数のノードのいずれか１つに適した例示的なコンピュータ装置を示すブロック図である。
【００５８】
図６を参照すれば、コンピュータ装置６００は、プロセッサ６１０と、メモリ６２０と、データベース６３０と、通信機６４０とを含む。
【００５９】
メモリ６２０は、プロセッサ６１０によって実行される時、多様な機能を提供するプログラムコードを格納することができる。コンピュータ装置６００が複数のノード１１０〜１７０のいずれか１つに採用される時、それらプログラムコードは、プロセッサ６１０によって実行される時、図３と図４を参照して説明された動作および／または機能を提供することができる。その他にも、プログラムコードは、プロセッサ６１０によって実行される時、１つまたはそれ以上の追加的な動作および／または機能を提供することができる。このようなプログラムコードは、ドライブメカニズムを用いて、メモリ６２０とは別途のコンピュータによって読取可能な記録媒体からローディングされる。このような別途のコンピュータによって読取可能な記録媒体は、フロッピィーディスクドライブ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、ハードディスクドライブ、メモリカードなど多様な記憶媒体のうちの少なくとも１つを含むことができる。あるいは、プログラムコードは、外部装置から通信機６４０を介してメモリ６２０にローディングされてもよい。
【００６０】
データベース６３０は、図２を参照して説明されたブロックチェーンを格納することができる。プロセッサ６１０は、データベース６３０と通信してブロックチェーンを格納およびアップデートし、ブロックチェーンに格納された情報を読み込み、読み込まれた情報を処理することができる。図６で、データベース６３０は、コンピュータ装置６００の構成要素として示されている。しかし、本発明の実施形態はこれに限定されない。例えば、データベース６３０は、コンピュータ装置６００の外部の構成要素であってもよく、コンピュータ装置６００は、通信機６４０を介してデータベース６３０と通信することができる。
【００６１】
通信機６４０は、ネットワークと通信するように構成される。通信機６４０は、ネットワークを介して図１に示された複数のノード１１０〜１７０の少なくとも１つと通信することができる。
【００６２】
上述のような本発明の実施形態によれば、本発明の一実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか１つで資源を運営する方法およびコンピュータ装置は、作業証明方式のブロックチェーンのマイニング過程で用いられるコンピューティングパワーをマシンラーニングに用い、これを補償してコンピュータ資源の無駄遣いを防止することができる。
【００６３】
以上、本発明では、具体的な構成要素などのような特定事項と限定された実施形態および図面によって説明されたが、これは本発明のより全般的な理解のために提供されたものに過ぎず、本発明は上記の実施形態に限定されるものではなく、本発明の属する分野における通常の知識を有する者であればこのような記載から多様な修正および変形が可能である。
【００６４】
したがって、本発明の思想は説明された実施形態に限って定められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等または等価的変形があるすべてのものは本発明の思想の範疇に属するというべきである。
【図１】
2019106180.tif 000003
【図２】
2019106180.tif 000004
【図３】
2019106180.tif 000005
【図４】
2019106180.tif 000006
【図５】
2019106180.tif 000007
【図６】
2019106180.tif 000008