LN手数料分布から読み解くノード運用の傾向|ゴシップ情報で可視化
LN(ライトニングネットワーク)のノード運用者にとって、手数料設定というのは頭を抱える問題の一つです。特にルーティングノードにおいては最適な手数料設定というのは存在せず、ネットワーク状況により動的に変化します。
手数料を安く設定しすぎてしまうと送金の中継はされやすくなりますが、Inbound Capacityが枯渇してしまい大切なチャネルリソース(Inbound Capacity)を安売りしてしまうことに繋がりかねません。逆に、手数料を高く設定すると中継は行われなくなります。このInbound Capacityという概念や獲得方法を詳しく知りたい方は以下の過去記事をご覧ください。
本稿では、LNにおける手数料とはそもそも何か。また、どのような手数料体系をしているのかを解説します。その後、ゴシッププロトコルによって取得したゴシップ情報を用いてLN全体の手数料分布を俯瞰してみようと思います。
ゴシップとは英単語の「Gossip」に由来しており、日本語では「噂話」の事を指します。噂話というのは日常生活で人から人へと伝搬する様に、LNにおいてもチャネルの設定(名前、色、手数料、ポリシーなど)はノードからノードへ伝搬しています。そこで今回は、ゴシップから伝わってきたLNの情報を活用して手数料の値段帯を可視化してみたという記事です。
LNにおける手数料とは
そもそもLNにおける手数料とはなんのことでしょうか。LNでビットコインを送金するという事は、バケツリレーの様に資金を中継して目的地(受信者)まで運ぶという仕組みが根幹にあります。つまり、ノード運用者は資金を中継する対価として手数料を獲得することができます。
このように送金者から受信者の間に、複数のノードを経由して支払いを届ける仕組みの事をルーティングと言います。そしてルーティングにおける手数料とは主に「基本手数料(Base_fee)」と「手数料率(Fee_rate)」という2種類が存在します。
(以後は表記統一のためBase_feeやFee_rateと記します。)
まずはBase_feeから説明します。
基本手数料(Base_fee)
Base_feeとは固定手数料のことで、中継する額とは関係なく手数料を課すことができます。単位としてはmsat(ミリサトシ)というsatの1000分の1の値を用いるのが特徴です。
Base_feeは0~4294967296msatの範囲で設定ができます。この最大値は232であり、32ビットの自然数で表せる最大値であることがわかります。次にFee_rateについて説明します。
手数料率(Fee_rate)
Fee_rateは従量手数料のことで、中継額により変動する値を取ります。具体的にはppm(=parts per million、100万分率)という単位を用いて、100万sat当たりいくらの手数料を取るかを表しています。
例えば、ppm=500とすると送金額100万satにつき500sat(0.05%)の手数料ということになります。
LNでは一般的にBase_feeとFee_rateを合計した値が手数料として課されます。一方であまり設定されていない手数料としてインバウンド手数料(Inbound fee)があります。
インバウンド手数料(Inbound fee)
Base_feeもFee_rateも中継のためにビットコインを次のノードに「送金する」ために課す手数料です。一方でインバウンド手数料というのも存在し、中継のためにビットコインを「受け取る」ために課すことができる手数料です。
主な目的としてはインバウンド手数料をマイナスの値に設定することで、手数料の割引を行い特定の経路での資金の流入を促すのに使われたりします。
そしてインバウンド手数料は、LNDというLNにおいて大多数のシェアを誇る実装のみが現在対応しています。つまり、対応していない実装で送金をした場合は、インバウンド手数料は認識されません。その上インバウンド手数料がプラスの値として設定されていた場合、LND以外のライトニングノード実装からの送金は失敗してしまいます。
インバウンド手数料も基本手数料と手数料率の2種類が存在し、本稿では「Inbound_base_fee」と「Inbound_fee_rate」と表記します。
インバウンド手数料の詳細は以下の過去記事をご覧ください。
ゴシップ情報でLNの手数料状況を俯瞰する
さてここからは、ゴシッププロトコルを用いて集めたデータで手数料を可視化します。注意事項としては、2026年4月上旬のゴシップをもとにグラフを作成しているため記事の閲覧時期によって大幅に変わっている可能性もあることをご了承ください。
まずはBase_feeのグラフからみていきましょう。
Base_feeのグラフ

横軸はBase_fee(msat)、縦軸はチャネル数を表しています。一見すると切りのいい数字である0、1000、2000、5000、10000msatに設定しているチャネルが多いように読み取れるかもしれませんが、少し注意が必要です。縦軸がログスケールであるため実際のチャネル数とグラフの見た目には大幅な乖離が存在します。
そこで、累積分布図という折れ線グラフにしてみると実態がわかりやすいです。累積分布図とはデータを小さい順に足し合わせることで、データ全体の傾向を知ることができます。

