Доброй субботы, Хабр!

Сегодняшний перевод самым непосредственным образом вписывается в наши поиски, связанные с литературой по квантовым вычислениям, и может считаться базовым материалом о том, какие опасности или, наоборот, возможности, привносит квантовый компьютер в технологии блокчейна. Падут ли они под натиском новых квантовых возможностей или, наоборот, станут еще более неуязвимыми?

Тем временем, следите за рекламой — книга Владимира Силвы на подходе — и не забудьте поучаствовать в голосовании.

Давайте разберемся, что такое блокчейн.

Дисклеймер: я старался сделать эту статью максимально простой, и для этого пришлось немного абстрагироваться от технических нюансов. Кроме того, извините, что все рисунки подписаны вручную. Я решил, что картинки, которые изображу я сам, проиллюстрируют нужные концепции лучше, чем то, что я найду в Интернете.



Предельно просто блокчейн можно описать так: это реестр, в который записываются транзакции определенного типа. Блокчейн использует математические функции, например, разложение целого числа на множители; такие функции легко решаются в одном направлении, но сложно в обратном – именно так и обеспечивается безопасность.

Транзакции блокчейна добавляются в базу данных, именуемую блоком, а блок шифруется математическим инструментом, который называется «хеширующая функция». Затем хеш включается в следующий блок со следующим набором транзакций, который на следующем шаге вновь зашифровывается хеширующей функцией и дает следующий хеш. Новый хеш добавляется к следующему блоку. Таким образом образуется цепочка блоков, и все они словно последовательно вложены друг в друга — отсюда и название «блокчейн».

Вот пример хеша, сгенерированного алгоритмом MD5 на Python. MD5 – это широко используемая хеш-функция, дающая 128-разрядный хеш.

>>> import hashlib
>>> def hash(mystring):
...     hash_object=hashlib.md5(mystring.encode())
...     print(hash_object.hexdigest())
...
>>>
>>> hash("Kellogg first block")
10a4826ea290595ef96e945b31054254

Восстановить исходное значение (“первый блок Kellogg” в данном случае) для классического компьютера исключительно сложно. Это можно сделать только брутфорсом – систематически отыскивая решение путем перебора всех возможных вариантов и проверяя, удовлетворяет ли каждый очередной кандидат постановке задачи. Аналогично, решение хеша для биткойнового блока – начинающегося со множества нулей – требует чрезвычайно большого объема вычислений. Вот почему даже при использовании совокупной вычислительной мощность всех компьютеров в сети биткойна требуется примерно 7 минут, чтобы решить блок.

Однако, все может измениться с приходом квантового компьютера, который потенциально представляет угрозу для блокчейна и криптовалют. Каким образом? Сейчас расскажу.

Что такое квантовый компьютер?


Одной из основ большинства прорывов в вычислительной мощности – это процесс постоянного уменьшения размера транзисторов. Суть любого форм-фактора вычислений – в транзисторе, так как транзисторы образуют логические вентили, обрабатывающие информацию в компьютере.



В течение последних десятилетий производители чипов, в частности, Intel, постоянно увеличивают количество транзисторов в CPU, уменьшая их размер. В современном CPU каждый транзистор даже мельче вируса ВИЧ. В сущности, мы близки к пределу, где транзисторы сравнятся по размеру с атомами. Вот почему распространено мнение, что в будущем действие закона Мура прекратится, и вычислительные мощности перестанут расти такими темпами, к которым мы привыкли.

Одним из решений данной проблемы представляются квантовые вычисления.

В классическом компьютере, где обработка информации происходит на основе транзисторов, бит может быть равен только 0 и 1. Однако, квантовые вычисления основаны на последовательности кубитов, каждый из которых может представлять единицу, ноль или любую квантовую суперпозицию состояний двух кубитов. В целом, квантовый компьютер с n кубитов может находиться в любой суперпозиции с вплоть до 2^n состояний одновременно.

Классический компьютер в любой момент времени может находиться только в одном из 2^n состояний. Таким образом, квантовый компьютер экспоненциально быстрее классического.

