bitbank techblog

LNリサーチ#3: パーソナルデバイス

引き続き、さまざまなケースにおけるオフチェーン技術とその可能性について掘り下げていきたいと思います。

今回よりIoT (Internet of Things)に着目し、この分野においてLightning Networkにどのような使いみちがあるのかを見ていきたいと思います。

IoTの種類

一般的に、IoTデバイスと聞いて思い浮かぶのは次の2つの大きなカテゴリです。

  1. Google HomeやスマートTV、Apple Watchなどのパーソナルデバイス
  2. 単一のエンティティまたは会社が所有する一連のデバイス群。大規模な展開の例はまだ多くありませんが、Uberなどの企業が管理する大規模な自動運転車の車両群などが相当するものと思われます。

今回は、パーソナルデバイスに焦点を当てたいと思います。

パーソナルデバイスでの注意点

一般的に、個人ユースにおけるIoTデバイスには次のような特徴があります。

  1. 家庭用ローカルネットワークに接続する。
  2. 更新するとしても、頻度はそこまで高くない。
  3. 家庭に住む人間の個人情報への広範なアクセスを持っている。

上記より、パーソナルデバイスにはLightning Networkを実装するときに考慮すべきセキュリティ上の観点がいくつかあります。

  • デバイスは外部のインターネットにさらされるべきではありません。よってネットワーク上でルーティングアクションを実行すべきではありません。
  • デバイスは秘密鍵を格納するだけでなく、チャンネルデータベースを維持するために信頼性の高いストレージを持っている必要があります。データが失われるとお金もなくなってしまうかもしれないので、秘密鍵(BIT39など)とチャネルデータベース両方のバックアップには注意が必要です。(クラウドストレージはありえるかも)

Hubベースの制御

ルータが外部インターネットへのゲートウェイとして機能するハブであるのと同じように、家庭内のIoTデバイスが外部Lightning Networkと対話する方法は同じような構造である必要があります。

クレデンシャルの付与

BTCPayは最近、モバイルウォレットでインスタンスから出力したQRコードをスキャンして自分のLightningノードを遠隔操作できる機能を追加しました。

似たようなモデルは、パーソナルIoTデバイスにも当てはまるかもしれません。

たとえば、Lightningノードそのものを家庭用ルータに埋め込むことができるかもしれません。
あるいは外部のインターネットに公開されていて頻繁に自動更新される、セキュアなデバイス内にLightningノードを含めることも考えられます。
これによりデバイスは24時間ルーティングされ、IoTデバイスとの間で支払いを送受信するための認証済みリクエストを受信できます。

この方法にはデバイスによって異なる権限を許可できるというメリットもあります。
あるタイプのデバイスを支払いリクエストの生成だけに使用し、別のデバイスを取引履歴と残高の管理にのみ使用することもできます。

ただしこのモデルにおける大きな欠点は、複数のユーザーが使用している場合に中央デバイスが問題を引き起こす可能性があることです。
誰がどのデバイスに対する許可を持っているかの不整合によって、ビットコインがルームメイトによって盗まれる可能性があります。

そのほかのチャンネル管理方法

チャンネル管理方法はほかにもいくつか考えられますが、どれも少し巧妙さに欠けるため家庭用機器には向いていないかもしれません。

ただしこれらの方法は、先に挙げた「IoTデバイス群」(Uberの車両群など)においてはるかに実用的です。これについては、次回説明します。

expand_less