(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】ゾーンベースのブロックチェーンシステム、及びゾーンベースのブロックチェーンシステムを運用するための方法
(51)【国際特許分類】
G08G 1/00 20060101AFI20240521BHJP
G06Q 50/40 20240101ALI20240521BHJP
【FI】
G08G1/00 A
G06Q50/40
(21)【出願番号】P 2023527806
(86)(22)【出願日】2020-11-26
(86)【国際出願番号】 JP2020044021
(87)【国際公開番号】W WO2022113238
(87)【国際公開日】2022-06-02
【審査請求日】2023-05-09
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】グプタ ヒマンク
(72)【発明者】
【氏名】黄 浩倫
(72)【発明者】
【氏名】岡部 達哉
【審査官】佐藤 吉信
(56)【参考文献】
【文献】特開2020-112754(JP,A)
【文献】中国特許出願公開第111182048(CN,A)
【文献】中国特許出願公開第111479237(CN,A)
【文献】米国特許出願公開第2020/0127827(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
G06Q 50/40
(57)【特許請求の範囲】
【請求項1】
第1物理ゾーンに関連する第1ブロックチェーン(14a)を格納する第1マスターノード(16)と、
第2物理ゾーンに関連する第2ブロックチェーン(14b)を格納する第2マスターノード(18)と、を含むゾーンベースのブロックチェーンシステムであって、
第1マスターノード(16)は、前記第1物理ゾーンの内部に存在する車両の車両ノード(12)を追加し、且つ、前記第1物理ゾーンの外にある車両の車両ノード(12)を削除することによって、前記第1ブロックチェーン(14a)内に存在するノードのリスト(50)を維持するようにプログラムされており、
前記第1ブロックチェーン(14a)は、前記第1物理ゾーン内に存在する複数の車両によって感知されたセンサデータ(26)を有するようにマイニングされた複数のブロック(28)を含み、
前記第2マスターノード(18)は、前記第2物理ゾーンの内部に存在する車両の車両ノード(12)を追加し、且つ、前記第1物理ゾーンの外にある車両の車両ノード(12)を削除することによって、前記第2ブロックチェーン(14b)内に存在するノードのリスト(50)を維持するようにプログラムされており、
前記第2ブロックチェーン(14b)は、前記第2物理ゾーン内に存在する複数の車両によって感知されたセンサデータ(26)を有するようにマイニングされた複数のブロック(28)を含み、
前記第1物理ゾーンは、前記第2物理ゾーンとは異なるゾーンであり、
前記第1ブロックチェーンと前記第2ブロックチェーンは、互いに異なるスペックを有する、ゾーンベースのブロックチェーンシステム。
【請求項2】
前記第1マスターノード(16)は、前記第1ブロックチェーン(14a)において特定のブロック(28a)がマイニングされたことを受けて、
前記特定のブロック(28a)に含まれる前記センサデータ(26)の特徴に基づいて、前記特定のブロック(28a)が共有されるべきかどうかを決定することと、
前記特定のブロック(28a)が共有されるべきであると決定したことを受けて、前記特定のブロック(28a)を前記第2マスターノード(18)に送信することと、
を実行するようにプログラムされており、
前記第2マスターノードは、前記第1マスターノードから前記特定のブロックを受信したことを受けて、前記特定のブロック(28a)に含まれる前記センサデータ(26)に基づき、前記第2ブロックチェーン(14b)のための新しいブロック(28b)をマイニングするようにプログラムされている、請求項1に記載のゾーンベースのブロックチェーンシステム。
【請求項3】
前記第2マスターノードは、前記第2ブロックチェーン(14b)における前記新しいブロック(28b)と第1ブロックチェーン(14a)の前記特定のブロック(28a)とを比較することによって、第1ブロックチェーン(14a)の真正性を検証するようにプログラムされている、請求項2に記載のゾーンベースのブロックチェーンシステム。
【請求項4】
車両ECU(30)を備える特定の車両を更に備え、
前記特定の車両が前記第1物理ゾーンに入った場合に、前記車両ECU(30)は、
前記第1ブロックチェーン(14a)に参加するための通信要求を前記第1マスターノード(16)に送信することと、
前記第1マスターノード(16)から前記第1ブロックチェーン(14a)のスペック(36)を受信することと、
前記第1ブロックチェーン(14a)のスペック(36)に従って、センサデータ(26)をマイニングすることと、
を実施するようにプログラムされている、請求項1から3のいずれか1項に記載のゾーンベースのブロックチェーンシステム。
【請求項5】
前記第1マスターノード(16)は、前記特定の車両から前記通信要求を受信したことを受けて、前記第1ブロックチェーン(14a)の前記スペック(36)を前記特定の車両に送信する前に、前記特定の車両を検証するための許可リスト(46)を確認するようにプログラムされている、請求項4に記載のゾーンベースのブロックチェーンシステム。
【請求項6】
前記車両ECUは、
前記センサデータ(26)をマイニングすることにより、前記第1ブロックチェーン(14a)のためのブロック(28)を生成することと、
前記第1物理ゾーンを通信エリアとして定義する路側機(20)を介して、前記ブロック(28)を前記第1マスターノード(16)にアップロードすることと、
を実行するようにプログラムされている、請求項4又は5に記載のゾーンベースのブロックチェーンシステム。
【請求項7】
前記第1物理ゾーンは、前記第2物理ゾーンに隣接している、請求項1から6のいずれか1項に記載のゾーンベースのブロックチェーンシステム。
【請求項8】
前記第1物理ゾーンと前記第2物理ゾーンとの間を移動するように構成された特定の車両を更に備え、
前記特定の車両は、
前記第1物理ゾーン内にあるときは、前記第1ブロックチェーン(14a)の前記スペック(36)に従ってセンサデータ(26)をマイニングすることにより前記第1ブロックチェーン(14a)における車両ノード(12)として作動し、
前記第2物理ゾーン内にあるときは、前記第2ブロックチェーン(14b)の前記スペック(36)に従ってセンサデータ(26)をマイニングすることにより前記第2ブロックチェーン(14b)における車両ノード(12)として作動するように構成されている請求項1から7のいずれか1項に記載のゾーンベースのブロックチェーンシステム。
【請求項9】
ゾーンベースのブロックチェーンシステムを運用するための方法であって、
第1マスターノード(16)が、第1物理ゾーンの内部に存在する車両の車両ノード(12)を追加し、且つ、前記第1物理ゾーン外の車両の車両ノード(12)を削除することにより、前記第1物理ゾーンに関連付けられた第1ブロックチェーン(14a)のためのノードのリスト(50)を維持することと、
前記第1マスターノード(16)が、前記第1物理ゾーンの内部にいる複数の車両によって感知されたセンサデータ(26)を有するようにマイニングされた複数のブロック(28)を含む前記第1ブロックチェーン(14a)を保存することと、
第2マスターノード(18)が、第2物理ゾーンの内部に存在する車両の車両ノード(12)を追加し、且つ、前記第2物理ゾーン外の車両の車両ノード(12)を削除することによって、前記第2物理ゾーンに関連する第2ブロックチェーン(14b)のノードのリスト(50)を維持することと、
前記第2マスターノード(18)が、前記第2物理ゾーンの内部にいる複数の車両によって感知されたセンサデータ(26)を有するようにマイニングされた複数のブロック(28)を含む前記第2ブロックチェーン(14b)を保存することと、を含み、
前記第1物理ゾーンは、前記第2物理ゾーンとは異なっており、
前記第1ブロックチェーンと前記第2ブロックチェーンは、互いに異なるスペックを有する、方法。
【請求項10】
前記第1ブロックチェーン(14a)において特定のブロック(28a)がマイニングされたことを受けて、前記第1マスターノード(16)が、前記特定のブロック(28a)における前記センサデータ(26)の特徴に基づき、前記特定のブロック(28)が共有されるべきかどうかを決定することと、
前記特定のブロック(28a)が共有されるべきであると決定したことを受けて、前記第1マスターノード(16)が、前記特定のブロック(28a)を前記第2マスターノード(18)に送信することと、
前記第1マスターノード(16)から前記特定のブロック(28a)を受信したことを受けて、前記第2マスターノード(18)が、前記特定のブロック(28a)に含まれる前記センサデータ(26)に基づき、前記第2ブロックチェーン(14b)のための新しいブロック(28b)をマイニングすることと、をさらに含む、請求項9に記載の方法。
【請求項11】
前記第2マスターノード(18)が、前記第2ブロックチェーン(14b)の前記新しいブロック(28b)と、前記第1ブロックチェーン(14a)の前記特定のブロック(28a)と、を比較することによって、前記第1ブロックチェーン(14a)の真正性を検証することをさらに含む、請求項10に記載の方法。
【請求項12】
車両ECU(30)を有する特定の車両が前記第1物理ゾーンに進入した場合に、前記車両ECU(30)が、前記第1ブロックチェーン(14a)に参加するための通信要求を前記第1マスターノード(16)へ送信することと、
前記車両ECU(30)が、前記第1マスターノード(16)から前記第1ブロックチェーン(14a)の前記スペック(36)を受信することと、
前記車両ECU(30)が、前記第1ブロックチェーン(14a)の前記スペック(36)に従ってセンサデータ(26)をマイニングすることと、を含む、請求項9から11のいずれか1項に記載の方法。
【請求項13】
前記第1マスターノード(16)が、前記特定の車両からの前記通信要求を受信したことを受けて、前記第1ブロックチェーン(14a)の前記スペック(36)を前記特定の車両に送信する前に、前記特定の車両を検証するための許可リスト(46)を確認することをさらに含む、請求項12に記載の方法。
【請求項14】
前記車両ECU(30)が、前記センサデータ(26)をマイニングすることにより、前記第1ブロックチェーン(14a)のためのブロック(28)を生成することと、
前記車両ECU(30)が、前記第1物理ゾーンを通信エリアとして定義する路側機(20)を介して、前記ブロック(28)を前記第1マスターノード(16)にアップロードすることと、を含む、請求項12又は13に記載の方法。
【請求項15】
前記第1物理ゾーンは、前記第2物理ゾーンに隣接している、請求項9から14のいずれか1項に記載の方法。
【請求項16】
前記第1物理ゾーンと前記第2物理ゾーンとの間を移動するように構成された特定の車両を含み、
前記特定の車両が前記第1物理ゾーン内にある場合、前記特定の車両が、前記第1ブロックチェーン(14a)の前記車両ノード(12)として、前記第1ブロックチェーン(14a)の前記スペック(36)に従ってセンサデータ(26)をマイニングすることと、
前記特定の車両が前記第2物理ゾーン内にある場合、前記特定の車両が、前記第2ブロックチェーン(14b)の車両ノード(12)として、前記第2ブロックチェーン(14b)の前記スペック(36)に従ってセンサデータ(26)をマイニングすることと、を含む請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゾーンベースのブロックチェーンシステム、及びゾーンベースのブロックチェーンシステムを運用するための方法に関する。
【背景技術】
【0002】
ブロックチェーンは、継続的に増加するデータを取りまとめる分散型データベースである。これらのデータは、1つのファイルではなく、複数のファイルをまとめたブロック単位で保存される。ブロックチェーン技術は、すべてのノードが暗号化されたチャンネルで同一のデータを保存及び送信するピアツーピアのネットワークを用いて市場に革命をもたらした。ブロックチェーンは、お互いに信頼できるビジネスモデルを構築する為の現代ビジネスのインフラと考えられている。
【0003】
これまで車両データは個々の車両に保存され、その後、コンピューターやネットワークなどに転送されていた。しかし、このような従来の車両データシステムでは、データの保護に懸念があった。例えば、人間がデータを転送する場合、データ転送の過程で意図をせずに間違いを起こすことがある。また、転送後にはデータはデータベースに保存されることが多く、そこで再びデータの破損や不正な操作が行われる可能性がある。
【0004】
そのため、ブロックチェーン技術を利用して、破損や不正な操作なく、安全に車両データを保存することが求められている。
【発明の概要】
【0005】
以下の各項では、本開示の一般的な概要を説明するものであり、本開示の全範囲又は全特徴を包括的に開示するものではない。
【0006】
本開示の第1側面は、第1マスターノード及び第2マスターノードを含むゾーンベースのブロックチェーンシステムである。第1マスターノードは、第1物理ゾーンに関連する第1ブロックチェーンを保存する。第1マスターノードは、第1物理ゾーン内の車両の車両ノードを追加し、且つ、第1物理ゾーン外の車両の車両ノードを削除することによって、第1ブロックチェーンのノードリストを維持するようにプログラムされている。第1ブロックチェーンは、第1物理ゾーンの内にいる車両によって感知されたセンサデータを含むようにマイニングされた複数のブロックを含む。第2マスターノードは、第2物理ゾーンに関連する第2ブロックチェーンを保存する。第2マスターノードは、第2物理ゾーン内の車両の車両ノードを追加し、且つ、第2物理ゾーン外の車両の車両ノードを削除することによって、第2ブロックチェーンのノードリストを維持するようにプログラムされており、第2ブロックチェーンは、第2物理ゾーン内にいる車両によって感知されたセンサデータを含むようにマイニングされた複数のブロックを含んでいる。第1物理ゾーンと第2物理ゾーンは異なるゾーンである。第1ブロックチェーンと第2ブロックチェーンは、互いに異なるスペックを有する。
【0007】
本開示の第2側面は、ゾーンベースのブロックチェーンシステムを運用するための方法である。本方法は、第1マスターノードが、第1物理ゾーン内の車両の車両ノードを追加し且つ第1物理ゾーン外の車両の車両ノードを削除することによって、第1物理ゾーンに関連する第1ブロックチェーンのノードリストを維持することを含む。本方法は、第1マスターノードが、第1物理ゾーンの内部にいる車両によって感知されたセンサデータを含むようにマイニングされた複数のブロックを含む第1ブロックチェーンを格納することを含む。本方法は、第2マスターノードが、第2物理ゾーン内の車両の車両ノードを追加し且つ第2物理ゾーン外の車両の車両ノードを削除することによって、第2物理ゾーンに関連する第2ブロックチェーンのノードリストを維持することと、第2マスターノードにおいて、第2物理ゾーン内にいる車両によって感知されたセンサデータを含むようにマイニングされた複数のブロックを含む第2ブロックチェーンを格納することを更に含む。第1物理ゾーンと第2物理ゾーンは異なるゾーンである。第1ブロックチェーンと第2ブロックチェーンは、互いに異なるスペックを有する。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係るゾーンベースブロックチェーンシステムを模式的に示す図である。
【
図3】コンパクトブロック中継プロトコルと、レガシープロトコルを示す図である。
【
図4】第1マスターノードと第2マスターノードとを模式的に示す図である。
【
図5】ブロックチェーン詳細を概念的に示した図である。
【
図6】ブロックチェーンに新しいノードが参加する際の処理を示す図である。
【
図7】新規ノード参加処理のフローチャートである。
【
図8】車両ノードにおけるマイニング処理を示すフローチャートである。
【
図9】第1マスターノードと第2マスターノードとの間のブロック共有処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
ここでは本開示の1つの実施形態について説明する。以下に開示の実施形態は単なる例示であり、他の実施形態として様々な代替形態をとることができるものと解されてよい。図は必ずしも縮尺通りではなく、特定の部品の詳細を示すために、いくつかの特徴を誇張又は最小化されていることがある。そのため、本明細書に開示された特定の構造的及び機能的な詳細は、限定的に解釈されるものではなく、単に、当業者が本実施形態を様々に採用することを教えるための代表的な根拠として解釈されてよい。当業者であれば理解できるように、いずれか1つの図を参照して図示及び説明した様々な特徴は、明示的に図示又は説明されていない実施形態を生成するように、1つ又は複数の他の図に図示した特徴と組み合わせられて良い。図示された特徴の組み合わせは、典型的な用途のための代表的な実施形態を提供する。一方で、本開示の教示と一致する特徴の様々な組み合わせ及び改変が、特定の用途又は実装のために要求されうる。
【0010】
図1は、本実施形態に係るゾーンベースのブロックチェーンシステム10(以降、システム10とも記載)を概念的に示す図である。当該システムでは、複数の物理ゾーンが定義されている。後述するように、各種データを安全に保存するために、各物理ゾーンに対応するブロックチェーンが作成及び維持される(すなわち、ゾーンベースのブロックチェーンが作成される)。システム10は、例えば、都市全体又は都市を互いに接続する高速道路を含む複数の都市など、広い地理的領域を包含して良い。物理ゾーンは、任意の適切な基準に基づいて、物理ゾーンごとに異なる形状や大きさで配置されてよい。例えば、物理ゾーンは、利便性と実装の容易さのために、既存の携帯電話の基地局およびそのカバーエリアに対応してもよい。物理ゾーンの境界は、任意の適切な方法で設定されてよい。以下の説明では、理解を容易にするために、互いに隣接する2つの任意の物理ゾーンについて詳細な説明が行われることになる。当該2つの物理ゾーンは、システム10内の任意の2つの隣接する物理ゾーンであってよい。
【0011】
本実施形態のシステム10は、第1マスターサーバ16、第2マスターサーバ18、第1路側機20、第2路側機22、及び複数の車両12を備える。第1及び第2マスターサーバ16、18は、後述するように、それぞれのブロックチェーンを運用及び維持するように構成されている。第1及び第2路側機20、22は、無線通信及び有線通信を支援する通信基盤装置である。物理ゾーンは、第1及び第2路側機20、22によって定義される。例えば、物理ゾーンが既存の携帯電話基地局およびそのカバーエリアに対応するように指定されている場合、第1路側機20及び第2路側機22は、隣接する2つの携帯電話基地局およびそのカバーエリアであってもよい。
【0012】
第1及び第2マスターサーバ16、18は、マスターノードとして作動し、それぞれのブロックチェーンを運用及び維持する。このように、第1マスターサーバ16は、適宜、第1マスターノード16と称されてよい。同様に、第2マスターサーバ18は、適宜、第2マスターノード18と称されてよい。また、複数の車両12は、後述するように、第1及び第2マスターサーバ16、18のそれぞれが管理するブロックチェーンにも参加する。この場合、車両12は、ブロックチェーンの通常のノードとして作動する。このように、車両12は、適宜、車両ノード12と称されてよい。
【0013】
(物理ゾーン)
本実施形態では、第1及び第2路側機20、22によって2つの物理ゾーン(以下、第1ゾーン及び第2ゾーンと記載する。)が定義されている。第1路側機20及び第2路側機22は、任意の市町村等を通る道路24に沿って配置されている。第1ゾーン及び第2ゾーンは、それぞれ、第1路側機20及び第2路側機22によって定義される。好ましくは、第1ゾーン及び第2ゾーンは、それぞれ、第1路側機20及び第2路側機22を中心とするように形成されている。したがって、第1ゾーンと第2ゾーンは、道路24に沿って互いに隣接している。第1及び第2路側機20、22は、第1ゾーン又は第2ゾーン内の車両12に対して無線車両通信システムを提供する。第1及び第2路側機20、22は、それぞれ第1マスターサーバ16及び第2マスターサーバ18に接続されている。
【0014】
本実施形態において、第1及び第2路側機20、22は、車両とインフラ(V2I)との間の安全で直接的な通信を可能にするDSRC(Dedicated Short-Range Communications)装置である。第1路側機20は、第1ゾーンを半径約1000mを有する通信エリアと定義する。同様に、第2路側機22は、第2ゾーンを半径約1000mを有する通信エリアと定義する。なお、第1及び第2路側機20、22の実際の通信範囲は、一般に、第1ゾーン及び第2ゾーンの大きさよりも長く、ほとんどの場合、互いに重なっている。そのため、第1ゾーンと第2ゾーンの具体的な境界線は、適宜指定されてよい。また、物理ゾーンは円形の領域であることに限定されない。例えば、第1ゾーン及び第2ゾーンのそれぞれは、一辺の長さが1000m程度の正方形状であってもよいし、六角形などの他の形状でもよい。代替的な実装では、第1及び第2路側機20、22は、5G/LTEなどの通信プロトコル又は他の安全な無線プロトコルを介してV2I通信を可能にする装置であって良い。
【0015】
前述したように、第1及び第2マスターサーバ16、18は、対応する物理ゾーンのためのそれぞれのブロックチェーンを維持する。本実施形態においては、第1マスターサーバ16は、第1ゾーンに対応する第1ブロックチェーン14aを維持し、第2マスターサーバ18は、第2ゾーンに対応する第2ブロックチェーン14bを維持する。第1及び第2ブロックチェーン14a、14bのブロックには、第1ゾーン及び第2ゾーンに関連する様々なデータが格納され得る。本実施形態では、第1及び第2ブロックチェーン14a、14bは、複数の車両12からの車両センサデータを格納することに関して説明される。
【0016】
(車両ノード)
前述したように、道路24を走行し、第1ゾーン及び第2ゾーンを通過する複数の車両12は、車両ノード12として機能する。車両ノード12は、自律走行車両、半自律走行車両、又は手動運転車両であってもよい。
図2に示すように、各車両ノード12は、電子制御ユニット(以下、車両ECU30)と、複数のセンサ32と、無線通信用の車載器34と、を備える。センサ32は、カメラ、レーダーセンサ、ライダーユニットなど、車両ノードの周囲の環境における物体、シーン、条件、気候などを検出又は識別するための様々なセンサであってよい。また、センサ32は、車両ノードの動作状態を監視又は検出するための、車速センサ、ヨーレートセンサ、マスエアフローセンサ、エンジン回転数センサ、酸素センサ等を含んでよい。なお、本実施形態では、車載器34は、信号機やゲートウェイステーションといった路側インフラ(不図示)から交通情報を受信するセンサ32として機能してよい。
【0017】
本実施形態において、センサデータ26は、カメラ、ライダーセンサ、又はレーダーセンサによって感知された、動物、歩行者、道路上の障害物などの物体のデータを含む。また、センサデータ26は、車載器34が路側インフラから受信した交通情報を含む。さらに、センサデータ26は、車速センサ、ヨーレートセンサ、エンジン回転数センサなどによって感知される車両の運転状態に関する情報を含む。センサ32は、車両ECU30に接続されており、センサ32が感知したセンサデータ26は、車両ECU30に送信される。
【0018】
車載器34は、車両間(V2V)の無線通信、及び、車両とインフラ(V2I)との無線通信を行うためのものである。各車両ノード12は、車載器34を介して、近くにある他の車両ノード12と通信することが可能である。また、各車両ノード12は、車載器34を介して、第1及び第2路側機20、22を含む近くの路側インフラと通信することが可能である。したがって、車両ノード12は、V2V通信を通じて、互いにデータ(例えば、後述するセンサデータ26又はブロックチェーンのブロック28)を共有することができる。さらに、車両ノード12は、第1及び第2路側機20、22の近くにいるとき、第1及び第2マスターノード16、18と通信することができる。したがって、第1ゾーン内の車両ノード12は、第1路側機20を介したV2I通信により、センサデータ26及びブロック28を第1マスターノード16に送信することができる。第2ゾーン内の車両ノード12は、第2路側機22を介したV2I通信により、センサデータ26及びブロック28を第2マスターノード18へ送信することができる。同様に、第1ゾーン内の車両ノード12は、車載器34を介して第1マスターノード16から情報を受信することができる。第2ゾーン内の車両ノード12は、車載器34を介して、第2マスターノード18から情報を受信することができる。
【0019】
車両ECU30は、少なくとも1つのプロセッサ30aと少なくとも1つのメモリ30bとで実現されている。車両ECU30は、後述するように、ゾーンベースのブロックチェーン14ごとに設計されたスペック36に従って、センサ32によって感知されたセンサデータ26をマイニングするようにプログラムされている。また、車両ECU30は、対応するブロックチェーンのスペック36に従ってマイニングされたブロック28を、メモリ30bに格納するようにプログラムされている。車両ECU30は、センサ32からセンサデータ26を受信すると、センサデータ26をその優先順位に基づいて分類するようにプログラムされている。本実施形態では、車両ECU30は、センサデータ26の優先度を「最高優先度」、「中間優先度」、又は「低優先度」に分類するように構成されている。例えば、センサ32が道路上の動物、歩行者、事故車などの突発的な障害物を検出した場合、車両ECU30は、センサデータ26を「最高優先度」に分類するようにプログラムされている。一方、センサデータ26が車速やエンジン回転数のような運転状態に関連する情報である場合、車両ECU30は、センサデータ26を「低優先度」に分類するようにプログラムされている。さらに、センサ32が雨や雪のような気候条件を検出した場合、車両ECU30は、センサデータ26を「中間優先度」に分類するようプログラムされている。このように、車両ECU30は、自分自身(以下、適宜「自車両12」又は「自車両ノード12」と記載する)又は他車両12に対する危険性又は安全性の強さに応じて、センサデータ26を「最高優先度」、「中間優先度」、又は「低優先度」に分類するようプログラムされている。
【0020】
すなわち、センサデータ26が自車両12及び同一ゾーン内の他車両12に対する差し迫った危険を示しており、その情報を他車両12と共有すべき場合には、車両ECU30は、センサデータ26を「最高優先度」に分類するようにプログラムされている。一方、センサデータ26が自車両12及び同一ゾーン内の他車両12に対する危険性又は安全性を示していない場合、車両ECU30は、センサデータ26を「低優先度」に分類するようプログラムされている。車両ECU30は、「最高優先度」及び「低優先度」のどちらにも該当しない他の全てのセンサデータ26を、「中間優先度」に分類するようプログラムされている。
【0021】
車両ECU30がセンサデータ26を「最高優先度」に分類した場合、車両ECU30は、センサデータ26をマイニングする前に、同一ゾーン内の他の車両ノード12とセンサデータ26を共有(ブロードキャスト)するようプログラムされている。また、車両ECU30は、車両ノード12が走行している物理ゾーンに対応するマスターノード16、18に対して、最高優先度に分類されたセンサデータ26をブロードキャストする。その後、車両ECU30は、センサデータ26をマイニングし、マイニングしたブロック28を、同一ゾーン内の他の車両ノード12と、車両ノード12が走行している物理ゾーンに対応するマスターノード16、18とにブロードキャストする。このとき、車両ECU30は、スペック36で規定されているPoW(Proof - of - Work)プロトコルを用いて、最高優先度のセンサデータ26を含むブロック28をマイニングしてもよい。
【0022】
一方、車両ECU30は、センサデータ26を「中間優先度」又は「低優先度」に分類した場合、まずセンサデータ26をマイニングし、マイニングしたブロック28を同一ゾーン内の他の車両ノード12及び車両ノード12が走行する物理ゾーンに対応するマスターノード16、18へブロードキャストする。センサデータ26が「中間優先度」に分類される場合、車両ECU30は、スペック36で規定されているPoS(Proof - of - Stake)プロトコルにより、中間優先度のセンサデータ26を含むブロック28をマイニングして良い。逆に、センサデータ26が「低優先度」に分類される場合、車両ECU30は、最高優先度のセンサデータ26と同様に、スペック36で規定されているPoWプロトコルを用いて、低優先度のセンサデータ26を含むブロック28をマイニングしてもよい。
【0023】
センサデータ26が「最高優先度」に分類される場合、最高優先度のセンサデータ26が他のノード12及びマスターノード16、18と共有された後、最高優先度のセンサデータ26を含むブロック28は、レガシープロトコル(
図3参照)を用いてマスターノード16、18及び他の車両ノード12にブロードキャストされる。同様に、センサデータ26が「低優先度」に分類される場合、低優先度のセンサデータ26を含むブロック28は、レガシープロトコルを用いてマスターノード16、18及び他の車両ノード12にブロードキャストされる。逆に、センサデータ26が「中間優先度」に分類される場合、車両ECU30は、
図3に示すように、中間優先度のセンサデータ26を含むブロック28を、コンパクトブロック中継プロトコルによりマスターノード16、18及び他の車両ノード12にブロードキャストするようにプログラムされている。
図3に示されるように、コンパクトブロック中継プロトコルには低帯域中継と高帯域中継とが存在し、車両ECU30は、利用可能な帯域に応じて低帯域中継と高帯域中継のいずれかを選択するようにプログラムされている。コンパクトブロック中継プロトコルを使用することで、各車両ノードの帯域幅を節約することが可能となる。Ryunosuke Nagayama、Ryohei Banno、Kazuyuki Shudoが執筆している“Identifying Impacts of Protocol and Internet Development on the Bitcoin Network”では、コンパクトブロック中継プロトコルを開示しており、この内容は参照により本特許内にも組み込まれる。
【0024】
各車両ノード12の車両ECU30は、通常のブロックチェーン技術に従い、自車両ノード12がマイニングしたブロック28と、同一物理ゾーン内の他車両ノード12から受信したブロック28とを、対応するスペック36に従ってブロックチェーンに格納するようプログラムされている。言い換えれば、各車両ECU30は、通過する物理ゾーンごとに個別のブロックチェーンを作成及び維持し、少なくとも1つのブロックをマイニング又は受信することになる。しかし、実際には、車両ノード12が通過するの物理ゾーンごとの完全なブロックチェーン全体を保存することは、記憶容量の観点から現実的ではない。したがって、車両ECU30における記憶容量を節約するために、車両ECU30は、様々なブロックチェーンの記憶域削減の仕組みを用いて複数のブロック28を保存してもよい。例えば、車両ECU30は、古いブロックを切り捨てることで、ブロックチェーンの記憶容量を削減してよい。また、車両ECU30は、スナップショットブロックを作成することにより、ブロックチェーンの記憶容量を削減してよい。2019年に第18回IEEE International Conference On Trust, Security and Privacy(Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering内)で発表された“Tackling Data Inefficiency: Compressing the Bitcoin Blockchain”では、スナップショットブロックの技術を開示しており、参照により本特許内に組み込まれる。さらに、車両ECU30は、ハッシュアドレスを記憶することで、ブロックチェーンの記憶容量を削減してよい。
【0025】
(マスターノード)
図4に示すように、第1マスターノード16は、少なくとも1つのプロセッサ16aと少なくとも1つのメモリ16bとを用いて実現されている。第1マスターノード16は、第1ゾーンに関連する第1ブロックチェーン14aを格納するサーバとして機能してよい。第1マスターノード16は、第1ゾーン内の車両ノード12によって感知され、そこから送信されたセンサデータ26をマイニングするためのマイニングノードとしても機能してよい。さらに、第1マスターノード16は、第1ブロックチェーン14aの車両ノード12を管理する管理者として機能してよい。
【0026】
第1マスターノード16と同様に、第2マスターノード18は、少なくとも1つのプロセッサ18a及び少なくとも1つのメモリ18bを用いて実現されている。第2マスターノード18は、第2ゾーンに関連する第2ブロックチェーン14bを格納するサーバとして機能してよい。第2マスターノード18は、第2ゾーン内の車両12によって感知されたセンサデータ26をマイニングするためのマイニングノードとしても機能してよい。第2マスターノード18は、第2ブロックチェーン14bにおいて、車両ノード12を管理する管理者として機能してよい。
【0027】
第1マスターノード16が記憶する第1ブロックチェーン14a、及び第2マスターノード18が記憶する第2ブロックチェーン14bは、センサデータ26を含むようにマイニングされた複数のブロック28で形成されている。第1ブロックチェーン14aのブロック28に含まれるセンサデータ26のほとんどは、車両12が第1ゾーン内にいる間(例えば、車両12が第1ゾーン内で走行している間、又は車両12が第1ゾーン内で駐車されている間)において、車両12によって感知されたものである。第2ブロックチェーン14bのブロック28に含まれるセンサデータ26のほとんどは、車両12が第2ゾーン内にいる間(例えば、車両12が第2ゾーン内で走行中又は車両12が第2ゾーン内で駐車中)において、車両12によって感知されたものである。
【0028】
(第1及び第2スペック)
第1ゾーン内の車両ノード12が感知したセンサデータ26は、第1ブロックチェーン14aのための第1スペック36aに従って、第1マスターノード16又は第1ゾーン内の車両ノード12によってマイニングされる。第2ゾーン内の車両が感知したセンサデータ26は、第2ブロックチェーン14bのための第2スペック36bに従って、第2マスターノード18又は第2ゾーン内の車両ノード12によってマイニングされる。第1マスターノード16及び第2マスターノード18は、それぞれ、第1スペック36a及び第2スペック36bをそれらのメモリ16b、18bに格納している。第1マスターノード16が自らブロック28をマイニングする場合、第1マスターノード16は、第1スペック36aにしたがってブロック28をマイニングする。第2マスターノード18が自らブロック28をマイニングする場合、第2マスターノード18は、第2スペック36bにしたがってブロック28をマイニングする。
【0029】
さらに、第1マスターノード16は、或る車両12が第1ゾーンに進入すると、第1路側機20を介して当該車両12に第1スペック36aを送信するようにプログラムされている。車両12は第1スペック36aを受信すると、車両ECU30は、第1スペック36aをメモリ30bに記憶し、且つ、車両12が第1ゾーン内にある間は第1スペック36aに従ってブロック28をマイニングする。同様に、第2マスターノード18は、或る車両12が第2ゾーンに進入した場合に、第2路側機22を介して当該車両12に第2スペック36bを送信するようプログラムされている。車両12は第2スペック36bを受信すると、車両ECU30は、第2スペック36bをメモリ30bに記憶し、且つ、車両12が第2ゾーン内にある間は、第2スペック36bに従ってブロック28をマイニングする。
【0030】
第1スペック36a及び第2スペック36bの各々は、各物理ゾーンと関連付けて定義されるブロックチェーンの詳細(BC詳細)を構成する。より具体的には、第1ブロックチェーン14aのためのBC詳細は、第1ゾーンの状況や、事情、特性、要件、規制等に従って第1ブロックチェーン14aをカスタマイズするように定義されている。同様に、第2ブロックチェーン14bのためのBC詳細は、第2ゾーンの状況や、事情、特性、要件、規制等に従って第2ブロックチェーン14bをカスタマイズするように定義されている。すなわち、第1ブロックチェーン14a及び第2ブロックチェーン14bは、ローカル要件に応じたBC詳細を設定することにより、柔軟にカスタマイズ可能となる。
図5に示すように、BC詳細には、主に、第1ブロックチェーン14a及び第2ブロックチェーン14bを一意に定義するジェネシスファイル40及びコンセンサスアルゴリズム42が含まれる。
【0031】
ジェネシスファイル40は、第1及び第2ブロックチェーン14a、14bの第1ブロックを定義するファイル(例えば、JSONファイル)である。すなわち、ジェネシスファイル40には、第1及び第2ブロックチェーン14a、14bの設定が含まれている。ジェネシスファイル40には、チェーンID40a、ガスリミット40b、難易度40c、及びナンス、ハッシュ40dといった、主に4つの必須項目が含まれている。チェーンID40aは、第1及び第2ブロックチェーン14a、14bの各々に固有のIDであり、トランザクション署名処理において使用される。このように、ジェネシスファイル40にてチェーンID40aを指定することで、第1ブロックチェーン14a及び第2ブロックチェーン14bをリプレイ攻撃から防ぐことができる。ガスリミット40bは、1ブロックあたりのトランザクション承認手数料の限界値である。ガスリミット40bは、トランザクション又は機能がユーザに課金又は徴収可能な金額の最大値を定義する。このように、ガスリミット40bは、第1及び第2ブロックチェーン14a、14bにおけるスマートコントラクトのバグやエラーによって、高額な料金が誤って請求されることを防止するセキュリティ機構として機能する。難易度40cは、マイナーが第1及び第2ブロックチェーン14a、14bに新しい取引ブロックを追加するのにかかる時間を規制するマイニングの難易度を定義している。難易度40cの数が増えるほど、ブロックのインターバル時間も長くなる。ナンスとハッシュ40dは、組み合わせることで、ブロックが暗号的にマイニングされたことを確認可能とする値である。
【0032】
次に、各スペック36のコンセンサスアルゴリズム42について説明する。一般的に、コンセンサスアルゴリズムとは、ブロックチェーンネットワークのすべてのノードが、分散型台帳(例えば、第1ブロックチェーン14a又は第2ブロックチェーン14b)の現在の状態について共通の合意に達する手順である。このように、コンセンサスアルゴリズムは、ブロックチェーンネットワークにおける信頼性を実現し、分散コンピューティング環境における未知のノード間の信頼性を確立する。基本的に、コンセンサスプロトコルは、ブロックチェーンに追加されるすべての新しいブロックが、ブロックチェーン内のすべてのノードによって合意された真実の唯一無二のバージョンであることを確認するものである。本実施形態のシステムで利用可能なコンセンサスアルゴリズムは多数あり、各アルゴリズムは、ブロックチェーンの取引スループットやブロックチェーンにおけるブロックの確定時間の向上を目的としている。例えば、第1ブロックチェーン14a及び第2ブロックチェーン14bで利用可能なコンセンサスアルゴリズム42として、PoW(Proof of Work)、PBFT(Practical Byzantine Fault Tolerance)、PoS(Proof of Stake)、PoB(Proof of Burn)、Proof of Capacity、Proof of Elapsed Time、BABE(Blind Assignment for Blockchain Extension)、COSMOS Tendermint等が使用されてよい。
【0033】
(各物理ゾーンに向けたブロックチェーンの変更)
ここで、第1及び第2スペック36a、36bを設定することによる、各ブロックチェーンのカスタマイズの実例について説明する。
<事例1:賑やかなエリア対静かなエリア>
仮に第1ゾーンが都市の繁華街のような賑やかな地域(すなわち、車や歩行者が多い地域)に設定され、第2ゾーンが町の郊外のような静かな地域(すなわち、車や歩行者が少ない地域)に設定されている場合、第1ブロックチェーン14a(すなわち、第1スペック36a)は、第2ブロックチェーン14b(すなわち、第2スペック36b)に比べて、ジェネシスファイル40の難易度40cが低い数値に設定される。第1スペック36aにおいて難易度40cの数値を低く設定することにより、マイナー(すなわち、車両ノード12及び第1マスターノード16)は、ビジー状態において、より短い所要時間でブロック28をマイニング可能となる。さらに、交差点が多いことに由来して第1ゾーンが第2ゾーンよりも混雑している場合、第1スペック36aには、より低い確定時間を有するコンセンサスアルゴリズム42が設定される。
<事例2:危険なエリア対安全なエリア>
仮に第1ゾーンが都市内の危険なエリア(事故が頻発する地域)に設定され、第2ゾーンが同一都市内において第1ゾーンよりも安全なエリアに設定されている場合、第1スペック36aには、BABEのように高い総スループットを有するコンセンサスアルゴリズム42が設定される。総スループットが高められたコンセンサスアルゴリズム42を設定することにより、第1ブロックチェーン14aにおいてより高速なブロック生成が実現され、情報共有のためのセキュリティが向上することになる。一方、第1ゾーンよりも安全な第2ゾーンのための第2スペック36bには、PoAやPoWといった標準的なコンセンサスアルゴリズム42が設定されている。
<事例3:安全が要求されるエリアと通常のエリア>
第1ゾーンが学校、病院などを有する地域のように、安全が要求されるエリアに設定され、第2ゾーンが通常のエリアに設定される場合、第1ゾーン用の第1スペック36aには、IOTA、ハッシュグラフ、COSMOS Tendermintなどといった、何らかの高度なコンセンサスアルゴリズム42が設定される。これらのタイプでは、ブロックの確定時間が短いため、情報共有が高速に行われる。
【0034】
(相互運用性)
第1マスターノード16と第2マスターノード18は、無線又は有線で接続されている。本実施形態では、
図4に示すように、第1マスターノード16と第2マスターノード18とは、光ファイバ44によって物理的に接続されている。光ファイバ接続により、第1マスターノード16と第2マスターノード18は、互いにデータ26又はブロック28を転送することが可能である。すなわち、第1及び第2マスターノード16、18は、情報を交換することができ、交換された情報を利用することができる(すなわち、相互運用性が実現されている)。
【0035】
第1マスターノード16は、第1ゾーン内の車両ノード12からブロック28を受信すると、そのブロック28を第2マスターノード18と共有すべきかどうかを決定するようにプログラムされている。同様に、第2マスターノード18は、第2ゾーン内の車両ノード12からブロック28を受信すると、そのブロック28を第1マスターノード16と共有すべきかどうかを決定するようにプログラムされている。第1及び第2マスターノード16、18による上記の決定は、ブロック28に含まれるセンサデータ26の特徴に基づいて行われる。より具体的には、第1及び第2マスターノード16、18は、ブロック28に含まれるセンサデータ26が他のゾーンに関連する場合、その情報を互いに共有すべきと判断するようにプログラムされている。例えば、ブロックが交通シナリオ又は緊急の自然災害の情報に関するセンサデータ26を含む場合、第1及び第2マスターノード16、18は、そのセンサデータ26を含むブロック28を互いに共有すべきと決定するようにプログラムされている。一方、ブロック28が車両ノード12の運転状態に関するセンサデータ26を含む場合、第1及び第2マスターノード16、18は、センサデータ26を含むブロック28を互いに共有すべきではないと判断するようにプログラムされている。第1マスターノード16は、ブロック28a(特定のブロックという場合もある)を第2マスターノード18と共有すべきと判断した場合、光ファイバ44を介してブロック28aを第2マスターノード18に送信(ユニキャスト)する。同様に、第2マスターノード18は、ブロック28aを第1マスターノード16と共有すべきと判断した場合、光ファイバ44を介してブロック28aを第1マスターノード16に送信(ユニキャスト)する。
【0036】
そして、
図4に示すように、第2マスターノード18は、第1マスターノード16からブロック28aを受信すると、第2スペック36bに従って、ブロック28aに含まれるセンサデータ26をマイニングするようプログラムされている。また、第2マスターノード18は、受信したブロック28aから作成した新しいブロック28bを第2ブロックチェーン14bに追加し、新たに作成したブロック28bを、第2路側機22を介して第2ゾーン内の車両ノード12にブロードキャストする。すなわち、新たに作成されたブロック28bは、第2ブロックチェーン14bのシステム内に存在するすべてのノードに共通に配布される第2ブロックチェーン14bに追加される。その結果、特定のブロック28bに含まれるセンサデータ26は、第2ゾーン内の第2マスターノード18及び車両ノード12に利用可能になる。この後、各車両ノード12は、この情報を用いて、様々な種類の処理を自由に行うことができる。例えば、受信した情報が第1ゾーンの大渋滞に関連している場合、第2ゾーンの車両ノード12は、第1ゾーンの大渋滞を迂回するように推奨経路を変更することができる。
【0037】
システム10において、各マスターノードは、独立した個別のブロックチェーンを維持する。すなわち、全ノードで共通かつ同一の分散台帳を維持する一般的なブロックチェーンシステムとは逆に、本システム10は、マスターノードごとに異なるブロックチェーンを意図的に割り当てている。これにより、システム10は、物理ゾーンごとに特化又はカスタマイズされたスペック36を有するブロックチェーンを維持し、且つ、ストレージ容量を削減することができる。システム10では、局所的なデータは原則的に、対応する物理ゾーンのブロックチェーンへと格納されるためである。しかし、このような分配は、個々のブロックチェーンが破損したり、不正にデータを修正されたりする可能性があることを意味する。これに対処するため、第2マスターノード18は、第1マスターノード16から受信したブロック28aから第2マスターノード18がマイニングした、新たに作成されたブロック28bに基づいて、第1ブロックチェーン14aの真正性を検証可能にプログラムされている。この種の相互認証は、第1マスターノード16及び第2マスターノード18の両方と通信する第三者サーバなどの信頼できる第三者を活用することによって実行されてもよい。この場合、第2マスターノード18は、信頼できる第三者を活用して、新たに作成されたブロック28bに基づいて第1ブロックチェーン14aの真正性を検証してよい。これは、信頼できる第三者の存在を必要とする公証制度とも呼ばれる。
【0038】
他の態様として、第1マスターノード16と第2マスターノード18とが直接通信して、互いのブロックチェーンの真正性を積極的に検証するリレー方式が用いられてもよい。例えば、第1ブロックチェーンに存在するスマートコントラクトは、第2ブロックチェーンからブロックを受信したことを受けて、読み込み、検証、作動が可能であってよい。このように、第三者によるインターフェースを必要とせず、第1及び第2ブロックチェーン14a、14bが直接的に互いに検証可能であってよい。
【0039】
さらに別の方法として、第1及び第2マスターノード16、18間の真正性を検証するために、ハッシュロック方式が使用されてよい。例えば、ブロックには、共有されるべきセンサデータに加えて、相互運用性を実現し且つ第1ブロックチェーン14aと第2ブロックチェーン14bとの間で相互認証を許可するための暗号証明としてハッシュが付加されてよい。他のタイプの相互認証は、上述した方法に加えて、又はその代わりに実行されてよい。
【0040】
以上の説明は、システム10内の任意のマスターノードの組に適用可能である。例えば、第1マスターノード16が第2マスターノード18からブロックを受信した場合、第1マスターノード16は、そのブロックに含まれるセンサデータを第1スペック36aに従ってマイニングするようプログラムされている。そして、第1マスターノード16は、受信したブロックから作成した新たなブロックを第1ブロックチェーン14aに追加し、第1路側機20を介して第1ゾーン内の車両ノード12に向けて新たに作成したブロックをブロードキャストする。この場合も、第1マスターノード16は、新たに作成されたブロックに基づいて第2ブロックチェーン14bの真正性を検証可能にプログラムされている。
【0041】
(各物理ゾーンの車両ノードの管理)
第1マスターノード16及び第2マスターノード18は、それぞれ第1ブロックチェーン14a及び第2ブロックチェーン14bに対する車両ノード12の入退場も管理するようにプログラムされている。第1マスターノード16は、第1ブロックチェーン14aのノードについてのノードリスト50を管理する。また、第2マスターノード18は、第2ブロックチェーン14bのノードについてのノードリスト50を管理する。第1マスターノード16及び第2マスターノード18の各々は、ノードリスト50をメモリ16b、18bに格納する。そして、第1マスターノード16は、第1ゾーンに入る(又は第1ゾーン内にある)車両ノード12を追加し、且つ、第1ゾーンから出る(又は第1ゾーン外にある)車両ノード12を削除することにより、第1ブロックチェーン14aのノードリスト50を維持する。同様に、第2マスターノード18は、第2ゾーン内の車両ノード12を追加し、且つ、第2ゾーン外の車両ノード12を削除することにより、第2ブロックチェーン14bのノードリスト50を維持する。第1マスターノード16のノードリスト50は、現在第1ゾーン内にいる車両ノード12のIDのリストである。第2マスターノード18のノードリスト50は、現在第2ゾーン内にいる車両ノード12のIDのリストである。具体的には、第1マスターノード16は、
図4に示すように、車両12が第1ゾーンに入ったときにその車両識別番号(VIN)をノードリスト50に追加し、車両12が第1ゾーンから出たときにそのIDをノードリスト50から削除するようにプログラムされている。同様に、第2マスターノード18は、車両12が第2ゾーンに入ったときにノードリスト50にそのVINを追加し、車両12が第2ゾーンから出たときにノードリスト50からそのIDを削除するようにプログラムされている。
【0042】
さらに、第1マスターノード16及び第2マスターノード18の各々は、そのメモリ16b、18bにグローバル許可リスト46を格納している。各グローバル許可リスト46は、ゾーンベースのブロックチェーンシステム10への参加を予め許可された車両ノード12の複数のIDを有するリストである。本実施形態では、グローバル許可リスト46は、システム10への参加が許可された車両ノード12を識別する複数のVINで形成されている。
【0043】
そして、第1マスターノード16は、或る車両12が第1ゾーンに進入する際、当該車両12のVINがグローバル許可リスト46に記載されているか否かを確認するようにプログラムされている。より具体的には、或る車両ノード12が第1ゾーンに進入すると、
図6に示すように、その車両ECU30は、第1路側機20を介して第1マスターノード16に通信要求を送信するようプログラムされている。第1マスターノード16は、車両ノード12から通信要求を受信すると、グローバル許可リスト46を確認する。そして、グローバル許可リスト46にその車両ノード12のVINが記載されている場合、第1マスターノード16は、ノードリスト50にそのVINを加える。この方法では、第1マスターノード16は、新しい車両12をノードリスト50に追加する前に、最初にグローバル許可リスト46をチェックする。そして、第1マスターノード16は、公開鍵(以下、マスター公開鍵という)を生成し、マスター公開鍵によってBC詳細(すなわち、第1スペック36a)を暗号化する。その後、第1マスターノード16は、マスター公開鍵で暗号化したBC詳細を、第1路側機20を介して車両ノード12に送信する。車両ノード12の車両ECU30は、暗号化されたBC詳細を受信すると、車両ノード12が有する秘密鍵を用いてBC詳細を復号し、車両ECU30のメモリ30bに第1スペック36aを格納する。そして、車両ノード12は、第1路側機20を介して、第1マスターノード16に別の公開鍵(以下、ノード公開鍵)を送信する。第1マスターノード16は、車両ノード12からノード公開鍵を受信すると、当該車両ノード12のノード公開鍵を第1ゾーン内の他の車両ノード12へブロードキャストする。
【0044】
このようにして、車両12のVINがグローバル許可リスト46に記載されている場合、第1マスターノード16は、車両12を第1ブロックチェーン14aのための新しい車両ノード12として追加するようにプログラムされている。逆に、第1マスターノード16は、或る車両12が第1ゾーンから退出する際には、ノードリスト50からその車両ノードのVINを削除することにより、第1ブロックチェーン14aの車両ノード12として車両12を削除するようにプログラムされている。第1マスターノード16は、車両ノード12を追加及び削除することにより、第1ブロックチェーン14aの車両ノード12を管理し、第1マスターノード16が受信したブロック28が、本当にシステム10への参加が許可された車両ノード12から作成及び送信されたか否かを検証する。
【0045】
第1マスターノード16と同様に、第2マスターノード18は、或る車両が第2ゾーンに進入する際に、その車両12のVINがグローバル許可リスト46に記載されているかどうかをチェックするようにプログラムされている。より具体的には、車両ノード12が第2ゾーンに入ると、車両ノード12は、第2マスターノード18に通信要求を送信する。そして、第2マスターノード18は、その車両ノード12のVINを確認する。車両ノード12のVINがグローバル許可リスト46に記載されている場合、第2マスターノード18は、車両ノード12のVINをノードリスト50に追加する。そして、第2マスターノード18は、マスター公開鍵を生成し、マスター公開鍵で暗号化したBC詳細(すなわち、第2スペック36b)を、第2路側機22を介して車両ノード12に送信する。車両ノード12は、暗号化されたBC詳細を受信すると、車両ノード12が有する秘密鍵でBC詳細を復号し、第2スペック36bを車両ECU30のメモリ30bに格納する。そして、車両ノード12は、第2路側機22を介して第2マスターノード18にノード公開鍵を送信し、第2マスターノード18は、その車両ノード12のノード公開鍵を第2ゾーン内の他の車両ノード12にブロードキャストする。このようにして、第2マスターノード18は、車両12を第2ブロックチェーン14bのための新たな車両ノード12として追加する。
【0046】
逆に、第2マスターノード18は、車両12が第2ゾーンから退出する際、車両ノード12のVINをノードリスト50から削除することにより、第2ブロックチェーン14bの車両ノード12としての車両12を削除するようにプログラムされている。第2マスターノード18は、車両ノード12を追加及び削除することにより、第2ブロックチェーン14bの車両ノード12を管理し、第2マスターノード18が受信したブロック28が、本当にシステム10への参加が許可された車両ノード12から作成及び送信されたか否かを検証する。
【0047】
したがって、或る車両12が第1ゾーンと第2ゾーンとの間を走行している場合、車両12は、第1ゾーンの内部にいるときは、第1ブロックチェーン14aの第1スペック36aに従ってセンサデータ26をマイニングすることにより、第1ブロックチェーン14aの車両ノード12として動作する。そして、車両12は、第2ゾーン内にいるときは、第2ブロックチェーン14bの第2スペック36bに従ってセンサデータ26をマイニングすることにより、第2ブロックチェーン14bの車両ノード12として機能する。
【0048】
(作動)
次に、本実施形態に係るシステム10が実行する複数の処理について、以下に説明する。
【0049】
<新規ノード参加処理>
第1マスターノード16及び第2マスターノード18は、車両ノード12が各ゾーンに進入した際に、新規ノード参加処理を実行するようにプログラムされている。以下の説明では、第1及び第2マスターノード16、18が実行する処理は互いに同様であるため、第1マスターノード16が実行する処理のみを
図7を参照しながら説明する。第1マスターノード16は、
図7のフローチャートに示す新規ノード参加処理を繰り返し実行する。
【0050】
ステップS10において、第1マスターノード16は、新規の車両ノード12から通信要求を受信したか否かを判定する。第1マスターノード16が通信要求を受信した場合(S10:YES)、第1マスターノード16は、ステップS20において、グローバル許可リスト46を確認する。ステップS30において、第1マスターノード16は、新規の車両ノード12のVINがグローバル許可リスト46に記載されているか否かを判定する。当該VINがグローバル許可リスト46に記載されていない場合(S30:NO)、第1マスターノード16は、処理を終了する。当該VINがグローバル許可リスト46に記載されている場合(S30:YES)、ステップS40において、第1マスターノード16は、ノードリスト50にそのVINを追加し、ステップS50において、第1マスターノード16は、マスター公開鍵を生成する。そして、第1マスターノード16は、ステップS60において、BC詳細(第1スペック36a)をマスター公開鍵で暗号化する。
【0051】
第1マスターノード16は、ステップS70において、暗号化されたBC詳細を、第1路側機20を介して新規の車両ノード12に送信する。BC詳細を受信した新規の車両ノード12の車両ECU30は、ステップS80で、秘密鍵を用いてBC詳細を復号する。そして、車両ECU30は、ステップS90において、ノード公開鍵を、第1路側機20を介して第1マスターノード16に送信する。第1マスターノード16は、新規の車両ノード12からノード公開鍵を受信すると、ステップS95において第1路側機20を介して他の車両ノード12にノード公開鍵をブロードキャストする。
【0052】
したがって、車両12が第1ゾーンに入ると、第1マスターノード16は、グローバル許可リスト46を確認することによって、車両12がゾーンベースのブロックチェーンシステム10に参加することを許可されているか否かを判定することができる。このようにして、第1マスターノード16は、ノードリスト50において、システム10に参加することが既に許可されている車両12のみを追加することができる。換言すれば、第1マスターノード16は、ノードリスト50を維持することで、第1ブロックチェーン14aの作成にかかる第1ゾーン内の車両ノード12を制御することができる。さらに、第1マスターノード16は、グローバル許可リスト46にVINが記載されている場合、新規の車両ノード12にBC詳細を送信する。それ故、新規の車両ノード12の車両ECU30は、第1ブロックチェーン14a用にカスタマイズされた第1スペック36aに従って、センサデータ26をマイニングできる。その結果、第1ゾーンの特性に特化してカスタマイズされた第1ブロックチェーン14aが作成されうる。さらに、第1マスターノード16はマスター公開鍵によりBC詳細を暗号化し、且つ、新たな車両ノード12は秘密鍵によりBC詳細を復号化するので、BC詳細は、新規の車両ノード12に向けて確実に送信可能となる。
【0053】
<マイニング処理>
次に、車両ノード12が実行するマイニング処理について、
図8を参照しながら説明する。
図8に示すフローチャートに示すマイニング処理は、第1ゾーンを走行している車両ノード12によって繰り返し実行される。
【0054】
車両ECU30は、まず、車両ノード12のセンサ32がセンサデータ26を取得したか否かを判定する。車両ECU30は、センサデータ26を取得した場合(ステップS100:YES)、ステップS110において、当該センサデータ26の優先度を決定する。センサデータ26は高優先度と判断された場合(ステップS120:YES)、処理はステップS130に進む。逆に、センサデータ26は高優先度と判断されない場合、処理はステップS140に進む。ステップS130において、車両ECU30は、センサデータ26を暗号化し、暗号化したセンサデータ26を第1ゾーン内の他の車両ノード12へブロードキャストする。すなわち、車両ECU30は、センサデータ26をマイニングする前に、高優先度のセンサデータ26を他の車両ノード12と共有する。従って、最高優先度のセンサデータ26は、第1ゾーン内の他の車両ノード12と迅速に共有されうる。また、他の車両ノード12は、危険な状況を回避又は対処するために、共有されたセンサデータ26を利用可能となる。その後、車両ECU30は、ステップS150において、第1スペック36aに従って、センサデータ26をマイニングする。このとき、車両ECU30は、第1スペック36aに従い、PoWプロトコルを用いてセンサデータ26をマイニングしてよい。そして、車両ECU30は、ステップ160において、高優先度のセンサデータ26を含むブロック28を、第1路側機20を介してレガシープロトコルを用いて第1マスターノード16に送信する。高優先度のセンサデータ26は既に他の車両ノード12と共有されているため、高優先度のセンサデータ26を含むブロック28は、必ずしも第1マスターノード16に迅速に送信される必要はない。このように、高優先度のセンサデータ26を含むブロック28は、レガシープロトコルを用いて車両ノード12から第1マスターノード16に転送される。
【0055】
ステップS120でセンサデータ26は高優先度に判定されなかった場合(ステップS120:NO)、車両ECU30は、ステップS140でセンサデータ26が中間優先度であるか否かを判定する。センサデータ26が中間優先度であると判断された場合(ステップS140:YES)、処理はステップS170に進む。逆に、センサデータ26は中間優先度であると判定されない場合(ステップS140:NO)、処理はステップS180に進む。ステップS170において、車両ECU30は、第1スペック36aに従ってセンサデータ26をマイニングし、ブロック28を作成する。このとき、車両ECU30は、第1スペック36aに従って、PoAプロトコルを用いてセンサデータ26をマイニングしてもよい。そして、車両ECU30は、ステップS190において、中間優先度のセンサデータ26を含むブロック28を、コンパクト中継プロトコルを用いて、第1ゾーン内の他の車両ノード12へブロードキャストする。さらに、車両ECU30は、ステップS190において、コンパクト中継プロトコルを用いて、中間優先度のセンサデータ26を含むブロック28を、第1路側機20を介して第1マスターノード16に送信する。このように、センサデータ26が中間優先度であると判定された場合、当該センサデータ26はマイニングされた後、他の車両ノード12と共有される。しかし、中間優先度のセンサデータ26を含むブロック28を第1マスターノード16及び他のノード12にブロードキャストする際には、帯域を削減するように、当該ブロックはコンパクトブロック中継プロトコルを用いて転送される。
【0056】
センサデータ26が中間優先度のデータであると判定されない場合(ステップS140:NO)、車両ECU30は、ステップS180にてセンサデータ26が低優先度のデータであると判定する。そして、車両ECU30は、S200において、第1スペック36aに従ってセンサデータ26をマイニングし、低優先度のセンサデータ26を含むブロック28を作成する。このとき、車両ECU30は、第1スペック36aに従い、PoWプロトコルを用いてセンサデータ26をマイニングしてよい。車両ECU30は、ステップS210において、レガシープロトコルを用いて、そのブロック28を第1ゾーン内の他の車両ノード12にブロードキャストする。さらに、車両ECU30は、ステップS210において、レガシープロトコルを用いて、低優先度のセンサデータを含むブロック28を、第1路側機20を介して第1マスターノード16に送信する。このように、センサデータ26が低優先度のデータである場合、センサデータ26をマイニングした後、第1マスターノード16と他の車両ノード12とでセンサデータ26を共有する。さらに、センサデータ26は低優先度である場合には、迅速に共有する必要がないため、当該センサデータ26を含むブロック28はレガシープロトコルで転送される。
【0057】
<ブロック共有処理>
次に、第1マスターノード16と第2マスターノード18との間で実行されるブロック共有処理について、
図9を参照しながら以下に説明する。以下では、第1ゾーンで作成されたブロック28が、第1マスターノード16から第2マスターノード18に共有される場合について説明する。
【0058】
ステップS300において、第1マスターノード16は、第1ゾーン内の車両ノード12からブロック28を取得したか否かを判定する。第1マスターノード16が車両ノード12からブロック28を取得した場合(ステップS300:YES)、第1マスターノード16は、ステップS310において、ブロック28に含まれるセンサデータ26の特徴を決定する。そして、第1マスターノード16は、ステップS320において、センサデータ26の特徴に基づいて、センサデータ26が共有されるべきか否かを判定する。第1マスターノード16は、センサデータ26を共有すべきでないと判断した場合(S320:NO)、その処理を終了する。逆に、第1マスターノード16は、特定のブロック28aに関し、センサデータ26を第2マスターノード18と共有すべきと判断した場合(S320:YES)、ステップS330において、光ファイバ44を介して第2マスターノード18にブロック28a(
図4参照)を送信する。
【0059】
第2マスターノード18は、第1マスターノード16からブロック28aを受信すると、ステップS340において、第1マスターノード16から受信したブロック28aに含まれるセンサデータ26をマイニングして、新たなブロック28bを作成する。このとき、第2マスターノード18は、第2スペック36bに従って、センサデータ26をマイニングする。そして、第2マスターノード18は、ステップS350において、共有されたセンサデータ26を含む新たなブロック28bを、第2ブロックチェーン14bに追加する。さらに、第2マスターノード18は、ステップS360において、第1マスターノード16から共有されたセンサデータ26を、第2ゾーン内の車両ノード12にブロードキャストする。代替的な実装では、ステップS350で新しいブロック28bを第2ブロックチェーン14bに追加することによって、この新しいブロック28bは、第2ブロックチェーン14bと同じ分散システム内の他のすべてのノード、すなわち第2ゾーンのすべての車両ノード12と共有されることになるので、ステップS360はスキップされてよい。
【0060】
このように、第1マスターノード16は、センサデータ26は共有されるべきと判定した場合、当該センサデータ26を含むブロック28aを第2マスターノード18に送信する。そして、第2マスターノード18は、第1マスターノード16から受信したセンサデータ26を第2ゾーン内の車両ノード12にブロードキャストする。したがって、第1及び第2マスターノード16、18の間でブロック28aが交換されることにより、第2ゾーンの車両ノード12は第1ゾーンで感知された関連情報を得ることができる。さらに、第2マスターノード18は、第1マスターノード16がマイニングしたブロック28aを取得するので、第2マスターノード18が作成した新たなブロック28bと第1マスターノード16から受け取ったブロック28aとを比較することにより、第1ブロックチェーン14aの真偽を検証することができる。
【0061】
以上のように、本実施形態によるゾーンベースのブロックチェーンシステム10は、第1ゾーン及び第2ゾーンにそれぞれ関連付けられた第1ブロックチェーン14a及び第2ブロックチェーン14bを作成及び保存することができる。すなわち、第1ゾーン内の車両ノード12及び第1マスターノード16は、第1ゾーンが設定されているエリアの特性に鑑みてカスタマイズされた第1スペック36aに従って、ブロック28を作成する。同様に、第2ゾーン内の車両ノード12及び第2マスターノード18は、第2ゾーンが設定されているエリアの特性を考慮してカスタマイズされた第2スペック36bに従って、ブロック28を作成する。したがって、システムは、対応するゾーンの条件や、状況、事情などが反映されたブロックチェーン14を作成し、保存することができる。その結果、ゾーンベースのブロックチェーンシステム10は、安全に保存され、且つ、各ゾーンの特性にカスタマイズされたブロックチェーン14に関する情報を、例えば保険会社に提供可能となる。すなわち、ブロックチェーン14を各ゾーンに合わせて適切にカスタマイズすることで、ブロックチェーン14に含まれる情報の価値を向上させることができる。
【0062】
本明細書で使用される言葉は、限定ではなく説明の言葉であり、本開示の精神及び範囲から逸脱することなく、様々な変更がなされ得ることが理解される。先に説明したように、様々な実施形態の特徴を組み合わせて、明示的に説明又は図示されていないさらなる実施形態を形成することができる。様々な実施形態が1つ又は複数の所望の特性に関して、他の実施形態又は先行技術の実装に対し、利点を有する又は好適であると説明された。一方、特定の用途及び実装に依存する所望の全体的なシステム属性を達成するために、1つ又は複数の特徴又は特性が妥協されて良いことは当業者であれば認識可能である。このように、1つ以上の特性に関して他の実施形態又は先行技術の実装よりも望ましくないとして説明される実施形態は、本開示の範囲外ではなく、特定の用途に望ましい場合がある。