ブロックチェーン - ブルーム・フィルタ

ブルーム・フィルタの役割はプライバシー保護

ビットコインは不特定多数の参加者によって利用されているネットワークなので、参加者のプライバシー保護のため、個人を特定されないように工夫されています。

ブルーム・フィルタを使えば、ビットコイン・アドレスがネットワーク上に送信されないため、個人のウォレット・アドレスにも結びつかず、ビットコインを盗み取ろうとする人にアドレスが漏えいしません

ただし検索パターンで取引の検証を行うため、確率的な検証しかできませんし、問い合わせたフルノードのブロックチェーンか改ざんされているかもしれません。

こうした問題に対応するため、ランダムに選択した複数のフル・ノードに問い合わせて集めたマークル・パスを比較することで、目的のトランザクションが特定のブロックに記録されていることを検証できます。

正確性とプライバシー保護のレベル

ブルーム・フィルタと同じハッシュ関数を使えば、特定の入力に対して同じハッシュ値が出力されますので、どのノードで計算しても同じ結果がえられます。

正確性とプライバシー保護のレベルは、ブルーム・フィルタの長さハッシュ関数の個数を調整することで変えられます。

正確性が高まりすぎると特定のビットコイン・アドレスがウォレット内にあることが知られてしまい、プライバシー保護を高めると多数のビットコイン・アドレスがにマッチしてしまい特定できなくなります。

また、特定の検証は相手のビットコイン・アドレスを知っている前提で行われます。

このアドレスを知らないと、理論上送金が確定できず取引できません。

そのため第三者の取引について調べようとすると、フル・ノードを構築してブロックに含まれるトランザクションを読み解く必要があります。