Ну, что?
Можно подвести некоторые практические промежуточные итоги моей затеи по поиску криптокладов с биткоинами.
Если вы попали на эту статью и не в курсе предыстории, то разрешите вас пригласить сюда и сюда.
Должен сказать, получил некоторое разочарование от математики и очарование действительностью))
Но, обо всём по-порядку ...
Попутно с поиском клада, я проводил различные исследования сгенеренированных пар ключей. Неожиданно выяснилось, что 95% существующих, а также вновь сгенерированных адресов, занимают лишь начальные 20% адресного пространства биткоина. Никто мне так и не смог прояснить математику данной аномалии. Потом, однако, выяснилось, что начиная с третьего знака в адресе, дальнейшая встречаемость всех 58 символов строго равномерная. Причём, очень строго! Расхождение буквально сотые доли процента, и чем больше данных проанализировать, тем ближе будут значения.
Но, вот практика попадания в то или иное буквоцифросочетание, мягко говоря, не соответствует теории.
Когда мы говорим, что вероятность угадать 1 число из 90 составляет 1 к 90, на самом деле мы неправы. Взять к примеру тот же мешок с бочонками "Русского лото". Загадали мы, например, бочонок номер 33. Математическая вероятность его вытаскивания первым составляет 1 к 90, однако, вероятность того, что вы его вытащите последним также составит 1 к 90. Какова же практическая вероятность?
Чтобы выяснить это, решил я, значит, узнать, как часто будет попадаться в генерации адрес начинающийся с 123456 ...
Посчитаем вероятность. Поскольку со второго знака мы используем 58 символов, получаем
1 к 58*58*58*58*58 = 656 356 768
То есть, примерно на каждые 650 миллионов сгенерированных адресов будет приходиться по одному начинающемуся на 123456...
На практике же первый такой адрес мне попался через 38 миллионов, а второй через 347 миллионов...
Kx62hokLiyAXJjoTkLEXXAQ9r5c9x3EMeDZ3yfxKbDLEbJKLTr1S 123456xkCx4hZD1qMC9fVaqbVvxaqRLzxi
L1Vey6dzPNx1ZSM3emb175JYzhtyGD5qiqqxx9r14JkTTyjp3kga 123456MdNpqRajWXw1GFGtZRBxMqtDxgTs
Можете проверить в любом кошельке корректность ключей.
Дальше - больше.
Усложним задачу.
Теперь поймаем адрес, начинающийся с 1ooooo... - типа "сто тысяч", но, так как нули здесь не используются, возьмём буквы "о".
По теории шанс тот же - 1 к 656 356 768, на практике же такой адрес попался на 272 миллионе ...
L1aRd5Hm5YBaMz5ea4w4ww9kHBV14bLg9LmzZQdVTZgZnbZc38GE 1oooooCWkULqL7RPxtCje8vohPq7vNvDT
Почему я сказал "усложним задачу", ведь тут тоже 5 знаков после "1"? Да потому что этот адрес как раз входит в ту часть адресного пространства биткоина, куда генерируется очень мало адресов.
Что это? Опять "жизнь - не математика"?)) или баги в алгоритме хеширования?
Второй такой адрес спустя около 200 миллионов после первого еще не попался, как только это случится - отпишусь.
Глядя на сию "практиматику" подумалось мне, что далеко не настолько защищен биткоин, как заявляют математики. Странное распределение ... Слишком частые повторы (как минимум в началах адресов) ... А если ещё порыться в повторяющихся в середине адреса знакосочетаниях (которые кстати бросаются в глаза), возможно, еще выявятся аномалии.
Не зря же разработчики перешли на другие форматы адресов. Знают они слабые места Legacy-кошельков.
Ведь миллионы потерянных кошельков ждут своих новых владельцев))
Ну, а там, как говорится, вероятность не имеет значения, когда событие уже произошло.