Продолжение поста «"Лотерейный" Bitcoin псевдомайнер моего авторства»

Итак, исследование завершено.

Неделю назад я создал ПО, которое массово генерирует btc кошельки и проверяет, использовались ли они до этого в блокчейне.

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

Но для начала, немного теории:

Btc кошелёк защищён последовательностью из 12 слов, которые находятся в особом списке bip39, состоящем из 2048 слов. Имеют смысл не только сами слова из списка, но и последовательность положения этих слов в фразе. Саму фразу называют мнемонической фразой.

Общее количество комбинаций слов составляет 2048 ^ 12, и равно приблизительно 5,44 × 10^39, то есть 5,44 дуодециллионов. Для понимая - 1 дуодецеллион - это приблизительно суммарная мощность излучения 250 000 звёзд как наше Солнце в одну секунду. Наше же число равно мощности 1 375 000 звезд. Много, правда? Но давайте продолжать исследование.

Давайте чуть чуть упростим наше понимание. Пусть btc кошелёк будет замком, а мнемоник фраза - ключом. Итак, вероятность того, что случайный ключ подойдёт к определённому замку равно единице, поделенной на эти самые дуодециллионы, или же как пишут математики - 1 / 5,44 × 10^39, или же примерно 1,84 × 10^-40, то есть 0 целых, далее идет 39 нулей и 184. То есть 184 дуодецелионных доли. А вот вероятность неудачи равна 1 - 1,84 x 10^-40, то есть 0,9999.....9999816, и по сути, стремится к единице, то есть 100%.

Идём дальше.

На текущий момент, согласно исследованием, имеется всего 19 миллионов созданных адресов. Это у нас 19 × 10^6 замков.

Далее воспользуемся формулой комбинирования вероятностей.

Исходя из неё, вероятность неудачи для любого из 19 млн замков равна (1 - 1,84 x 10^-40)^19 x 10^6, что приближается к значению в 1 000 000.

А вот уже шанс удачи равен 1 - (1 - 1,84 x 10^-40)^19 x 10^6, что чуть меньше чем -999 999.

То есть, теоретически, это невозможно.

Давайте теперь перейдём к практической проверке.

Отправные точки - программа работала неделю на 10 пк приблизительно с одинаковой скоростью, и не смогла найти ни одного адреса.

Она делала 2 запроса к блокчейну в секунду. Умножаем на 30 потоков, на которых она стабильно работала, и получаем 60 запросов. То есть в сутки она проверяла 60 × 86 400 = 5 184 000 адресов. Умножаем на 10 ПК и получаем 51 840 000 адресов в сутки.

Если учесть, что всего в сети биткойн может быть создано приблизительно 2^160 адресов, то для того чтобы перебрать абсолютно все адреса мне понадобилось бы примерно 2,87 x 10^41 дней, или же 7.83×10^38 лет. Это в несколько раз превышает ожидаемую продолжительность жизни вселенной и на порядки больше, чем возраст вселенной.

Продолжаем

Как говорилось в теоретической части, общее количество зарегистрированных адресов примерно равно 19 миллионам. Это составляет (19x10^6/2^160) x100, и равно примерно 1.3x10^-39., т.е. 0,000..00013 (всего 39 нулей после запятой) процента.

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

Давайте теперь расчитаем вероятность случайно натолкнуться хотябы на один зарегистрированный адрес за адекватный период, возьмём например 10 лет непрерывной работы.

Количество дней в 10 годах: 10×365=3650 дней.

Общее количество адресов, которые можем проверить за 10 лет: (51×10^6)x3650

Вероятность того, что наш поиск не обнаружит ни одного зарегистрированного адреса равна ( 1 - (1.3×10^-39 / 2^160) ) ^ ((51x10^6)x3650).

Вычислив данное уравнение мы получим результат, стремящийся к единице, то есть к 100%.

Это означает, что практическая вероятность случайного подбора "правильного" ключа таким алгоритмом крайне мала. Что близко соответствует теоретическим изысканиям. Даже для относительно "слабой" 12-ти словной мнемонической фразы.

Выводы:

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

Шанс того, что в вас в течении жизни попадёт молния пять раз подряд значительно больше.

Лига Криптовалют

3.7K поста9.3K подписчиков

Добавить пост

Правила сообщества

- Будьте вежливы

- Не используйте реферальные ссылки при обсуждении сторонних ресурсов.

- Никаких ссылок на ТГ и другие соц.сети с вашими сигналами, ботами и инсайдами и тому подобных.

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