特許第6689946号(P6689946)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ エヌエイチエヌ エンターテインメント コーポレーションの特許一覧

特許6689946ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置
<>
  • 特許6689946-ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 図000002
  • 特許6689946-ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 図000003
  • 特許6689946-ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 図000004
  • 特許6689946-ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 図000005
  • 特許6689946-ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 図000006
  • 特許6689946-ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6689946
(24)【登録日】2020年4月10日
(45)【発行日】2020年4月28日
(54)【発明の名称】ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置
(51)【国際特許分類】
   G06Q 20/38 20120101AFI20200421BHJP
   G06Q 20/06 20120101ALI20200421BHJP
【FI】
   G06Q20/38 310
   G06Q20/06
【請求項の数】17
【全頁数】14
(21)【出願番号】特願2018-228315(P2018-228315)
(22)【出願日】2018年12月5日
(65)【公開番号】特開2019-106180(P2019-106180A)
(43)【公開日】2019年6月27日
【審査請求日】2018年12月5日
(31)【優先権主張番号】10-2017-0170721
(32)【優先日】2017年12月12日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】313011434
【氏名又は名称】エヌエイチエヌ コーポレーション
(74)【代理人】
【識別番号】110000408
【氏名又は名称】特許業務法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】チョ ヨンジュン
【審査官】 鈴木 和樹
(56)【参考文献】
【文献】 米国特許出願公開第2017/0103458(US,A1)
【文献】 米国特許出願公開第2017/0285720(US,A1)
【文献】 米国特許出願公開第2017/0005804(US,A1)
【文献】 韓国公開特許第10−2017−0040079(KR,A)
【文献】 韓国公開特許第10−2011−0124088(KR,A)
【文献】 中山和也、ほか5名,計算資源の有効利用を目的としたブロックチェーンシステムの提案と設計,情報処理学会 研究報告 コンピュータセキュリティ(CSEC) 2017−CSEC−079[online],日本,情報処理学会,2017年11月27日,第2017−CSEC−79巻,第6号,p.1−7
【文献】 The Golem Project Crowdfunding Whitepaper,米国,2016年11月,final version,p.1−28,[検索日:令和元年10月28日],URL,https://golem.network/crowdfunding/Golemwhitepaper.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法において、
マイニング(mining)プログラムを介して問題を受信して作業証明を行うステップと、
トランザクション(transaction)を生成して前記複数のノードに伝送するステップと、
前記複数のノードからトランザクション、およびブロックハッシュ(block hash)値を受信するステップと、
前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成するステップと、
前記マイニングプログラムを介して前記行った作業証明に相当する報酬(reward)を受信するステップと、
前記ブロックをブロックチェーンに接続させるステップとを含む方法。
【請求項2】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、
前記マイニングプログラムを介してマシンラーニング(machine learning)に相当する問題を解決するためにマシンラーニングを行うステップを含む、請求項1に記載の方法。
【請求項4】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、
前記作業証明の実行を中断するまで行った作業証明作業量に比例して報酬を受信するステップを含む、請求項1に記載の方法。
【請求項5】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、
前記作業証明の実行を中断するまで行った作業証明作業量が予め定められた最小作業量より大きい場合、報酬を受信するステップを含む、請求項1に記載の方法。
【請求項6】
前記最小作業量は、前記複数のノードのうち最も先にブロックハッシュ値を生成したノードが行った作業証明作業量の1/2である、請求項5に記載の方法。
【請求項7】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、
前記マイニングプログラムを介して前記行った作業証明に相当する暗号化通貨を受信するステップを含む、請求項1に記載の方法。
【請求項8】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、
前記ブロックを生成した後、マイニングプログラムを介して問題を受信して作業証明を行うステップを含む、請求項1に記載の方法。
【請求項9】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、
一定時間間隔でマイニングプログラムを介して問題を受信して作業証明を行うステップを含む、請求項1に記載の方法。
【請求項10】
ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法において、
マイニング(mining)プログラムを介してマシンラーニング(machine learning)に相当する問題を解決するためにマシンラーニングを行うステップと、トランザクション(transaction)を生成して前記複数のノードに伝送するステップと、
前記複数のノードからトランザクションを受信するステップと、
ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成するステップと、
前記ブロックハッシュ値を前記複数のノードに伝送するステップと、
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬(reward)を受信するステップと、
前記ブロックをブロックチェーンに接続させるステップとを含む方法。
【請求項11】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬を受信するステップは、
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する暗号化通貨を受信するステップを含む、請求項10に記載の方法。
【請求項13】
ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置において、
前記ネットワークと通信する通信機と、
前記通信機と接続される少なくとも1つのプロセッサとを含み、
前記少なくとも1つのプロセッサは、
マイニングプログラムを介して問題を受信して作業証明を行い、
トランザクションを生成して前記複数のノードに伝送し、
前記複数のノードからトランザクション、ブロックハッシュ値を受信し、
前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成し、
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信し、
前記ブロックをブロックチェーンに接続するように構成されるコンピュータ装置。
【請求項14】
前記問題は、マシンラーニングに相当する問題を含み、
前記作業証明は、マシンラーニングを含む、請求項13に記載のコンピュータ装置。
【請求項15】
前記行った作業証明に相当する報酬は、暗号化通貨を含む、請求項13に記載のコンピュータ装置。
【請求項16】
ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置において、
前記ネットワークと通信する通信機と、
前記通信機と接続される少なくとも1つのプロセッサとを含み、
前記少なくとも1つのプロセッサは、
マイニングプログラムを介してマシンラーニングに相当する問題を解決するためにマシンラーニングを行い、
トランザクションを生成して前記複数のノードに伝送し、
前記複数のノードからトランザクションを受信し、
ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成し、
前記ブロックハッシュ値を前記複数のノードに伝送し、
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬(reward)を受信し、
前記ブロックをブロックチェーンに接続するように構成されるコンピュータ装置。
【請求項17】
前記行ったマシンラーニングに相当する報酬は、暗号化通貨を含む、請求項16に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子装置に関し、より具体的には、ネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法、および、ネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置に関する。
【背景技術】
【0002】
ブロックチェーンは、多数の参加者にデータを共有してデータの偽造を防止する方式を使用する。ブロックチェーンは、代表的なオンライン仮想通貨であるビットコイン(登録商標)に適用可能である。ビットコインは誰でも閲覧可能な帳簿に取引内訳を記録し、ビットコインを使用する多数の参加者が定められた時間間隔で取引内訳を検証してハッキングを防止する。すなわち、ブロックチェーンは、すべてのネットワーク参加者が取引内訳を共有および保管する分散型(decentralized)構造を含む。2008年に公開されたサトシ・ナカモト(Satoshi Nakamoto)の論文「ビットコイン:ピア・ツー・ピア電子通貨システム(Bitcoin:A Peer−to−Peer Electronic Cash System)」には、中央の金融機関が介入しないP2P方式の電子通貨が提示されており、暗号学的関数(cryptographic function)を利用した通貨の二重支払い(double spending)問題を解決し、これに参加する分散化されたノードがマイニング(mining)過程によりインセンティブを受ける方式が提示されている。
【0003】
ブロックチェーンを作る時、作業証明(Proof Of Work)に従うブロックチェーンは、マイニング(Mining)によりトランザクション(Transaction)とトランザクションの集合であるブロック(Block)を検証し承認する。参加者、すなわちノードは、ネットワークにコンピュータ資源を提供し無数のコンピュータパワーで問題を解いてこそ、ブロックを生成できる権限がある。
【0004】
すなわち、作業証明方式は、高性能のコンピュータを用いて最も早く承認されたマイナーが報酬を受けられる。結局、より高性能のグラフィックカードと電気料金が投入されてこそ、他のマイナーに追いつけて、より多いコインを得ることができる構造である。そして、このようなシステムが過度な電気料金とともにマイナー間の競争を激化させており、エネルギーの無駄遣いと環境問題まで取り上げられている。
【0005】
上記記載の内容は単に本発明の技術的思想に対する背景技術の理解を助けるためのものであり、したがって、それは本発明の技術分野における当業者に知られた先行技術に該当する内容と理解されない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施形態は、作業証明方式のブロックチェーンのマイニング過程で用いられるコンピューティングパワーをマシンラーニングに用い、これを補償してコンピュータ資源の無駄遣いを防止するネットワークを介して互いに通信するノードそれぞれの資源運営方法、そしてそれらノードのいずれか1つとして動作するコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法は、マイニング(mining)プログラムを介して問題を受信して作業証明を行うステップと、トランザクション(transaction)を生成して前記複数のノードに伝送するステップと、前記複数のノードからトランザクション、およびブロックハッシュ(block hash)値を受信するステップと、前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成するステップと、前記マイニングプログラムを介して前記行った作業証明に相当する報酬(reward)を受信するステップと、前記ブロックをブロックチェーンに接続させるステップとを含む。
【0008】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含んでもよい。
【0009】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、前記マイニングプログラムを介してマシンラーニング(machine learning)に相当する問題を解決するためにマシンラーニングを行うステップを含んでもよい。
【0010】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、前記作業証明の実行を中断するまで行った作業証明作業量に比例して報酬を受信するステップを含んでもよい。
【0011】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、前記作業証明の実行を中断するまで行った作業証明作業量が予め定められた最小作業量より大きい場合、報酬を受信するステップを含んでもよい。
【0012】
前記最小作業量は、前記複数のノードのうち最も先にブロックハッシュ値を生成したノードが行った作業証明作業量の1/2であってもよい。
【0013】
前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信するステップは、前記マイニングプログラムを介して前記行った作業証明に相当する暗号化通貨を受信するステップを含んでもよい。
【0014】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、前ブロックを生成した後、マイニングプログラムを介して問題を受信して作業証明を行うステップを含んでもよい。
【0015】
前記マイニングプログラムを介して問題を受信して作業証明を行うステップは、一定時間間隔でマイニングプログラムを介して問題を受信して作業証明を行うステップを含んでもよい。
【0016】
本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法は、マイニング(mining)プログラムを介してマシンラーニング(machine learning)に相当する問題を解決するためにマシンラーニングを行うステップと、トランザクション(transaction)を生成して前記複数のノードに伝送するステップと、前記複数のノードからトランザクションを受信するステップと、ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成するステップと、前記ブロックハッシュ値を前記複数のノードに伝送するステップと、前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬(reward)を受信するステップと、前記ブロックをブロックチェーンに接続させるステップとを含む。
【0017】
前記方法は、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納するステップをさらに含んでもよい。
【0018】
前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬を受信するステップは、前記マイニングプログラムを介して前記行ったマシンラーニングに相当する暗号化通貨を受信するステップを含んでもよい。
【0019】
本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置は、前記ネットワークと通信する通信機と、前記通信機と接続される少なくとも1つのプロセッサとを含み、前記少なくとも1つのプロセッサは、マイニングプログラムを介して問題を受信して作業証明を行い、トランザクションを生成して前記複数のノードに伝送し、前記複数のノードからトランザクション、ブロックハッシュ値を受信し、前記作業証明の実行を中断し、前記ブロックハッシュ値を用いて前記生成または受信したトランザクションに対する有効性を検査して、認証されるとブロックを生成し、前記マイニングプログラムを介して前記行った作業証明に相当する報酬を受信し、前記ブロックをブロックチェーンに接続するように構成されてもよい。
【0020】
前記問題は、マシンラーニングに相当する問題を含み、前記作業証明は、マシンラーニングを含んでもよい。
【0021】
前記行った作業証明に相当する報酬は、暗号化通貨を含んでもよい。
【0022】
本発明の実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか1つとして動作するコンピュータ装置は、前記ネットワークと通信する通信機と、前記通信機と接続される少なくとも1つのプロセッサとを含み、前記少なくとも1つのプロセッサは、マイニングプログラムを介してマシンラーニングに相当する問題を解決するためにマシンラーニングを行い、トランザクションを生成して前記複数のノードに伝送し、前記複数のノードからトランザクションを受信し、ブロックハッシュ値を生成し、これを用いて前記生成または受信したトランザクションの情報に対してブロックを生成し、前記ブロックハッシュ値を前記複数のノードに伝送し、前記マイニングプログラムを介して前記行ったマシンラーニングに相当する報酬(reward)を受信し、前記ブロックをブロックチェーンに接続するように構成される。
【0023】
前記行ったマシンラーニングに相当する報酬は、暗号化通貨を含んでもよい。
【発明の効果】
【0024】
このような本発明の実施形態に係るネットワークを介して互いに通信するノードそれぞれの資源運営方法、そして、それらノードのいずれか1つとして動作するコンピュータ装置によれば、作業証明方式のブロックチェーンのマイニング過程で用いられるコンピューティングパワーをマシンラーニングに用い、これを補償してコンピュータ資源の無駄遣いを防止することができる。
【図面の簡単な説明】
【0025】
図1】本発明の実施形態が適用可能なブロックチェーンシステムを示すブロック図である。
図2】本発明の実施形態に係るブロックチェーンを示す概念図である。
図3図2のブロックチェーンのデータブロックの一部をより具体的に示す概念図である。
図4】本発明の実施形態に係る複数のノードのいずれか1つでブロックチェーンをアップデートする方法を示すフロー図である。
図5図4のS130ステップの実施形態を示すフロー図である。
図6図1の複数のノードのいずれか1つに適した例示的なコンピュータ装置を示すブロック図である。
【発明を実施するための形態】
【0026】
上記の背景技術に記載の内容は単に本発明の技術的思想に対する背景技術の理解を助けるためのものである。したがって、それは本発明の技術分野における当業者に知られた先行技術に該当する内容と理解されない。
【0027】
以下の記述において、説明の目的として、多様な実施形態の理解のために多くの具体的な細部内容が提示される。しかし、多様な実施形態がこのような具体的な細部内容なしにまたは1つ以上の同等な方式で実施できることは明らかである。他の例示において、よく知られた構造と装置は、多様な実施形態を不必要に理解しにくくすることを避けるためにブロック図で表示される。図面にて、構成要素の大きさまたは相対的な大きさは明確な説明のために誇張されることがある。また、同一の参照番号は同一の構成要素を表す。
【0028】
明細書全体において、ある部分が他の部分と「接続」されているとする時、これは、「直接的に接続」されている場合のみならず、その中間に別の素子を挟んで「間接的に接続」されている場合も含む。明細書全体において、ある部分がある構成要素を「含む」とする時、これは、特に反対の記載がない限り、他の構成要素を除くのではなく、他の構成要素をさらに包含できることを意味する。
【0029】
図1は、本発明の実施形態が適用可能なブロックチェーンシステム100を示すブロック図である。
【0030】
図1を参照すれば、ブロックチェーンシステム100は、複数のノード110〜170からなる分散型ネットワーク(decentralized network)システムである。分散型ネットワークを構成するノード110〜170は、コンピュータ、移動端末、専用電子装置など計算能力を有する電子装置である。実施形態として、ノード110〜170は、ブロックチェーンを配布するソフトウェアを有し、ブロックチェーンのダウンロードを受ける人またはコンピュータであってもよい。
【0031】
ブロックチェーンシステム100は、ブロックチェーン(block chain)と呼ばれるデータブロックの接続集合内にすべてのノード110〜170に共通して知られた情報を格納することができる。複数のノード110〜170それぞれは、相互間の通信を行って同一のデータブロックを含む同一のブロックチェーンを格納することができる。複数のノード110〜170は、ブロックチェーンを格納し、新規データブロックを生成および伝播し、受信した新規データブロックを検証し、新規データブロックをブロックチェーンに含ませてブロックチェーンをアップデートするフルノード(full node)であってもよい。例えば、フルノードは、ブロックチェーン全体を全部格納し、他のノードとの接続により自らの有するブロック情報を他に与えることができるノードである。
【0032】
前記ノード110〜170がフルノードと説明されたが、本発明の実施形態はこれに限定されない。複数のノード110〜170の少なくとも一部は、簡易ノード(lightweight node)であってもよい。例えば、簡易ノードは、ユーザの財布を格納したりするが、ブロックチェーンネットワークにアクセスするためには、第三者が所有するサーバに依存し、ブロックチェーン複製本を格納しない。
【0033】
複数のノード110〜170それぞれは、データブロックを生成するたびに生成された新規データブロックを他のノードに共有し、これによって、複数のノード110〜170は、同一のデータブロックを含む同一のブロックチェーンを格納することができる。新規データブロックを受信したデータブロックは、当該データブロックを検証して新規データブロックをブロックチェーンに含ませるか否かを合意することができる。検証結果に基づき、複数のノード110〜170は、ブロックチェーンをアップデートすることができる。この方式により、複数のノード110〜170は、同一のブロックチェーンを格納することができる。
【0034】
図2は、本発明の実施形態に係るブロックチェーン200を示す概念図である。
【0035】
図2を参照すれば、ブロックチェーン200は、順次に接続されたデータブロック210〜230を含む。ブロックチェーン200は、ブロックチェーンシステム100に含まれた各ノードが新規データブロックを生成し、生成された新規データブロックを共有し、共有されたデータブロックをブロックチェーン200にリンクすることにより生成される。図2には、3つのデータブロック210〜230が例示的に示されているが、ブロックチェーン200に含まれるデータブロックの数はこれに制限されない。
【0036】
データブロック210〜230それぞれは、ブロックヘッダBHとブロックボディBBとを含む。ブロックヘッダBHには、前ブロックヘッダBHのハッシュ値が入っていて、一種のチェーンのようにリンクドリスト方式ですべてのブロックが接続されており、合意アルゴリズムに用いる任意のノンス(nonce)値とブロック生成の難易度を調整する難易度目標(nBits)値などが含まれていてもよい。ブロックヘッダBHは、データブロック間の接続関係を示すために、前データブロックのハッシュ値を含むことができる。例えば、第N−1データブロック220のブロックヘッダBHは、前データブロック210のブロックヘッダBHに含まれたハッシュ値を含む。ブロックチェーン200が有効であるかを検証する過程で、ブロックヘッダBH内に含まれたハッシュ値が用いられる。ブロックボディBBには、支援するサービスに応じて異なる値が入ることができる。例えば、デジタル暗号通貨システムであるビットコインでは、10分間発生したユーザ間の取引がブロックボディBBに含まれる。
【0037】
図3は、図2のブロックチェーン200のデータブロックの一部をより具体的に示す概念図である。
【0038】
図2および図3を参照すれば、各データブロックのブロックヘッダBHは、前データブロックのハッシュ値221、231と、現データブロックのハッシュ値222、232と、ボディのハッシュ値223、233とを含むことができる。
【0039】
データブロック210〜230は、ハッシュ値に基づいて接続される。第Nデータブロック230のブロックヘッダBHに含まれた前データブロックのハッシュ値は、前データブロックである第N−1データブロック220のブロックヘッダBHに含まれた現データブロックのハッシュ値と同一の値である。このように、各データブロックは、ブロックヘッダBH内に前データブロックのハッシュ値を含むことにより連鎖的に接続される。ブロックチェーンシステム100に参加するノード110〜170は、データブロック210〜230それぞれに含まれた前データブロックのハッシュ値に基づいてデータブロック210〜230の有効性を検証することができる。これによって、すでに生成されてブロックチェーン200に含まれているデータブロックの内容を偽造または変造することは極めて困難である。
【0040】
ブロックヘッダBHのボディのハッシュ値223、233は、当該ブロックボディBBのヘッダを示すことができる。
【0041】
ブロックヘッダBHは、追加データ224、234フィールドをさらに含んでもよい。例えば、追加データ224、234は、当該データブロックが生成された時点を示すタイムスタンプを含むことができる。
【0042】
ブロックボディBBは、トランザクションに関する情報を含む。複数のノード110〜170は、同一のデータブロック210〜230を格納している。複数のノード110〜170のうち任意のノード(例えば、110)に格納されたデータブロック210〜230が偽造または変造されるとしても、当該ノードに格納されたデータブロック210〜230は、他のノードのデータブロック210〜230と異なるので、偽造または変造は容易に判別できる。これによって、データブロック210〜230のブロックボディBB内のトランザクションに関する情報は任意に変更されにくく、そのため、相対的に高い信頼性を有する。
【0043】
もし、特定の管理者によって管理される中央サーバにトランザクションに関する情報が格納されるならば、当該管理者の必要に応じて任意にまたはハッキングによってトランザクションに対応する情報が操作されることがある。反面、本発明の実施形態によれば、ブロックチェーン200にトランザクションに関する情報を格納することによりその情報が複数のノード110〜170によって共有され、したがって、誰かによってトランザクションに対応する情報が恣意的に変更される可能性は減少できる。さらに、先に説明されたように、複数のノード110〜170それぞれは、データブロック210〜230それぞれに含まれた前データブロックのハッシュ値に基づいて各データブロックの有効性を検証できるため、誰かによってすでに生成されたデータブロックの内容、すなわちブロックボディBB内のトランザクションに関する情報が偽造または変造されることは困難である。これによって、ブロックチェーン200に格納された情報は高い信頼性を有することができる。
【0044】
図4は、本発明の実施形態に係る複数のノードのいずれか1つでブロックチェーンをアップデートする方法を示すフロー図である。
【0045】
図4を参照すれば、S110ステップで、マイニングプログラムを介してマイニングのための問題を受信する。実施形態として、マイニングのための問題は、マシンラーニングを必要とする問題であってもよく、当該ノードでは、特定マシンラーニングのための入力データを受信することができる。マシンラーニングは、人工知能(AI)のアクセス方式の一つで複雑なアルゴリズムを用いて大量のデータを分析してそのうちパターンを認識し、それに基づいて予測をすることでディープラーニングを含むことができる。本発明の他の実施形態によれば、マイニングのための問題は、当該ノードにおけるコンピューティングパワー、すなわちプロセスパワーを提供して解決する問題であってもよい。例えば、多数の目標物に対する同時交戦能力と武器管制、弾道計算などのための軍事分野、地球科学、生物学、化学、物理学などの科学演算分野、地球科学、物理学、数学などすべての分野を網羅した微分方程式の計算が必要な天気予測分野、および株価予測分野などスーパコンピュータが必要な分野の問題がマイニングのための問題として受信される。
【0046】
本発明の実施形態によれば、当該ノードは、ブロックハッシュ値を含むブロックからなるブロックチェーンを格納しているフルノードであってもよい。
【0047】
S120ステップで、受信した問題を解決するために作業証明を行う。一実施形態として、作業証明は、マシンラーニングであってもよい。例えば、当該ノードで音声認識(人工知能仮想秘書など)、顔認識(SNSで多く用いられているフィルタ機能など)、あるいは物体認識(リンゴやオレンジのような物体のイメージで検索する機能など)のような人工知能(AI)技術のために、多様な音声、顔面、物体の経験的データに基づいて学習をし、予測を行い自らの性能を向上させるマシンラーニングが行われる。本発明の他の実施形態によれば、作業証明は、当該ノードにおけるコンピューティングパワー、すなわちプロセスパワーを提供して、軍事分野、科学演算分野、天気予測分野および株価予測分野の問題に対する演算または計算を行うものであってもよい。
【0048】
当該ノードでは、作業証明を行うと同時に、トランザクションを生成して他のノードに伝送する。実施形態として、当該ノードで生成されたトランザクションが一定以上蓄積されると、そのトランザクション情報を他のノードに伝送してトランザクション情報を共有することができる。同じく、他のノードで生成されたトランザクションも当該ノードに受信される。
【0049】
当該ノードで作業証明に成功すると、ブロックハッシュ値を生成する。本発明の実施形態によれば、当該ノードでない他のノードのうちの1つで作業証明に成功する場合、作業証明成功ノードからブロックハッシュ値を受信する。S130ステップで、当該ノードでは、有効性検証アルゴリズムを用いてトランザクションとブロックハッシュ値に対して有効性を判断した後、有効性検証が完了するトランザクションとブロックハッシュ値を用いてブロックを生成する。
【0050】
S140ステップで、マイニングプログラムを介して当該ノードで行った作業証明に相当する報酬を受信する。本発明の実施形態によれば、当該ノードで最も先に作業証明に成功したかにかかわらず当該ノードで行った作業証明作業量に対して報酬を受けることができる。報酬は、暗号化通貨であってもよく、ビットコイン、イーサリウム、ライトコイン、リップル、ACOIN、ダッシュ、ボスコインのうちの少なくともいずれか1つであってもよい。
【0051】
S150ステップで、ブロックチェーンに生成されたブロックを接続させて、ブロックチェーンがアップデートされる。本発明の実施形態によれば、マイニングプログラムを介して問題を受信するS110ステップは、前ブロックを生成した後、または一定時間間隔で行われる。例えば、ビットコインの場合、現在10分間隔で問題を受信する。
【0052】
図5は、図4のS130ステップの実施形態を示すフロー図である。
【0053】
図5を参照すれば、S131ステップで、他のノードからブロックハッシュ値を受信したか否かが判別される。すなわち、当該ノードでない他のノードのうちの1つで作業証明に成功したか否かが判別される。もしそうであれば、S133ステップで、最も先に作業証明に成功した作業証明成功ノードからブロックハッシュ値を受信し、有効性検証アルゴリズムを用いてトランザクションとブロックハッシュ値に対して有効性を検証する。この後、S134ステップで、トランザクションとブロックハッシュ値を用いてブロックを生成する。
【0054】
S131ステップでそうでなければ、S132ステップで、ブロックハッシュ値を生成したか否かが判別される。すなわち、当該ノードで最も先に作業証明に成功したか否かが判別される。もしそうであれば、S134ステップで、トランザクションとブロックハッシュ値を用いてブロックを生成する。
【0055】
S132ステップでそうでなければ、これは、どのノードでも作業証明に成功できなかった状態であるので、再度、S131ステップに戻る。
【0056】
図4で説明したように、S134ステップでブロックが生成されると、マイニングプログラムを介して当該ノードで行った作業証明に相当する報酬を受信する。本発明の実施形態によれば、当該ノードでない他のノードで作業証明に最も先に成功しても、当該ノードで行った作業証明作業量に対して報酬を受けることができる。例えば、報酬は、作業証明の実行を中断するまで行った作業証明作業量に比例して受信される。実施形態として、作業証明に成功したノードでないノードが多数でありうるため、報酬は、作業証明作業量が予め定められた最小作業量より大きいノードにのみ受信される。この時、最小作業量は、作業証明成功ノードの作業量の1/2であってもよい。報酬は、暗号化通貨であってもよく、ビットコイン、イーサリウム、ライトコイン、リップル、ACOIN、ダッシュ、ボスコインのうちの少なくともいずれか1つであってもよい。
【0057】
図6は、図1の複数のノードのいずれか1つに適した例示的なコンピュータ装置を示すブロック図である。
【0058】
図6を参照すれば、コンピュータ装置600は、プロセッサ610と、メモリ620と、データベース630と、通信機640とを含む。
【0059】
メモリ620は、プロセッサ610によって実行される時、多様な機能を提供するプログラムコードを格納することができる。コンピュータ装置600が複数のノード110〜170のいずれか1つに採用される時、それらプログラムコードは、プロセッサ610によって実行される時、図3図4を参照して説明された動作および/または機能を提供することができる。その他にも、プログラムコードは、プロセッサ610によって実行される時、1つまたはそれ以上の追加的な動作および/または機能を提供することができる。このようなプログラムコードは、ドライブメカニズムを用いて、メモリ620とは別途のコンピュータによって読取可能な記録媒体からローディングされる。このような別途のコンピュータによって読取可能な記録媒体は、フロッピィーディスクドライブ、DVD/CD−ROMドライブ、ハードディスクドライブ、メモリカードなど多様な記憶媒体のうちの少なくとも1つを含むことができる。あるいは、プログラムコードは、外部装置から通信機640を介してメモリ620にローディングされてもよい。
【0060】
データベース630は、図2を参照して説明されたブロックチェーンを格納することができる。プロセッサ610は、データベース630と通信してブロックチェーンを格納およびアップデートし、ブロックチェーンに格納された情報を読み込み、読み込まれた情報を処理することができる。図6で、データベース630は、コンピュータ装置600の構成要素として示されている。しかし、本発明の実施形態はこれに限定されない。例えば、データベース630は、コンピュータ装置600の外部の構成要素であってもよく、コンピュータ装置600は、通信機640を介してデータベース630と通信することができる。
【0061】
通信機640は、ネットワークと通信するように構成される。通信機640は、ネットワークを介して図1に示された複数のノード110〜170の少なくとも1つと通信することができる。
【0062】
上述のような本発明の実施形態によれば、本発明の一実施形態に係るネットワークを介して互いに通信する複数のノードのいずれか1つで資源を運営する方法およびコンピュータ装置は、作業証明方式のブロックチェーンのマイニング過程で用いられるコンピューティングパワーをマシンラーニングに用い、これを補償してコンピュータ資源の無駄遣いを防止することができる。
【0063】
以上、本発明では、具体的な構成要素などのような特定事項と限定された実施形態および図面によって説明されたが、これは本発明のより全般的な理解のために提供されたものに過ぎず、本発明は上記の実施形態に限定されるものではなく、本発明の属する分野における通常の知識を有する者であればこのような記載から多様な修正および変形が可能である。
【0064】
したがって、本発明の思想は説明された実施形態に限って定められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等または等価的変形があるすべてのものは本発明の思想の範疇に属するというべきである。
図1
図2
図3
図4
図5
図6