ライトニングネットワークはビットコインの送金というユースケースが最初であり最も注目されていますが、ライトニングノード上で別のソフトウェア、別のプロトコルを動かすことによってレイヤー3と呼ばれるソリューションや別の機能を実現することもできます。

本日紹介するのは、ライトニングノードが様々な機能を扱えるようにするImprevious APIというプロダクトについて見ていきます。

https://www.impervious.ai/

ライトニングの秘められたポテンシャル

冒頭でも述べましたが、ライトニングには単純な送金以外の用途も模索されています。例えばメッセージをやり取りしたり、データ配信に利用するプロジェクトもありますし(sphinx.chatなど)、それ以外にも将来的にはDLCのような仕組みを使ったP2Pの金融サービス提供なども考えられます。

このとき、すべての通信がライトニング上で完結するとは限りません。確かにSphinx.chatなどは完全にライトニング上で通信しようというコンセプトですが、そもそもLNを使うにはノードIDもしくはインボイスなどをライトニング外で、別の経路で伝達する必要があります。

同じように、例えばデータのマーケットプレイスやDEXの板のようなものはウェブサイト等にまとめられており、ユーザーはそこから個別のノードにコンタクトしていくという形が短期・中期的には馴染みがあって使いやすい形なのではないかと思います。(このような中央集権化は効率化につながるため、よほどの圧力がかからない限りなくならないでしょう)

送金以外の機能を提供しようと思うライトニングノードは、ライトニングノード以外のソフトウェアを何かしら常駐させることでその機能を提供することになります。こうしてライトニングの秘められたポテンシャルを解き放つソフトウェアの1つが、Impervious APIというわけです。

IMPERVIOUS APIというソリューション

Impervious APIはライトニングノードに常駐し、APIの機能を提供することでライトニングノードを様々な用途に使いやすくします。

具体的に、Impervious APIが常駐しているノードが使える機能は:

・Wireguard VPNの作成と共有

・UDPソケット通信 (動画や音声のストリーミングなど)

・WebSocket接続によるメッセージの出力

・フェデレーション機能 (※まだ使えない)

・署名、メッセージ送受信、送金 (※元からライトニングノードでできる)

これらの機能のうち、選択したものを有効化して利用できます。

例えば、ライトニング払いで一定時間のVPN利用権を購入し、販売したノードはVPNを提供しながら10分毎にWebsocket経由で残り時間を知らせるメッセージを送る、というような用途が簡単に実現できそうです。

フェデレーション機能は現時点ではほぼ実装されていませんが、将来的にはいくつかのノードが共同で何らかの作業をしやすくなります。単純なマルチシグを行ったり、チャネルファクトリーを運営するなどできるようになるかもしれません。

また、ライトニングノード自体で行えるメッセージ送受信やメッセージ署名、送金などもImpervious API自体で行うことができるため、アプリ開発などに利用する際にノード自体のAPIと併用する必要がありません。

細かいことを言えばImpervious.aiという.aiドメインのマーケティング臭が気になりますが(笑)、このようなライトニング上で何かをするためのAPIのようなプロダクトは作るのが比較的シンプルなこともあって、他にもこれから次々と出てくるでしょう。

「ライトニング電話」、ハッカソンで登場

Imperviousは今月4日から20日の日程でリモートのハッカソンを開催しており、Impervious APIを利用した面白いプロダクトを募集しています。

https://twitter.com/citlayik/status/1424846343734915121

今回目についた成果物は「ライトニング電話」とでも呼ぶべき、ライトニングノードが他のノードに公開鍵で電話をかけることができるというプロトタイプです。どういうことか見ていきましょう。

Imperviousを利用して他のノードに「電話をかけ」ます。これは実はLN上のKeysend送金(インボイスなしでの自発的送金) という形をとったWebRTCというプロトコルによる接続要求です。それに対して、着信したノードは電話を取る場合には同様に返信することでWebRTCの接続が成功し、ノード管理者が互いに通話できます。今回の成果物ではImpervious APIのWebsocket接続を活用して、着信時などにブラウザの通知が来るようにもなっています。

電話自体は割と苦手なのでそれほど使わないような気もしますが、例えばビットコインOnlyのオンラインストアをしていて電話番号なしで通話によるサポートを提供したい場合に利用できると面白いなと思いました。あと、ハッカソンの成果物として、Impervious APIの機能をフル活用していて模範解答だなと感じました笑

まとめ

・LN上でいろんな機能を実現しようとしている人達がいる

・そのためにはノードに常駐するソフトが必要

・Impervious APIは、まさにそういうソフト

・すでにVPNの販売や、ストリーミング、通話などのユースケースに使える

・これからも似たようなソフトウェアがいろいろ出てくるだろう