こんにちは!弐号です。
今回の記事は PR として僕の会社(合同会社ジャノム)で発明を行った暗号アルゴリズムの宣伝をさせていただきます。
Private Information Retrieval (以下「PIR」) と呼ばれる暗号技術が存在します。
これはデータベースを検索する際に検索内容をサーバに分からなくする技術であり、ブロックチェーンの場合には自身のアドレスの残高を問い合わせる際にウォレット事業者に自身のアドレスという非常にセンシティブな情報を渡す必要がなくなります。
この記事では PIR とはどのようなものかを解説し、ブロックチェーンエコシステムにとっていかに重要かを解説します。
Private Information Retrieval とは?
PIR はクライアントの持つ鍵で暗号化したメッセージをサーバと送受信することで、秘密鍵を持たないサーバに検索内容を知られることなく検索することができる技術です。
例えば行きたいお店があった場合、そのお店の場所やメニューなどを検索エンジンで調べると思いますが、そうすると検索エンジンはあなたがそのお店に行こうとしていることを推測できてしまいます。
また住所などの個人情報を調べる場合や、えっちな単語を検索すると、検索エンジンはあなたの趣味趣向から性癖まで全部把握することになります。
これを暗号学的に保証された安全性のもとで解決する技術が PIR です。
ブロックチェーンでの応用
PIR は基礎暗号技術であり幅広い分野に適用可能ですが、特にブロックチェーンエコシステムにとっては極めて重要です。
ウォレットを利用する際にはウォレット事業者の提供するサーバに残高の情報などを問い合わせますが、その際にウォレット事業者はあなたのアドレスが何であるかを把握できてしまいます。
またブロックエクスプローラで自分のアドレスを見ることもあると思いますが、その場合にもブロックエクスプローラにはあなたのアドレスは完全にバレてしまいます。
これは自前でフルノードを建てることで一応解決することはできますが、それは一般的に一定の技術力が要求されますし、イーサリアム互換チェーンなどはハイエンドのPCでないと同期できないものが多いです。
ですので、ウォレット事業者やブロックエクスプローラの運営者はPIRを使ってエンドユーザのプライバシーを守る努力が必要不可欠です。
もちろんそうした事業者がアクセスログを漏洩しなければ問題ないかもしれませんが、世界最大手のハードウェアウォレット事業者のLedgerでも2020年に大量の顧客データを漏洩させてしまうという事故を起こしており、必ずしも安全であるとは言い切れません。
なお PIR 技術をブロックチェーンに活用するという話は、2019年にスケーリング・ビットコインと呼ばれるカンファレンスで既に言及されています。
考えられるリスク
上記の理由により、事業者はエンドユーザのIPアドレスとウォレットアドレスの紐付け情報を(意図せず)入手することになります。
これにはいくつかのリスクが存在します。
ひとつは、標的型攻撃を受ける可能性があるというもので、大量のコインを持っているIPアドレスがわかれば、ハッカーはそのIPアドレスに対して攻撃をして侵入を試み、もしローカルのネットワークに侵入されてしまえばあなたのパソコンに保管してある秘密鍵を盗んだり、ハードウェアウォレットを利用していたとしても、操作用のパソコン用ソフトウェアを不正なソフトウェアに置き換えるなどして盗まれてしまう可能性があります。
もう一つは、IPアドレスからおおまかな住所が分かってしまう(市町村単位で分かります)ため、物理的に強盗がやってきて、留守の間にハードウェアウォレットが盗まれたり、いわゆる「5ドルレンチ攻撃」などにより身体が物理的なリスクにさらされてしまう可能性があります。
こうした危険性を排除するためにも、ウォレット事業者やブロックエクスプロラーなどの提供者には PIR を導入してもらいたいものです。
既存技術
しかし、既存の PIR 技術は計算が非常に遅く、実用的な大きさのデータベースを利用することは難しいという現状でした。
特にビットコインやイーサリアムの全アドレスが掲載されたデータベースを提供しようとすると、どうしてもデータベースサイズが巨大となってしまい、既存の PIR 技術では現実的な時間内で実行することは難しいです。
当社技術
こうした危機感から、当社は研究開発を重ね、GPUを用いることで従来実装と比べて安価な家庭用のGPUでも100倍近い性能を出せる新しいアルゴリズムと実装を開発し、特許および商標を出願しました。
また、ビットコインのデータベースを提供する試験的なサービスも開発し(一般未公開)、数十秒未満の時間で自己の保有するアドレスをサーバに知られることなく、残高やUTXOといったデータを取得できることを実証しました。
今後さらなるアルゴリズムや実装の改良と、ブロックチェーン事業者との提携などを通じ、ブロックチェーンエコシステムのプライバシー向上に貢献してまいります。