ビットコインでは「プライバシー」がよく話題に上がります。どんな人でも平等に利用できるように、政府や組織や他人に干渉されることなく個人の秘密が守られたマネーにするために、さまざまな取り組みが日々なされています。
これはビットコイン内部の仕組みやビットコイン関連機器で解決できることもありますし、今年7月に行われたConsensus 2022でエドワード・スノデーン氏が議題にしたように、ビットコインに到達するまでのインターネットの利用環境に問題がある場合もあります。
本稿では、プライバシーについて、ビットコイン内部の仕組みから始め、インターネットプロトコルでの取り組みまで見ていきます。
ビットコインのプライバシーモデル
まず初めにビットコインのプライバシーの仕組みをざっとおさらいしておきます。サトシ・ナカモト氏のホワイトペーパーでは「公開鍵による匿名化」がアイディアの核となっていました。
[論文より引用 https://bitcoin.org/bitcoin.pdf]
従来の銀行モデルでは、トランザクションを機関の外へは非公開にすることにより、外部に個人情報が知られないようになっていました。ビットコインでは、不特定多数による検証可能な分散台帳にするためにトランザクションを公開するので、トランザクションとIDを分離することで個人情報を守るようにしています。それが公開鍵セットによる匿名化です。氏名や住所などを用いなくてもただ公開鍵セットで署名検証すれば本人証明できるようにしているわけですね。しかし、これでも公開鍵セットを使い回せばインプットやアウトプットの相関からある程度の残高や取引関係が推測できてしまいます。そのためホワイトペーパーではトランザクションの署名に用いる公開鍵セットを一回限りにすることを推奨しています。
ホワイトペーパー後にも、さらにトランザクション間の関係性を断つためのCoinJoinや、送金者も受金者もその場だけの公開鍵セットを用いて履歴を残さず残高だけを変更するMimbleWimbleなどが開発されています。Layer2であるLightningNetworkでは、送金者は誰に送るかわかるが、受金者は誰から送られたかわからないようになっています。また、送金者も誰に送るかわからないようにするRoute Blindingの仕様検討も進んでいます。