Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Квантовый процессор Google на базе массива из 54 кубитов.
Квантовые технологии стали своеобразным технологическим Святым Граалем. Все крупнейшие государства и компании вкладывают огромные деньги в разработку, но никто толком не понимает, как в финале будет выглядеть инфраструктура квантовых вычислений и что это даст. Текущая ситуация очень сильно напоминает историю с управляемым термоядерным синтезом, когда полноценный запуск состоится уже вот-вот, но надо немного подождать, пока мы решим новые возникшие проблемы. Часть технологий откровенно сырая, а часть работает уже сейчас.
За последние годы уже несколько раз компании объявили, что достигли квантового превосходства – способности решать задачи, невыполнимые для классических компьютеров. В 2019 году Google опубликовала статью в Nature, заявив о достижении квантового превосходства на массиве из 54 кубитов. 3 декабря 2020 года уже китайские учёные сообщили о достижении квантового превосходства с новым суперкомпьютером Jiuzhang на запутанных фотонах. В этом исследовании за 200 секунд была решена задача, которая на обычных суперкомпьютерах решалась бы более 1,5 миллиардов лет.
При этом все пишут только о количестве кубитов в системе, но это далеко не единственная ключевая характеристика. Есть ещё как минимум две, не менее важные:
- Уровень ошибок – квантовые компьютеры отдают правильный результат вычислений с какой-то долей вероятности.
- Время удержания когерентности – вам не нужен квантовый компьютер на 300 кубитов, который потеряет свою квантовую когерентность раньше, чем вы начнёте вычисления.
Предлагаю пройтись по текущим достижениям в этой области. Посмотрим, почему РЖД стал крупнейшим квантовым оператором в России. А ещё попробуем понять, пора ли уже внедрять шифрование McEliece в TLS и паниковать или можно ещё немного подождать.
Бит против кубита
IBM Q System One – первый коммерчески доступный квантовый компьютер на базе 20-ти кубитов.
Квантовые вычисления очень часто воспринимаются как некая магия, где волшебная коробочка, погружённая в жидкий гелий, может заменить целые суперкомпьютерные кластеры. На самом деле эта технология предполагает огромный рост производительности, но только в ограниченной сфере задач. Условно говоря, вы сможете во много раз быстрее выполнять расчёты по фолдингу белков, нахождению элементов в базах данных, моделированию атмосферы или взлому классических асимметричных шифров вроде RSA. Но вряд ли это вам поможет в выполнении линейных алгоритмов, не предполагающих параллельных вычислений.
Основа любого квантового компьютера – кубит. По сути, это аналог бита в классических системах. Ключевое отличие в том, что бит всегда имеет одно из двух возможных значений – 0 или 1. При этом каждым битом надо манипулировать отдельно. С кубитами всё иначе. У кубита в «рабочем состоянии» до коллапса волновой функции нет определённого значения. Он находится в неопределённом состоянии суперпозиции, принимая все возможные значения одновременно. Кубиты должны быть запутаны между собой и работать как единая система, так как одиночный кубит сам по себе довольно бесполезен.
3 бита классического регистра против 3-х кубитов квантового
При этом квантовый компьютер тем эффективнее, чем больше кубитов одновременно находятся в запутанном состоянии. Почему так происходит?
- Классическая система из n бит может быть описана с помощью n нулей и единиц.
- Квантовая система из n кубитов уже будет содержать 2^n бит информации.
Таким образом, по мере добавления отдельных кубитов в общий запутанный регистр содержащийся объём информации растёт по экспоненте. Считается, что 50 кубитов уже достаточно для получения квантового превосходства, при котором квантовый компьютер сможет решать задачи, невозможные для классических вычислительных систем. При достижении порога в 300 кубитов, число возможных состояний уже становится 2^300, что превышает количество атомов во всей вселенной.
Обычный компьютер выполняет какой-то алгоритм только для одного набора данных. Квантовые элементы могут принимать несколько значений одновременно, что позволяет производить вычисления не на одном наборе данных, а на всех возможных значениях одновременно. По сути, это идеальный вариант параллелизма, лишь бы данные помещались в регистр. Проблема заключается в том, что сложность удержания системы в когерентном состоянии также растёт экспоненциально.
Физические варианты реализации
Как бит может быть представлен во многих физических вариантах реализации, так и кубиты могут сильно отличаться друг от друга по своей природе. На данный момент есть несколько ключевых вариантов:
- Сверхпроводники;
- Ионные ловушки;
- Нейтральные атомы;
- Фотоны.
Технология находится в самом начале развития, поэтому предугадать лидера очень трудно. Сложность удержания системы растёт по экспоненте. Из-за этого какие-то перспективные направления могут давать более простую реализацию на малом количестве кубитов, но почти непреодолимые технологические барьеры на большом. В то же время текущие аутсайдеры могут показать более хорошее масштабирование на больших системах.
Сверхпроводники
Сейчас вперёд вырвались квантовые компьютеры на базе сверхпроводников. Они все требуют сверхнизких температур в районе 0.01 К. Именно на этой технологической базе работают устройства, разработанные в IBM, Google и D-Wave.
Кубиты в этом исполнении представляют из себя обычные электрические цепи, которые работают на базе джозефсоновских контактов – явления протекания тока через слой диэлектрика, разделяющего два сверхпроводника. Отчасти джозефсоновские контакты представляют собой аналог транзисторов в классических системах.
Основная сложность масштабирования систем на базе сверхпроводников в том, что каждый проводник уникален, так как изготавливается искусственно и с определенной погрешностью, свойственной фотолитографии. Это приводит к необходимости сложной коррекции ошибок, уникальной для каждого экземпляра.
Атомы и ионы
Ионы и атомы хороши тем, что они абсолютно идентичны. Каждый кубит абсолютно стандартный. Логические операции на ионах выполняются с меньшей погрешностью, так как заряженные частицы хорошо и чётко взаимодействуют между собой.
Но и тут проблемы начинаются при попытках масштабирования. Каждый ион необходимо поймать в ловушку электрического поля. Пока их немного, всё в порядке. Как только вы сталкиваетесь с задачей выстраивания единого запутанного квантового регистра на сотню ионов, вы получаете почти неразрешимую задачу по удержанию кубитов в сложнейших электрических полях на очень малом расстоянии друг от друга. По мере роста системы сложность только увеличивается.
Кубиты на базе холодных нейтральных атомов обычно подвешивают в глубоком вакууме лазерным излучением. Световые ловушки позволяют удерживать отдельные элементы в строго рассчитанных координатах. Но тут возникает проблема стабильности системы и время удержания когерентности.
Свет
Квантовые вычисления на фотонах сейчас находятся в самом начале пути. Если ионами, холодными атомами и сверхпроводниками вы относительно свободно можете манипулировать, то с фотонами всё иначе. Ими очень сложно управлять. С фотонами не проблема выполнить однокубитные операции. Двухкубитные операции уже намного сложнее, так как их непросто изолировать и заставить обмениваться между собой квантовой информацией. Также есть проблема в ячейках памяти для хранения квантового состояния системы. Точно сохранить и извлечь данные пока проблема.
Проблема разработки и дебага
Есть принципиальный предел, до которого можно рассчитывать на привычные IDE, дебаг и проектирование – это системы на 50 кубитов. Такой объём теоретически реально симулировать на классических компьютерах. Как только вы добавляете дополнительный кубит, сложность симуляции удваивается.
Таким образом, для разработки и отладки алгоритмов на несколько тысяч кубитов вам не хватит обычной рабочей станции и даже суперкомпьютера. Видимо, придётся изобретать что-то вроде IDE с подключением к удалённому квантовому компьютеру. Про классический дебаг придётся забыть.
Проблема ошибок
Квантовые процессоры ближе всего к аналоговым вычислительным машинам. Они имеют фундаментальную погрешность вычислений. Например, вы хотите считать состояние одиночного кубита. Вероятность корректного считывания может составлять в районе 99,4%. Чтобы избежать некорретных вычислений применяют специальные алгоритмы коррекции. Фундаментальная проблема заключается в том, что если у нас вероятность успешного считывания равна 0,994 для одного кубита, то для двух уже 0,994*0,994=0,988. Таким образом, для системы из 50-ти кубитов вероятность успешного считывания/записи всех узлов будет уже 74%. Если вы собрались ломать SHA-256, то вам потребуется уже 256 кубитов. Шансы с первого раза корректно считать каждый узел в такой системе – 21,4%.
Проблема декогеренции
Как я уже писал выше, вам нужно удерживать всю систему в связанном состоянии. Причем чем больше кубитов вы удерживаете, тем это сложнее. Например, в результате броуновского движения или дрейфа отдельных частиц в электрическом поле какой-то кубит может выйти из когеренции. Если такое произойдёт, то вычисления придётся начинать сначала. Поэтому, вы можете создавать системы на 1 000 кубитов, но если алгоритм выполняется медленнее, чем система распадается, то практических результатов вы не получите. Риски декогеренции растут всё по тем же классическим законам комбинаторики.
Области применения
У квантовых технологий есть несколько ключевых областей применения. В первую очередь все вспоминают про текущую криптографию, которая потенциально станет бесполезной после массового внедрения квантовых систем на тысячи кубитов. Но это направление не ограничивается только квантовыми вычислениями. Многие параллельные ветви развития обеспечивают, например, связь, которая защищена от MitM на фундаментальном уровне.
Квантовый брутфорс
Наиболее известные из разработанных алгоритмов для «квантового брутфорса» – это алгоритмы Шора и Гровера. Они позволяют быстро факторизировать числа и подбирать коллизии к хешам, соответственно. На данный момент полусотни кубитов недостаточно, чтобы поставить под угрозу всю современную криптографию, но потенциально может потребоваться переход на постквантовые алгоритмы, которые обеспечат стойкость условного TLS 3.0, даже при наличии у атакующего квантовых вычислительных систем.
Для подбора общего секретного ключа, например, придётся использовать SIDH —аналог протокола Диффи–Хеллмана, основанный на блуждании в суперсингулярном изогенном графе.
Квантовое распределение ключей
Протокол подготовки и измерения
Одно из очень перспективных направлений – протокол квантового распределения ключа. Один из известных протоколов – BB84 – был предложен ещё в 1984 году Чарльзом Беннетом и Жилем Брассаром. Он работает за счёт фундаментального ограничения, наложенного теоремой о запрете клонирования.
Носителями информации являются фотоны в четырёх различных квантовых состояниях. Обычно подразумевается поляризация под углами 0°, 45°, 90°, 135°. С помощью измерения можно различить только два ортогональных состояния:
- Фотон поляризован вертикально или горизонтально (0° или 90°);
- Фотон поляризован диагонально (45° или 135°).
При этом невозможно за одно измерение отличить фото с горизонтальной поляризацией от фотона, с углом поляризации 135°.
Если канал не подслушивается, то Алиса и Боб смогут подобрать общую скоррелированную строку случайных бит, которую можно будет использовать уже в классических схемах симметричной криптографии. Если часть фотонов перехватывает, измеряет и ретранслирует Ева, то в канале начинают расти измеримые ошибки. По оценкам, если ошибки в канале не превышают 11%, то это значит, что у Евы нет достаточного количества данных для получения ключа. Если же измеренный уровень ошибок превышает описанный уровень, то алгоритм подбора ключа начинается сначала.
В 1989 году Беннет и Брассар в Исследовательском центре IBM построили первый работающий прототип этой системы, а уже в 2011 году в Токио прошла демонстрация проекта «Tokyo QKD Network» с безопасной передачей данных на 45 километров по обычному оптоволокну.
В июне этого года запустили квантовую линию связи между Москвой и Санкт-Петербургом протяженностью 700 километров. Проект реализовывает РЖД.
Протоколы, основанные на запутанности
«Мо-цзы» – китайский спутник, который предназначен для передачи квантовой информации
Другой способ связан с запутыванием фотонов и передачей одной части такой пары Алисе, а другой – Бобу. При перехвате происходит коллапс волновой функции, что приводит к невозможности незаметного перехвата данных. Проблема этой технологии в сложности доставки запутанной пары всем участникам, так как никакие ретрансляторы в этом случае невозможны.
Совместный эксперимент Китайской академии наук и Австрийской академии наук позволил поднять квантово-защищённый канал связи между Веной и Пекином. При этом само сообщение передавалось по открытым каналам шифром Вернама, а ключами к расшифровке стали квантовые состояния запутанных фотонов.
Что сейчас происходит в этой области
Гонка в области квантовых вычислений и квантовой криптографии сравнима с Манхэттенским проектом. Единых стандартов и подходов нет, будущие архитектурные лидеры пока неочевидны. Но уже сейчас крупные частные корпорации, вроде Google и IBM, готовы предоставлять для удалённых вычислений свои квантовые компьютеры по модели Iaas и PaaS. По мере наработки опыта в этой сфере идёт массовая оптимизация и удешевление.
Расходы на квантовые вычисления, предоставленные госучреждениям, университетам и научным группам, исследовательским организациям, достигли $412 млн. Это не так много, но рынок быстро растёт и, по оценкам экспертов, должен достигнуть $8,6 млрд к 2027 году.
В России подключились крупные игроки в виде РЖД, Росатома и Ростеха. Предполагается, что в общую дорожную карту включатся крупные университеты и научно-технологические комплексы, такие как Сколково.
Что уже есть
Защищённые квантовые каналы связи есть уже сейчас. Используют как системы с квантовой запутанностью, так и протокол измерения и подготовки. Гарантированно защищенная связь крайне востребована как военными, так и крупными банками. В промышленной эксплуатации пока системы не используются.
Университет «Иннополис» и компания QRate реализовали интересный проект защиты систем автономного управления беспилотника. По сути, задача состояла в создании секретного шифроблокнота достаточного размера, чтобы его впоследствии можно было использовать совместно с классическими алгоритмами по общим сетям связи. Во время зарядки электромобиля происходит параллельное накопление квантовых данных через оптический канал. Затем автомобиль использует полученные данные для установления квантово-защищённого канала мобильной связи на базе классического OpenVPN и ключей, которые хранятся в специальном устройстве.
Понятно, что приложение экспериментальное, но оно применимо в любых отраслях, где есть высокие риски перехвата и компрометации критических данных.
Что только планируется
Квантовые вычисления ещё очень сырые. По сути, когда мы слышим про 1 000 кубитов у того же D-wave, надо понимать, что на самом деле это кластер из 8-кубитных когерентных блоков. В результате практическая применимость таких систем сильно ограничена узким кругом задач.
По мере роста длительности когерентного состояния, числа кубитов и снижения ошибок, станут возможны прорывы в области химии, фармакологии и других областях, которые требуют сложных параллельных вычислений. Так, станут возможны разработки сложнейших синтетических ферментов, которые смогут катализировать нужные реакции в организме пациента. На такое проектирование сейчас просто не хватает мощностей, чтобы это было рентабельным. Станет возможным предсказывать биохимические и другие свойства будущих препаратов по их молекулярной структуре. Это привёдет к прорыву в процессах разработки и резкому снижению тупиковых вариантов лекарств.
Массовая компрометация текущих алгоритмов шифрования тоже придёт со временем, но скорее всего мы успеем осуществить плавный переход на постквантовые алгоритмы до того, как это станет массовой проблемой.
В текущем виде квантовые технологии очень интересны, перспективны, но для получения коммерчески значимых фактических преимуществ придётся вложить огромные средства в разработку.