20ホップ暗号がKYC1枚で崩れる|LN決済プライバシーの盲点
Lightning Networkで決済できるようになってから、「ビットコインでもプライバシーが守れる」と感じている人は多い。ブロックチェーンに記録されない、経路が暗号で隠される——そう聞けば安心に思える。しかし一つ問いたい。そのLNウォレット、誰の秘密鍵で動いているか確認したことがあるだろうか。
Sphinxプロトコルが作る「見えない経路」
Lightning Networkの送金には、Sphinxプロトコルと呼ばれるオニオンルーティングが使われている。送金データは複数のノードを経由するが、各ノードは自分の直前と直後のノードしか知ることができない設計だ。
最大20ホップの経路を経ても、送信元がどこか、最終的な宛先がどこか、全体の経路がどうつながっているか——中継ノードには何も見えない。理論的には、送金の痕跡を外部から追うことは極めて難しい。この設計は、プライバシー保護の観点から見て非常に優れている。
ところが、この「20ホップの暗号」は、ある条件下では最初から機能しない。
カストディアルウォレットという入口の問題
取引所が提供するLNウォレットの多くは、カストディアル型だ。カストディアルとは、秘密鍵を取引所が管理していることを意味する。ユーザーが見ているのは「残高」というデータであり、実際の送金処理は取引所のシステムが担っている。
送金を実行するのが取引所のシステムである以上、取引所は送金の全情報を把握している。送金先のアドレス、金額、タイミング——Sphinxプロトコルが20ホップの暗号をどれだけ丁寧にかけても、その前の段階で全データが取引所のサーバーに記録される。暗号で隠した経路の「入口」に、全部を見ている管理者が立っているのだ。
KYCが繋ぐ「記録」と「実名」
ここにKYCが加わると、話は別の次元に入る。
日本の取引所でアカウントを作る際には、本名・住所・生年月日を登録する本人確認が義務付けられている。取引所のサーバーには、送金の全履歴と、KYCで登録した実名情報が紐付いた状態で保存されている。
仮にあなたが取引所のLNウォレットで飲食代を払ったとしよう。その送金先、金額、日時は記録され、あなたの実名と住所に結びついている。20ホップ先まで経路を暗号化しても、出発点の送金情報そのものが完全な形で残っている。Sphinxプロトコルは「中継ノードに情報を渡さない」ための仕組みだ。中継ノードより前の段階、つまり送信者のウォレットから情報が漏れる構造には、何も対応できない。
プロトコルが悪いのではない。鍵を誰が持っているかという、それだけの問題だ。
非カストディアルLNウォレットという出口
LNを使いながらプライバシーを保つ方法は存在する。秘密鍵を自分で管理する非カストディアルLNウォレットを選ぶことだ。
Phoenixのような非カストディアルウォレットでは、送金の署名をユーザー自身が行う。LSP(Lightning Service Provider)はチャネル流動性の提供者であり、送金内容を把握する構造にはなっていない。KYCなしでアプリを使い始め、自分の秘密鍵で送金を完結できる。
もちろん、どのLSPがどこまでの情報を保持するかはサービスによって異なり、完全な匿名性を保証するものではない。ただ少なくとも、KYCで実名と紐付いた取引所に全送金履歴を記録させる構造からは抜け出せる。そこには、Sphinxプロトコルが本来意図したプライバシー保護が機能する余地がある。
設計が完璧でも、鍵がなければ届かない
Sphinxプロトコルの設計は優れている。20ホップの暗号が中継ノードに情報を渡さない仕組みは、プライバシー保護として実際に機能する。問題は、その仕組みの入口に立てるのが、秘密鍵を自分で持つ人だけだということだ。
取引所のカストディアルLNウォレットを使っている限り、入口に立っているのはあなたではなく取引所になる。Sphinxが経路を暗号化する前に、全情報が取引所のデータベースの中にある。KYC1枚が、20ホップ分の暗号設計を完全に無意味にする。
LNでプライバシーを守りたいなら、最初に確認すべき問いはシンプルだ。「今使っているLNウォレット、秘密鍵は自分の手にあるか?」
今すぐウォレットの種別を確認してほしい。カストディアルであれば、非カストディアルへの移行を検討する価値がある。
※本記事は一般的な情報提供を目的としており、投資助言ではありません。
この記事が参考になったら、セルフカストディの具体的な始め方もチェックしてみてください。
LINE登録でセルフカストディの始め方を学ぶ 正しい手順を無料でお届けします