Как же возможна такая суперпозиция? Дело в том, что квантовый мир по определению параллелен. В знаменитом эксперименте с двумя щелями, поставленном Томасом Янгом, частица могла одновременно проникать через две щели. Самый лучший квантовый компьютер мог бы осуществлять огромный объем вычислений, причем, гораздо быстрее, чем классический компьютер.

Принципы квантовых вычислений


Большинство из нас знакомились с классической механикой в школе, а феномен квантовых вычислений, напротив, интуитивно понятным не назовешь. Я попробую продемонстрировать один из простейших примеров, который знаю из университетского курса.



Догадываетесь, которая из граней куба – передняя? Пожалуй, вы не уверены. Однако, как только вы для себя это решите, путаница кончится. Неопределенность возможных состояний описывает один из наиболее глубоких принципов квантовой механики – принцип суперпозиции.
Именно благодаря этому принципу n кубитов могут представлять любую суперпозицию, в которую входят до 2^n различных состояний одновременно.
Теперь рассмотрим эту картинку. Которая грань передняя?



Это интересно. Здесь, опять же, вы можете быть не уверены с ответом, но, когда вы определитесь с первым кубом, вы мгновенно определитесь и со вторым. Каким-то образом два этих куба, разделенные в пространстве оказываются связаны.

Квантовая запутанность – это феномен, при котором квантовые состояния двух или боле объектов должны описываться относительно друг друга, пусть даже отдельные объекты и удалены друг от друга в пространстве.

Квантовая запутанность – это суперкритическая деталь работы с квантовым компьютером. Квантовый компьютер задает запутанность, а затем измеряет вывод, схлопывая суперпозицию в 0 или 1 (классическое состояние). Многие алгоритмы в квантовом мире дают верный ответ с определенной вероятностью. Однако, многократно инициализируя, прогоняя и измеряя результаты квантового компьютера, можно повысить вероятность получить верный ответ.

Угроза блокчейну


Как упоминалось выше, технология блокчейна основана использовании криптографических приемов, которые, как считается, почти неуязвимы для взлома, разве что брутфорсом с использованием огромных вычислительных мощностей. Концептуально такая криптография подобна технологии, при помощи которой обеспечивается коммуникация в Интернете.

Однако, квантовый компьютер, в силу имеющихся у него огромных вычислительных возможностей, теоретически должен взламывать криптографию с открытым ключом – и, следовательно, представляет угрозу блокчейну.

Правда, существуют проблемы, связанные с масштабированием квантовых вычислений.
Кубиты исключительно хрупкие. Даже фоновый шум может привести к декогеренции и нарушить квантовый характер частицы.
На каждый полезный кубит нужно еще от 10 до 100 кубитов для исправления ошибок. Исследования в этой области продолжаются, одно из предлагаемых решений – топологический квантовый компьютер.

Каково будущее блокчейна в мире квантовых вычислений?


Когда Марка Андерсона, сооснователя Andreessen Horowitz, спросили о проблеме блокчейна, он сказал:
Когда вы говорите венчурному капиталу, что здесь огромная проблема – он только раззадоривается. Значит, нужно найти умника, который решил бы эту проблему.

Однако, невзирая на его оптимизм, это сложная проблема.

Одним из потенциальных решений является квантовый блокчейн, основанный на квантовой криптографии. Его предложили Дель Раджан и Мэтт Виссер из университета Виктории в Веллингтоне, Новая Зеландия. Идея проста: если компьютеры стали считать слишком быстро, значит, нужно усложнить задачу. Создать блокчейн на основе квантовых частиц, запутанных во времени. Таким образом, всего одной квантовой частицы хватит, чтобы закодировать историю всех ее предшественниц, и расшифровать эту цепь, не разрушив ее, будет невозможно.
Однако, здесь придется столкнуться с новыми проблемами в области масштабирования блокчейна, который уже ограничен.

Будущее блокчейна кажется неопределенным, но, безусловно, очень интересным.

