Как устроен и зачем нужен квантовый компьютер
Сейчас много говорят о новых технологиях вычисления — в частности, то и дело звучат слова «квантовые вычисления», «квантовый интернет» и даже «квантовая криптография». Посмотрим, что это такое и нужно ли оно нам. Начнём с квантового компьютера.
В обычном компьютере все вычисления основаны на понятии «бит». Это такой элемент, который может принимать значения 0 или 1. Физически это реализовано так:
- В компьютере есть деталь под названием транзистор. Представьте, что это кран на трубе: если его включить, вода польётся, если выключить — остановится.
- В транзисторе вода — это электричество, и включение-выключение крана тоже зависит от электричества. Представьте, что краны соединены между собой так, что вода из одного крана включает или выключает другой кран, — и так каскадом по цепочке.
- Транзисторы соединены таким хитрым образом, что когда они включаются и выключаются, на них можно производить математические вычисления.
- Из-за того, что транзисторов очень много (миллиарды), а работают они очень быстро (близко к скорости света), транзисторные компьютеры могут очень быстро совершать математические вычисления.
- Всё, что вы видите в компьютере, — это производные от вычислений. Вы видите окно, буквы, картинки, а где-то в самой-самой глубине это просто сложение и вычитание, а ещё глубже — включение-выключение кранов с электричеством на скорости света.
Транзистор в компьютере может принимать значение 1 или 0, то есть «включён» или «выключен». С точки зрения компьютерной логики, этот транзистор называется битом. Это минимальная единица информации в компьютере. Физически бит может быть в процессоре, на чипе памяти, на магнитном диске, но суть одна: это какое-то физическое пространство, которое определённо либо включено, либо выключено.
Ключевое слово здесь — «определённо». Программист и инженер может точно узнать, в каком состоянии находится тот или иной бит. Заряд в нём либо есть, либо нет, никаких промежуточных состояний там не существует.
В квантовом компьютере вместо битов — кубиты. Кубиты — это квантовые частицы, у которых есть интересная особенность: кроме стандартных 0 и 1 кубит может находиться между нулём и единицей — это называют суперпозицией. Нагляднее это видно на рисунке:
Кубит может принимать все значения, которые видны на цветной сфере
Квантовый компьютер: исходные вероятности
Пока рано беспокоиться, ведь программное обеспечение майнеров настроено на сохранение предстоящих блоков в течение закрытого периода времени: один блок каждые 10 минут для биткоинов и один блок в 2 минуты для некоторых версий.
Сейчас, с криптографическим алгоритмом SHA-256 в самом ядре конструкции блокчейна шансы угадывания правильной комбинации закрытых ключей оцениваются как один из 115 квадриллионов ещё и в степени.
То есть единица и 77 нулей за ней!
Согласитесь, это невероятно большое число, где количество комбинаций с частными ключами больше, чем существует песчинок на нашей планете. Поэтому шанс подобрать ключ без квантового компьютера к криптовалютному кошельку стремится к нулю.
В настоящее время для взлома потребуется около 0,65 миллиарда миллиардов лет. С квантовычислениями это резко изменится. Но насколько велик реальный риск?
Опасность: квантовый компьютер и блокчейн
С 2016 года в сети стали все чаще мелькать слухи о том, что квантовые компьютеры способны уничтожить блокчейн. Связано это в первую очередь с их огромной вычислительной мощностью, которой хватит для взлома любого метода шифрования, в том числе, каналов связи с максимальной степенью защиты. Особенно часто можно было встретить «пророчество» о взломе до 2027 года. К такому выводу пришли члены исследовательского коллектива Корнеллского университета, чем знатно озадачили многих криптоэнтузиастов.
Одной из главных задач людей, стоящих у истоков криптовалют стало создание цифровой системы транзакций, которая максимально защищена от уязвимости классических финансовых систем – подделки данных при подтверждении платежа.
Сегодня записи о всех транзакциях хранятся в блокчейне, где копии данных распределены между всеми участниками, вследствие чего их невозможно изменить, не оказав влияние на все остальные блоки, для чего нужно подтверждение со стороны тысяч и даже миллионов пользователей. Относительно неизменности данных и их безопасности в целом блокчейн полностью защищен от квантовых компьютеров.
Другой стороной монеты является уязвимость личных счетов (кошельков) пользователей, ведь мощности квантового устройства вполне хватит для взлома «кодов» клиентов сети, которые те, в свою очередь, применяют для авторизации платежей.
Когда человек хочет перечислить энную сумму средств, к примеру, в эквиваленте биткоинов, ему необходимо ввести закрытый ключ, привязанный к его персональному счету (адресу). Зачастую он представляет собой 64-значную комбинацию из букв разного регистра и цифр. Если злоумышленник захочет «увести» с чьего-либо кошелька токены, ему нужно вбить ту же комбинацию, что до недавних пор считалось просто невозможным.
В случае, если квантовые компьютеры начнут вытеснять своих «бинарных собратьев», нам стоит всерьез задуматься о том, что сценарий взлома этого 64-значного кода будет становиться все менее призрачным. Ну а если подобное устройство попадет в руки к хакерам (что рано или поздно произойдет), то последствия окажутся плачевными, ведь атака на блокчейн становится возможной.
Страшный сон для большинства криптоэнтузиастов – ситуация, в которой контроль над большей частью хешрейта попадает в руки одной компании или даже конкретному человеку («атака 51%»). Будь у такого человека еще и квантовый компьютер – он без труда сумеет взломать блокчейн и сделать сеть полностью централизованной или же вовсе уничтожить ее. В современном мире жесткой конкуренции попадание подобного механизма в руки к конкурентам является вполне реальной смертью для любой компании, вне зависимости от ее масштабности. И это, не говоря о колоссальных убытках.
Квантовый компьютер: как защитить блокчейн
Естественно, проблема квантовых компьютеров и взлома в основном касается блокчейнов в том виде, в котором они представлены на сегодняшний день. Основными способами предотвратить возможный крах являются:
- Создание приватных блокчейнов, чья суть напрямую противоречит базовой философии современных криптовалют, поскольку каждому его участнику придется получить разрешение на его использование от создателя или пройти проверку по конкретному протоколу;
- Усложнение криптографии и улучшение ее устойчивости к квантовым вычислениям (например, задействование одноразовой цифровой подписи Лэмпорта/Винтерница или дерева Меркла);
- Создание совершенно нового квантового блокчейна, ставшего одной из самых актуальных тем для криптоэнтузиастов за последние несколько лет.
Шеф, усё пропало?
Давайте вернёмся к ECDSA, который может быть теоретически взломан достаточно мощными квантовыми компьютерами. Этот алгоритм генерирует пару ключей: закрытый/открытый ключ.
Пользуясь Биткойном, вы держите свой закрытый ключ в секрете и используете его только для подписи своих транзакций. Эта подпись свидетельствует для биткойн-сети, что биткойны пытается перевести именно законный владелец данного биткойн-адреса. Сеть проверяет вашу подпись, сравнивая её с открытым ключом. Работающий мощный квантовый компьютер теоретически позволит АНБ получить ваш закрытый ключ из открытого ключа. Так что же — это значит, что АНБ может добраться до наших биткойнов?! Не совсем так.
В случае Биткойна, ваш «открытый ключ» изначально не является таким уж открытым. Вместо него используется так называемый «биткойн-адрес», который представляет собой лишь хэш открытого ключа. Предоставляя свой биткойн-адрес другим людям, чтобы они вам отправили средства, вы даёте им только хэш вашего открытого ключа, но не сам ключ. Хэш — это результат работы криптографической функции хэширования. Данная функция является односторонней и не может быть взломана квантовым компьютером.
Мы называем эту функцию односторонней, так как она не дает возможность получить исходную информацию на основе выходной. Нечто вроде шифрования чего-либо, после чего ключ от шифра теряется. Чтобы показать это, давайте подсчитаем хэш RIPEMD160 фразы «Привет Мир”.
Привет Мир ==> a830d7beb04eb7549ce990fb7dc962e499a27230
Адрес биткойна рассчитывается путем пропускания вашего открытого ключа сразу через несколько криптографических функций хеширования:
Проще говоря, атакующий с мощным квантовым компьютером может получить закрытый ключ из открытого ключа, но не может получить сам открытый ключ из биткойн-адреса. Ведь биткойн-адрес проходит через несколько однонаправленных хэш функций, устойчивых против квантовых вычислений.
Однако вы все же должны однажды транслировать ваш открытый ключ в сеть — когда вы подписываете транзакцию. Иначе сеть не сможет подтвердить сделку, ведь нет никакого другого способа проверить вашу подпись. Это, однако, не конец света — это говорит лишь о том, что гипотетический квантовый компьютер АНБ превращает все биткойн-адреса в одноразовые.
Всякий раз при совершении транзакции вам придётся отправлять все оставшиеся биткойны на новый адрес, ведь открытый ключ старого становится при транзакции известен, и теоретически может быть взломан.
Если вы не переместите баланс с этого прежнего адреса, АНБ может при помощи квантового компьютера подобрать к нему секретный ключ и украсть всё, что на нём есть. Хотя это и будет не совсем удобно для пользователей, биткойн-разработчики в любом случае получат достаточно времени, чтобы заменить ECDSA на одну из устойчивых к квантовым расчётам схем цифровой подписи, например, подпись Лэмпорта.
IOTA
Платформа IOTA, созданная для защищенной передачи данных и микроплатежей без комиссий между устройствами Интернета вещей (IoT), утверждает, что использование технологии Directed Acyclic Graph (DAG) и уникального механизма связи транзакций обеспечивает максимальную защиту от атак квантовых компьютеров.
Структура IOTA – сложная цепочка транзакций, которая образует направленный ацикличный граф. При этом сеть безгранично масштабируема и разрастается благодаря увеличению количества пользователей, а не майнеров или крупных держателей монет. Участники системы подтверждают транзакции друг друга, и они сразу записываются в DAG. Каждая новая транзакция валидирует две предыдущие, повышая тем самым степень их подверженности. Кроме того, в IOTA есть модуль под названием «Маскированная аутентификация сообщений», который позволяет блокчейну «шифровать целые потоки данных и надежно привязывать их к DAG».
Хотя на создание квантовых компьютеров могут уйти десятилетия, криптоиндустрии уже сейчас необходимо готовиться к широкому распространению технологии, представляющей угрозу для современных методов шифрования, уверены эксперты.
Квантовый компьютер: коротко о главном
Итак, для начала мы вкратце рассмотрим принцип работы квантовых компьютеров. Такие устройства работают на так называемых «кубитах», которые одновременно могут находиться в двух пограничных состояниях – 0 и 1. В классических же ПК каждый бит может иметь только одно из этих значений. Соответственно, вычислительная мощность квантового компьютера возрастает экспоненциально в сравнении с даже самыми мощными обычными устройствами.
Стоит отметить, что эффективность компьютера, который работает на «кубитах» разная в зависимости от поставленных задач. В некоторых случаях разница в производительности может быть даже незаметна для пользователя, а в некоторых может достигать огромного значения. Такой технологии уже заинтересовались многие компании и государственные органы. Но как же сочетаются квантовый компьютер и криптовалюты? Какие последствия будет иметь запуск данной технологии для цифровых монет, построенных на криптографии? Попробуем в этом разобраться.
Гонка за первый квантовый компьютер
Квантовый компьютер — вычислительная система, использующая квантовую механику (явления квантовой суперпозиции и квантовой запутанности) для передачи и обработки информации. Для хранения и обработки информации обычные компьютеры используют двоичные единицы, называемые битами, которые могут представлять одно из двух возможных состояний: 0 или 1. Квантовые компьютеры используют квантовые биты (кубиты), которые могут быть 0 и 1 одновременно. Это явление называется суперпозицией. Благодаря этому квантовый компьютер может обрабатывать информацию в тысячи и миллионы раз быстрее, чем обычные компьютеры.
Состояние суперпозиции, которое необходимо для выполнения вычислений, трудно достичь и еще сложнее поддерживать. Физики для этого используют лазерные и микроволновые лучи, чтобы поместить кубиты в рабочее состояние, а затем задействуют множество методов, чтобы уберечь их от малейших колебаний температуры, шумов и электромагнитных волн. Главная техническая сложность в декогеренции — при соприкосновении с внешней средой квантовые системы становятся классическими и допускают ошибки.
Полноценных суперкомпьютеров еще нет — пока разработаны лишь экспериментальные системы, работающие по заданным алгоритмам. Современные технологии не позволяют создать квантовый компьютер, который мог бы решать универсальные задачи.
Квантовая вычислительная мощность определяется тем, сколько кубитов компьютер может использовать одновременно. Первые эксперименты в конце 90-х проводили на скромных 2-кубитовых процессорах. C тех пор технология медленно, но постоянно совершенствовалась, наращивая количество кубитов. Специалисты из компании D-Wave создали 2000-кубитный квантовый компьютер; Google может похвастаться 72-кубитным процессором Bristlecone, а у IBM есть 50-кубитная модель. В гонке за создание квантового компьютера участвуют также Microsoft, Intel и другие крупные технологические компании и стартапы.
Квантовые компьютеры позволили бы сделать возможными химическое и физическое моделирование, симуляцию различных процессов, прогнозирование вероятностей, обработку колоссальных массивов астрономических и любых других данных.
Чем квантовый компьютер превосходит обычный?
Принцип суперпозиции, при котором базовая единица информации может существовать более чем в одном состоянии одновременно, позволяет квантовому компьютеру хранить и обрабатывать одновременно гораздо больше данных, чем любому другому. При этом большими объемами данных можно управлять одновременно с помощью концепции, известной как квантовый параллелизм. Имея возможность вычислять и анализировать разные состояния данных одновременно, а не по одному, квантовые системы могут давать результаты с очень высокой скоростью.
Принцип суперпозиции, при котором базовая единица информации может существовать более чем в одном состоянии одновременно, позволяет квантовому компьютеру хранить и обрабатывать одновременно гораздо больше данных, чем любому другому.
Квантовые системы можно было бы применить для того, чтобы решить проблему коммивояжера — задачу, которая требует нахождения кратчайшего маршрута между множеством городов, прежде чем вернуться домой. А решение этой задачи позволило бы более грамотно выстраивать навигацию и планировать маршруты по всему миру, что удешевило бы и упростило перемещения людей и грузов. Подобного рода исследования уже проводит Volkswagen совместно с D-Wave и Google.
Квантовый компьютер способен обрабатывать огромные объемы финансовых, фармацевтических или климатологических данных, чтобы найти оптимальные решения проблем в этих отраслях.
Наконец, квантовые системы способны найти новые методы шифрования и легко взламывать даже самые сложные шифры.
IBM Quantum уже работает с клиентами над решением подобных проблем. Компания помогает разработать новое поколение электромобилей на технологии квантовых батарей с Daimler; технологию снижения выбросов углерода в атмосферу с помощью открытия экологичных материалов с ExxonMobil: ищет истоки зарождения Вселенной вместе с CERN. А Google использовала Sycamore для точного моделирования химической реакции.