Квантовый выпуск: что вообще такое квантовые вычисления?

Bitcoin Magazine
Квантовый выпуск: что вообще такое квантовые вычисления?
Что такое квантовые вычисления? Чем квантовый компьютер отличается от обычного компьютера? Какое отношение это имеет к Bitcoin?
Новички в мире биткоина неизбежно сталкиваются с этими вопросами и вынуждены разбираться в проблемах, которые они поднимают в связи с уязвимостью Bitcoin перед тем, что представляет собой самую настоящую экзистенциальную угрозу его существованию в случае создания работоспособного квантового компьютера.
Возможность владеть биткоином опирается на фундаментальное предположение о том, что без прямой утечки копии приватного ключа никто, кроме владельца этого ключа, не может подписать транзакцию монетами, защищёнными этим ключом. Квантовые вычисления ставят это предположение под сомнение.
Квантовые компьютеры — это не просто «компьютеры, только быстрее». Они работают принципиально иначе, чем классический компьютер, и поэтому гораздо эффективнее классических компьютеров в очень специфических видах вычислений. Разумеется, я не собираюсь подробно объяснять, как работают квантовые компьютеры, на четырёх страницах, но я дам вам базовую интуицию того, чем они принципиально отличаются от классического компьютера.
Итак, давайте посмотрим, как оба типа компьютеров работают с такими вещами, как большие криптографические ключи.
Классические компьютеры
Всё, что хранится в классическом компьютере (или просто компьютере, как будем называть его далее), хранится в виде последовательности единиц и нулей. Каждый бит (1 или 0) — это строго 1 или 0; никакой двусмысленности нет. Когда данные сохраняются, это единицы и нули. Когда данные изменяются или модифицируются, это происходит бит за битом, шаг за шагом, для каждой единицы или нуля.
Именно так работает компьютер. Он линейно, шаг за шагом, изменяет дискретные однозначные фрагменты данных, которые хранит. Он не может забежать вперёд или срезать путь (речь о количестве шагов, а не о более эффективных математических способах решения задачи) — ему приходится проходить шаги любого вычисления один за другим.
Когда вы генерируете приватный ключ с помощью компьютера, он получает случайное значение (вы бросаете кости, вводите данные, используете случайность аппаратного обеспечения устройства и т. д.) и сохраняет его в памяти в виде единиц и нулей. Затем ему нужно умножить это значение на порождающую точку эллиптической кривой, чтобы получить публичный ключ. Это выполняется с помощью алгоритма, который, если свести его к самому базовому уровню, представляет собой буквально инструкции о том, какие биты взять, как их изменить, по каким цепям «протолкнуть» их на физическом уровне, чтобы этого добиться, и в итоге вернуть новое значение, изменённое бит за битом, обратно в память.
Есть и другие шаги для получения действительного адреса, но для целей этой статьи разбирать их не нужно (но они устроены точно так же, как описанный выше шаг, — просто пошаговые инструкции о том, как изменять единицы и нули в памяти).
Так что если бы кто-то захотел использовать компьютер, чтобы угадать чужой приватный ключ?
Существует 2256 возможных приватных ключей. Это 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 различных возможных ключей.
Компьютеру пришлось бы перебрать каждый из этих возможных приватных ключей, один за другим (или сколько угодно параллельно), шаг за шагом следуя тем же инструкциям генерации ключей, что описаны выше. Чем больше ключей вы пытаетесь проверять параллельно, тем больше вычислительной мощности вам нужно, и обойти эту стоимость никак нельзя.
Чем меньше вычислительной мощности вы хотите использовать, тем больше времени это займёт; чем меньше времени вы хотите потратить, тем больше вычислительной мощности вам нужно.
Это невыполнимая для компьютера задача. С одной стороны, вычислительные затраты таковы, что их не хватит оплатить всем компьютерам Земли, а с другой — затраты времени настолько велики, что каждая звезда во Вселенной погаснет прежде, чем вы переберёте их все.
Чтобы действительно достичь цели, нужен ещё один вариант, помимо линейной или параллельной проверки один за другим. И вот тут на сцену выходят квантовые вычисления.
Квантовые компьютеры
Квантовые компьютеры не работают с дискретными состояниями. Всё представляет собой строго 1 или 0. Самая базовая единица информации в квантовом компьютере — кубит (квантовая версия бита). В отличие от бита, кубит находится в состоянии суперпозиции, где он одновременно является и 1, и 0. Он оседает в одном из двух дискретных состояний только тогда, когда его наблюдают.
Это один из ключевых строительных блоков, которые позволяют квантовому компьютеру вычислять по-другому. Второй — запутанность. Кубиты хранятся не изолированно: физические атомы, которые их представляют и коллапсируют в дискретное состояние при наблюдении, оказываются запутанными друг с другом. Это означает, что когда запутанные атомы наблюдаются и коллапсируют в единое состояние, запутанные атомы коллапсируют в одно и то же состояние, независимо от того, как далеко друг от друга они находятся.
А вот здесь всё становится странным, и мне придётся немного упростить объяснение; тем не менее вы должны получить интуитивное понимание того, почему квантовые компьютеры принципиально отличаются от классических. Алгоритм в классическом компьютере — это набор инструкций, который берёт конкретный набор битов и шаг за шагом изменяет их согласно инструкциям алгоритма, пока не завершит работу и не выдаст готовый набор новых битов. То есть алгоритм шаг за шагом превращает одно дискретное состояние в другое.
Кубиты не хранят дискретные состояния, пока их не наблюдают и они не коллапсируют в одно из них. Они хранят вероятности. Когда у вас есть набор запутанных кубитов любого заданного размера (как в этом гипотетическом случае — 2256), каждое возможное состояние, в которое он может коллапсировать, имеет определённую вероятность коллапса именно в это состояние.
Квантовые алгоритмы — это не пошаговые инструкции для работы с дискретными состояниями, а набор инструкций о том, как воздействовать на эти запутанные кубиты, изменяя вероятности разных исходов. Конструктивная интерференция используется для повышения вероятности правильного исхода, а деструктивная интерференция — для снижения вероятности неправильных исходов (обратите внимание: это НЕ тот шум или та интерференция, из-за которых физическим квантовым компьютерам сложно работать точно, — это другое понятие).
Так, если классическому компьютеру пришлось бы проверять каждый отдельный приватный ключ один за другим, чтобы найти тот, что соответствует конкретному публичному ключу, квантовый компьютер может просто выполнить алгоритм несколько раз, используя правильный алгоритм, и получить верный ответ. Он делает это не путём «проверки всех вариантов сразу». Он просто изменяет вероятности того, во что коллапсирует суперпозиция.
Именно поэтому квантовый компьютер может разрушить предположения, лежащие в основе криптографии на эллиптических кривых, а классический компьютер — нет (и именно поэтому квантовые компьютеры полезны только для определённых видов вычислений с огромным возможным пространством вариантов-кандидатов для проверки).
Без паники
Это фундаментальное различие между классическими и квантовыми вычислениями означает, что да, если работоспособный квантовый компьютер действительно будет создан и будет функционировать правильно, то базовое предположение, обеспечивающее безопасность личных биткоинов всех держателей, окажется нарушено. Все эти средства окажутся незащищёнными.
Да, это серьёзный риск, если такое устройство действительно будет изготовлено и заработает, но мы не совсем не готовы. Мы понимаем проблему, понимаем степень уязвимости, и уже складывается немало возможных решений для разных аспектов этой проблемы.
Вдохните и расслабьтесь. В оставшейся части этого выпуска мы разберём для вас всю проблему целиком.
Этот материал опубликован в последнем печатном выпуске Bitcoin Magazine — Квантовом выпуске. Мы делимся им здесь, чтобы заранее показать идеи, которые будут раскрыты на протяжении всего выпуска.
Эта статья «Квантовый выпуск: что вообще такое квантовые вычисления?» впервые появилась на Bitcoin Magazine, автор — Shinobi.
Source: BitcoinMagazine
Новости в мире криптовалют
Случайная цитата о деньгах
"Остерегайтесь незначительных расходов; маленькая течь потопит большой корабль."













* для поиска по базе прокси просто вводите название страны, например: Россия, США, Таиланд