ライトニングネットワークに否定的な人の意見の代表例として、LNチャネルの開閉は処理可能なトランザクション数に限度のあるビットコインでは大きなコストがかかってしまうという批判があり、個人的にはこの批判はある程度正しいと思います。現時点ではそれほどコストがかからなくても、将来的にビットコインが成功していくならばブロックチェーンに永遠に記録するためのコストが上昇していくでしょう。しかし、ブロックサイズ論争でもビッグブロックに対する反論で挙げられたとおり、全ての取引をオンチェーンで決済する必要はありません。世界中のノードにマイニング・検証・保管してもらえるデータの「足切り」は、かかるコストによって変化していく、という見込みです。
これはLNチャネルに関しても同じことが言えるでしょう:重要なチャネルはコストをかけてオンチェーンで決済されることがあっても、重要性の低いチャネルが決済されることはなくなります。今回はHosted Channelsという「カストディアルなLNチャネル」のプロトコルを紹介します。

カストディの未来

冒頭でも書きました通り、ビットコインが成功するとレイヤー1の利用コストは非常に高くなり、ブロックチェーンに直接ペグしているレイヤー2も波及的に利用コストが高まると考えています。今、わざわざトレードのたびにオンチェーンで決済せず、カストディアルな取引業者の中で帳簿を書き換えてもらうように、非常に高額の取引以外では将来的に増えていくのはカストディアルな利用が主だと考えます。これは単純にネットワーク価値が向上するにつれて、優先的に記録されるべき取引の水準が上がっていくことによります。
動機がLNを使用する難度(学習コストや労力)という点で少し異なりますが、実際に現在LNを一番気軽に使い始める方法はWallet of SatoshiやBluewalletなどのカストディアルウォレットを利用することです。しかし、カストディアルだからといって、それ以上改善できないわけではありません。例えば取引所がちゃんと顧客の資産を全て持っていることを証明させようとするProof Of Keys運動などに見られるように、「カストディアルでも監査可能な仕組み」や、「カストディアルでもプライバシーの守られる仕組み」への期待があると感じています。
なにより、これらの付加価値なしではビットコインを利用するメリットの一部が失われてしまうからです。

HOSTED CHANNELSとは

簡単に言ってしまえば、Hosted Channelとはオンチェーンで開設されない、オンチェーンで決済できない、HostとClient間でLNのルールに則って管理されるLNチャネルです。普通のLNチャネルだと最新状態に決済できる署名済みトランザクションを両者が保持しますが、Hosted Channelでは署名済みの最新状態のデータを両者が保持する仕組みになっています(トランザクションではない)。つまり、両者とも相手方が署名した残高の履歴を持ちます
これは通常のカストディアルウォレットにはないもので、両者の合意の記録が残ることによってHostによる持ち逃げのリスクを削減します。また、LNチャネルの仕組みに則ってClientがルートの選択やプレイメージの生成などを行っているため、取引内容に関してHostは知ることができず、従来のカストディアルLNウォレットにはないプライバシーと耐検閲性があります。欠点としては、Hosted Channel内の残高自体はHostとなるノードのものであるため、通常のカストディアルウォレットの残高と同じくIOU(=カストディアル)であり、Hostによる没収を防ぐことはできません(署名つきの記録があるので法的な問題にすることはできます)。また、後述する制約が存在します。Hosted Walletを利用することで、一般的なカストディアルLNウォレットよりも高いプライバシーや耐検閲性を実現し、カストディアルウォレットの利用に係るトラストを削減できます。Hostはウォレット事業者などが想定されており、今はBLW (Bitcoin Lightning Wallet)などで使うことができます。

制約

"Not your keys, not your Bitcoin"以外に、いくつか気をつけておく必要のある制約があります。(もちろん、普通のLNチャネルをもつ自身のノードに送金すればそこでオンチェーンに引き出すこともできます。)

①Hostに少額の手数料を取られる:
Hosted Channel経由の支払いも通常の支払いと同様、HostにRouting feeを取られます。fee-proportional-millionthsという設定があり、BLWでは100 (0.01%)に設定されています。最終的な手数料はこれに、Hostのノードと目的のノードの間の各ノードのRouting feeを加えたものとなります。

②使わなくなると一定期間後に没収されてしまう:
チャネルの維持は機会費用を伴うので、Hostは使われなくなったHosted Channelsを最後の取引から一定期間経過後には決済(没収)するでしょう。この期限はliability-deadline-blockdaysというパラメータで設定され、BLWでは365 Blockdays (144ブロック*365日 = 52,560ブロック)に設定されています。それまでには再度取引するか、引き出しましょう。

③チャネル容量に上限がある:
Hosted Channelは上記のように一定期間Hostの資金が拘束されるため、時間の期限だけでなく容量の上限も存在します。default-capacity-msatという設定があり、BLWでは10,000,000 (0.1BTC)に設定されています。④同じHost~Client間でHosted Channelは1つまで
上記の制約から逃れるために複数のHosted Channelを開設することはできません。ただし、通常のLNチャネルとHosted Channelを併用することはできます。
また、いくつかのHostとそれぞれHosted Channelを開設することができ、これがプライバシーに寄与しています。(HostからみてClientが支払いの始発点・終着点とは限らない)

⑤オフライン受信はできない
Hosted Walletは通常のカストディアルLNウォレットと違い、通常のLNウォレットと同じようにClientノードがオフラインだと受信することができません。

⑥予期せぬ不具合で損失する恐れがある
LN自体、ビットコイン自体に言えることですが一応。

まとめ

ほとんどの面で既存のカストディアルLNウォレットよりも優れていると思われる、Hosted Channelについて紹介させていただきました。ただし、Hosted ChannelにおいてはHostがLiquidityを提供しているので、Inbound Capacityを提供するLSPのようにある程度の手数料が要求されたり、没収までの期限が比較的短く設定されたりすると思います。まだまだ実装しているウォレットは少ないですが、近いうちにBluewalletからBLWに乗り換えてみようかなと思いました。