量子コンピューティングは、量子物理学に基づいた新しい形のコンピュータです。従来のコンピュータが「0」か「1」のビットを使って計算を行なうのに対し、量子コンピュータは「量子ビット(キュービット)」を利用します。キュービットは量子力学の性質を活用し、「重ね合わせ」と呼ばれる状態、つまり「0」と「1」が同時に存在する状態をとることができます。例えば、あるキュービットは80%の確率で「0」、20%の確率で「1」であるかもしれません。別のキュービットは60%の確率で「0」、40%の確率で「1」であるかもしれません。このように確率の組み合わせによって計算が進められるのです。
量子コンピューティングの概念が初めて提唱されたのは1980年代で、物理学者ポール・ベニオフによるものでした。その後、理論物理学者リチャード・ファインマンや数学者ユーリ・マニンが、量子コンピュータなら従来のコンピュータでは解けない問題を解決できる可能性を指摘しました。実際、1990年代には数学者ピーター・ショアが「ショアのアルゴリズム」と呼ばれる方法を開発し、量子コンピュータが十分に強力であれば公開鍵暗号を破ることができると示しました。
そして2019年10月、数十年にわたる研究を経て、Googleは「量子超越(Quantum Supremacy)」を達成したと公式に発表しました。これは「量子コンピュータが従来のコンピュータでは解けない問題を解いた」という意味です。具体的には、ある問題を200秒で解決し、それが世界最強のスーパーコンピュータでも1万年かかるとされるものでした。
とはいえ、これは大きな進歩である一方、量子コンピュータがショアのアルゴリズムを実行できるまでには、まだ相当の道のりがあります。現在の量子コンピュータは計算能力が不十分であり、技術をどこまでスケールアップできるのかは不透明です。さらに、実用化には「エラー訂正」と呼ばれる技術的課題の解決が不可欠ですが、これも依然として大きなハードルとなっています。
この分野の未来を予測することは難しいですが、ショアのアルゴリズムを実行できる量子コンピュータが登場するまでには、まだ数年から数十年かかる可能性があります。あるいは、そもそも実現できないまま終わるかもしれません。
量子超越はビットコインに脅威となるのか?
もし量子コンピュータがショアのアルゴリズムを実行できるレベルに到達し、公開鍵暗号を破ることが可能になった場合、ビットコインは確かに攻撃の対象となり得ます。具体的には、一部のコインが盗まれる可能性が出てきます。
ただし、盗難はある程度限定的にとどまるだろうという見方もあります。すべてのビットコインは公開鍵暗号(現在はECDSAアルゴリズム)によって保護されていますが、ほとんどのコインは同時にSHA256ハッシュアルゴリズムによっても守られています。すべてのコインが完全に盗まれるのは、両方のアルゴリズムが破られた場合のみです。しかし現時点では、SHA256(あるいはその他のハッシュアルゴリズム)が量子コンピュータによって破られる可能性は低いと考えられています。
とはいえ、大量のビットコインは公開鍵暗号のみによって守られています。現在の推計では、もし公開鍵暗号が破られた場合、およそ500万BTCが盗難のリスクにさらされると考えられています。以下はビットコインが危険にさらされる可能性のある状況の一例です。
- ビットコインアドレスではなく公開鍵に直接送られ、そのまま移動されていないビットコイン
これはビットコイン誕生から最初の2年間に採掘されたコインの多くを含みます。(しばしばサトシ・ナカモトに帰属すると言われますが、必ずしも正確ではありません。) - 再利用されたアドレスに保管されているビットコイン
いったんアドレスからビットコインが送金されると、そのアドレスの公開鍵は公開されます。その後も同じアドレスにビットコインが残っていれば盗難のリスクがあります。このため、アドレスの再利用は推奨されていません(主な理由はプライバシー保護ですが、量子耐性の観点からもリスクがあります)。 - ウォレットが公開鍵(一般的には拡張公開鍵)をサーバーと共有している場合
サーバーがウォレットに入金を通知できるようにする仕組みですが、この場合も公開鍵がさらされることになります。 - フォークコイン(BCHやBSVなど)が送金されたアドレスに残っているビットコイン
フォークコインが動かされた時点で、そのアドレスの公開鍵は知られてしまいます。 - やや複雑なスマートコントラクトに保管されているビットコイン
契約に関わるすべての当事者が公開鍵を把握しているため、攻撃リスクが高まります。
さらに、公開鍵暗号とハッシュの両方で守られているビットコインであっても、「量子時代」においては安全に送金することが難しくなる可能性があります。ユーザーがビットコインを送金し、トランザクションをネットワークに放送すると、その瞬間に攻撃者が資金を狙う余地が生まれます。攻撃者は取引が承認される前に公開鍵暗号を解読し、自分のアドレスに送り直すことを試みるかもしれません。
要するに、もし量子コンピュータが予想以上に急速に強力化した場合、ビットコインは大きな問題に直面することになります。
ただし注意すべきなのは、仮にショアのアルゴリズムを実行できる量子コンピュータが突如登場したとしても、ビットコインが最初の、あるいは主要な攻撃対象になる可能性は低いということです。公開鍵暗号は世界中のあらゆるデジタル情報を守っており、軍事機密や銀行データ、既存の金融インフラ、通信ネットワークなども含まれています。
ビットコインは量子耐性を持つようにアップグレードできるのか?
はい、ビットコインのプロトコルは量子耐性を持つようにアップグレード可能です。
結論から言えば、ビットコインの署名アルゴリズムを量子耐性のある署名アルゴリズムに置き換える必要があります。Segregated Witness(セグウィット)が導入されて以来、ビットコインの署名アルゴリズムは後方互換性を維持したソフトフォークによって比較的容易に変更できるようになりました。(現在のECDSA署名アルゴリズムは、近い将来ソフトフォークを通じてSchnorr署名アルゴリズムに部分的に置き換えられる可能性もあります。)
アップグレードが実施された後、ユーザーは自分のビットコインを新しいアドレスに移動させることで、量子耐性を持つ署名アルゴリズムによる保護を受けることができます。もし量子コンピュータがショアのアルゴリズムを実行可能になる前に移行を済ませなければ、ユーザーのビットコインは何らかの形で盗まれてしまうリスクがあります。
またビットコインのプロトコルは、期限内に安全なアドレスへ移されなかったビットコインについては「送金を一切できないようにする」という形にアップグレードされる可能性もあります。この場合、正当な所有者であってもビットコインを失うことになりますが、攻撃者に奪われるよりはましだと言えます。(さらに、ゼロ知識証明を利用すれば正当な所有者だけがそのビットコインを取り戻せるようにできる、という提案もありますが、現時点ではあくまで仮説段階です。)
ただし、現在の量子コンピュータの開発状況を踏まえると、ビットコインにアップグレードが必要になる時期が来るとしても、十分な事前警告があると考えられています。専門家の見解では、その段階に到達するのはまだかなり先のことであり、現時点で心配する必要はないとされています。
ビットコインのマイニングは破られるのか?
量子コンピュータは従来のコンピュータよりも高速にビットコインをマイニングできる可能性があります。しかし、ビットコインのマイニングは公開鍵暗号ではなくハッシュ関数に基づいているため、本質的に破られる可能性は低いと考えられます。
むしろ、量子コンピュータの登場によって「誰が最も高速なマイニングハードウェアを開発できるか」という新たな競争が始まる可能性があります。そして最終的には新たな均衡点が見つかるでしょう。これは過去にも繰り返されてきた進化であり、CPUからGPUへ、そしてGPUからASICへとマイニング環境が移行してきた歴史と同様の流れです。