プライベートチャンネルの特性
1. ネットワークへの非公開性
項目 | 公開チャンネル | プライベートチャンネル |
---|---|---|
アナウンス | ネットワーク全体に配信 | 配信されない |
発見可能性 | 誰でも確認可能 | 当事者のみ知る |
ネットワークグラフ | 含まれる | 含まれない |
2. ルーティングの制限
主な制限事項
- 直接支払いのみ可能 - 第三者はこのチャンネルを経由できない
- ルーティング収益なし - 転送手数料を稼げない
- 受信時の例外 - インボイスにルーティングヒントを含めれば受信可能
3. プライバシーの向上
プライバシー面でのメリット
- ✅ チャンネル容量の秘匿 - 外部から残高が見えない
- ✅ 取引の秘匿性 - チャンネルの存在自体が隠される
- ✅ UTXOとの関連付け困難 - オンチェーン資金とノードの関連が分かりにくい
プライバシーの脆弱性
- ⚠️ インボイス経由の情報漏洩 - ルーティングヒントでチャンネルIDが露出
- ⚠️ プロービング攻撃 - 偽の支払いハッシュで存在を探知可能
- ⚠️ オンチェーン分析 - ファンディングトランザクションは見える
4. 技術的制約
GetChanInfoの失敗例
// プライベートチャンネルではグラフ情報が取得できない
r, err := l.lndClient.GetChanInfo(context.Background(), &lnrpc.ChanInfoRequest{
ChanId: chanId,
})
if err != nil {
// Ignore err because channel graph information is not always set.
return maxHtlcAmtMsat, nil
}
ListChannelsでの取得
// PublicOnly: false, PrivateOnly: false で両方取得
r, err := l.lndClient.ListChannels(context.Background(), &lnrpc.ListChannelsRequest{
ActiveOnly: false,
InactiveOnly: false,
PublicOnly: false, // プライベートチャンネルも含む
PrivateOnly: false, // 公開チャンネルも含む
})
5. PeerSwapへの影響
メリット 👍
- ルーティング制限の影響なし - 直接ピア間でのみ動作
- 高いプライバシー - スワップ操作が外部から見えない
- ポリシー変更不要 - チャンネル更新のアナウンス不要
課題 ⚠️
- チャンネル情報の取得困難 - max_htlc等のパラメータが不明
- ピア発見の困難 - PeerSwap対応ピアを見つけにくい
- 流動性評価不可 - ネットワーク全体の状況が把握できない
6. まとめ
プライベートチャンネルは以下のトレードオフを持つ:
プライバシー向上 ⬆️
ルーティング機能 ⬇️
PeerSwapとの相性: ✅ 良好
- 直接ピア間の操作なのでルーティング制限は問題にならない
- プライバシー重視のユーザーに適している