ライトニングノード実装としてEclairはどう差別化しているのか?
ライトニングノード実装と言われて多くの方が最初に連想するのはLightning Labs社が開発を主導するLnd、その次にBlockstream社主導のCLNかと思います。世の中のライトニングノードの98%以上がこの2つのいずれかのノード実装に該当するような勢いでシェアを寡占していますが、ライトニングノード実装自体は他にもあります。そのような「第3勢力」的なノード実装の中で一番古くからやっていて存在感を放っているのはACINQ社のEclairでしょう。
ライトニングネットワークの最初の数年間は一般ユーザーでもEclairを選んで利用する人もいましたが、今ではすっかりC向けでは存在感がなくなってしまったEclairについて、なぜ今も生き残っているのか、どういう差別化ポイントがあるのか見ていきます。
・ACINQ社の、ACINQ社による、ACINQ社のための実装
・大規模ノードとしてなら採用価値あり?
・もっと周辺ツールが公開されればシェアは増えそうだが、そうはならない理由
ACINQ社の、ACINQ社による、ACINQ社のための実装
まずEclairの一番の特徴はというと、Phoenix Walletを運営するACINQ社がPhoenix WalletのLSPとして多数の顧客ノードとライトニングネットワークを中継する役割を担うために開発を続けているという点です。
LSPについては過去記事をご覧ください:
他にほとんどユーザーがいないということは、Eclair自体にACINQが求める機能がどんどん入っていき、ACINQにとって不要な機能は追加されないということでもあります。EclairはあくまでACINQ社の、ACINQ社による、ACINQ社のためのライトニングノード実装であることを覚えておきましょう。
ちなみに昔はEclairのブラウザ拡張などもあり、C向けの需要を狙っていた時期もありました。おそらくブラウザ拡張経由でWebでライトニングを使う状況が増える(WebLNという規格で)と思ってのことでしたが、今はEclairのブラウザ拡張はおそらく退役しており、似たことを実現するならAlbyのブラウザ拡張を利用することになります。AlbyもEclairノードに接続できた時期もありましたが、今はできなくなっています。

大規模ノードとしてなら採用価値あり?
では、ACINQ社が必要としている機能はなにかというと「とてつもないスケールのライトニングノードを安定運用できる」に尽きます。
まず、AmbossでACINQのノードを見てみると、なんとパブリックキャパシティが434 BTC、公開チャネル数が2248本もあります。これに加え、Phoenix Walletの各ユーザーと非公開チャネルを1本ずつ持っているので、そこにも少なく見積もって数千本はチャネルが存在します。
送金の中継(ルーティング)も行っているので右から左へ様々な送金が毎秒何件も試みられているこのようなノードは非常に高いパフォーマンスと信頼性が要求されます。万が一このノードが故障したら冷や汗が止まらないでしょう。
そのためにACINQには自動バックアップ機能やネイティブのロードバランシング機能などがあり、これらの機能を自作したり既存プラグインなどで賄わないといけないLNDやCLNと比べてパッケージ提供感が強いです。
また、このような巨大ノードを運用する際のセキュリティ対策として、ACINQはライトニングノードからの出金になる操作にはハードウェアウォレットの操作が必要な仕組みを導入しています。詳しくは過去記事をどうぞ:
もっとも、この仕組み自体は(ほぼ技術ブログで内容は述べられているものの)オープンソースで提供されているわけではないため、Eclairを導入しても同様のシステムを自作しなければ同じことは実現できません。
また、CLNやLNDはビットコインノードをバックエンドに用意しなくても動作する簡易なモードがあり、低コストでお試しすることができますが、Eclairは必ずバックエンドにBitcoin Coreが必要になるなど、お手軽さは重視されていません。
もっと周辺ツールが公開されればシェアは増えそうだが、そうはならない理由
このように、エンタープライズ向けとしてのスペックは十二分に高いと思われるEclairですが、シェアをなかなか伸ばすことはできていない印象です。その理由がいくつか挙げられます:
管理用ツールなどが少なく、増えづらい条件が揃っている
C向けを捨てているため、オープンソースの管理ツールがほとんど対応していません。もちろん、REST APIがあるので対応させることはできるでしょうが、REST API自体が簡易な上にあまり評判はよくありません。
ましてや業務用であり、ACINQの使い方自体もカスタマイズが前提(Phoenix Wallet↔ACINQ間はかなり高度にカスタマイズされたライトニングを使っている)となっているため、汎用ツールが開発されにくい条件が揃っているといえます。
お手軽さはLND、CLNには大きく劣ると言えるでしょう。
肝心のエンタープライズ向け開発は競合ノード実装も頑張っている
また、巨大バックエンドを担えるノード実装がEclairだけかというと、そこは各社頑張っており、複数のノードを立ち上げてうまくロードバランシングする方法などがあります。特にCLNやLDKを使って大規模なトラフィックをさばくことができているノードもあり、BlockstreamやBlockといった有名どころが開発を主導しているためニッチなネームであるACINQにとっては不利でしょう。(そもそもACINQが積極的に売り込んでいるイメージもあまりないですが)
LNDも大規模なノードに採用されることはありますが、大規模運用を想定した洗練度は低めな印象を受けます。(最近やっとデータベースが効率化されました)
開発にマイナーな言語を採用している
EclairはScalaという言語で開発されています。2024年のStackOverflowの調査によるとプロ開発者のうちScalaを過去一年で使った、または来年使いたいと答えたのは2.9%と、C(CLNの開発言語)の16.9%、Go(LNDの開発言語)の14.4%、Rust(LDKの開発言語)の11.7%に大きく引けを取っています。
開発、カスタマイズや監査など様々な状況においてEclair自体のコードベースを確認する可能性があるので、マイナーな言語というだけでコストが増加し、採用のハードルにはなります。
Eclairはこれらの短所にもかかわらず、エンタープライズのバックエンド向けに検討してみる価値はあるノード実装だと思うので、いつか立てて実験したいと思っています。Umbrelが対応していれば楽なんですが…
次の記事
読者になる
一緒に新しい世界を探求していきましょう。


ディスカッション