Комментарии (11)


  1. GennPen
    07.12.2019 11:27
    +1

    Вроде что-то понаписано, но и одновременно не написано по теме.


    1. balamutang
      07.12.2019 11:33

      Квантово-блокчейная суперпозиция


  1. argonavtt
    07.12.2019 11:36

    Когда вы говорите венчурному капиталу, что здесь огромная проблема – он только раззадоривается. Значит, нужно найти умника, который решил бы эту проблему.

    Звучит примерно как «Я не знаю, но наверняка найдётся тот кто знает». А потом ему все говорят, что это больше не будет работать.


  1. ibesedin
    07.12.2019 16:03

    На поставленный в заголовке статьи есть простой ответ: не конец. Сама статья при этом даже почему-то его не даёт, зато даёт туманные намёки на что-то непонятное :(


    1) Алгоритм Шора действительно представляет угрозу для подавляющего большинства популярных систем open key cryptography, только для него нужно очень много кубитов (~20 млн. кубитов немного лучше чем те, которые продемонстрировал гугл для rsa 2048 bit, см arxiv:1905.09749), а 20 млн. непонятно как делать с теми технологиями что есть сейчас и когда будет;
    2) хотя тот же биткоин использует ecc (уязвим к алгоритму Шора), в открытом доступе находятся публичные ключи только тех кошельков, с которых хоть раз что-то тратили. Если вы при каждой трате создаёте новый кошелёк, то от него публикуется только хеш. Собственно так обычно все клиенты и делают.
    3) Алгоритм нахождении ключа по хешу для квантового компьютера в принципе есть (алгоритм Гровера), но он слишком медленный для этой задачи. Хешам ничего не будет.


    Итог — обезопасить свой биткоин-кошелёк можно даже в текущем консенсусе. Если мы говорим про другие блокчейны, то там может быть по-разному, но в целом не хуже чем в биткоине.


  1. wheredevel
    07.12.2019 16:05

    Честно: надеялся прочитать, обоснованное доказательство, что блокчейну конец.

    Не хочу холиварить, но интуиитивно никогда не верил, что блокчейн нужен человечеству. А, вот, финансовой пирамидой от него несёт постоянно.

    Кроме того, есть опасение, что влияние майнинга на экологию планеты, если реально оценить, ужаснет многих…


    1. AlexTroshkin
      08.12.2019 09:47

      Все заняты перекачиванием денег из одного места в другое и проектированием кучи одинаковых вещей с планируемым устареванием вместо решения действительно важных проблем (хотя у большинства это проблемы выбора чем развлечься вечером и на выходные и т.д.) и да, блокчейн здесь действительно выглядит как костыль


      1. wheredevel
        08.12.2019 10:13

        Хорошо, что не все.
        Раньше, на «тоскливых» работах думал: «Илон Маск — спасибо, что он есть!»
        К счастью, уже несколько лет сам на «передовой» работе. (Кстати, хорошо, что програмизм — область такая, где этого есть...)
        Делаем новое, неизведанное. И, как результат, имею, благодаря этому, оптимизм по-поводу будущего человеческого. Хотя и очень осторожный оптимизм.


    1. ne_kotin
      08.12.2019 20:54

      есть опасение, что влияние майнинга на экологию планеты, если реально оценить, ужаснет многих…

      «Планета в порядке — это людям п… ц»


      1. wheredevel
        08.12.2019 20:58

        Да, вещь! :)


  1. syusifov
    07.12.2019 16:05

    к тому моменту, когда квантовые компы станут реальностью про блокчейн забудут повсеместно


  1. TheShock
    08.12.2019 04:03

    Здесь, опять же, вы можете быть не уверены с ответом, но, когда вы определитесь с первым кубом, вы мгновенно определитесь и со вторым. Каким-то образом два этих куба, разделенные в пространстве оказываются связаны.


    Ну не знаю, я вполне могу видеть их разными, вы уверены, что это — хорошая аналогия?
    как-то так