OGSP Server Node (おかゆグループ地震計プロジェクト サーバーノード)は、OGSP Disaster Networkにおけるサーバー層のノードを提供するプログラムの総称である。

コードはオープンソースで公開されており、自由に改変できる。

なお、このうち公式のプログラムはOGSP Server Official Nodeと呼ぶ。

概要

このアプリケーション内では、以下の処理を行うことを目標とする。

  • センサーノードからデータの収集
  • 収集したデータの整理
  • データのブロックチェーンへの書き込みと他ノードへの共有
  • AIなどでデータを処理と警報などの発表
  • APIハンドリング

NOTE

P2Pなどの部分は実装予備段階です。これにはコンピューターが複数台必要であるため、その予算が確保できていないことが主な理由です。

設計

1. データ収集

OGSP Server Nodeは、OGSP Disaster Networkにおけるセンサー層からデータを収集する役割を担っており、このセンサーとはUDPで通信を行う。なお、導入の壁を減らすためにポート開放はサーバー側でのみ行い、センサー側のポート開放は必要ない。

ただし、UDPのみでなおかつポート開放をしない環境では、サーバーがセンサーに通信を行うことはできないため、ここではIPv6のエニーキャストなどの技術を使用して対応する。

2. ネットワークコンピューティングを使用した高度な計算

OGSP Server NodeはWeb3の実現のためにサーバー同士でP2Pを構築する。このP2Pを用いることで、高度な計算を分担して超並列計算を行うことができる。

この特性を利用して、AIの推論をより高速に完了したり、より精度の高い震源特定などの計算を実行したりできる。

3. ブロックチェーンでの信頼性の確保

センサーから収集したデータとデータの計算処理の結果は、ブロックチェーンに書き込まれ、定期的にP2Pで

4. APIハンドリング

OGSP Server Nodeは”偏らないデータを簡単に取得できること”を目標とするため、データを取得するための方法としてAPIを提供する。

ここには最新技術を取り入れ、3およびQUICプロトコルを用いて高速かつ安全な通信を保証する。

注1: コードの改変について

OGSP Server Nodeのコードはオープンソースであり、GitHubで公開されている。これは自由に改変して公開することのできるMITライセンスなどを実装するつもりであるが、ここで問題がある。

悪意のある変更を含むサーバーノードがネットワークに参加することもできてしまうため、これが秩序を壊したりウイルスを仕込む可能性があるということだ。

これはプログラムの中に署名を組み、公式のホワイトリストに含まれる公開鍵で認証 (Ed25519など) を行うことで対応できる。

問題点

気象業務法と予報許可

このプロジェクトの開発拠点とターゲットは日本であるため、勿論日本の法律に従ったうえで進める必要がある。ここで問題となるのが、気象業務法だ。

気象業務法 第十七条 では以下のように定められている。

第十七条

気象庁以外の者が気象、地象、津波、高潮、波浪又は洪水の予報の業務(以下「予報業務」という。)を行おうとする場合は、気象庁長官の許可を受けなければならない。
前項の許可(以下この章において「許可」という。)は、予報業務の目的及び範囲(土砂崩れ(崖崩れ、土石流及び地滑りをいう。以下同じ。)、高潮、波浪又は洪水の予報の業務(以下「気象関連現象予報業務」という。)をその範囲に含む予報業務の許可にあつては、当該気象関連現象予報業務のための気象の予想を行うか否かの別を含む。第十九条第一項及び第四十六条第三号において同じ。)を定めて行う。
噴火、火山ガスの放出、土砂崩れ、津波、高潮又は洪水の予報の業務(以下「特定予報業務」という。)をその範囲に含む予報業務の許可については、当該特定予報業務に係る予報業務の目的は、第十九条の三の規定による説明を受けた者にのみ利用させるものに限られるものとする。

これに基くと、

予報業務を行おうとする場合は、気象庁長官の許可を受けなければならない。

という部分で問題が発生することが分かるだろう。

まず、予報業務許可というものは存在する。気象庁に連絡して審査を受ければよい。
だがしかし、予報業務許可というものは特定の個人や機関に対して下りるものである。

このようなWeb3ネットワークは、1つの個人や団体が管理するものではなく、参加者全員が所有するもの、と考えるべきである。というのも、Web3は責任や管理の権限を分散するという思想に基づいているためである。

例えば「おかゆグループ」に対して予報業務許可が下りた場合でも、おかゆグループが直轄しないサーバーを管理する個人や団体はそれを持っていないため、サーバーの中の予報サービス系の処理は、おかゆグループによるサーバーが独占することとなる。
これはWeb3の思想に反する

これに対応するためには、最も手っ取り早い方法としては予報業務をしないことである。代わりに、地震計の加速度を直接配信するなどの方法を使う。

また、気象庁に特別に許可を貰うことも方法としては考えられるが、それはハードルが高すぎるのでまだ挑戦はしない。

開発

開発環境

OGSP Server Official Nodeの開発環境は以下のとおりである。

  • Go
  • go-libp2p - libp2pの公式Go実装
  • quic-go - QUIC3のGo実装
  • echo - 高パフォーマンスのGoサーバーフレームワーク
  • Nix - 環境ツール

GitHub Repository

公式のものは、GitHub - okayugroup/ogsp-server-nodeである。(現時点では非公開)

また、このリポジトリをフォークして独自のサーバーノードを作成することも許可する(非公開なためまだ不可能ではあるが)。

Contribution

また、IssueやPRを開いて開発に貢献 (Contribute) することもできる。

この辺りのプロジェクトの整理は、用意ができ次第ナレッジベースツールで公開する予定。

0件のページ