横軸はBase_fee(msat)、縦軸は全体に対する割合を示しています。グラフをみるとBase_fee全体のうち約50%は0msatに設定をしていることがわかりました。また、約97%は1000msat以下に設定をしていることになります。
Base_fee=0msatに設定しているチャネルが多い理由に関しては、Rene Pickhardt氏が推奨しているZere-Base-Fee-Routingという戦略の影響が大きいのだと推察されます。簡単に説明すると手数料設定の変数を減らすために、全員がBase_feeをゼロ手数料にすることで送金経路の最適化問題を解きやすくしようという概念です。
また、少額決済でもBase_feeが常にかかっていては不経済なので0msatに設定を行い、Fee_rateを調節することでルーティング手数料を稼ごうという考え方も垣間見えます。
次に多い1000msatに関しては、多くの実装でBase_feeの値がデフォルト1000msatであるという理由が挙げられます。また経験則として1000msatまでならLNのノードの多くが設定しているため、Base_feeで確実に1000msatは稼ぎたいという気持ちもありそうです。
逆に言うと1000msatより大きな値を設定しているチャネルは少数派であり、極稀にルーティングが発生することはあるかもしれませんが多くの場合、手数料が高すぎてルーティングの経路として選ばれなくなるリスクを秘めているということになります。
次にFee_rateのグラフについてみていきます。
Fee_rateのグラフ

横軸はFee_rate(ppm)、縦軸はチャネルの数を表しています。今回の縦軸はログスケールさせていないので実際の数になります。グラフは50ppmごとに描画しています。
グラフをみると0~50ppmに設定しているチャネルが一番多いことがわかります。次に多いのは500~550ppmに設定しているチャネルです。
0~50ppmの範囲ではどのような手数料設定になっているのかを拡大してみます。

このグラフは0~50ppmの範囲で1ppmごとの分布を表しています。グラフより1ppmの設定が最も多く、0ppmが次に多いことがわかりました。
この結果だけをみるとLNにおいてルーティング手数料を稼ごうとしている人は少ないのかと思いますが注意が必要です。(Fee_rateの内の一部しかみていないから)
Base_fee同様に累積分布図を作成することで全体像がみえてきます。

Fee_rateの設定のうち全体の約45%は1ppm以下に設定をしていることがわかります。一方で、約98%は2000ppm以下の設定をしていることもわかりました。
この結果から以下の様な手数料設定の意味があると考察されます。
- ルーティング手数料を稼ぐ見込みがないもしくは、ルーティングがされづらい経路のチャネルに対しては1ppmに設定している
- ルーティングの状況や自分のチャネル内の資金バランスを見ながらルーティング手数料を稼ぐ目的のチャネルには500~550ppmほどに設定する
- 高手数料に設定しても需要がある=ルーティングされるチャネルに関しては550~2000ppmの幅で調節する
- 逆に2000ppm以上に設定することで、ルーティングを阻止している
これらはあくまでデータから見た個人の考えです。別の見方や設定をしている方がいたら教えてください。
最後におまけ程度ですがインバウンド手数料をみていきましょう。
インバウンド手数料のグラフ(おまけ)


本稿ではお馴染みとなっている累積分布図です。上の図はInbound_base_feeで、下の図はInbound_fee_rateを表しています。
ゴシップで流れてきたインバウンド手数料を設定しているチャネルのうちInbound_base_feeはほとんどが0msatでした。一方Inbound_fee_rateは約7%程度がマイナス手数料を設定していることがわかりました。
Inbound_base_feeよりInbound_fee_rateの方が一部設定されている理由について私個人の考えとしては、Inbound_base_fee(固定手数料)では額の大きい送金に対して割引の意味合いが弱くなり、資金流入を促すという目的に対して設定するメリットがないからだと思います。逆に、Inbound_fee_rate(従量手数料)は額に応じて割引を適用できるため、経路選択に選ばれやすくなるという目的を果たしやすいのだと考えられます。
まとめ
本稿では、LNにおける手数料の仕組みと、ゴシッププロトコルを活用した手数料分布の可視化を行いました。
LNの手数料は主に固定のBase_feeと従量のFee_rateの2種類で構成されており、加えてLND実装のみが対応するインバウンド手数料も存在します。
ゴシップデータから得られた主な知見は次の通りです。Base_feeは約50%のチャネルが0msat、約97%が1000msat以下に設定しており、Zero-Base-Fee-Routingの影響やデフォルト値の採用が背景にあると考えられます。
Fee_rateは約45%が1ppm以下、約98%が2000ppm以下であり、ルーティング需要の有無に応じて1ppm・500ppm前後・それ以上と段階的に使い分けられている傾向が見られました。
インバウンド手数料についてはInbound_base_feeはほぼ0msatである一方、Inbound_fee_rateは約7%がマイナス値を設定しており、従量割引による経路選択の優位性確保に活用されていると推察されます。
手数料設定に最適解はありませんが、ネットワーク全体の分布を把握することで、自身のノード運用における手数料戦略の参考になれば幸いです。
次の記事
読者になる
ビットコイン研究所の新着記事をお届けします。

ディスカッション