ブルームフィルターとは、あるデータの集団の中から必要データを取り出す際、指定した値を含むデータは絶対に取りこぼさないが、不要なデータまでも抽出する可能性があるというロジックのことを指します。
偽陽性ともよばれ、データを検索する際の方法として広く採用されています。
仮想通貨においては、数あるトランザクションの中から自分自身のアドレスに関係する部分のみを抽出するために必要とされます。
ビットコインの論文において、SPV(Simplified Payment Verification:シンプリーファイドペイメントバリフィケーション)クライアントの概念は挙げられていましたが、それを実現する方法が技術的に確立されていない状況がありました。
しかしその後、ビットコインのプロトコルが拡張されたことによって、ブルームフィルターを活用した効率的なデータの取得が可能となりました。
SPVクライアントにおいてブルームフィルターは必要不可欠なロジックであり、これらの仕組みがなければスマートフォンの取引用アプリなども実現は難しかったとされています。SPVクライアントとブルームフィルターの組み合わせは、近年の仮想通貨市場の隆盛において影の立役者ともいえます。
SPVクライアントの開発においては自由に利用できるオープンソースのプログラムが豊富に用意されています。
加えて、ブルームフィルターはそもそも誰もが扱うことのできる汎用性を持ったロジックです。
開発者にとっても敷居が低く、独自性を持たせたプログラムを開発することができます。
特にQUOINEXをはじめとした取引所にとって、他社との差別化を図るうえではSPVクライアントとブルームフィルターは重要な存在でもありました。
このように、ブルームフィルターそのものは古くからあるデータ構造のロジックのひとつに過ぎませんが、仮想通貨のSPVクライアントを構築するうえでは欠かすことのできない重要な要素です。
大量のデータを扱うAI領域など、仮想通貨以外の分野においてもブルームフィルターは重要なロジックとして再び注目されはじめています。
このブログを定期購読する
ブログを定期購読して、
最新情報をチェックしましょう。