(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-07
(54)【発明の名称】ブロックチェーンアプリケーションに対するプルーフ・オブ・ワーク
(51)【国際特許分類】
H04L 9/32 20060101AFI20220131BHJP
【FI】
H04L9/32 200Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021534312
(86)(22)【出願日】2019-12-03
(85)【翻訳文提出日】2021-07-19
(86)【国際出願番号】 GB2019053418
(87)【国際公開番号】W WO2020120933
(87)【国際公開日】2020-06-18
(32)【優先日】2018-12-12
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2019-03-15
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】521258407
【氏名又は名称】ユニバーシティ・オブ・ヨーク
【氏名又は名称原語表記】University of York
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(72)【発明者】
【氏名】テオドール,ロクサーナ イウリアナ
(72)【発明者】
【氏名】アシュトン,ピーター ダミアン
(72)【発明者】
【氏名】シャハンダスティ,シアマク ファイヤズ
(72)【発明者】
【氏名】バンクロフト,イアン
(57)【要約】
ブロックチェーンアプリケーションで使用される、方法、計算装置、コンピュータ読込可能媒体、およびシステムは、説明されている。権威サーバは、データパッケージを、マイニングノードへ伝達する。マイニングノードは、権威サーバからのデータパッケージを受信する。データパッケージは、複数のデータセットを含み、各データセットは、シグナル情報を含む。各データセットのシグナル情報を、対応するデータアウトプットに変換するため、マイニングノードは、データパッケージを分析する。マイニングノードは、複数のデータアウトプットを、権威サーバへ伝達し、複数のデータアウトプットの認証時に、複数のデータアウトプットを、ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、使用する。暗号化および復号化の方法を、ここで説明された方法に従って、データを保証するために使用する。幾つかの例において、各データセットのシグナル情報は、ポリヌクレオチドシーケンスに関連しており、対応するデータアウトプットは、リードに関連する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ネットワークのマイニングノードに格納されたブロックチェーンに、ブロックレコードを付加し、前記ブロックレコードは、ペイロードデータ、プルーフ・オブ・ワーク、および、前記ブロックチェーンの先行するブロックレコードの唯一の識別子を含む、方法であって、
権威サーバから、複数のデータセットを含むデータパッケージを、受信すること、
ここで、前記複数のデータセットの各々は、シグナル情報を含み、
各データセットの前記シグナル情報を、対応するデータアウトプットに変換するために、前記データパッケージを、分析すること、
複数の前記データアウトプットを、権威サーバへ、伝達することを、
備えており、
前記複数のデータアウトプットは、
前記ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、用いられる、
方法。
【請求項2】
権威サーバから、署名されたトークンを、受信すること、
前記プルーフ・オブ・ワークとして前記署名されたトークンを用いて、前記ブロックチェーンに対して、ブロックレコードを、生成すること、および、
前記ネットワークの少なくともマイニングノードへ、生成された前記ブロックレコードを、伝達すること、をさらに備える、
請求項1に記載の方法。
【請求項3】
前記署名されたトークンは、
分析された前記データアウトプットの、署名されたハッシュを、含む、
請求項2に記載の方法。
【請求項4】
前記ブロックチェーンに対してブロックレコードを生成することは、
前記ブロックチェーンの前記先行するブロックの前記唯一の識別子を抽出するため、1以上の機械読込可能な記録媒体に格納された、前記ブロックチェーンのバージョンを、調べること、および、
処理されていないペイロードデータのデータプールから、ペイロードデータを、読出すこと、を含む、
請求項2または請求項3に記載の方法。
【請求項5】
各データセットの前記シグナル情報は、
ポリヌクレオチドシーケンスの代表であり、
各データセットの前記シグナル情報を対応するデータアウトプットに変換することは、
各データセットの前記シグナル情報を、対応するリードに、変換することを、含み、
複数の前記リードの各リードは、
前記各ポリヌクレオチドシーケンスを、記述し、
前記複数のデータアウトプットを権威サーバへ伝達することは、
前記複数のリードを、権威サーバに、伝達することを、含む、
請求項1乃至請求項4の何れか1項に記載の方法。
【請求項6】
前記ポリヌクレオチドシーケンスは、
デオキシリボ核酸、DNA、シーケンス、または、リボ核酸、RNA、シーケンスを、含む、
請求項5に記載の方法。
【請求項7】
ポリヌクレオチドシーケンスのシグナル情報代表は、
ナノ細孔シーケンサーにより生成された、生データを、含む、
請求項5または請求項6に記載の方法。
【請求項8】
ポリヌクレオチドシーケンスのシグナル情報代表は、
ナノ細孔を介した電流、および、前記ナノ細孔を介して転位するポリヌクレオチドに、対応する電流情報を、含む、
請求項5乃至請求項7の何れか1項に記載の方法。
【請求項9】
前記ブロックチェーンの先行するブロックレコードの唯一の識別子は、
前記ブロックチェーンの前記先行するブロックレコードのハッシュ、または、前記ブロックチェーンの前記先行するブロックのヘッダーのハッシュを、含み、
または、
前記ペイロードデータは、
少なくとも一つの取引データ、または、スマート契約を、含む、
請求項1乃至請求項8の何れか1項に記載の方法。
【請求項10】
権威サーバからデータパッケージを受信することは、
権威サーバからデータパッケージを要求することに、応答したものである、
請求項1乃至請求項9の何れか1項に記載の方法。
【請求項11】
前記権威サーバは、
前記ネットワークのマイニングノードではない、
請求項1乃至請求項10の何れか1項に記載の方法。
【請求項12】
プロセッサにより実行されるとき、前記プロセッサに、請求項1乃至請求項11の何れか1項に記載の方法を実施させる、記憶された指示を有する、
コンピュータ読込可能媒体。
【請求項13】
ネットワークのマイニングノードに格納されたブロックチェーンに、ブロックレコードを付加し、前記ブロックレコードは、ペイロードデータ、プルーフ・オブ・ワーク、および、前記ブロックチェーンの先行するブロックレコードの唯一の識別子を含む、計算装置であって、
1以上のプロセッサと、
格納された指示を有する、1以上の機械読込記憶装置とを、
備えており、
前記1以上のプロセッサにより処理されるとき、前記指示は、前記1以上のプロセッサに、
権威サーバから、複数のデータセットを含むデータパッケージを、受信させ、
ここで、前記複数のデータセットの各々は、シグナル情報を含み、
各データセットの前記シグナル情報を、対応するデータアウトプットに変換するために、前記データパッケージを、分析させ、さらに、
複数の前記データアウトプットを、権威サーバへ、伝達させ、
前記複数のデータアウトプットは、
前記ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、用いられる、
計算装置。
【請求項14】
ブロックチェーンのブロックレコードを認証するため、ネットワークのマイニングノードにより信任された、権威サーバによって実施される方法であって、
前記ネットワークの第一のマイニングノードから、第一の複数のデータアウトプットを含む情報を、受信すること、
ここで、前記第一の複数のデータアウトプットの各データアウトプットは、前記第一のマイニングノードにより分析された第一のデータパッケージから、決定され、前記第一のデータパッケージは、複数のデータセットを含み、
前記第一の複数のデータアウトプットを、認証すること、および、
前記第一の複数のデータアウトプットを認証することに応答して、前記ブロックチェーンのブロックレコードにおいて、プルーフ・オブ・ワークとして使用される固有のトークンに、デジタル的に署名すること、
を備える、
方法。
【請求項15】
前記ブロックチェーンの前記ブロックレコードにおいて、プルーフ・オブ・ワークとして使用されるために、前記第一のマイニングノードへ、署名された前記トークンを、送信すること、
をさらに備える、
請求項14に記載の方法。
【請求項16】
前記第一の複数のデータアウトプットを認証することは、
裏付け条件が満たされたことを、決定することを、含む、
請求項14または請求項15に記載の方法。
【請求項17】
前記裏付け条件が満たされたことを決定することは、
前記第一の複数のデータアウトプットの各データアウトプットが、前記ネットワークの更なるマイニングノードの閾値数により、裏付けされたことを、決定することを、含む、
請求項16に記載の方法。
【請求項18】
前記第一の複数のデータアウトプットの各データアウトプットが、前記ネットワークの更なるマイニングノードの閾値数により、裏付けされたことを決定することは、
前記第一の複数のデータアウトプットを、1以上の更なる複数のデータアウトプットと、比較することを、含み、
前記1以上の更なる複数のデータアウトプットの各々は、
前記ネットワークの対応する更なるマイニングノードから、受信され、
前記更なる複数のデータアウトプットは、
前記対応する更なるマイニングノードにより分析された、更なるデータパッケージから、決定され、
前記更なるデータパッケージは、
シグナル情報を各々含む複数のデータセットを、各々含み、
1以上のデータセットは、
前記第一のデータパッケージ内に含まれたものと、重複する、
請求項17に記載の方法。
【請求項19】
前記第一の複数のデータアウトプットの各データアウトプットが、前記ネットワークの更なるマイニングノードの閾値数により、裏付けされたことを決定することは、
前記第一の複数のデータアウトプットの各データアウトプットが、前記ネットワークの更なるマイニングノードの閾値数により、予め規定されたエラー閾値内で、裏付けされたことを、決定することを、含む、
請求項17または請求項18に記載の方法。
【請求項20】
前記第一の複数のデータアウトプットを含む前記情報を受信することは、
前記第一のマイニングノードに、複数のデータセットを含むデータパッケージを、伝達すること、に応答したものであり、
前記複数のデータセットの各々は、
データアウトプットへの変換のため、シグナル情報を、含み、
さらに、任意に、
前記データパッケージを前記第一のマイニングノードへ伝達することは、
前記第一のマイニングノードからのデータパッケージの要求を、受信することに応答したものである、
請求項14乃至請求項19の何れか1項に記載の方法。
【請求項21】
前記第一のデータパッケージを前記第一のマイニングノードへ伝達する前に、
複数のデータソースから、複数の事前に処理されたデータアイテムを、受信すること、
前記複数の事前処理されたデータアイテムを、独立して処理可能なデータセットに、分割すること、
前記独立して処理可能なデータセットのセクションを、データパッケージ内に、パッケージすること、および、
どの独立して処理可能なデータセットが、前記データパッケージ内に、含まれているかに関する、メタデータを記憶すること、
をさらに備える、
請求項20に記載の方法。
【請求項22】
前記第一のマイニングノードにより分析された第一のデータパッケージは、
おとりデータセットをも、含み、
前記第一の複数のデータアウトプットを認証することは、
データアウトプットの局所登録に照らして、前記第一の複数のデータアウトプットのおとりデータアウトプットを、チェックすることを、含む、
請求項14乃至請求項21の何れか1項に記載の方法。
【請求項23】
プロセッサにより実行されるとき、前記プロセッサに、請求項14乃至請求項22の何れか1項に記載の方法を実施される、格納された指示を有する、
コンピュータ読込可能媒体。
【請求項24】
ブロックチェーンのブロックレコードを認証するため、ネットワークのマイニングノードにより信任され、各マイニングノードが、前記ブロックチェーンにブロックレコードを付加するための計算装置を含む、権威サーバであって、
1以上のプロセッサと、
格納された指示を有する、1以上のメモリユニットと、
を備えており、
前記1以上のプロセッサにより処理されるとき、前記指示は、前記1以上のプロセッサに、
前記ネットワークの第一のマイニングノードから、第一の複数のデータアウトプットを含む情報を、受信させ、
ここで、前記第一の複数のデータアウトプットの各データアウトプットは、前記第一のマイニングノードにより分析された第一のデータパッケージから、決定され、前記第一のデータパッケージは、複数のデータセットを含み、
前記第一の複数のデータアウトプットを、認証させ、および、
前記第一の複数のデータアウトプットを認証することに応答して、前記ブロックチェーンのブロックレコードにおいて、プルーフ・オブ・ワークとして使用される固有のトークンに、デジタル的に署名させる、
権威サーバ。
【請求項25】
ブロックチェーンにブロックレコードを付加するため、プルーフ・オブ・ワークとして、シグナル情報を処理するシステムであって、
各々が、1以上のプロセッサを含む、1以上の権威サーバと、
複数のマイニングノードのネットワークとを、
備えており、
各マイニングノードは、
1以上のプロセッサを含み、
マイニングノードは、
権威サーバから、複数のデータセットを含むデータパッケージを、受信し、
ここで、前記複数のデータセットの各々は、シグナル情報を含み、
各データセットの前記シグナル情報を、対応するデータアウトプットに変換するために、前記データパッケージを、分析し、
複数の前記データアウトプットを、権威サーバへ、伝達し、
権威サーバから、署名されたトークンを、受信し、
前記プルーフ・オブ・ワークとして、署名された前記トークンを用いて、前記ブロックチェーンに対して、ブロックレコードを生成し、さらに、
生成された前記ブロックレコードを、前記ネットワークの少なくとも第二のマイニングノードへ、伝達する、
ように構成されており、
権威サーバは、
前記マイニングノードから、複数のデータアウトプットを含む情報を、受信し、
前記複数のデータアウトプットを、認証し、
前記複数のデータアウトプットを認証することに応答して、固有のトークンに、デジタル的に署名し、さらに、
前記ブロックチェーンのブロックレコードにおいて、プルーフ・オブ・ワークとして使用されるために、署名された前記トークンを、前記マイニングノードへ送信する、
ように構成されている、
システム。
【請求項26】
ネットワークのマイニングノードに格納されたブロックチェーンに、ペイロードデータとプルーフ・オブ・ワークと前記ブロックチェーンの先行するブロックの唯一の識別子とを含むブロックレコードを付加する、計算装置において、
1以上のプロセッサと、
格納された、第一のセットの指示と、第二のセットの指示とを有する、1以上の機械読込可能記憶装置と、
を備えており、
前記第一のセットの指示は、
権威サーバから受信したデータパッケージを、処理するためのものであり、
暗号カギを要求し、
前記1以上のプロセッサにより処理されるとき、前記第二のセットの指示は、
権威サーバから、暗号カギと複数のデータセットとを含むデータパッケージを、受信するステップと、
ここで、前記複数のデータセットの各々は、シグナル情報を含み、
各データセットの前記シグナル情報を、対応する暗号化されたデータアウトプットに変換するため、受信した前記暗号カギを用いて、前記第一のセットの指示を、処理するステップと、
権威サーバへ、前記複数の暗号化されたデータアウトプットを、伝達するステップと、
を、実行し、
前記複数の暗号化されたデータアウトプットは、
前記ブロックチェーンにブロックレコードを付加するため、プルーフ・オブ・ワークを確立する際に、使用される、
計算装置。
【請求項27】
前記計算装置は、
権威サーバから、署名されたトークンを、受信し、
前記プルーフ・オブ・ワークとして、署名された前記トークンを用いて、前記ブロックチェーンに対して、ブロックレコードを、生成し、さらに、
生成された前記ブロックレコードを、前記ネットワークの少なくともマイニングノードへ、伝達する、
ようにさらに構成されている、
請求項26に記載の計算装置。
【請求項28】
前記署名されたトークンは、
分析された前記データパッケージの署名されたハッシュ、または、暗号化された前記データアウトプットの署名されたハッシュと、含む、
請求項27に記載の計算装置。
【請求項29】
前記ブロックチェーンの先行するブロックレコードの唯一の識別子は、
前記ブロックチェーンの前記先行するブロックレコードのハッシュ、または、前記ブロックチェーンの前記先行するブロックレコードのヘッダのハッシュを、含み、
または、
前記ペイロードデータは、
少なくとも一つの取引データ、または、スマート契約を、含む、
請求項26に記載の計算装置。
【請求項30】
権威サーバからデータパッケージを受信することは、
権威サーバから、データパッケージを、要求すること、に応答したものである、
請求項26乃至請求項29の何れか1項に記載の計算装置。
【請求項31】
前記権威サーバは、
前記ネットワークのマイニングノード、ではない、
請求項26乃至請求項30の何れか1項に記載の計算装置。
【請求項32】
ネットワークのマイニングノードに格納されたブロックチェーンに、ペイロードデータとプルーフ・オブ・ワークと前記ブロックチェーンの先行するブロックの唯一の識別子とを含むブロックレコードを付加する、方法において、
前記方法は、
権威サーバから受信したデータパッケージを処理するため、コンピュータ読込可能な指示を有するマイニングノードにより、実施され、
前記指示は、
暗号カギを要求し、
前記方法は、
権威サーバから、暗号カギと複数のデータセットとを含むデータパッケージを、受信すること、
ここで、前記複数のデータセットの各々は、シグナル情報を、含み、
受信した前記暗号カギを用いて、各データセットの前記シグナル情報を、対応する暗号化されたデータアウトプットに変換するため、前記コンピュータ読込可能な指示を、実施すること、および、
前記複数のデータアウトプットを、権威サーバへ、伝達すること、
を備えており、
前記複数のデータアウトプットは、
前記ブロックチェーンにブロックレコードを付加するため、プルーフ・オブ・ワークを確立する際に、使用される、
方法。
【請求項33】
権威サーバから、署名されたトークンを、受信すること、
前記プルーフ・オブ・ワークとして、前記署名されたトークンを用いて、前記ブロックチェーンに対して、ブロックレコードを、生成すること、および、
生成された前記ブロックレコードを、前記ネットワークの少なくともマイニングノードへ、伝達すること、
をさらに備える、
請求項32に記載の方法。
【請求項34】
プロセッサにより実行されるとき、前記プロセッサに、請求項32または請求項33に記載の方法を実施させる、格納された指示を有する、
コンピュータ読込可能媒体。
【請求項35】
1以上の権威サーバにより実施される方法であって、
複数のデータソースから、シグナル情報を含むデータアイテムを、受信すること、
前記データアイテムを、独立して処理可能なデータセットに、分割すること、
暗号カギと、対応する復号カギとを、生成すること、
前記独立して処理可能なデータセットのセレクションと、前記暗号カギとを、データパッケージに、収集すること、
ここで、前記データパッケージの前記独立して処理可能なデータセットは、複数のデータソースからのものであり、
各データセットの前記シグナル情報を、対応する暗号化されたデータアウトプットに変換するため、前記データパッケージを、ブロックチェーンマイニングネットワークのマイニングノードへ、伝達すること、
複数の暗号化されたデータアウトプットを含む情報を、受信すること、および、
生成された前記復号カギを用いて、前記暗号化されたデータアウトプットを、復号すること、
を備えている、
方法。
【請求項36】
復号化された前記データアウトプットを、認証すること、および、
前記復号されたデータアウトプットを認証することに応答して、前記ブロックチェーンのブロックレコードにおいて、プルーフ・オブ・ワークとして使用される、固有のトークンに、デジタル的に署名すること、
をさらに備える、
請求項35に記載の方法。
【請求項37】
前記ブロックチェーンの前記ブロックレコードにおいて、プルーフ・オブ・ワークとして使用されるために、署名された前記トークンを、マイニングノードへ、送信すること、
をさらに備える、
請求項36に記載の方法。
【請求項38】
認証された前記復号化されたアウトプットを、認定ユーザに、伝達すること、
をさらに備える、
請求項35乃至請求項37の何れか1項に記載の方法。
【請求項39】
少なくとも一つの前記データアイテムの前記シグナル情報は、
ナノ細孔シーケンサーにより生成された、生データを、含み、
前記署名されたトークンは、
前記ナノ細孔シーケンサーの識別子を、含む、
請求項36乃至請求項38の何れか1項に記載の方法。
【請求項40】
前記暗号カギは、
前記データパッケージの各データセットに対して、別個の暗号カギを、含む、
請求項35乃至請求項39の何れか1項に記載の方法。
【請求項41】
少なくとも幾つかの前記データアイテムの前記シグナル情報は、
ポリヌクレオチドシーケンスの代表であり、
前記復号されたデータアウトプットは、
前記ポリヌクレオチドシーケンスの対応するセクションを、含む、
請求項35乃至請求項40の何れか1項に記載の方法。
【請求項42】
前記ポリヌクレオチドシーケンスは、
デオキシリボ核酸、DNA、シーケンス、または、リボ核酸、RNA、シーケンスを、含む、
請求項41に記載の方法。
【請求項43】
ポリヌクレオチドシーケンスのシグナル情報代表は、
ナノ細孔シーケンサーにより生成された、生データを、含む、
請求項41または請求項42に記載の方法。
【請求項44】
前記ナノ細孔シーケンサーの識別子を、記憶すること、
をさらに備える、
請求項43に記載の方法。
【請求項45】
前記暗号化されたデータアウトプットは、
文字列を含み、
前記暗号化されたデータアウトプットを復号することは、
IUPACヌクレオチドコードの代わりに、前記文字列を用いることを、含む、
請求項41乃至請求項44の何れか1項に記載の方法。
【請求項46】
前記暗号化されたデータアウトプットは、
おとり特徴を、含み、
前記暗号化されたデータアウトプットを復号することは、
前記おとり特徴を、除去することを、含む、
請求項35乃至請求項45の何れか1項に記載の方法。
【請求項47】
データソースからデータアイテムを受信することは、
当該データソースから、データアイテムを、連続的に受信することを、含む、
請求項35乃至請求項46の何れか1項に記載の方法。
【請求項48】
どの独立して処理可能なデータセットが、前記データパッケージに含まれるかに関して、メタデータを、格納することを、
さらに備える、
請求項35乃至請求項47の何れか1項に記載の方法。
【請求項49】
プロセッサにより実行されるとき、前記プロセッサに、請求項35乃至請求項48の何れか1項に記載の方法を実施させる、格納された指示を有する、
コンピュータ読込可能媒体。
【請求項50】
1以上のプロセッサと、
格納された指示を有する、1以上のメモリユニットとを、
備えており、
前記1以上のプロセッサにより処理されるとき、前記指示は、前記1以上のプロセッサに、
受信したデータアイテムを、独立して処理可能なデータセットに、分割させ、
ここで、前記データアイテムは、複数のデータソースから受信され、前記データアイテムは、シグナル情報を含み、
暗号カギと、対応する復号カギとを、生成させ、
前記独立して処理可能なデータセットのセレクションと、前記暗号カギとを、データパッケージに、収集させ、
ここで、前記データパッケージの前記独立して処理可能なデータセットは、複数のデータソースからのものであり、
各データセットの前記シグナル情報を、対応する暗号化されたデータアウトプットに変換するため、前記データパッケージを、ブロックチェーンマイニングネットワークのマイニングノードへ、伝達させ、
複数の暗号化されたデータアウトプットを含む、受信した情報を処理させ、
前記受信した情報を処理することは、
生成された前記復号カギを用いて、前記暗号化されたデータアウトプットを、復号することを、含む、
権威サーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理に関し、特にブロックチェーン実施に関する。より具体的に、本開示は、ブロックチェーンにブロックレコードを追加する際に使用されることができる、方法および装置に関する。
【背景技術】
【0002】
時には、分散型台帳又は分散型コンセンサス台帳として、知られる、ブロックチェーンは、分散型データベースの一種である。ブロックチェーンは、改ざん耐性があり、分散型の、データ記録を可能とする。台帳/ブロックチェーンのコピーを、ブロックチェーンネットワークの複数のノードの各々において、記憶することができる。
【0003】
ブロックチェーンは、ブロック又はデータ構造ブロックとしても知られる、複数のブロックレコードを、備える。ブロックチェーンのブロックレコードは、典型的に、ペイロードデータ(すなわち、ブロックチェーンでの記録のためにそのブロックレコードに記録されるデータ)、ブロックチェーンの先行するブロックレコードの一意識別子、およびプルーフ・オブ・ワーク(POW)を、備える。ブロックチェーンにブロックレコードを付加するとき、新しいブロック/ブロックチェーンのコピーは、新しいブロックを付加するため、およびブロックチェーンに対するアップデートを受け入れるために、なされたワークを確かめることができる、または、もし関連するワークを確かめることができないなら、当該新しいブロックを無視することができる、ブロックチェーンネットワークの他のノードに分散される。
【0004】
ブロックレコードは、典型的に、データおよび/またはコンピュータが実行できる指示の形式で、ペイロードデータを備える。このようにして、もし、たとえば取引のような指示を記録するために、ブロックチェーンが使用されるなら、そのとき、台帳に、取引の完全な履歴を確立することができる。各取引は、ブロックチェーンシステムの一人の者から他の者へのデジタル資産の制御の転送をエンコードする、データ構造である。たとえば、コンピュータが実行できる指示を記録するために、ブロックチェーンが使用されるなら(しばしば、「スマート契約」と称される-機械読込可能な契約又はアグリーメントのタームを実行する、コンピュータ化されたプロトロコル)、そのとき、コンピュータが実行できる指示の関数コールを、コンピュータが実行できるプロセスを開始するために、使用することができる。結果を生成するために、スマート契約は、インプットを処理することができ、これらの結果に基づいて実施されるアクションを引き起こすことができる。
【0005】
各ブロックレコードは、典型的に、先のブロックレコードへのリンクを含む、たとえば、先のブロックレコード内の情報のハッシュ値、または先のブロックレコードのヘッダーのハッシュ値である。ハッシュ値は、典型的に、先のブロックレコードの情報を用いることにより、ハッシュ値を出力するハッシュ関数への入力の部分として、決定される。各ブロックレコードは、先のブロックレコードに戻るように、リンクしている。このようにして、ひとたび認証されると、その先のブロックレコードを介して、生成ブロックレコード(先のブロックレコードへのリングを含まない、唯一のブロックレコード)まで順に戻る各より先のブロックレコードへ、ブロックレコードは、先のブロックレコードにリンクされる。ハッシュ値は、典型的に、計算することが簡単であるが、ハッシュ値に課せられる、1以上の認証必須要件があってもよい。加えて、ハッシュ値は、一般的に、可逆でない数学関数の特別なタイプに基づいており、多くのインプットを試すことなく、どのインプットが所望のアウトプットを与えるかを、容易に知ることができない。
【0006】
各ブロックレコードは、典型的に、プルーフ・オブ・ワーク(POW)をも、備える。POWは、生成することは困難であるが、他の者(すなわち、他のユーザ又は他の計算装置)が認証することが容易であり、ある認証要件を満足する、データの一部である。各ブロックレコードは、それにより、それを生成する仕事がなされたという、信用、信頼できる証拠を提供する。そのワークは、たとえば、アウトプット計算するのに要する時間などの、かなりの量の処理資源の支出であってもよい。
【0007】
各ブロックレコードは、先のブロックレコードにリンクするので、またブロックチェーンのブロックレコードにおけるペイロードデータを改ざんするために、改ざんを行う者が、ブロックチェーンに改ざんされたブロックおよび各次のブロックを記録するために、更なるワークをしなければならいので(ブロックチェーンの多数のノードが、ブロックチェーンの認証をチェックし、自身のブロックレコードを加える間には、このことは実行不可能である)、ブロックチェーンに記録されるペイロードデータのインテグリティは、保証される。
【0008】
人気の「ビットコイン」などの幾つかのブロックチェーン実施内において、各ブロックは、前のブロックに対するハッシュ値を有する、ヘッダーを含む。新しいブロックを作るために、ハッシュ関数へのインプットの部分として含まれるととき、ある認証要求を満たすハッシュ値、特に、所定の閾値より低いハッシュ値をもたらすノンス値を、マイナーは見つけなければならない。マイナーは、典型的に、ノンス値を推測し、それから、推測されたノンス値が、先のブロックのハッシュおよびハッシュ関数へのインプットを含む、他の固定データを組み合わせるとき、ハッシュ関数は、所定の閾値より低いハッシュ値を、出力する、ということをチェックする。このようにして、認証要件を満足する適切なノンス値を見つけるため、マイナーは、計算資源を消費する際に、ワークを行う。ひとたび見つけられると、第二のマイナーは、ハッシュ関数内に表明されたノンス値を含む同じ情報を入力し、アウトプットが適切であることをチェックすることにより、特定のブロックが有効であるということを、チェックすることができる。よって、当該ブロックチェーン実施において、表明されたノンスは、関連ブロックに対するプルーフ・オブ・ワークとして、機能する。
【発明の概要】
【0009】
本開示は、ブロックチェーンにブロックを付加するため、代わりのプルーフ・オブ・ワークを使用する、システム、方法、および装置に関する。
【0010】
発明者らは、多くのブロックチェーン実施のプルーフ・オブ・ワーク(POW)を確立するために使用されるノンス推定は、無駄であり、POWとしての役割を超えて、人類にとって実用的な使用を持たず、数学的なパズルを解くために、膨大な計算資源を費やすことを要する、ということを認めた。発明者らは、ノンス推定が「役に立つ」ワークで置換されるブロックチェーン実施を考案した。
【0011】
プルーフ・オブ・ワークスキームは、二つの一般的な目的に役立つ、すなわち、ブロックチェーンにブロックレコードをすることの困難性を維持し(ブロックチェーンの安全性に寄与する)、人が与えられたブロックレコードの認証をチェックすることができる。プルーフ・オブ・ワークがたとえばノンス推定に基づいている、ほとんどのブロックチェーン実施において、全体のブロックチェーンは、完全に分散化され、そこで、ネットワークの各マイニングノードが、要求されるワークを実施し(たとえば、ノンスを推測する)、第二のサーバ/計算装置を要することなく、プルーフ・オブ・ワークを実施する(たとえば、ハッシュ関数および閾ハッシュ値がブロックチェーンネットワークの残りに対して知られているとき、完成したブロックを有する表明されたノンスをアナウンスする)、ことができる。その一方で、ここで開示された実施において、ここで権威サーバとして称されえる、1以上の者(party)が、ワークアサインメントにおいて、ブロックチェーンネットワークのノードをマイニングすることより処理されるデータパッケージの形式で、フィード(feed)するために、使用される。
【0012】
当該明細書および添付の特許請求の範囲で使用されるように、「ノード」または「計算装置」または「計算器」の用語は、ネットワーク内における、ハードウェア装置、バーチャル装置、ハードウェアの群、バーチャル装置の群、またはこれらの組合せのように、広く理解されることを意図している。たとえば、多くの他のタイプのハードウェアおよびバーチャル装置のうち、ノードは、サーバ、スイッチ、データ処理装置、データ記録装置、ロードバランサー、ルータ、およびこれらの仮想の具現化を、含んでいてもよい。
【0013】
ここで使用されるような「マイニングノード」は、マイニング、ブロックチェーンにブロックを付加するために行うワークの処理に関与する、ブロックチェーンネットワークのノードである。同じブロックチェーン実施において働いているマイニングノードのコレクションは、「マイニングネットワーク」として使用されてもよい。
【0014】
ここで使用される「ブロックチェーンネットワーク」という用語は、ブロックチェーンの共有、記録、および/または確率に参加するノード、を意味するように理解される。したがって、各マイニングノードは、ブロックチェーンネットワークの部分である一方、権威サーバは、ブロックチェーンネットワークの部分であっても、なくてもよい。マイニングネットワークは、ブロックチェーンネットワークのサブネットワークであってもよい。たとえば、ブロックチェーンネットワークは、マイニングネットワーク、および、マイニングプロセス自身に関与しない、さらにピア・トゥ・ピア接続された、1以上の要素を含んでもよい(たとえば、ブロックチェーンのコピーを含む記憶装置、ブロックチェーンのブロックを認証のみ行い、認証されたブロックでフォーワードする、ゲートキーピングサーバなど)。
【0015】
ネットワークのマイニングノードに記録されるブロックチェーンに、ブロックレコードを付加する方法が、ここで開示される。ブロックレコードは、ブロックチェーンの先のブロックレコードの、ペイロードデータ、プルーフ・オブ・ワーク、および一意識別子を、備える。当該方法は、権威サーバから、データパッケージを受信することを、備える。データパッケージは、複数のデータセットを備える。複数のデータセットの各々は、シグナル情報を備える。方法は、各データセットのシグナル情報を、対応するデータアウトプットに変換するために、データパッケージを分析することを、さらに備える。方法は、複数のデータアウトプットを権威サーバに伝えることを、さらに備える。当該複数のデータアウトプットは、ブロックチェーンにブロックレコードを付加するためにプルーフ・オブ・ワークを確立で、用いられる。
【0016】
有利なことに、当該方法により、ブロックチェーンを、プルーフ・オブ・ワークスキームを用いて、実施することができる。当該スキームにおいて、マイニングノードは、1以上の権威サーバまたは集中権威サーバにより調整された役立つワークを実施する。特に、ワークは、受信したデータパッケージの各データセットのシグナル情報の、対応するデータアウトプットへの変換を、備える。データアウトプットは、(同じ権威サーバであっても、または、それに対する異なる権威サーバであってもよい、それらから、データパッケージが最初に受信される)権威サーバへ伝達され、さらに、ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、使用される。
【0017】
方法は、権威サーバから、署名されたトークンを受信することを、さらに備えてもよい。方法は、プルーフ・オブ・ワークとして署名されたトークンを用いて、ブロックチェーンに対するブロックレコードを生成すること、さらに備えてもよい。方法は、生成されたブロックレコードを、ネットワークの少なくともマイニングノードへ伝達することを、さらに備えてもよい。このようにして、マイニングノードは、権威サーバから、署名されたトークンの形式で、POWを受信し、ブロックを生成し、ネットワークの少なくともマイニングノードへ、ブロックレコードを伝達してもよく、その後、当該マイニングノードは、POWのチェックに基づいて、ブロックレコードを、受け入れたり、または拒否してもよい。
【0018】
署名されたトークンは、分析されたデータパッケージの署名されたハッシュを、備えてもよい。このようにして、署名されたトークンは、マイニングノードにより実施された特定のワークと、本質的に関連してもよい。たとえば、パブリック-プライベート鍵対の権威サーバのプライベート鍵を用いて、署名されたハッシュは、署名されてもよい。署名されたトークンは、たとえば、データパッケージを分析したマイニングノードの識別子などの情報を、さらに備えてもよい。署名されたトークンは、たとえば、ワークパッケージの識別子を備えてもよい。ここで、当該ワークパッケージから、データアウトプットが配信される。署名されたトークンは、たとえば、結果を生成するために使用される、データ変換ソフトウェアのバージョンを、備えてもよい。署名されたトークンは、たとえば、マイニングノードが結果を提出した日時を、備えてもよい。
【0019】
シグナル情報を対応するデータアウトプットに変換するために、データパッケージを分析することは、適切な処理、たとえば「ベースコーリング」アルゴリズムの実施、を備えてもよい。分析することは、変動オートエンコーダまたは学習したニューラルネットワークの使用を、備えてもよい。たとえば、マイニングノードは、受信したシグナル情報を、潜在空間レプリゼンテーションに、圧縮してもよい。
【0020】
ブロックチェーンに対するブロックレコードを生成することは、ブロックチェーンの先のブロックの唯一の識別を、読む、抽出する、または決定するために、1以上の機械読込可能記録媒体に記録された、ブロックチェーンのバージョンをコンサルトすることを、含んでいてもよい。ブロックチェーンに対するブロックレコードを生成することは、未処理のペイロードデータのデータプールから、ペイロードデータを引き出すことを、さらに備えてもよい。
【0021】
1以上の他の実施の形態において、マイニングノードは、権威サーバへ、複数のデータアウトプット、ペイロードデータ、およびブロックレコードの他のコンテントを、伝達してもよい。当該実施の形態において、権威サーバは、検証されたデータアウトプットを有するブロックレコードを生成する物であってもよい。すなわち、権威サーバは、マイニングノードへ、署名されたトークンを伝達しても、しなくてもよく、さらに、ブロックレコード自信を生成してもよい。権威サーバは、ブロックレコードを伝達する物であってもよい。それゆえ、権威サーバは、ブロックチェーンネットワーク自身の一部であってもよい。
【0022】
「データブローカ」という用語は、権威サーバに対する他の名称である。
【0023】
データパッケージは、複数のデータセットを備え、複数のデータセットの各々は、シグナル情報を備える。実施されるワークは、各データセットのシグナル情報を、対応するデータアウトプットに変換するために、データパッケージを分析することを、備える。シグナル情報からデータアウトプットへの当該変換は、生体分析などの多くの適用において、役に立つ。一例として、そのシグナル情報を、3Dプリントデータなどの対応するデータアウトプットへ変換するために、実施されるワークは、CTスキャンまたはMRIデータの形式で、シグナル情報を分析することを、備えてもよい。他の例として、データアウトプットを決定するために、実施されるワークは、画像、たとえば顕微鏡画像を分析することを、備えてもよい。
【0024】
各データセットのシグナル情報は、ポリヌクレオチド配列の代表であってもよい。各データセットのシグナル情報を対応するデータアウトプットに変換することは、各データセットのシグナル情報を、対応するリード(read)に変換することを、備えてもよく、複数のリードの各リードは、各ポリヌクレオチド配列を、記述する。当該処理は、「ベースコーリング」と、しばしば称される。複数のデータアウトプットを権威サーバに伝達することは、複数のリードを、権威サーバに伝達することを、備えてもよい。
【0025】
ポリヌクレオチド配列は、デオキシリボ核酸、DNA、シークエンス、または、リボ核酸、RNA、シークエンスを、備えてもよい。
【0026】
有利なことに、各データセットのシグナル情報がポリヌクレオチド配列の代表であり、シグナル情報を対応するデータアウトプットに変換することが、シグナル情報を各ポリヌクレオチド配列を記述する対応するリードへ変換することを備える、方法を提供することにより、ブロックチェーンにブロックレコードを付加するために、ポリヌクレオチド配列に対する、まさに時間および資源集約的な計算が、実施される。
【0027】
当業者は、シグナル情報をリードのようなデータアウトプットに変換することが、たとえば、リードを参照リードと比較する「リードマッピング」に対してとても困難である、ということを認識している。リードマッピングにおいて、参照が、完全ゲノム、トランスクリプトーム、またはデノボアセンブルかどうか、個々のリードは、参照シークエンスに整列される。
【0028】
「ベースコーリング」は、特性現信号などのシグナル情報から核酸塩基を決定する処理を、記述するために使用される、用語である。核酸塩基を読み込むことを試すために使用される、どのシーケンサーに依存して、多くのタイプの可能性のあるシグナルが存在する。一つの有益なシーケンサーは、ナノ細孔シーケンサーである。
【0029】
小分子または折り畳みタンパク質を識別するため、および、略シングル分子レベルで化学または酵素反応をモニターするため、透過孔(たとえば、ナノ細孔)が、使用されてきた。当該透過孔は、ポリマーおよび様々な小分子に対する電気バイオセンサとして、大きな可能性有している。ナノ細孔は、ポリヌクレオチドシーケシングおよび生体指標認識に対して、有益である。
【0030】
ナノ細孔を横切って印可される電位差下で、ナノ細孔を通るイオンフロー(たとえば、電子フロー/流)を、測定してもよい。ナノ細孔との検体の相互作用は、ナノ細孔を通る検体転位置として、イオンフローの特性変化(たとえば、特性電流プロファイル)を引き超すことができる。イオンフロー/流シグナル情報の形式での当該生データを、検体を特徴づけるために、使用することができる。たとえば、DNAなどのポリヌクレオチド鎖は、ナノ細孔シーケンサーを通過してもよい。DNAは、核酸塩基(シトシン、グアニン、アデニン、およびチミン)を備え、DNAセグメントは、ナノ細孔シーケンサーを通過するので、所定の時にどの核酸塩基がシーケンサーを通過しているのかに依存して、結果特性流プロファイルが、生成される。
【0031】
シーケンサー(ナノ細孔又はその他)により生成されるシグナル情報は、たとえば、複数のヌクレオチドが同時にシーケンサーを通り、検体が一定でない割合で通過する等により、典型的に、とてもノイズが多い。したがって、シグナル情報からポリヌクレオチドシーケンスを決定する(すなわち、「リード」を決定する)タスクは、完了するには、計算的に負荷が高いタスクである。
【0032】
ポリヌクレオチドシーケンスのシグナル情報の代表は、ナノ細孔シーケンサーにより生成された生データを、備えてもよい。
【0033】
リヌクレオチドシーケンスのシグナル情報の代表は、ナノ細孔を通る電流フローおよびナノ細孔を通って移行するポリヌクレオチドに対応する、電流情報を備えていてもよい。
【0034】
ブロックチェーンの先のブロックレコードの唯一識別子は、ブロックチェーンの先のブロックレコードのハッシュ、またはブロックチェーンの先のブロックのヘッダーのハッシュを、備えてもよい。
【0035】
ペイロードデータは、少なくとも一つの取引データまたはスマート契約を、備えてもよい。
【0036】
権威サーバからデータパッケージを受信することは、権威サーバからデータパッケージを要求することに応答するものであってもよい。たとえば、権威サーバからデータパッケージを要求することにより、マイニングノードは、ブロックチェーンにブロックレコードを付加する処理を、開始してもよい。有利なことに、これにより、マイニングノードは、ブロックチェーンネットワークと接続させたり、またはブロックチェーンネットワークからドロップアウトさせたりすることができ、より広いブロックチェーンネットワークに接続されるとき、および当該ワークが完了することを意図されるときのみに、ワークを行う。
【0037】
権威サーバは、ネットワークのマイニングノードであっても、なくてもよい。
【0038】
計算装置は、ネットワークのマイニングノードに記録されたブロックチェーンにブロックレコードを付加すること、ペイロードデータを含むブロックレコード、プルーフ・オブ・ワーク、およびブロックチェーンの先のブロックの唯一識別子に対して、ここで開示される。計算装置は、1以上のプロセッサを備える。計算装置は、記憶される指示を有する、1以上の機械読取可能な記憶媒体を、さらに備える。1以上のプロセッサにより処理されるとき、当該指示は、1以上のプロセッサに、権威サーバからのデータパッケージを受信させる。ここで、データパッケージは、複数のデータセットを備え、複数のデータセットの各々は、シグナル情報を備える。1以上のプロセッサにより処理されるとき、各データセットのシングル情報を、対応するデータアウトプットに変換するために、上記指示は、1以上のプロセッサに、データパッケージを分析もさせる。1以上のプロセッサにより処理されるとき、当該指示は、さらに、権威サーバに複数のデータを伝達し、当該複数のデータは、ブロックチェーンにブロックレコードを付加するため、プルーフ・オブ・ワークを確立する際に、使用される。
【0039】
権威サーバによるパフォーマンスに対して、方法は、ここで提供される。ブロックチェーンのブロックレコードを認証するために、権威サーバは、ネットワークのマイニングノードにより信頼される。当該方法は、ネットワークの第一のマイニングノードから、第一の複数のデータアウトプットを含む情報を受信することを、備える。第一の複数のデータアウトプットの各データアウトプットは、第一のマイニングノードにより分析された第一のデータパッケージから、決定される。第一のデータパッケージは、複数のデータセットを備える。当該方法は、第一の複数のデータアウトプットを検証することを、さらに備える。討議方法は、第一の複数のデータアウトプットを検証することに応じて、ブロックチェーンのブロックレコードにおいて、プルーフ・オブ・ワークとして使用されるために、固有のトークンにデジタル署名することを、さらに備える。
【0040】
有利なことに、当該方法を実施する権威サーバは、データパッケージのデータセットを、マイニングノードへのデータアウトプットに変換する計算タスクを、アウトソースする。権威サーバは、ブロックチェーンネットワークの幾つかのマイニングノードにより信頼されるので、第一のマイニングノードによりなされたワークを認証する権威サーバからの署名されたトークンを、ブロックチェーンのブロックレコードにおけるプルーフ・オブ・ワークとして、使用することができる。第一のマイニングノードにより付加されたブロックレコードが有効であることを認証するために、署名されたトークンは、ブロックチェーンネットワークの他のノードにより、使用されてもよい。
【0041】
ブロックチェーンのブロックレコードにおけるプルーフ・オブ・ワークとして使用されるために、方法ア、第一のマイニングノードへ、署名されたトークンを送信することを、さらに備えてもよい。このようにして、第一のマイニングノードは、ブロックレコードを生成することができる。1以上の代替の実施の形態において、権威サーバ自身は、トークンに署名してもよく、マイニングノードから受信したデータからブロックレコードを生成してもよく、さらに、ブロックチェーンネットワークへ生成したブロックを伝達してもよい。
【0042】
第一の複数のデータアウトプットを認証することは、実証条件が満たされたことを決定することを、備えてもよい。たとえば、第一の複数のデータアウトプットは、少なくとも他のマイニングノードから受信され、権威サーバにおりアクセス可能なメモリ内に記録された、以前に計算されたデータアウトプットと、比較されてもよい。または、第一の複数のデータアウトプットは、更なるマイニングノードから、以前におよび/または後に、受信する更なるデータアウトプットと、比較されてもよい。いくつかの実施の形態において、実証しているデータアウトプットが、それらの他の権威サーバに送られたかどうかをチェックするため、権威サーバは、他の権威サーバと通信してもよい。
【0043】
実証条件が満たされたことを決定することは、第一の複数のデータアウトプットの各データアウトプットが、ネットワークの更なるマイニングノードの閾数により、実証されたことを決定することを、備えてもよい。第一の複数のデータアウトプットの各データアウトプットが、ネットワークの更なるマイニングノードの閾数により、実証されたことを決定することは、第一の複数のデータアウトプットを、1以上の更なる複数のデータアウトプットと比較することを、備えてもよい。1以上の更なる複数のデータアウトプットの各々は、ネットワークの対応する更なるマイニングノードから、受信される。更なる複数のデータアウトプットは、対応する更なるマイニングノードにより分析された更なるデータパッケージから決定されてもよい。更なるデータパッケージは、各々、複数のデータセットを備え、複数のデータセットは、各々、シグナル情報を備える。1以上のデータセットは、第一のデータパッケージ内に含まれたものと、重複する。
【0044】
したがって、権威サーバは、複数のデータセットを備えるデータパッケージを、生成してもよい。当該複数のデータセットは、複数のサブジェクトに関連する。たとえば、データパッケージは、第一のデータセット、第二のデータセット、および更なるデータセットを、備えていてもよい。第一のデータセットは、植物標本などの第一のサブジェクトのポリヌクレオチドシーケンスの一部のシグナル情報の代表を、備える。第二のデータセットは、猫標本などの第二のサブジェクトのポリヌクレオチドシーケンスの一部のシグナル情報の代表を、備える。更なるデータセットは、更なる人々、生物、植物等の更なるポリヌクレオチドシーケンスの部分のシグナル情報の代表を、備える。すなわち、各データパッケージ内のデータセットは、複数のソースから生成されたシグナル情報を、備えてもよい。権威サーバは、第一のデータパッケージを第一のマイニングノードへ送信、第二のデータパッケージを第二のマイニングノードへ送信、などをしてもよい。もし、第一および二のデータパッケージ内の1以上のデータセットが重複するなら、そのとき、第一のマイニングノードからのデータアウトプットを確認するために、第二のマイニングノードからのデータアウトプットを使用することができ、逆もまた同様である。しかしながら、もし、如何なるデータパッケージは、同じでもなく、重複していないなら、そのとき、特定のユーザに対して完全なセットのデータアウトプットを再生するために、少数のマイニングノードが、十分な情報を蓄積することは、実行不可能である。たとえば、もし、人標本に対するナノ細孔を用いて、DNAシーケンスの特性プロファイル電流が生成されるなら、当該特性電流プロファイルが、複数のデータセットに分割されてもよく、各データセットは、現在の署名の一部を備える。マイニングノードは、関連するデータパッケージの全てから、人標本に関連する一つのデータセットを備えるデータパッケージを、受信してもよく、当該一つのデータセットは、データパッケージ内に含まれる、(異なる標本に関連する)多くのデータセットの一つであってもよい。さらに、データパッケージは、各データセットが関連する標本に関して、如何なる更なる識別情報を含まなくてもよい。したがって、もし、各サブジェクトに関連するデータセットの数が大きいなら、さらに、ブロックチェーンネットワーク内のマイニングノードの数が大きいなら、そのとき、マイニングノードまたは少数のマイニングノードが、たとえば、人標本に対する全DNAシーケンスを決定することは、実現不可能である可能性がかなり高い。有利なことに、このことは、データパッケージに含まれる情報のサブジェクトに対する、データプライバシおよびセキュリティを、かなり向上する。特定のデータアイテムのシグナル情報を生成した、ナノ細孔シーケンサーの識別子を、署名されたトークン内に、またはブロックチェーンのブロックにおける他の場所に、含めることができる。
【0045】
第一の複数のデータアウトプットの各データアウトプットが、ネットワークの更なるマイニングノードの閾数により、実証されたことを決定することは、第一の複数のデータアウトプットの各データアウトプットが、ネットワークの更なるマイニングノードの閾数により、予め規定されたエラー閾値内で、実証されたころを決定することを、備えていてもよい。有利なことに、データアウトプット間のマイナーな相違を許すことは、シグナル情報をデータアウトプットに変換する際に生成されたエラー説明することを、助ける。当該相違は、たとえば、シグナル情報のノイズネスのために、起こりうる。たとえば、シグナル情報がポリヌクレオチドシーケンスの代表であるとき、当該シグナル情報が生成された方法に依存して、同一のデータセットは、異なるマイニングノードにより、かなり類似したデータアウトプットに変換されてもよい。
【0046】
第一の複数のデータアウトプットを含む情報を受信することは、データパッケージを第一のマイニングノードへ伝達することの応答であってもよく、当該データパッケージは、複数のデータセットを備える。ここで、複数のデータセットの各々は、データアウトプットへの変換のため、シグナル情報を備える。データパッケージを第一のマイニングノードへ伝達することは、第一のマイニングノードからデータパッケージ要求を受信することの応答であってもよい。
【0047】
当該方法は、第一のマイニングノードへ第一のデータパッケージを伝達する前に、複数のデータソースから、複数の事前処理されたデータアイテムを受信することを、さらに備えてもよい。当該方法は、第一のマイニングノードへ第一のデータパッケージを伝達する前に、複数の事前処理されたデータアイテムを、独立した処理可能なデータセットに、分割することを、さらに備えてもよい。当該方法は、第一のマイニングノードへ第一のデータパッケージを伝達する前に、独立した処理可能なデータセットのセレクションを、データパッケージ内にパッケージすることを、さらに備えてもよい。該方法は、第一のマイニングノードへ第一のデータパッケージを伝達する前に、メタデータを記録することを、さらに備えてもよい。当該メタデータに関して、独立した処理可能なデータセットは、データパッケージのソース、提出の日時、およびデータの変形を要求しないデータパッケージ内に記録された他のデータを、選択的に含む、データパッケージ内に含まれる(たとえば、シーケンシング機器の識別、シーケンサーが動作された日時、提出しているユーザにより提供される生体サンプルの名前)。
【0048】
前に説明したように、当該方法の特徴は、複数のデータソースにより提供されるデータに対して、データプライバシおよびデータセキュリティを確保することを、助ける。当業者であれば、「データソース」という用語は、広く解釈されるべきである、ということを認識している。たとえば、「データソース」は、シグナル情報のデータベースを備える、計算装置を備えていてもよい。データソースは、いくつかの問題、サブジェクト(たとえば、いくつかの患者)、または組織、に関連した情報を、記録してもよい。データソースは、ユーザの計算装置を備えていてもよく、ユーザが、たとえば、権威サーバへデータアイテムを提供してもよい。たとえば、ユーザは、研究設備、病院、政府組織、または個人、であってもよい。
【0049】
第一のマイニングノードにより分析された第一のデータパッケージは、おとりデータセットを、備えていてもよい。第一の複数のデータアウトプットを認証することは、データアウトプットの局所登録に対して、第一の複数のデータアウトプットのおとりデータアウトプットをチェックすることを、含んでいてもよい。当該おとりデータセットは、権威サーバが、ブロックチェーンにブロックを付加するワークを着手するとき、マイニングノードがだましを試みていないことをチェックする、ことがさらにできるようにする。
【0050】
サーバまたは権威サーバを、ここで開示する。ブロックチェーンのブロックレコードを証明するために、権威サーバは、マイニングノードにより信頼される。各マイニングノードは、ブロックチェーンにブロックレコードを付加するため、計算装置を備える。権威サーバは、1以上のプロセッサを備える。権威サーバは、1以上のメモリユニットを、さらに備える。当該メモリユニットは、そこに記録される指示を有する。1以上のプロセッサにより処理されるとき、当該指示は、1以上のプロセッサに、ネットワークの第一のマイニングノードから、第一の複数のデータアウトプットを含む情報を受信させる。第一の複数のデータアウトプットの各データアウトプットは、第一のマイニングノードにより分析された第一のデータパッケージから、決定される。データパッケージは、複数のデータセットを備える。1以上のプロセッサにより処理されるとき、当該指示は、さらに、1以上のプロセッサに、第一の複数のデータアウトプットを認証させる。1以上のプロセッサにより処理されるとき、当該指示は、さらに、第一の複数のリードを認証することに応答して、ブロックチェーンのブロックレコードにおいてプルーフ・オブ・ワークとして使用されるために、1以上のプロセッサに、固有のトークンにデジタル署名させる。
【0051】
ブロックチェーンにブロックレコードを付加するために、プルーフ・オブ・ワークとして、シグナル情報を処理するため、システムが、ここで開示される。システムは、1以上の権威サーバを備え、各々は1以上のプロセッサを備える。当該システムは、マイニングノードのネットワークを、さらに備える。ここで、各マイニングノードは、1以上のプロセッサを備える。マイニングノードは、権威サーバから、データパッケージを受信するように、構成されている。データパッケージは、複数のデータセットを備える。ここで、複数のデータセットの各々は、シグナル情報を備える。各データセットのシグナル情報を、対応するデータアウトプットに変換するために、マイニングノードは、データパッケージを分析するように、さらに構成せれている。さらに、マイニングノードは、複数のデータアウトプットを権威サーバに伝達する、ように構成されている。さらに、マイニングノードは、権威サーバから、署名されたトークンを受信する、ように構成されている。さらに、マイニングノードは、プルーフ・オブ・ワークとして署名されたトークンを使用して、ブロックチェーンに対するブロックレコードを生成する、ように構成されている。さらに、マイニングノードは、生成されたブロックレコードを、ネットワークの少なくとも第二のマイニングノードへ伝達する、ように構成されている。権威サーバは、マイニングノードから、複数のデータアウトプットを含む情報を受信する、ように構成されている。権威サーバは、複数のデータアウトプットを認証するように、さらに構成されている。さらに、権威サーバは、複数のデータアウトプットを認証することに応答して、固有のトークンにデジタル署名する、ように構成されている。さらに、権威サーバは、ブロックチェーンのブロックレコードにおいてプルーフ・オブ・ワークとして使用されるように、署名されたトークンを、マイニングノードへ送信する、ように構成されている。
【0052】
ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークとして、ポリヌクレオチドシーケンスデータを処理する、システムが開示される。当該システムは、1以上の権威サーバを備え、各々は、1以上のプロセッサを備える。当該システムは、さらに、マイニングノードのネットワークを備える。ここで、各マイニングノードは、1以上のプロセッサを備える。マイニングノードは、権威サーバから、データパッケージを受信するように、構成されている。データパッケージは、複数のデータセットを備える。ここで、複数のデータセットの各々は、ポリヌクレオチドシーケンスのシグナル情報代表を、備える。さらに、マイニングノードは、各データセットのシグナル情報を、対応するリードに変換するために、データパッケージを分析する、ように構成されている。複数のリードの各リードは、各ポリヌクレオチドシーケンスを、記述している。さらに、マイニングノードは、複数のリードを、権威サーバへ、伝達するように構成されている。さらに、マイニングノードは、権威サーバから、署名されたトークンを受信するように、構成されている。さらに、マイニングノードは、プルーフ・オブ・ワークとして署名されたトークンを使用して、ブロックチェーンに対するブロックレコードを生成する、ように構成されている。さらに、マイニングノードは、生成されたブロックレコードを、ネットワークの少なくとも第二のマイニングノードへ伝達する、ように構成されている。権威サーバは、マイニングノードから、複数のリードを含む情報を受信する、ように構成されている。さらに、権威サーバは、複数のリードを認証する、ように構成されている。さらに、権威サーバは、第一の複数のリードを認証することに応答して、固有のトークンにデジタル署名する、ように構成されている。さらに、権威サーバは、ブロックチェーンのブロックレコードにおいてプルーフ・オブ・ワークとして使用されるように、署名されたトークンを、マイニングノードへ送信する、ように構成されている。
【0053】
ブロックレコードを、ネットワークのマイニングノードに記録されたブロックチェーンに付加する、計算装置が、ここで開示される。ブロックレコードは、ペイロードデータ、プルーフ・オブ・ワーク、および、ブロックチェーンの先のブロックの唯一の識別子を、備える。計算装置は、1以上のプロセッサを備える。さらに、計算装置は、1以上の機械読取可能な記録媒体を備え、当該記録媒体は、そこに記録される、権威サーバから受信したデータパッケージを処理するための、第一のセットの指示を有する。第一のセットの指示は、暗号カギを要求する。さらに、計算装置は、1以上の機械読取可能な記録媒体を備え、当該記録媒体は、そこに記録される第二のセットの指示を有する。1以上のプロセッサにより処理されるとき、当該第二のセットの指示は、権威サーバからデータパッケージを受信するステップを、実施する。データパッケージは、暗号カギと複数のデータセットとを備え、複数のデータセットの各々は、シグナル情報を備える。1以上のプロセッサにより処理されるとき、当該第二のセットの指示は、さらに、各データセットのシグナル情報を、対応する暗号化されたデータアウトプットへ変換するために、受信した暗号カギを用いて、第一のセットの指示を処理するステップを、実施する。1以上のプロセッサにより処理されるとき、当該第二のセットの指示は、さらに、複数の暗号化されたデータアウトプットを、権威サーバへ伝達するステップを、実施する。複数の暗号化されたデータアウトプットは、ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、使用される。
【0054】
ここで、方法が提供される。当該方法は、権威サーバから受信したデータパッケージを処理するための、コンピュータ読込可能な指示を有する、マイニングノードによるパフォーマンスに対するものである。当該指示は、暗号カギを要する。権威サーバからデータパッケージを受信することを、当該方法は、備える。当該データパッケージは、暗号カギと、複数のデータセットとを備える。ここで、複数のデータセットとの各々は、シグナル情報を備える。さらに、当該方法は、受信した暗号カギを用いて、各データセットのシグナル情報を、対応する暗号化されたデータアウトプットに変換するため、コンピュータ読込可能な指示を実施することを、備える。さらに、当該方法は、複数のデータアウトプットを、権威サーバへ伝達することを、備える。当該複数のデータアウトプットは、ブロックチェーンにブロックレコードを付加するため、プルーフ・オブ・ワークを確立する際に、使用される。
【0055】
有利なことに、当該方法を実施するマイニングノードは、復号されたデータアウトプットに対するアクセスをもたないようにしてもよく、それで、データセットが関連するサブジェクトマターを決定することができないようしてもよい。したがって、マイニングノードは、オリジナルデータアイテムについての情報を決定することが、できなくなるので、当該方法は、オリジナルデータアイテムを提出するユーザに対して、向上したデータプライバシへと導く。
【0056】
ここで、方法が提供される。当該方法は、1以上の権威サーバによるパフォーマンスに対するものである。当該方法は、複数のデータソースからデータアイテムを受信することを備え、当該データアイテムは、シグナル情報を備える。さらに、当該方法は、データアイテムを、独立した処理可能なデータセットに分割することを、備える。さらに、当該方法は、暗号カギと対応する復号カギとを生成することを、備える。さらに、当該方法は、独立した処理可能なデータセットと暗号カギとのセレクションを、データパッケージ内に収集することを、備える。データパッケージの独立した処理可能なデータセットは、複数のデータソースからのものである。さらに、各データセットのシグナル情報を、対応する暗号化されたデータアウトプットに変換するために、当該方法は、データパッケージを、ブロックチェーンマイニングネットワークのマイニングノードへ伝達することを、備える。さらに、当該方法は、複数の暗号化されたデータアウトプットを含む情報を受信すること、および、生成された復号カギを用いて、暗号化されたデータアウトプットを復号することを、備える。
【0057】
有利なことに、当該方法を実施する権威サーバは、データパッケージのデータセットを、データアウトプットへ変換する、計算タスクを、マイニングノードへ、アウトソーシングすることができる。権威サーバにより生成された暗号カギは、マイニングノードが、オリジナルデータアイテムの性質についての情報を決定することができなくなる、ということも保証する。さらに、第三者を妨害することは、オリジナルデータアイテムについての情報も、決定することができなくなる。このことは、向上したデータプライバシという結果となる。
【0058】
暗号カギは、データパッケージの各データセットに対する、異なる暗号カギを備えていてもよい。暗号化されたデータアウトプットは、レターのシーケンスを備えていてもよく、暗号化されたデータアウトプットを復号することは、IUPACヌクレオチドコードに対するレターを提出することを、備えていてもよい。IUPAC核酸コードは、by the International Union of Pure and Applied Chemistry (IUPAC)により形式化された、核酸表記として、理解されるものである。他の表記を使用してもよい。暗号化されたデータアウトプットは、おとり特徴を含んでいてもよく、暗号化されたデータアウトプットを復号することは、おとり特徴を取り除くことを、備えていてもよい。
【0059】
さらに、当該方法は、復号されたデータアウトプットを認証することを、備えてもよく、さらに、復号されたデータアウトプットを認証することに応答して、ブロックチェーンのブロックレコードにおいてプルーフ・オブ・ワークとして使用されるように、固有のトークンにデジタル署名することを、備えてもよい。さらに、当該方法は、認証された復号されたアウトプットを、許可されたユーザへ伝達することを、備えてもよい。
【0060】
少なくとも一つのデータアイテムのシグナル情報は、ナノ細孔シーケンサーにより生成された生データを、備えていてもよく、署名されたトークンは、ナノ細孔シーケンサーの識別子を、含んでいてもよい。少なくともいくつかのデータアイテムのシグナル情報は、ポリヌクレオチドシーケンスの代表であってもよく、復号されたデータアウトプットは、ポリヌクレオチドシーケンスの対応するセクションを、備えていてもよい。ポリヌクレオチドシーケンスは、デオキシリボ核酸、DAN、シーケンス、またはリボ核酸、RNA、シーケンスを、備えてもよい。
【0061】
ここで、権威サーバが開示される。当該権威サーバは、1以上のプロセッサを備える。当該権威サーバは、さらに、1以上のメモリユニットを備え、当該メモリユニットは、そこに記憶される指示を有する。1以上のプロセッサにより処理されるとき、当該指示は、1以上のプロセッサに、受信したデータアイテムを、独立した処理可能なデータセットに分割させる。データアイテムは、複数のデータソースから受信され、当該データアイテムは、シグナル情報を備える。1以上のプロセッサにより処理されるとき、さらに、当該指示は、1以上のプロセッサに、暗号カギおよび対応する復号カギを生成させる。1以上のプロセッサにより処理されるとき、さらに、当該指示は、1以上のプロセッサに、独立した処理可能なデータセットおよび暗号カギのセレクションを、データパッケージ内に収集させる。データパッケージの当該独立した処理可能なデータセットは、複数のデータソースからのものである。1以上のプロセッサにより処理されるとき、さらに、各データセットのシグナル情報を、対応する暗号化されたデータアウトレットに変換するため、当該指示は、1以上のプロセッサに、データパッケージを、ブロックチェーンマイニングネットワークのマイニングノードへ、伝達させる。1以上のプロセッサにより処理されるとき、さらに、当該指示は、1以上のプロセッサに、受信した情報を処理させる。当該受信した情報は、複数の暗号化されたデータアウトプットを含む。ここで、受信した情報を処理することは、生成された復号カギを用いて、暗号化されたデータアウトプットを復号することを、備える。
【0062】
本発明の側面によると、コンピュータ読込可能媒体が開示され、当該コンピュータ読込可能媒体は、そこに記憶される指示を有する。プロセッサにより処理されるとき、当該指示は、ここで記載された方法を実施される。当該コンピュータ読込可能媒体は、非一時的なコンピュータ読込媒体であってもよい。
【0063】
ここで説明された方法を実施するための、コンピュータプログラムおよび/またはコード/指示は、コンピュータ、コンピュータ読込可能媒体上、またはコンピュータプログラム製品などの、装置に提供されてもよい。コンピュータ読込可能媒体は、たとえば、電気的、磁気的、光学的、電磁気的、赤外的、または半導体システム、または、データ転送のための伝搬媒体、たとえばインターネットを介したコードのダウンロード、であり得る。または、コンピュータ読込可能媒体は、半導体又は固体メモリ、磁気テープ、取外可能なフロッピーディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、硬質磁性ディスクなどの、物理的コンピュータ読込可能媒体、および、CD-ROM、CD-R/W、またはDVDなどの、光学ディスク、の形式を取ることができる。
【0064】
ここで述べられる本発明の多くの変形および他の実施の形態は、ここで提示される技術に照らして、これらの発明に関連する技術における当業者であれば、頭に浮かぶものである。したがって、ここでの開示は、ここで開示される特定の実施の形態に限定されるものではないと、理解される。さらに、ここで提供される記述は例となる実施の形態を提供するけれども、構成要素、ステップ、および/または機能のある組合せに観点で、本発明の範囲から逸脱することなく、代替の実施の形態により提供されてもよい。
【図面の簡単な説明】
【0065】
本発明の実施の形態は、例という方法のみにより、添付の図面を参照して、説明される。
【
図1A】ブロックチェーン実装をサポートするための、通信システムを示す。
【
図1B】
図1Aに関連して説明される複数のパーティ間の相互作用関係を示す。
【
図8】ブロックがブロックチェーンに付加される、例に係るイベントのシーケンスを示す。
【0066】
明細書の記載および図面全体において、同様の部分には、同様の参照符号が付される。
【発明を実施するための形態】
【0067】
様々な実施の形態が以下で説明されるが、本発明は、当該実施の形態に限定されない。そして、これらの実施の形態の変形は、添付される特許請求の範囲にのみにより限定されることとなる発明の範囲内に、十分に当てはまる。
【0068】
上記で記載されるように、ブロックチェーンは、認証され、ブロックチェーンネットワークの複数のノードに記録される、データの結びつけられたブロックレコード/ブロックを備える、データベースの1種である。典型的に、ブロックチェーンのブロックレコードは、ペイロードデータ(すなわち、ブロックチェーンにおける記録のため、そのブロックレコードに記録されるデータ)、ブロックチェーンの先のブロックレコードの唯一の識別子(たとえば、その先のブロックに含まれる情報のハッシュ値代表)、および、プルーフ・オブ・ワーク(POW)を、備える。
【0069】
ここで使用される「ペイロードデータ」という用語は、データおよび/または記録されるコンピュータ実行可能指示(たとえば、スマート契約)を含むように、またはブロックチェーンに記録されるように、広く理解される。たとえば、ペイロードデータは、1のパーティから他のパーティへの暗号通貨の転送に関連してもよい。
【0070】
典型的に、各ブロックレコードは、前のブロックレコード、たとえば、前のブロックレコードにおける情報のハッシュ値、または前のブロックレコードのヘッダーのハッシュ値、へのリンクを含む。典型的に、各ブロックレコードは、プルーフ・オブ・ワーク(POW)をも、備える。POWは、生成することは困難であるが、他の者(すなわち、他のユーザ又は他の計算装置)が認証することが容易であり、ある認証要件を満足する、データの一部である。これにより、各ブロックレコードは、ワークがそれを生成することをなしたという、信用、信頼できる証拠を、提供する。たとえば、当該ワークは、アウトプットを計算するのに必要な時間など、かなりの量の処理資源の消費であってもよい。
【0071】
POWシステム(またはプロトコル、またはファンクション)は、コンセンサスベースのブロックチェーン実装に、役立つ。マイニングノードは、いくつかのワーク、各々がシグナル情報を備える複数のデータセットを、複数のデータアウトプットに変換すること、を請け負うことを要求される。マイニングノードを含む他のパーティは、信頼された権威サーバからの署名されたトークンのような、認証を独立してチェックすることができ、そのマイニングノードからのブロックを受入れるか無視するかを決定する前に、そのワークは真に実施された。さらに、各マイニングノードは、最新のものとして、最も長い有効なブロックチェーンを受入れてもよく(そして、その最も長い有効なブロックチェーンに、次のブロックレコードを付加することを試みる)、より短いチェーンは、無視してもよい。このようにして、ブロックチェーンにブロックレコードを付加するために、マイニングノードに、かなりのワークすることを要求することは、もし、いずれかのノードが、より早いブロックレコードを改ざんすることを試みるなら、多くのノードが改ざんされたブロックチェーンを受入れるために、それらは、改ざんされたブロックレコードを、有効に、チェーンおよび、現在の最も長いチェーンを上回る十分に続くブロックレコードに、添付するのに、かなりのワークを実施することが必要となる、ということを保証する。
【0072】
ブロックレコードは、第一のマイニングノードが処理されたデータパッケージ(すなわち、複数のデータアウトプット)を認証のために権威サーバに提出したときを示す1以上のタイムスタンプ、権威サーバに処理されたデータアウトプット提出した第一のマイニングノードの識別子、権威サーバがデータアウトプットを受信したときを示すタイムスタンプ、どの権威サーバがデータアウトプットを認証したかに関しての指標、処理されたデータパッケージが権威サーバにより認証されたときを示すタイムスタンプ、マイニングノードにより処理されたデータパッケージの参照番号、または、他の関連する情報を、さらに備えてもよい。
【0073】
図1Aは、通信システム100を、図示している。当該通信システム100は、通信ネットワーク110、いくつかのマイニングノード120(マイニングノード120a~120dとして、
図1Aに示される)、権威サーバ130、中央権威サーバ140、および、複数のデータソース150を、含んでいてもよい。通信ネットワーク110は、インターネットのような、適切なあらゆる通信ネットワークであってもよい。
【0074】
マイニングノード120は、適切なあらゆる形式をとってもよく、個々で説明されるような方法を実施するための適切なあらゆる計算装置を、備えていてもよい。たとえば、マイニングノード120aおよび120cは、コンピュータまたはサーバとして示され、さらに、パーソナルコンピュータ、サーバ、ラップトップコンピュータ、または、そのような他のマシーンのような、処理および記録を行うことができる、あらゆる適切な計算装置であってもよい。マイニングノード120bは、サーバやパーソナルコンピュータのコレクションのような、相互に接続された計算装置の、マイニングプールまたはコレクションまたはクラスタとして、示される。当該計算装置は、たとえばデータの並行処理により、または、それらでの間でのここで説明される方法のタスクを分割することにより、ここで説明される方法を、集合的に実施するように構成されている。計算装置のコレクションは、直接のピアツーピア接続を介して、または、他のネットワーク(インターネット、またはイントラネットのような閉じたローカルネットワークなど)を介して、互いに通信してもよい。計算装置のコレクションは、ネットワーク110を介して、他の計算装置と、集合的に通信してもよい。マイニングノード120dは、専用のプロセッサおよび記憶装置のコレクションとして、示されている。
【0075】
よって、当業者であれば、マイニングノード120は、ここで説明されるようなマイニング方法を実施するのに適切な装置である、ということを認識する。たとえば、マイニングノード120は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、ブレードサーバ、メインフレームなどの、1以上の計算装置を、備えていてもよい。
【0076】
ブロックチェーンの共有、記録、および/または確立に参加する装置のピアツーピアブロックチェーンネットワーク115を形成するため、各マイニングノード120は、少なくとも一つの他のマイニングノード120およびに任意の他の装置と、通信ネットワーク110を介して、通信するように構成されている。
図1Aのブロックチェーンネットワーク115は、マイニングノード120のみを備えるように示されているが、たとえば、もし、ブロックチェーンのバーションが、記録のため、権威サーバに送信されるなら、または、もし、権威サーバ自身が、マイニングノードとしても機能するように構成されているなら、ブロックチェーンネットワーク115は、さらに、1以上の権威サーバ130を備えていてもよい(
図1Aには、たった一つの権威サーバ130が図示されているが)。
【0077】
さらに、各マイニングノード120は、通信ネットワーク110を介して、1以上の権威サーバ130と通信されるように構成される(
図1Aには、たった一つの権威サーバ130が図示されたが)。
図1Aが、マイニングノード120と同じ通信ネットワーク110と通信的に接続された権威サーバ130を、示している一方で、こういう場合が必要というわけではない。さらに、
図1Aには、一つの権威サーバ130が図示されているが、更なる権威サーバ130が存在してもよい。いくつかの例において、当該例において、権威サーバ130は、新しいブロックレコードのため、少なくとも一つの他の権威サーバ130から、署名されたトークンを探すことが必要となるかもしれないが、権威サーバ130は、マイニングノード120として動作するように、構成されてもよい。
【0078】
権威サーバ130は、
図2で示され、後述される計算装置200のような、適切な計算装置を、備えてもよい。権威サーバ130は、複数のマイニングノード120により信頼される計算装置であり、これにより、権威サーバ130により発行される、デジタル署名または他の形式の認証可能な承認(許可書など)により、マイニングノードは、動作、または権威サーバ130により署名されたデータの種類が、有効であるとしてマークされ、これにより、マイニングノード120により信頼される、ということを決定することができる。1以上のデータソース150と通信するため、および
図1Aの例において、中央権威サーバ140とも通信するため、各権威サーバ130は、通信ネットワーク110を介して、1以上のマイニングノード120と通信するように、構成される。たとえば、権威サーバ130は、信頼される研究所または公共団体により、運営されてもよい。データソース150は、データベースのような、データパッケージの部分として、マイニングノード120による処理のために、権威サーバ130にデータを提供することができる、情報の適切な収納場所である。データソース150は、したがって、権威サーバ130、と通信し/により読み出されるように構成され、1以上の事前に処理されたデータアイテムを、権威サーバ130に提供する。したがって、権威サーバは、マイニングノード120への分配のため、複数のデータパッケージを、生成、作成、または照合してもよい。
【0079】
当業者であれば、データソースという用語は、広く解釈されるべきであり、データアイテムが取り出される、物理的なハードウェア/サーバなどを備えてもよい、というふうに認識する。
【0080】
通信システム100は、集中権威サーバ140を備えていてもよい。集中権威サーバ140は、権威サーバ130を追跡および認証するように、構成されており、これにより、権威サーバ130は、関連するマイニングノード120により、信頼される。たとえば、集中権威140は、各権威サーバ130に、署名した許可証を、割り当ててもよい。当該許可証は、プルーフ・オブ・ワークとして作用するために、トークンに署名する際に、権威サーバ130により、使用されてもよい。マイニングノード120は、署名されたトークンを発行する権威サーバ130の有効性を最初にチェックすることにより、および、署名されたトークン自信をチェックすることにより、ブロックチェーンのブロックレコードが、有効であるかどうかを、チェックしてもよい。
【0081】
中心権威140は、自身で、データソース150を備えていてもよい。すなわち、中心権威140は、データアイテムを照合してもよく、マイニングノード120への先への転送の前に、処理のために、権威サーバ130に、これらのデータアイテムを分配してもよい。1以上のマイニングノード120からデータアウトプットを受け取ると、権威サーバ130は、集中権威140に、認証されたデータアウトプットを伝達してもよい。
【0082】
当業者であれば、集中権威140は存在してもしなくてもよく、いくつかの実施の形態では、必要とされない、ということを認識する。たとえば、いくつかのプライベートブロックチェーンの実装において、単一の権威サーバ120が存在してもよく、さらなる権威(集中権威)は要請されない。
【0083】
図1Bは、
図1Aの全体により使用されるような、階層的な構造を、例示している。当業者であれば、
図1Bは単なる例の目的のためのものであり、他の通信構造が可能であることを、認識する。集中権威140は、権威サーバ130a,130b,130cの各々を、認証することができ、これにより、それらは、マイニングノードにより処理されるデータパッケージに投入または入力するため、関連するマイニングノードおよび互いにより、信頼されてもよく、データパッケージの結果の認証の際に、ブロックチェーンのブロックレコードにおけるプルーフ・オブ・ワークとして使用される、トークンに署名してもよい。
【0084】
図1Bにおいて、第一の権威サーバ130aが、第一のマイニングノード120aおよび第二のマイニングノード120bと、通信的に接続されて、図示されており、第二の権威サーバ130bが、第三のマイニングノード120cおよび第四のマイニングノード120dおよび第五のマイニングノード120eと、通信的に接続されて、図示されており、第三の権威サーバ130cが、第五のマイニングノード120eおよび第六のマイニングノード120fと、通信的に接続されて、図示されている。当業者であれば、更なる又はより少なく権威サーバ130が含まれてもよく、さらに更なるマイニングノードが含まれてもよい、ということを認識する。
【0085】
マイニングノード120a,120b,120c,120d,120e,120fは、マイニングノードネットワーク/ブロックチェーンネットワーク115に、通信的に接続されてもよい(マイニングノード間において点線で示される)。すなわち、マイニングノード120は、他のマイニングノード120へ、ブロックチェーンのコピーまたはブロックチェーンのためのブロックレコードを、伝達してもよい。いくつかの実施の形態において、1以上の権威サーバ130は、ブロックチェーンネットワークの部分を形成してもよく、これにより、それらは、マイニングノード120(または、他の権威サーバ130)へ、ブロックチェーンのコピーを、受信または転送することができる。しかしながら、
図1Bにおいては、このことは図示されていない。
図1Bにおいて、権威サーバ130は、ブロックチェーンネットワークの外側である(すなわち、それらは、ブロックチェーンのコピーを送信したり受信したり、しない)が、マイニングノード120により処理されるデータパッケージに入力し、さらにマイニングノード120によるデータパッケージの処理の結果を認証する。
【0086】
例において、中心権威140により認証された後、第一の権威サーバ130aは、複数のデータソース(150、
図1A)から、複数の事前処理されたデータアイテムを受信し、データパッケージ内に複数のデータアイテムを包み、データパッケージを、処理されるマイニングノード120a,120bの各々へ、発行してもよい。各データパッケージは、複数のデータセットを含み、複数のデータセットの各々は、シグナル情報を備える。どのデータパッケージが同一でない一方、データセットは、複数のデータパッケージ内に含まれてもよい。さらに、第一の権威サーバ120aは、どのデータアイテムがどのデータパッケージ内であるかに関して、メタデータを記録してもよく、これにより、データパッケージの処理の結果が認証されるとき、処理された結果は、関連ユーザ/データソース150に、戻されてもよい。データアイテムのソースまたはデータアイテムに関連するサブジェクトに関し、マイニングノードへ個人情報を送信することを避けるために、データパッケージにデータセットの体系立てられた識別情報を代わりに含めるため、第一の権威サーバ130aは、同定特徴をさらに除去してもよい。このようにして、どのマイニングノードも、実行可能な方法で、特定のデータセットが、どのサブジェクト、問題、またはイシュに関連しているかを決定しなくてもよいので、データプライバシが向上する。
【0087】
データパッケージは、情報、たとえば、データセットを評価するときに、マイニングノードにより使用されるパラメータを、さらに含んでいてもよい。
【0088】
着手されるワークの認証可能な証明として、権威サーバ130からの署名されたトークンを使用して、各マイニングノード120は、ブロックチェーンにブロックレコードを付加することを試みるように、構成されている。したがって、各データセットのシグナル情報を、対応するデータアウトプットに変換するために、第一のマイニングノード120aは、第一の権威サーバ130aからのデータパッケージを処理し、認証のため、第一の権威サーバ130aへ、複数のデータアウトプットを伝達する。
【0089】
第一の権威サーバ130aは、ブロックチェーンネットワーク115の、第一のマイニングノード120a、第二のマイニングノード120b、および更なるマイニングノード(図示せず)から、データアウトプットを受信してもよい。第一のマイニングノード120aに提供されたデータパッケージの各与えられたデータセットに対するデータアウトプットが、他のマイニングノード(たとえば、第二のマイニングノード120b)により提供されたその与えられたデータセットに対して提供されたデータアウトプットと、(誤り限界内で)略一致するかを、チェックすることにより、第一の権威サーバ130aは、第一のマイニングノード120aから受信したデータパッケージを、認証することができる。ひとたび、第一の権威サーバ130aが、第一のマイニングノード120aからのデータパッケージの結果が、認証されたことを、決定すると、ブロックチェーンにブロックレコードを付加する際の使用のため、第一の権威サーバ130aは、署名されたトークンを、第一のマイニングノード120aへ送信する。記録されたメタデータを調べた後、第一の権威サーバ130aは、マイニングノード120によるデータ処理の結果を、データソースまたは他の正当なステークホルダへ、送信することができる。
【0090】
第一の権威サーバ130aから署名されたトークンを受信すると、ブロックチェーンにブロックを付加するため、そして、その後、そのブロックを、より広いブロックチェーンネットワーク115へ伝達するため、第一のマイニングノード120aは、プルーフ・オブ・ワークとして、署名されたトークンを使用することができる。
図1Bにおいて、第一のマイニングノード120aが、第二のマイニングノード120bおよび第三のマイニングノード120cと接続されて、示されており、第一のマイニングノード120aは、したがって、生成されたブロックを、ピア・トゥ・ピア接続を介して、第二のマイニングノード120bおよび第三のマイニングノード120cと、通信してもよい。
【0091】
第一の権威サーバ130aは、第一のマイニングノード120aからの結果の認証時に、第一のマイニングノード120aへの暗号通貨の支払いを調整するように、構成されてもよい。有利なことに、データパッケージのデータセットをデータアウトプットに変換する誘因タスクを計算的に着手し、よってブロックチェーンの維持に参加するため、当該支払いは、第一のマイニングノード120aに対して、インセンティブを提供してもよい。
【0092】
第二のマイニングノード120bが、第一のマイニングノード120aから、ブロックを受信した後、第三のマイニングノード120cは、当該ブロックが有効であることを、チェックしてもよい。第三のマイニングノード120cは、当該ブロックが、権威サーバ130aなどの権威サーバ130からの、署名されたトークンを含むことを、チェックしてもよい。署名されたトークンの発行者(第一の権威サーバ130a)が、中心権威140により認証されたことを示すことを、署名されたトークンが含む、ということを、第三のマイニングノード120cは、チェックしてもよい。たとえば、第三のマイニングノード120cは、第二の権威サーバ130bとの通信を介して、チェックをおこなってもよい。結果ブロックチェーン(第一のマイニングノード120aからの新しいブロックレコードは、意図的に、当該結果ブロックチェーンの部分である)が、第三のマイニングノード120cで局所的に記録される、現在のブロックチェーンよりも長い、ということを、第三のマイニングノード120cは、さらにチェックしてもよい。もし、第三のマイニングノード120cが、第一のマイニングノード120aからのブロックレコードが有効であることを、決定するなら、そのとき、第三のマイニングノード120cは、他のマイニングノード(たとえば、第四のマイニングノード120dおよび第五のマイニングノード120e)へ、そのブロックを伝達する。このようにして、有効なブロックが、コンセンサスにより、採用される。
【0093】
図2は、計算装置200のブロック図である。たとえば、計算装置(アパラタス)200は、計算装置(デバイス)、サーバ、モバイル又は携帯コンピュータまたは電話などを、備えてよい。計算装置200は、複数の接続されたデバイスに渡って分散されてもよい。計算装置200は、マイニングノード120、権威サーバ130、または中心権威140としての使用に、適していてもよい。
図2で示したものに対する他の構造は、当業者により認識されるように、使用されてもよい。
【0094】
図を参照して、計算装置200は、1以上のプロセッサ210、1以上のメモリ220、視覚ディスプレイ230および視覚又は物理的キーボード240などの複数の光学ユーザインタフェース、通信モジュール250、および、選択的にポート260と選択的に電源270を、含む。構成要素210,220,230,240,250,250,270の各々は、様々なバスを用いて、相互接続される。プロセッサ210は、通信モジュール250またはポート260を介して受信され、メモリ220内に記録された指示を含み、計算装置200内での実行に対する指示を、処理することができる。
【0095】
メモリ220は、計算装置200内にデータを記録するためのものである。1以上のメモリ220は、揮発性メモリユニット、または複数のユニットを、含んでもよい。1以上のメモリは、不揮発性メモリユニット、または複数のユニットを、含んでもよい。1以上のメモリ220は、また、磁気や光学ディスクなどの、他の形式のコンピュータ読込可能な媒体であってもよい。1以上のメモリ220は、計算装置200に対して、大容量記憶を提供してもよい。ここで説明されるような方法を実施するための指示が、1以上のメモリ220内に、記録されてもよい。
【0096】
装置200は、視覚ディスプレイ230のような可視化手段と、キーボード240のような視覚又は専用ユーザ入力装置とを含む、複数のユーザインタフェースを含む。
【0097】
通信モジュール250は、プロセッサ210とリモートシステムとの間における、送信および受信通信に適している。たとえば、通信モジュール250を、インターネットのような通信ネットワーク110を介した通信の送受信のために、用いてもよい。
【0098】
ポート260は、たとえば、プロセッサ210により処理される1以上の指示を含む、非一時的コンピュータ読取可能媒体を受けるのに、適する。
【0099】
プロセッサ210は、データを受信し、メモリ220にアクセスするように構成されており、さらに、指示に基づいて動作するように構成されている。当該指示は、上記メモリ220やポート260に接続されたコンピュータ読取可能媒体から、通信モジュール250から、またはユーザ入力装置240から、受信される。
【0100】
マイニングノード120は、計算装置200または複数の当該装置を、備えていてもよい。
図1Aに関連して上記で説明したように、マイニングノードは、単一の計算装置または計算装置の小クラスターを、備えていてもよい。例として、第一のマイニングノード120aは、計算装置200を備えてもよく、プロセッサ210は、第一の権威サーバ130aからの(通信モジュール250を介して)、データパッケージを要求してもよい。計算装置200は、通信モジュール250を介して、第一の権威サーバ130aから、データパッケージを受信してもよい。プロセッサ210は、1以上のメモリ220に格納されている指示に従い、各データセットのシグナル情報を対応するデータアウトプットに変換するために、受信したデータパッケージを分析してもよい。それから、プロセッサ210は、複数のデータアウトプットを、第一の権威サーバ130aへ伝達してもよい。当該複数のデータアウトプットは、ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、使用される。計算装置200は、第一の権威サーバ130aから、署名されたトークンを受信してもよい。ブロックチェーンの先のブロックの唯一の識別子を抽出するために、プロセッサ210は、1以上のメモリ220に格納されているブロックチェーンの現在のバージョンを、調べてもよく、さらに、未処理のペイロードデータのデータプールから、ペイロードデータを取り出してもよい。プロセッサ210は、第一の権威サーバ130aからの、ペイロードデータ、唯一の識別子、および署名されたトークンを含む、ブロックチェーンのためのブロックレコードを、生成してもよい。それから、通信モジュール250を用いて、新しいブロックは、第二のマイニングノード120bおよび第三のマイニングノード120cなどの、ブロックチェーンネットワーク115の更なるマイニングノードへ、伝達されてもよい。新しいブロックは、それ自身、伝達されてもよく、または、新しいブロックを含む全ブロックチェーンが、伝達されてもよい。さらに、計算装置200を備えるマイニングノード120aは、第三のマイニングノード120cなどの、他のマイニングノード120から、意図されたブロックを受信してもよい。プロセッサ210は、それから、ブロックが権威サーバからの署名されたトークンを備えるかを、チェックしてもよい(さらに、メモリ220に格納された信頼された権威サーバのデータベースを調べてもよく、または、署名されたトークンのソースを認証するために、第一の権威サーバ130aと通信してもよい)。プロセッサは、意図されたブロックの追加のチェックを行ってもよい。それから、プロセッサ210は、新しいブロックが有効であるかを決定してもよく、さらに、メモリ220内のブロックチェーンの改定バージョンを記録してもよく、または、新しいブロックを無視してもよい。
【0101】
いくつかの実施の形態において、第一の権威サーバ130aのような権威サーバ130は、計算装置200を備えてよい。当該実施の形態において、通信モジュール250は、複数のデータソース150から、複数の事前処理されたデータアイテムを、受信してもよい。プロセッサ210は、複数の事前処理されたデータアイテムを、独立した処理可能なデータセットに、分割してもよく、データパッケージ内に、当該独立した処理可能なデータセットのセレクションを、パッケージしてもよく、さらに、それに関して独立した処理可能なデータセットがデータパッケージ内に含まれている、1以上のメモリ220にメタデータを記録する。ユーザ(たとえば、データアイテムに関連するサブジェクト)を識別することができる情報は、メタデータとして格納されてもよく、データパッケージのデータセットは、代わりに、系統的な識別子を用いて、追跡されてもよい。データパッケージは、それから、第一のマイニングノード120aのようなマイニングノード120へ、伝達されてもよい。計算装置200は、ネットワークの第一のマイニングノード120aから、第一の複数のデータアウトプットを含む情報を、受信してもよく、第一の複数のデータアウトプットの各データアウトプットは、第一のマイニングノード120aにより分析された、第一のデータパッケージから、決定する。計算装置200は、他のマイニングノード(たとえば、第二のマイニングノード120b)から、データアウトプットを、さらに受信してもよい。第一の複数のデータアウトプットを、格納された1以上の更なる複数のデータアウトプットと比較することにより、プロセッサ210は、第一の複数のデータアウトプットを、認証してもよい。第一の複数のデータアウトプットを認証することに応答して、プロセッサ210は、第一のマイニングノード120aを識別する詳細、タイムスタンプ、および第一のデータパッケージのハッシュを含む、トークンに暗号的に署名してもよく、さらに、署名されたトークンを、第一のマイニングノード120aへ伝達してもよい。認証されたデータアウトプットを、データソース250、中心権威240、または他の正当な目的場所へ、伝達してもよい。たとえば、データアイテムが関連するユーザに、処理された結果を安全にダウンロードすることができるウェブサイトへのリンクを提供するイーメイルを、送信してもよい。
【0102】
当業者であれば、
図2で示されたものに対する他の構造を使用することができる、ということを認識する。さらに、当業者であれば、計算装置200のような装置を、中心権威240および/またはデータソース250内に備える、ということを認識する。
【0103】
図3は、計算装置200のような計算装置により実施される方法300の、フローチャートである。当該方法は、マイニングノード120による実施に、適している。当該方法は、ブロックチェーンネットワーク115のマイニングノードに格納されたブロックチェーンに、ブロックレコードを付加するのに、適している。
【0104】
310において、データパッケージを受信する。当該データパッケージは、複数のデータセットを備え、各データアウトプットは、シグナル情報を備える。
【0105】
当該シグナル情報は、適切な情報シグナルであってもよい。例として、情報シグナルは、ナノ細孔シーケンサーにより生成された、生データを備えてもよく、当該生データは、ポリヌクレオチドシーケンスを示す。各データセットは、異なるサブジェクトに、関連してもよい。たとえば、データパッケージの第一のデータセットは、第一の人サブジェクトに関連し、データパッケージの第二のデータセットは、第二の人サブジェクトに関連し、
データパッケージの第三のデータセットは、プラントに関連するなどしてもよい。
【0106】
320において、各データセットのシグナル情報を対応するデータアウトプットに変換するために、データパッケージを分析する。たとえば、各データセットのシグナル情報を変換することは、一つのデータタイプを他のものに変換することを、備えてもよい。分析は、「ベースコーリング」の形式であってもよく、そこで、シグナル情報は、DNAシーケンスまたはRNAシーケンスのような、ポリヌクレオチドシーケンスに変換される。
【0107】
330において、複数のデータアウトプットを、権威サーバ130へ伝達する。複数のデータアウトプットを、暗号化された形式で、権威サーバ130に伝達してもよい。複数のデータアウトプットは、ブロックチェーンにブロックレコードを付加するためのプルーフ・オブ・ワークを確立する際に、使用される。
【0108】
図4は、計算装置200のような計算装置による実施方法400の、フローチャートである。当該方法は、権威サーバ130による実施に、適している。
【0109】
410において、第一のマイニングノードからの第一の複数のデータアウトプットを含む情報を、受信する。各データアウトプットは、第一のマイニングノードにより分析された第一のデータパッケージから、決定されたものであり、第一のデータパッケージは、複数のデータセットを含み、各データセットは、シグナル情報を備える。
【0110】
420において、複数のデータアウトプットを、認証する。データアウトプットの認証は、適切な形式でなされてもよい。
【0111】
430において、固有のトークンをデジタル的に署名する。固有のトークンは、ブロックチェーンのブロックレコードにおけるプルーフ・オブ・ワークとして、使用される。
【0112】
図5は、計算装置200のような計算装置により実施される方法500の、フローチャートを示す。
図5は、さらに、
図4の認証ステージ420の可能性のある実現の詳細を、提供する。
【0113】
当該方法は、ステップ510に進む前に、
図4に関連して上記されたステップ410から始まる。
【0114】
510において、更なる複数のデータアウトプットを、更なマイニングノードから、受信する。各マイニングノード120は、異なるデータパッケージを処理するので、どの2つの受信されたデータアウトプットは、同じではない。しかしながら、もし、データパッケージが重複するデータセットを含むなら、そのとき、第一のマイニングノード120aからのデータアウトプットを、複数の他のマイニングノードから受信されたデータアウトプットと、比較することができる。当業者であれば、されたデータアウトプットは、ステップ410の前に、ステップ410に続いて、またはステップ410と同時に、受信されてもよい、ということを認識する。520において、第一の複数のデータアウトプットのデータアウトプットを、更なるマイニングノードからの更なるデータアウトプットと、比較する。このようにして、各データアウトプットを、裏付けしてもよい。たとえば、同じデータアウトプットに対して実質的に同じ結果を提出する異なるマイニングノード120の閾値数により、ひとたび、第一の複数のデータアウトプットの各データアウトプットに対して、裏付け条件が満たされると(および、満足されるエラー条件にさらされる)、そのとき、第一の複数のデータアウトプットは、認証されたと考えられてもよい。
【0115】
所定のデータセット(複数のデータパッケージに含まれており、各々は、異なるマイニングノード120へ分散される)に対して、所定のマイニングノードから受信した対応するデータアウトプットは、エラーを含んでいるかもしれない。データセット内に含まれたシグナル情報のノイズに起因して、当該エラーは忍び込むこともある。たとえば、情報シグナルが、ナノ細孔シーケンサーからの生データを備えるとき、その生データをシーケンスデータに変換するための変換アルゴリズムを走らせている異なるマイニングノードは、完全に同じように、情報シグナルを解釈しないこともあり、異なるマイニングノードから受信したデータアウトプット間において、マイナな不一致が生じる。したがって、第一の複数のデータアウトプットの各データアウトプットが、予め規定されたエラー閾値内で、実証されたことを、決定することは、マイニングノードの閾値数が、データアウトプットのサブユニット(たとえば、DNAシーケンスの核酸塩基)に一致することを、決定することを備えてもよい。
【0116】
したがって、受信した第一の複数のデータアウトプットが、いくつかのマイナエラーを含んでいたとしても、適切な複数の他のマイニングノードから受信したデータアウトプットとの比較により、当該エラーは解決できる。アウトレットにいくつかのマイナエラーが存在していると決定したとしても、第一の複数のデータアウトプットは、認証されたと考えられてもよい。
【0117】
530において、第一のマイニングノードからの第一の複数のデータアウトプットが、裏付けされたか否かに関して、決定がなされる。もし、はいなら、方法は、ステップ430に進む(
図4に関連して上記されている)。もし、いいえなら、是正措置が取られる。当該是正処置は、単に、第一の複数のデータアウトプットを無視することであってもよく、または、マイニングノードに関する識別情報を記録(ログ)することを、備えてもよい。更なるマイニングノードからの更なる結果が受信されるので、更なる比較のため、是正措置は、第一の複数のデータアウトプットを格納することを、備えてもよい。
【0118】
図6は、計算装置200のような計算装置により実施される方法600の、フローチャートを示す。当該方法は、権威サーバ130により実施されてもよく、ステップ410よりも前に実施されてもよい。610において、複数のデータソースからの複数の事前処理されたデータアイテムを、受信する。当該データアイテムは、たとえば、ナノ細孔シーケンサーから生成された大量の生データを、備えてもよい。生データは、たとえば、電流がナノ細孔をどのように横切るかに関する情報を、備えてもよい。ナノ細孔を通して、分析物は移転し、時間にわたって変化する。データアイテムは、マイニングノードの計算パワーにより分析される、問題を含んでいてもよい。たとえば、各データアイテムは、対応するサブジェクトに対するDNAシーケンスの生データ代表を、含んでいてもよい。すなわち、第一のデータアイテムは、第一のサブジェクトに関連してもよく、第二のデータアイテムは、第二のデータサブジェクトに関連する等してもよい。
【0119】
620において、複数の事前処理されたデータアイテムは、独立した処理可能なデータセットに、分割される。各データアイテムを分割することにより、各データアイテムの異なる部分は、個別に、分析されてもよい。したがって、各マイニングノードは、おそらく何千もの当該データセットのうちの事前処理されたデータアイテムから分割された、1つまたは少ない数のデータセットのみを、処理してもよいので、マイニングノードが、オリジナルデータアイテムに関する全情報を取り出すことは、実現不可能である。たとえば、データアイテムが、ナノ細孔シーケンスによりシーケンシングされている、サブジェクトのDNAに関連する生データを含むとき、そのサブジェクトに対する全生データ、または、そのサブジェクトに対する全体の生データの処理された結果、を再生成することができる、データアイテムに関して十分な情報を収集することは、マイニングノードにとって、実現不可能となる(この例においては、そのサブジェクトの全DNAシーケンス)。したがって、この方法でデータアイテムを分割することにより、データプライバシが維持された状態にあることを保証することが、支援される。
【0120】
630において、独立した処理可能なデータセットのセレクションは、データパッケージ内に、パッケージされる。たとえば、第一のサブジェクトのDNAシーケンスの部分を示すデータセットは、データパッケージに含まれてもよく、第二のサブジェクトのDNAシーケンスの部分を示すデータセットは、データパッケージに含まれてもよいなど、これにより、データパッケージは、多くのサブジェクトに関連し、可能性として多くのデータソース150からの、多くの独立したデータセットを含む。
【0121】
640において、メタデータは格納される。当該メタデータに関して、独立した処理可能なデータセットは、データパッケージ内に含まれる。このようにして、ひとたび、結果が、マイニングノード120から続いて受信されると、どの結果がどのデータアイテムに関連する、ことを決定することが、可能となる。メタデータは、たとえば、データソースのしるし、そのデータアイテムが関連するサブジェクト、データアイテムに関する参照番号/識別子、データセットがパッケージされるデータパッケージに関する参照番号/識別子、などを含んでもよい。メタデータは、データの変形を要求されないユーザ(たとえば、処理のための、ナノ細孔シーケンサーシグナル情報の提出者)により提出されたデータを、備えてもよい。たとえば、これは、シーケンシングランが行われた日時、提出ユーザ/複数のユーザの識別/複数の識別、および/またはシーケンスされたサンプルの識別性を、含んでもよい。
【0122】
図7は、計算装置200のような計算装置により実施される方法700の、フローチャートを示す。当該方法は、権威サーバ130による処理に適する。
【0123】
710において、データアウトプットが認証される。当該ステップは、
図4のステップ420に対応してもよい。異なるマイニングノードから受信したデータアウトプット間において、マイナな相違が存在することが決定されるなら、幾つかの形式のエラー訂正が、データアウトプットについて、実施されてもよい。このようにして、エラー訂正されたデータアウトプットが、適正な受信者に返されてもよい。
【0124】
720において、格納されたメタデータは、調べられる。認証されたデータアウトプットが、どのオリジナルデータアイテムおよびデータソースに関連するかを、決定するために、格納されたメタデータを調べる。所定のデータセットが裏付けされたことを示すために、メタデータは、補正されてもよい。所定のデータアイテムが、裏付けされた(エラー訂正された)データアウトプットのセレクションへと、マイニングノードにより完全に変換されたことを意味するために、メタデータを補正してもよい。
【0125】
730において、裏付けされたデータアウトプットは、適切なもの(パーティ)に伝達される。これは、データアイテムが創出されたデータソース150であってもよく、または、中心権威140や他の装置であってもよい。
【0126】
図8に関連して、マイニングノード120および権威サーバ130が関与する、処理タスクの例の説明を、行う。
図8の例において、マイニングノードにより着手されるワークは、ベースコーリング、現在の情報(可能性として、ナノ細孔シーケンサーから)がポリヌクレオチドシーケンスに変換されるプロセスを、含む。
【0127】
ステップ802において、データソース150は、ナノ細孔シーケンサーからの生データを含むデータアイテムを、権威サーバ130へ伝達する。各データアイテムは、異なるサブジェクトに関連しており、これにより、第一のデータアイテムは、第一の人のDNAシーケンスに関連し、第二のデータアイテムは、第二の人に対するRNAシーケンスに関連し、第三のデータアイテムは、第三の人のDNAシーケンスに関連し、第四のデータアイテムは、プラントに対するDNAシーケンスに関連等する。各データアイテムは、よって、異なるポリヌクレオチドシーケンスに関する。
【0128】
804において、権威サーバ130aは、複数のデータパッケージを生成する。権威サーバ130aは、受信したデータの各々を、独立して処理されてもよいデータセットのコレクションに、分割する。それから、データセットのセレクションは、データパッケージ内へと照合されてもよい。データパッケージの各データセットは、異なるデータアイテムから生じる(すなわち、データパッケージの各データセットは、異なるポリヌクレオチドシーケンスに関連する)。データパッケージを生成する際、権威サーバ130aは、付加的に、データパッケージに、複数のおとりデータセットを含んでもよい。ここで、それに対して、おとりデータセットの処理の結果は、既知である。当該おとりデータセットは、マイニングノードから受信した結果を認証することを助けるために、使用されてもよい。もし、受信した結果パッケージが、おとりデータセットの正しく処理された結果を、含んでいないなら、そのとき、当該結果パッケージの起源となるマイニングノードは、だましを試みた可能性がある。
【0129】
806において、第一のマイニングノード120aは、権威サーバ130aからのデータパッケージを、要求する。808において、更なるマイニングノード(たとえば、第二のマイニングノード120bなど)は、権威サーバ130aからの更なるデータパッケージを、要求する。当然、ステップ806および808の順序は、逆であってもよく、または実質同時であってもよい。
【0130】
上記要求に応じて、権威サーバ130aは、第一のデータパッケージを、第一のマイニングノード120aへ送信し、更なるデータパッケージを、更なるマイニングノードへ送信する。
【0131】
814において、各データセットが関連するポリヌクレオチドシーケンス部を決定するために、第一のマイニングノード120は、第一のデータパッケージに提供されたシグナル情報を、処理する。同様に、816において、更なるマイニングノードは、各々、ポリヌクレオチドシーケンスを決定するために、各更なるデータパッケージを、処理する。
【0132】
第一のマイニングノード120aにより決定された第一の複数のポリヌクレオチドシーケンスは、権威サーバ130aへ送信される(818)。同様に、更なるマイニングノード120により決定された更なる複数のポリヌクレオチドシーケンスは、権威サーバへ送信される(820)。
【0133】
第一の複数のポリヌクレオチドシーケンスおよび更なる複数のポリヌクレオチドシーケンスを受信したのち、権威サーバ130aは、異なるポリヌクレオチドシーケンスを比較する(822)。当業者であれば、権威サーバ130aは、異なる時間で、異なるマイニングノードから結果を、受信するだろうと認識し、新しい結果パッケージが受信されるとき毎回、当該比較は、進行中のプロセスである。上述されるように、第一の複数のポリヌクレオチドシーケンスの各ポリヌクレオチドシーケンスは、同じ最初のデータセットに対して、他のマイニングノードから受信した、関連するポリヌクレオチドシーケンスと照らして、チェックされる。さらに、権威サーバ130aは、おとりデータセットの処理の結果が、権威サーバ130aのメモリに格納された、事前処理された結果と対応することを、チェックしてもよい。
【0134】
もし、第一の複数のポリヌクレオチドシーケンスが認証されたことを、決定したなら(他のマイニングノードと同じ結果を、実質見つけることにより)、そのとき、権威サーバ130aは、トークンに署名する(824)。たとえば、権威サーバ130aは、第一のマイニングノードに送信した第一のデータパッケージのハッシュ、第一のマイニングノードの識別、タイムスタンプ、および他の関連データを含む、識別子に、デジタル的に署名してもよい。その後、当該トークンは、第一のマイニングノード120aに、送られる(826)。さらに、当該トークンは、第一のマイニングノード120aの公開鍵で暗号化された、情報を備えており、これにより、第一のマイニングノード120aのみが、公開-プライベート鍵対の対応するプライベート鍵を用いて、当該情報を復号することができる。このようにして、権威サーバ130aは、第一のマイニングノード120aのみが、第一の複数のポリヌクレオチドシーケンスに第一のデータパッケージを変換する際に、実施されるワークの証拠として、署名されたトークンを使用することができる、ということを、保証してもよい。
【0135】
第一の複数のポリヌクレオチドシーケンスの認証時に、権威サーバ130aは、追加的に、デジタル通貨または暗号通貨の支払いを、第一のマイニングノード120aに支払わせてもよい。たとえば、署名されたトークンは、ブロックチェーンプロトコルの部分として処理されるときに、第一のマイニングノード120aに暗号通貨を開放する情報を、含んでもよい。
【0136】
それから、権威サーバは、(エラー訂正された)第一の複数の処理されたポリヌクレオチドシーケンスを、要求されるように、関連するデータソース150へ、送信する(827)。当業者であれば、権威サーバ130aは、それから認証されてすぐ、または、ひとたび、オリジナルデータアイテムに関連するすべてのデータセットが、処理および認証されたとき、処理されたデータアウトプットを送信してもよい、ということを認識する。
【0137】
第一のマイニングノードは、メモリ内の、ブロックチェーンの最も最近のバージョンを調べ(828)、そして、少なくとも、ブロックチェーンの処理ブロックの唯一の識別子、ペイロードデータ、および署名されたトークンを用いて、新しいブロックレコードを生成する(830)。その後、第一のマイニングノード120aは、少なくとも第二のマイニングノード120bを含む、より広いブロックチェーンネットワークへ、当該ブロックを送信する(832)。各マイニングノードは、権威サーバ130aなどの権威サーバからの有効な署名されたトークンをチェックすることを含む、ブロックの有効性をチェックする。ひとたび、認証されると、新しいブロックを含めるために、ブロックチェーンの局所的に格納されたバージョンが、更新される(834)。このようにして、ブロックチェーンネットワークの各マイニングノードにおいて、ブロックチェーンは、更新される。
【0138】
権威サーバ130aは、マイニングノードから受信した全ての結果を処理することを、継続する。ひとたび、第二のマイニングノード120bからの第二の複数のポリヌクレオチドシーケンスが、権威サーバ130aにより認証されたなら、権威サーバは、第二の署名されたトークンに署名し(836)、新しいブロックレコードを生成する(840)第二のマイニングノード120bへ、当該トークンを送信し(838)、第一のマイニングノード120aを含む他のマイニングノードへ、更新されたブロックレコードを、直接または間接的に、送信する。それから、新しいブロックの認証後、第二のマイニングノード120bからの新しいブロックを含めるために、第一のマイニングノード120aは、それ自身に局所的に格納されたブロックチェーンのコピーを、更新する。
【0139】
このようにして、ベースコーリングプロセスを、ブロックチェーン実装のためのプルーフ・オブ・ワークプロトコルとして、使用することができる。
【0140】
当業者であれば、
図8に関連して上記された例は、ブロックがブロックチェーンに付加される、唯一の方法ではない、ということを認識する。たとえば、より多いまたはより少ない、データソースが存在してもよい。データは、データソースから連続的に受信されてもよく、または、コンピュータデータの個別のパッケージとして受信されてもよい。多くの他の変形が、ここでの説明を読むことにより、当業者にとって明らかとなる。
【0141】
いくつかのシナリオにおいて、たとえば、ユーザが、分析されるDNAなどのポリヌクレオチドシーケンスを、望むとき、データプライバシは、重要な要素であり得る。権威サーバ130に対する複数の異なるユーザによるデータ提出およびデータ回収の説明、および、データパッケージの暗号および復号は、
図9に関連して、以下で提供される。当業者であれば、
図9で説明される方法は、ここでの説明を通して説明される他の方法(たとえば、
図8)と適合する、ということを認識する。
【0142】
上記で説明したように、データソース150は、広く解釈されるべきである。同様に、ユーザは、正当なステイクホルダを意味すると、理解される。たとえば、ユーザは、実験室研究者、医療関係者、または患者であってもよい。データソースは、ユーザのコンピュータであってもよく、データアイテムは、たとえば、ウェブ・ポータル、ファイル転送サービス、またはあらゆる他の適切な手段を介して、権威サーバ130へ、アップロードされてもよい。ユーザは、ウェブアプリケーションを介してデータアイテムをアップロードする、ラボの人であってもよい。ウェブアプリケーションは、ユーザとアップロードされたデータアイテムとの間の相互関係を許すために、ユーザに、複数の命令を提供する。ユーザによりアップロードされたデータアイテムは、シグナル情報を備えていてもよい(可能性として、ナノ細孔シーケンサーから)。シグナル情報は、マイニングノードにより、ポリヌクレオチドシーケンスへと変換される。ユーザは、データアイテムの部分としてまたは別個に、権威サーバに、他の情報を伝達してもよい、たとえば、どのナノ細孔シーケンサーが、ポリヌクレオチドシーケンスを生成したかを示す、ナノ細孔シーケンサー識別子。
【0143】
902において、ユーザ1(図において150aとして示され、ユーザにより、または、ユーザに代わって、操作されるデータソースを意味すると取られる)は、複数のデータアイテム902a,902b,902cを、権威サーバ130aに伝達する。3つのデータアイテムのみが図示されているが、ユーザ1(150a)は、同時にまたは周期的に、権威サーバ130aへ、複数のデータアイテムを伝達してもよい。たとえば、ナノ細孔シーケンサーは、ポリヌクレオチドシーケンスを示すシグナル情報を生成するのに、長い時間を必要としてもよく、ユーザは、そのシグナル情報を権威サーバ130aへ、シーケンサーが終了したとき完全パッケージとして、または、シーケンサーが走っている間の複数通信において、または、シーケンサーが走っている間に連続的に、伝達してもよい。権威サーバ130aは、ユーザパッケージ904を生成し、ユーザ1(150a)からのデータアイテムは、当該ユーザパッケージ904に追加されることができる。ユーザパッケージ904が完全である間、権威サーバは、ユーザ1に代わって、データアイテムを、ユーザパッケージ904に追加する。ここで、「ユーザパッケージ」は、1以上のデータアイテムのコレクションを意味すると、理解される。たとえば、もし、ユーザパッケージに割り当てられたメモリクオータが完全であるなら、または、もし、近い将来、ユーザ1から受信される更なるデータが存在しないことのしるしが、権威サーバ130aにより受信されるなら、ユーザパッケージは、完全であり得る。
【0144】
906において、ユーザ2(150bと示されいる)は、権威サーバ130aに、複数のデータアイテム906a,906b,906cを伝達する。3つのデータアイテムのみが示されているが、ユーザ2(150b)は、権威サーバ130aに、あらゆる数のデータアイテムを、同時にまたは周期的に、伝達してもよい。権威サーバ130aは、ユーザ2(150b)からのデータアイテムが追加されることができる、ユーザパッケージ904と異なるユーザパッケージ908を生成する。ユーザ2(150b)は、ユーザパッケージ908が完全となるまで、ユーザパッケージ908に、データアイテムを追加する。
【0145】
910において、権威サーバ130aは、1以上暗号カギおよび対応する復号カギを、生成する。
【0146】
912において、権威サーバは、データパッケージを生成する。データパッケージは、複数のデータセットと、対応する複数の暗号カギとを、備える。各データセットは、シグナル情報を備える。シグナル情報は、適切な、あらゆる情報シグナルであってもよい。例として、情報シグナルは、ナノ細孔シーケンサーにより作られた生データを、備えてもよい。各ナノ細孔シーケンサーは、権威サーバのメモリに格納された識別子と関連しており、生データは、ポリヌクレオチドシーケンスを示す。各データパッケージは、複数の異なるユーザ(150)により提出されたデータセットを、備える。たとえば、データパッケージの第一のデータセットは、第一の人サブジェクトに関連してもよく、ユーザ1(150a)により提出される。データパッケージの第二のデータセットは、第二の人サブジェクトに関連してもよく、ユーザ2(150b)により提出される。
【0147】
914において、権威サーバ130aは、マイニングノード120aへ、データパッケージを送信し、
図8のステップ810に関連して上述されたように、更なるデータパッケージを、更なるマイニングノードへ送信してもよい。
【0148】
916において、各データセットのシグナル情報を、対応する暗号化されたデータアウトプットに変換するため、データパッケージ内の各データセットに対する、個別の暗号カギを用いることにより、マイニングノードは、暗号化されたデータアイテムを決定する。権威サーバ130aから受信したデータパッケージを処理するため、マイニングノードは、計算装置200の1以上のメモリ220に格納された、コンピュータ読込可能な指示を、有する。権威サーバ130aから受信したデータパッケージを処理するため、ンピュータ読込可能な指示は、暗号カギを要求する。権威サーバ130aからのデータパッケージの受信時に、コンピュータ読込可能な指示を実施するために、マイニングノードは、各データセットに関連した暗号カギを、使用する。コンピュータ読込可能な指示は、各データセットのシグナル情報を、対応する暗号化されたデータアウトプットに変換する。有利なことに、データプライバシは、さらに向上する。たとえば、処理のために、ユーザが、DNAシーケンスのシグナル情報代表を提出した、状況において、局所的に格納された指示に従うことによりおよび受信した暗号カギを用いて、そのシグナル情報の小部分を含むデータセットを処理する、マイニングノードは、所定のユーザに対する全DNAシーケンスを確立することはもちろん、データセットがDNAシーケンスを表したことを確立することは、できないであろう。
【0149】
暗号化されたデータアウトプットは、コード化されたポリヌクレオチドシーケンスの代表であってもよい。コード化されたポリヌクレオチドシーケンスは、ベースに対する通常の大文字IUPACヌクレオチドコード以外の、文字列により表されてもよい。ここで、文字列は、暗号カギをから決定される。コード化されたポリヌクレオチドシーケンスは、たとえば、暗号カギから決定される予測可能なパターンに、1以上のランダムベースを挿入する、おとり特徴により、表されてもよい。
【0150】
上記で、各データセットが、対応する暗号化されたデータアウトプットに変換される、暗号が説明された一方で、当業者であれば、暗号処理の一部として、データアウトプットの更なるマージにングが起こり得る、ということを認識する。たとえば、これにより、暗号化されたデータアウトプットが、データの複合ユニットとして、権威サーバへ送られる。権威サーバ130a(または、暗号化されたデータアウトプットが伝達される他の権威サーバ)が、要求された復号カギを有する限り、 暗号の適切な形式を、採用してもよい。たとえば、暗号カギは、マイニングノードプロセッサを、メモリに格納されたルックアップテーブルに向けてもよく、これにより、アクセスをもったマイニングノードまたは復号されたベースコードの知識なしに、ヌクレオチドベースは、異なるキャラクターに取って代わる。
【0151】
ステップ918においてマイニングノードは、暗号化されたデータアウトプットを、権威サーバ130aに、送信する。
【0152】
ステップ920において、権威サーバは、暗号化されたデータアウトプットを受信し、暗号化されたデータを復号するために、910において生成された暗号カギを使用する。復号されたデータアウトプットは、ポリヌクレオチドシーケンスのセクションを、備えていてもよい。IUPACヌクレオチドコードに対して、916において挿入された文字列を代用するために、暗号化されたデータを復号することは、復号カギを用いることを、備えていてもよい。他の例において、916において挿入されたおとり特徴を除去するために、暗号化されたデータを復号することは、復号カギを用いることを、備えていてもよい。
【0153】
922において、復号されたデータは、複数のマイニングノードから受信した復号されたデータを比較することにより、認証される。
図9には認証ステップが示されていないが、
図8において示されているように、ひとたび、データが、マイニングノードにより処理され、権威サーバ130aにより受信されると、権威サーバ130aは、認証することができ(822)、トークンに署名することができ(836)、マイニングノードにトークンを送ることができ(838)、さらにブロックを、ブロックチェーンに付加することができる(830)。
【0154】
924において、ユーザ2(150b)は、権威サーバ130aからの、復号され、認証されたデータアイテムを、要求する。ユーザ2(150b)は、権威サーバからの、復号され、認証された、あらゆるデータアイテム920a,920b,920cを、要求してもよい。たとえば、利用可能となるので、ユーザパッケージ内のあらゆるデータアイテムに対する最近認証された結果を連続的に要求するために、ユーザは、ウェブアプリケーションを通して、オプションを有してもよい。
【0155】
926において、権威サーバは、要求された、復号され、認証されたデータアイテムを、ユーザ2(150b)に送信する。当業者であれば、あらゆるユーザが、権威サーバ130からの、復号され、認証された結果を要求することができ、権威サーバ130は、要求された、復号されに認証されたデータアイテムを、あらゆる認定ユーザに送ることができる、ということを認識する。
【0156】
図10は、計算装置200のような計算装置により実施される、方法1000のフローチャートである。当該方法は、権威サーバ130aにより、または複数の権威サーバが共同して、実施されるのに適している。
【0157】
1010においえ、複数のデータソース150から、複数のデータアイテムを受信する。たとえば、当該データアイテムは、細孔シーケンサーから生成された大量の生データを、備えていてもよい。たとえば、生データは、どのように電流がナノ細孔を横切るかに関する情報を、備えていてもよい。当該ナノ細孔を通して、経時的に、分析物転移が変化する。データアイテムは、マイニングノードの計算パワーにより分析され得る問題を、含んでもよい。各データアイテムは、たとえば、対応するサブジェクトに対する、DNAシーケンスの生データ代表を、含んでもよい。すなわち、第一のデータアイテムは、第一のサブジェクトに関連してもよく、第二のデータアイテムは、第二のデータサブジェクトに関連する等してもよい。
【0158】
1020において、複数のデータアイテムは、独立した処理可能なデータセットに、分割される。各データアイテムを分割することにより、各データアイテムの異なる部分を、別個独立に、分析してもよい。
【0159】
1030において、権威サーバは、各データセットに対する、暗号カギおよび対応する復号カギを、データパッケージ内に生成する。データパッケージのデータセットを暗号化するために、暗号カギは、マイニングノードにより、使用される。当業者であれば、暗号カギは、個々のデータセットに対するのと対照的に、全データパッケージと共に使用するために、生成されてもよい、ということを認識する。
【0160】
1040において、権威サーバ130は、データパッケージを生成する。この例におけるデータパッケージは、複数のデータセットと、対応する複数の暗号カギとを備え、各データセットは、シグナル情報を備える。
【0161】
1050において、権威サーバ130は、データパッケージを、マイニングノード120へ伝達する。暗号カギを用いて、マイニングノード120は、シグナル情報を、対応する暗号化されたデータアウトプットへ、変換する。この例の各マイニングノードは、データセットを処理するために暗号カギを要求する、計算装置の1以上のメモリ220に格納された、コンピュータ読込可能な指示を、有している。暗号化されたデータアウトプットを出力するために、暗号カギを用いて、1以上のプロセッサ220は、格納された指示を、処理する。たとえば、データセットが、サブジェクトのDNAに関連するとき、符号化されたポリヌクレオチドシーケンスを出力するため、プロセッサ210は、暗号カギを用いて、コンピュータ読込可能な指示を処理する。符号化されたポリヌクレオチドシーケンスは、ベースに対する通常の大文字IUPACコード以外の、文字列により表されてもよい。ここで、文字列は、暗号カギから決定される。コード化されたポリヌクレオチドシーケンスは、たとえば、暗号カギから決定される予測可能なパターンに、1以上のランダムベースを挿入する、おとり特徴により、表されてもよい。したがって、マイニングノードは、オリジナルデータアイテムに関する情報に内密に関与していないので(たとえば、データアイテムが、ポリヌクレオチドシーケンスを表す、という認識)、マイニングノードが、オリジナルデータアイテムに関する情報を、照合することは、実行不可能となる。このことは、有利なことに、向上したデータプライバシへと導く。
【0162】
1060において、復号カギの記録された情報を有する、権威サーバ130または他の協働している権威サーバは、複数のマイニングノードから、複数の暗号化されたデータアウトプットを、受信する。権威サーバ130は、復号カギを用いて、暗号化されたデータアウトプットを、復号する。復号されたデータアウトプットは、ポリヌクレオチドシーケンスのセクションを、備えていてもよい。暗号化されたデータを復号することは、IUPACベースコードに対して、916において挿入された文字列を代用するために、復号カギを用いることを、備えていてもよい。他の例において、916において挿入されたおとり特徴を除去するために、暗号化されたデータを復号することは、復号カギを用いることを、備えていてもよい。
【0163】
権威サーバは、認定ユーザに、復号/解読されたデータアウトプットを、その後伝達してもよい。
【0164】
図11は、計算装置200のような計算装置により実施される、方法1110のフローチャートである。当該方法は、マイニングノード120による実施に適する。当該方法は、ブロックチェーンネットワーク115のマイニングノードに格納されたブロックチェーンに、ブロックレコードを付加することに、適する。
【0165】
1110において、データパッケージを、権威サーバ130aから、受信する。データパッケージは、複数のデータセットと、対応する1以上の暗号カギとを、備えており、各データセットは、シグナル情報を備える。
【0166】
各データセットのシグナル情報は、適切な情報シグナルであってもよい。例として、情報シグナルは、細孔シーケンサーにより生成された生データを備えてもよく、生データは、ポリヌクレオチドシーケンスを示している。各データセットは、異なるサブジェクトに関連してもよい。たとえば、データパッケージの第一のデータセットは、第一の人サブジェクトに関連してもよく、データパッケージの第二のデータセットは、第二の人サブジェクトに関連してもよく、データパッケージの第三のデータセットは、プラントに関連するなどしてもよい。
【0167】
1120において、各データセットのシグナル情報を、対応する暗号化されたデータアウトプットを変換するための、コンピュータ読込可能な指示を実行するために、マイニングノード120は、各データセットと関連した暗号カギを、使用する。暗号化されたデータアウトプットは、符号化されたポリヌクレオチドシーケンスの代表であってもよい。符号化されたポリヌクレオチドシーケンスは、ベースに対するIUPACヌクレオチドコード以外の、文字列により表されてもよい。ここで、文字列は、暗号カギにより決定される(たとえば、ルックアップテーブルの参照により)。コード化されたポリヌクレオチドシーケンスは、たとえば、暗号カギから決定される予測可能なパターンに、1以上のランダムベースを挿入する、おとり特徴により、表されてもよい。
【0168】
1130において、認証のため、および、ブロックチェーンのブロックのためのプルーフ・オブ・ワークを確立際の使用のため、マイニングノードは、暗号化されたデータアウトプットを、権威サーバ130へ伝達する。
【0169】
図9,10,11に関連し、またこの明細書を通して、言及された暗号化に関して、機密情報が、マイニングノードから隠され得るということを、保証する限り、当業者であれば、暗号化および復号化のあらゆる適切な形式が、十分である、ということを認識する。たとえば、権威サーバ130aのような権威サーバは、マイニングノードによる使用のため、第一のデータセットに関連して、第一の暗号カギを生成してもよい。第一の暗号カギおよび対応する第一の復号カギは、第一のデータセットのシグナル情報を処理する、第一の方法に関係する。例として、マイニングノードが、第一のデータセットのシグナル情報を、符号化された特徴の第一のシーケンス(たとえば、適用された第一の換字式暗号を有していた、ポリヌクレオチドシーケンスに対応してもよい)に、変換することを、暗号カギが、規定してもよい。第二のデータセットのシグナル情報を処理する第二の方法に関する、第二の暗号カギおよび対応する第二の復号カギを、生成してもよい。マイニングノードが、第二のデータセットのシグナル情報を、符号化された特徴の第二のシーケンス(たとえば、適用された第二の換字式暗号を有していた、ポリヌクレオチドシーケンスに対応してもよい)に変換する、ということを、第二の暗号カギは、規定する。すなわち、規定された符号化方法は、データセット・バイ・データセットベイシス、および/または、データパッケージ・バイ・データパッケージベイシスで、変化してもよい。よって、1のデータセットに関連した暗号化されたデータアウトプットは、1の換字に従って、暗号化されたものであってもよい。また、他のデータセットに関連する暗号化されたデータアウトプットを、他の換字に従って、暗号化したとしてもよい。当該アプローチは、マイニングノードが、処理される情報が関連しているものを決定することを、より一層困難にする。当業者であれば、暗号化/復号化方法は、換字式暗号の適用の他に、他の暗号化ステップおよび変換を、備えていてもよい、ということを認識する。
【0170】
説明された実施の形態の変形は、想像され、たとえば、説明された実施の形態の全ての特徴を、あらゆる方法で、組み合わせることができる。当業者により理解されるように、ここで説明された方法を、適切な、大きなデータ問題を処理するために、使用することができ、そこでは、複数のデータを独立して処理することができる。
【0171】
前記の詳細な説明において、説明された処理タスクの多くは、ポリヌクレオチドシーケンスのシグナル情報代表を、ベースシーケンスに変換することに、関していた。しかしながら、当業者であれば、ここで説明された方法および装置は、他の種類のシグナル情報に適用することができる、ということを認識する。たとえば、シグナル情報は、たんぱく質や二次的組換えなどの他のネイティブ分子に、関連してもよい。他の例として、シグナル情報は、リゴヌクレオチドタグ、核酸類縁体、または拡張ヌクレオシド三リン酸を含むエクスパンドマーなどの、修正または合成分子に、関連してもよい。
【0172】
ブロックチェーンは、あらゆる形式の、電気、コンピュータベースの、分散台帳(ledger)を、含んでいてもよく、許可および非許可台帳、共有台帳、およびそれらの変形を、含む。
【0173】
明白に別途述べられている場合を除いて、この明細書で開示された各特長(添付の、特許請求の範囲、要約、および図面を含む)は、同じ、同等、または同様の目的を奏する、代替えの特徴により、置換されてもよい。よって、明白に述べられている場合を除いて、開示された各特長は、同等又は同様の特徴のジェネリックシリーズの単なる1例である。本発明は、前述の実施の形態の詳細に、限定されない。本発明は、本明細書(添付の、特許請求の範囲、要約、および図面を含む)で開示された特徴の、新規のもの、または新規の組合せに及ぶ、または、同様に開示された方法または処理のステップの、新規なもの、または新規の組合せに及ぶ。特許請求の範囲は、前述の実施の形態をカバーするのみではなく、特許請求の範囲の範囲内にあるあらゆる実施の形態をもカバーするように、解釈される。
【国際調査報告】