一般的誤解: BTC の匿名性は非常に良く、プライバシーを保護できる。
BTC はある程度匿名です。
なぜなら、ブロックチェーンの帳簿では、自分の名前を使わず、「ペンネーム」を代わりに使っているからです。
この「ペンネーム」とは、一連の覚えにくいハッシュアドレスです。
しかし、私たちは追求している匿名性が何のためであるかを理解する必要があります。
実際、匿名性は「プライバシー」を保護するためのものです。他人にこの名前の下に誰がいるかを知られないようにするためです。
BTC のアドレスは、インターネットを利用する際に、私たちが多くのアカウントを開設し、多くのネットネームを使用できるようなものです。
ここでのネットネームは、BTC では一つ一つのアドレスです。
多くのウォレットアプリでは、BTC ホワイトペーパーの推奨に従って、各取引に異なるアドレスを使用します。
こうすることで、すべてのお金が異なるアドレスに分散され、匿名のように見えます。
しかし、このような匿名性は、本当に自分のプライバシーを保護しているのでしょうか?
紙幣や金などの実体通貨は、実際には最もプライバシーを保護し、最も匿名です。
紙幣に印刷されているのは、額面や番号などですが、あなたに関する情報が印刷されることはありません。
例えば、100 元の RMB を持っていて、この紙幣を取引した後、何度も手が変わったとします。
最終的にその紙幣を持っている人は、ほとんどあなたがその紙幣を持っていた証拠を見つけることができません。
銀行がペンネームでアカウントを登録できる場合、実際には BTC よりもプライバシーを保護します。
なぜなら、あなたのすべての取引記録は公開されておらず、ペンネームのアカウントを使用すれば、どのように入金や出金をしても、銀行だけが知っているからです。
銀行はあなたのペンネーム情報しか持っておらず、誰かにペンネームで銀行口座を登録させれば、銀行はその口座があなたのものであることを知ることはできません。銀行が知っているのはあなたのペンネーム情報だけです。
もちろん、現実には銀行がペンネームでの登録を許可することはなく、基本的には実名登録です。プライバシーは存在しません。
なぜ BTC は前の 2 つの「プライバシー保護」能力よりも弱いのでしょうか?
ホワイトペーパーでは、自身の安全を保護する方法として、毎回異なるアドレスを使用して取引を行い、追跡を防ぐことが提案されています。
現代のウォレットは、実際にはこのような機能を備えており、すべてのお金は実際に異なるアドレスに分散されています。
しかし、BTC の大きな特徴は、帳簿が完全に公開されていることです。誰もがそれを知っています。
帳簿に記録されたすべての取引は、アドレス間の関係を漏らし、あなたがチェーン上で行ったすべての取引を暴露します。
例えば、今、8 BTC を友人 B に送る取引があります。
あなたのアカウントには、6 と 4 の UTXO があり、それぞれ異なるアドレスに置かれています。
この取引は次のようになります:
inputs: addr1(6), addr2(4)
outputs: addr3(8), addr4(2)
私は簡単に推測できます。addr1 と addr2 は同じ人が持っているアドレスです。
なぜなら、取引を構成するために、取引を開始する人は署名を作成するために秘密鍵を持っている必要があるからです。
取引を開始する人は秘密鍵を知っているため、この証拠はほぼ確実にアドレスが同じ人によって保持されていることを証明できます。
出力を通じても、addr4 が addr1 と addr2 と同じ人のアドレスであることを簡単に判断できます。
なぜなら、釣り銭を探す必要があるからです。もし addr3 が釣り銭のアドレスであれば、2 つの UTXO を使う必要は全くなく、1 つだけで十分です。
私はすぐに推測できます。addr4 と addr1、addr2 は大概率同じ人が持っているアドレスです。
したがって、BTC を多くのアドレスに分けて保存し、多くのアドレスを通じて匿名性を達成しようとするのは良くないことがわかります。
取引の UTXO を分析し、アドレス間の関連性を分析することで、これらのアドレスが同じ人によって制御されているかどうかの結論を得ることができます。
この基盤の上に、帳簿は公開されています。
仮に私がオンラインの商人で、あなたが私から物を買い、BTC で支払うつもりだとします。
あなたが私にお金を支払った後、取引のハッシュがどこにあるかを教えなければなりません。私は取引が本当にノードによって確認されたかどうかを検証します。
この時、私はすぐにあなたがどの inputs を使い、どの outputs を使ったかを知ることができます。
私はマイナーのアドレスと自分のアドレスを除外し、残りのアドレスはほとんどあなたに関連しています。
私はこれらのアドレスに関連するすべての取引を見つけ出し、関連するアドレスをすべて引き出します。すぐに、あなたが誰と取引したのか、各取引でいくら取引したのか、現在あなたのアカウントにどれだけ残っているのかを知ることができます。
あなたは気づきましたか?あなたのプライバシーは一目瞭然で、私はあなたがチェーン上のアドレスと取引を行う限り、すべてを知ることができます。
「公開された帳簿」はプライバシーを保護するどころか、あなたを裸にし、すべての情報が外部に公開され、明らかになります。
このようなオンライン取引システムは、現実世界と相互作用しない限りは問題ありません。
あなたは永遠にハッシュアドレスで自分を表現でき、すべての帳簿を知っていても、あなたが持っていることや操作していることはわかりません。
しかし、現実世界と相互作用が始まると、アドレスと現実世界の人との関連が簡単に生じます。
例えば、あなたがスターバックスで BTC で支払いをし、アイスアメリカーノを買ったとします。私はその後ろに並んでいます。
私はあなたがアイスアメリカーノを注文し、約いくらかを支払ったこと、そして支払った時間を知っています。なぜなら、私はあなたの後ろにいるからです。
次に、私もコーヒーを買い、BTC で支払うと、スターバックスのハッシュアドレスを知ることができます。(または他の方法でも構いませんが、商人のハッシュアドレスは非常に簡単に取得できます。)
次に、私は価格と時間に基づいて、あなたが取引を行った可能性のある取引を絞り込むだけで、いくつかの可能性のあるハッシュアドレスを逆算できます。
その後、あなたの消費を 1 回から 2 回確認すれば、あなたの現実の人物はすぐに BTC のハッシュアドレスと関連付けられます。
実際、すべてのオンライン取引システムにはこのような共通の欠陥があります。現実世界と相互作用がある限り、あなたとアカウントを結びつけるのは非常に簡単です。
ペンネームで登録できる銀行でも同様です。
ただし、BTC はすべての人にあなたの消費記録を知ることを直接許可しますが、銀行は銀行だけが知っています。
それは銀行が情報を漏らすかどうかにかかっています。
プライバシーを保護する方法#
-
ネットワーク層で匿名性を確保する。
BTC は「ネットワーク層」で動作する「アプリケーション層」で、p2p 接続ノードを介しています。
プライバシーを保護するために匿名性を求めるのであれば、少なくともネットワーク層での匿名性から始めるべきです。
IP は個人情報が漏れる最も簡単なものです。IP を通じてあなたの居場所を特定するのは非常に簡単です。
したがって、本当に匿名が必要な場合は、「ネットワーク層」での匿名性を確保する必要があります。例えば、マルチホッピングやトンネリングブラウザなどを使用します。 -
アプリケーション層で匿名性を確保する。
コインミキシング。すべての人のお金を混ぜ合わせ、inputs と outputs をすべて混乱させます。
こうすることで、アドレスをあなたに結びつけるのが非常に難しくなります。
もちろん、これにはこのサービスを専門に提供する中央集権的なサービスプロバイダーが必要で、サービスを必要とする人々のお金を一度にまとめて処理します。
しかし、このサービスプロバイダー自身も匿名である必要があります。リスクは、彼が途中で資金を持ち逃げする場合、あなたには何の手段もないことです。
取引所も一定のコインミキシングの効果を持つことができます。なぜなら、すべてのお金が混ざり合っているからです。