Продвинутый Урок 1 4 мин чтения

Вызовы 2015 года: кошелек с 256 адресами

Кто-то профинансировал 256 адресов с ключами от 1 до 256 бит и оставил их там. Это не миф: это в блокчейне, и это можно проверить.

15 января 2015 года одна транзакция профинансировала 256 адресов биткоина одновременно. Это не легенда, не слух с форума и не зависит от веры в кого-либо: транзакция находится в блокчейне, с датой и временем, и любой человек с узлом может проверить каждую её выходную часть.

Что делает эти 256 адресов особенными, так это не сумма, которую они получили, а то, как были выбраны их ключи. Ключ первого адреса — это число в один бит. Ключ второго находится между двумя и тремя. Ключ третьего — между четырьмя и семью. Ключ n-го — где-то между 2 в степени n минус один и 2 в степени n. Каждый шаг вдвое больше предыдущего.

Каждая бочка вдвое больше предыдущей. Первые уже опустошены.

Обратите внимание на то, что создаёт этот рисунок. Первые адреса тривиальны: ключ первого — это число один, и любой человек может найти его в уме. Примерно к двадцатому адресу обычный компьютер решает задачу за секунды. На сороковом видеокарта справляется за минуты. На шестидесятом — за недели. И с этого момента лестница выходит за пределы возможностей любого, у кого есть домашнее оборудование, как и рассчитывал предыдущий модуль.

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

Сумма, депонированная на каждом адресе, увеличивалась вместе с номером задачи, что придаёт набору второе элегантное свойство: чем сложнее шаг, тем больше награда за его преодоление. В 2017 году автор снова появился на публичном форуме, увеличил суммы на ещё не решённых адресах и описал набор как то, чем он всегда казался — тестом безопасности сети, а не подарком.

Одним движением в 2015 году все были наполнены сразу.

Есть техническая деталь в этой истории 2017 года, которая определяет почти всё, что будет рассказано в следующем уроке. Чтобы изменить адреса, нужно было потратить с них — а потратить значит опубликовать открытый ключ, как объясняла промежуточная тропа. С того момента некоторые из нерешённых задач стали иметь открытый ключ, выставленный в блокчейне, а другие — нет.

Разница та же, которую Урок 1 предыдущего модуля выделил. Где открыт ключ, проблема — это дискретный логарифм в известном интервале, и кенгуру Полларда атакуют квадратный корень интервала. Где существует только адрес, необходимо просмотреть весь интервал, кандидат за кандидатом. Две соседние задачи на лестнице, с разницей в один бит между ними, могут находиться на практическом расстоянии в годы друг от друга только из-за этого.

Разорванная печать не возвращает монету, но показывает замок.

Стоит также сказать, что этот набор не доказывает. Он не показывает никакой слабости в Bitcoin. Ключи были намеренно выбраны в крошечных интервалах тем, кто их создал; ни один кошелёк в мире так не делает, и правильно сгенерированный ключ имеет перед собой 256 полных битов пространства. То, что измеряют задачи, — это способность мира к поиску, и тот факт, что лестница продолжает стоять выше определённого уровня, год за годом, является самой честной демонстрацией безопасности, которую можно было бы пожелать.

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

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