量子コンピューター:入門編

猫や電球を例にとって、量子コンピューターについて説明します。

Googleは昨年の秋、量子超越性を達成したと発表しました(英語記事)。この話が何だか抽象的で一般人には関係がない感じがする?Googleのチームが成し遂げたのは、最高性能のスーパーコンピューターでさえも解けないような問題を量子コンピューターを使用して解く、ということでした。素晴らしい、そう思いませんか?

それだけでなく、量子コンピューティングの状況は、あなたや私のデータのセキュリティにも直接関連します。つまるところ、デジタル世界における保護対策の多くは、保護を「突破されない」ことではなく、「妥当な期間のうちには突破されない」ことが前提となっています。この記事では、Googleの量子コンピューターに目を向けつつ、サイバー犯罪者が量子コンピューターを利用して私たちの生活に踏み込んでくる日のことを危惧すべきかどうかを考えてみます。

量子コンピューターとは何か

量子コンピューターと、私たちが今使っているトランジスター搭載のコンピューターとの一番の違いは、データの処理方法です。私たちが慣れ親しんでいるデバイス(スマートフォンやノートPC、そしてチェス用のDeep Blueスーパーコンピューターに至るまで)は、あらゆるものをビットで保存します。ビットは情報の最小単位で、「0」か「1」かいずれかの値を取ります。

電球を思い描いてみてください。電球にはオン(1)の状態かオフ(0)の状態しかありません。コンピューターのディスクにあるファイルは電球の集まりで構成されているようなもので、あるものはオン、それ以外はオフになっています。そのような電球を多数装備することで、「こんにちは」という言葉やモナリザの画像などの情報の符号化が可能となります。

「0か1か」の2種類の状態を持つデバイスが問題を解く場合、デバイスは、メモリーがいっぱいにならないように計算の中間結果を書き込んだり消去したりするので、これらの「電球」を絶え間なくオン・オフし続けなければなりません。これには時間を要するので、与えられたタスクが非常に複雑なものだと、コンピューターが答えを出すまでに非常に長い時間がかかります。

量子コンピューターは従来のコンピューターとは異なり、データの保存や処理に量子ビット(Quantum bit)を使用します。量子ビットは省略して「キュービット(Qubit)」とも表されます。量子ビットは「オン」または「オフ」になるだけではなく、遷移状態になることも、オンでありながら同時にオフになることもあります。引き続き電球を例にとると、キュービットは、オフにしても点滅を続けるランプのようなものです。または、生きている状態と死んでいる状態とが重なっているとされる「シュレーディンガーの猫」のようなものだと言うこともできます。

量子コンピューターでは「電球」をオンとオフの両方の状態にしておけるために、膨大な時間を節約できます。したがって量子コンピューターであれば、最も高速な従来のコンピューターと比べても、複雑な問題をはるかに短時間で解くことができるのです。Googleは同社の量子コンピューター「Sycamore」が、従来のスーパーコンピューターで1万年かかるであろう計算を3分強で解くことができると述べています。「超越性」という言葉がまさに当てはまります。

日常生活における量子コンピューター

極めて複雑な問題を解くことにかけては量子コンピューターが非常に有能であることがはっきりしました。では、トランジスターの時代がいまだに歴史書の中に追いやられずにいるのはなぜでしょうか。それは、量子テクノロジーがまだ黎明期にあり、「点滅する電球」の状態が不安定なためです。したがって、システムに含まれるキュービットが多いほど、安定性の維持が難しくなります。そして複雑な計算が実行可能であるかどうかは、キュービットの数に大きく左右されます。どんなに高性能な電球であっても、2つしかないのならモナリザを描くことはできません。

量子コンピューターが従来のコンピューターに完全に取って代わることができないでいる理由は他にもあります。先にも述べたように、両者は情報の処理方法がまったく違います。ということは、量子コンピューター用のソフトウェアは、1から開発しなければなりません。Windowsをインストールすれば量子コンピューターが使えるようになるわけではないのです。まったく新しい量子OSと量子アプリケーションが必要になります。

科学者大手IT企業は量子コンピューターの分野に足を踏み入れていますが(リンク先はいずれも英語)、当面は、量子コンピューターは通常のコンピューターに接続されて制御される外付けハードディスクのように機能しています。また、水素原子のモデリング(英語)やデータベース検索など、限られた範囲の問題を解く用途で使用されています。量子コンピューターは高性能ですが、現時点では、一般の人がインターネットに接続して、スケートボードをする猫の動画を見るために使うことはできないのです。

そうは言っても、今後は量子コンピューターが主流になっていくだろうと考えている人は大勢います。最初の量子コンピューターが市場に登場したのは1999年のことでした。今ではGoogle、HoneywellIBM(顧客は同社の量子コンピューターにクラウドでアクセスできる)、東芝Alibaba、Baiduといった大企業が、この分野に巨額の投資をしています(リンク先は英語および日本語)。

しかし、Googleが処理に成功したタスクに実用性はなく、量子コンピューターの性能を実証する以外の用途はないことを指摘しておくべきでしょう。私たちはこの問題を深く掘り下げて論じることはしません。あまりにも複雑ですし、一般の人にとって必要なものとは言い難いからです。詳細に興味のある人は、Googleのレポート(英語)をご参照ください。

ちなみに、Googleが主張した1万年という数字には反対意見も挙がっています。たとえばIBMは、スーパーコンピューターが同じ問題を解くのに要する時間は、3分とはいかないまでも、48時間を大きく上回ることはないだろうと述べています(英語記事)。しかし、この見立ての方が正解に近かったとしても、量子コンピューターと従来のコンピューターとの間に著しい速度の違いがあることは、数学者ではない人にも一目瞭然です。

量子コンピューターは(今のところは)脅威ではない

このように、量子コンピューターはまだ科学者たちがもてあそぶ段階にあり、一般消費者向けのデバイスやハッカー向けのツールとして使われるには至っていません。とはいえ、この先もずっと実用性がない(そして危険ではない)という意味ではありません。そのことを念頭に置いたデータセキュリティのエキスパートは、すでに戦略を立てはじめています。この点については次の機会に詳しく説明しましょう。

ヒント