Доброй субботы!
Сегодняшний перевод самым непосредственным образом вписывается в наши поиски, связанные с литературой по квантовым вычислениям, и может считаться базовым материалом о том, какие опасности или, наоборот, возможности, привносит квантовый компьютер в технологии блокчейна. Падут ли они под натиском новых квантовых возможностей или, наоборот, станут еще более неуязвимыми?
Тем временем, следите за рекламой — книга Владимира Силвы на подходе — и не забудьте поучаствовать в голосовании.
Давайте разберемся, что такое блокчейн.
Дисклеймер: я старался сделать эту статью максимально простой, и для этого пришлось немного абстрагироваться от технических нюансов. Кроме того, извините, что все рисунки подписаны вручную. Я решил, что картинки, которые изображу я сам, проиллюстрируют нужные концепции лучше, чем то, что я найду в Интернете.
Предельно просто блокчейн можно описать так: это реестр, в который записываются транзакции определенного типа. Блокчейн использует математические функции, например, разложение целого числа на множители; такие функции легко решаются в одном направлении, но сложно в обратном – именно так и обеспечивается безопасность.
Транзакции блокчейна добавляются в базу данных, именуемую блоком, а блок шифруется математическим инструментом, который называется «хеширующая функция». Затем хеш включается в следующий блок со следующим набором транзакций, который на следующем шаге вновь зашифровывается хеширующей функцией и дает следующий хеш. Новый хеш добавляется к следующему блоку. Таким образом образуется цепочка блоков, и все они словно последовательно вложены друг в друга — отсюда и название «блокчейн».
Вот пример хеша, сгенерированного алгоритмом 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, спросили о проблеме блокчейна, он сказал:
Когда вы говорите венчурному капиталу, что здесь огромная проблема – он только раззадоривается. Значит, нужно найти умника, который решил бы эту проблему.
Однако, невзирая на его оптимизм, это сложная проблема.
Одним из потенциальных решений является квантовый блокчейн, основанный на квантовой криптографии. Его предложили Дель Раджан и Мэтт Виссер из университета Виктории в Веллингтоне, Новая Зеландия. Идея проста: если компьютеры стали считать слишком быстро, значит, нужно усложнить задачу. Создать блокчейн на основе квантовых частиц, запутанных во времени. Таким образом, всего одной квантовой частицы хватит, чтобы закодировать историю всех ее предшественниц, и расшифровать эту цепь, не разрушив ее, будет невозможно.
Однако, здесь придется столкнуться с новыми проблемами в области масштабирования блокчейна, который уже ограничен.
Будущее блокчейна кажется неопределенным, но, безусловно, очень интересным.
Автор: ph_piter