Author:
fillipponeOriginal thread:
There are 2^256 private keys out there: how big is that number?
2256 закритих ключів: наскільки велике це число?Учора, переглядаючи bitcoinrabbbithole.org, я натрапив на сумнозвісний веб-сайт
https://keys.lolПо суті, це веб-сайт, який випадковим чином генерує 128 закритих ключів на кожній сторінці, а потім перевіряє баланс пов'язаних адрес у блокчейні, і повідомляє про можливі позитивні баланси або минулі транзакції.
Ось Це Так!
Якщо ви виявите позитивний баланс на цих сторінках, то ви фактично є власником закритих ключів, тож у вас є доступ до коштів, і ніщо не заважає вам перевести їх на свій власний гаманець.
Я провів кілька годин на цьому веб-сайті, генеруючи тисячі закритих ключів, звісно ж, нічого не знайшов - жодної використаної адреси, не кажучи вже про баланс.
Потім я почав думати, що можу трохи спроектувати цей процес, і, розмовляючи з деякими іншими користувачами на форумі, я подумав, що в нас може бути скрипт, який генерує випадкові закриті ключі, а потім знаходить позитивний баланс і зрештою переказує монети на мій власний гаманець. Робота з грамотними помічниками на форумі трохи прискорить процес, подумав я.
Я від самого початку знав, що можливості знайти щось, були крихітними, але я хотів спробувати, тому що пошуки позитивного балансу, у результаті нічого не знайшовши, переконали б мене, що ніхто не може зробити те саме з моїми власними бітками, які так ревниво утримують у моєму холодному гаманці.
В очікуванні рішення від @babo, я подумав про себе: "Fillippone - єдиний пішак у грі життя"...чому ніхто ніколи не думав про це?
Повернувшись на bitcoinrabbithole.org, я швидко знайшов Великий біткойн колайдер.
https://lbc.cryptoguru.org/abowКруто, це серйозний проєкт.
Здебільшого тисячі розподілених серверів щодня генерують і перевіряють 26 трильйонів (!!!) закритих ключів.
За перші три роки їм вдалося знайти 7 закритих ключів. Це багато! Я припустив, що шанси були набагато нижчими, але, ймовірно, в якомусь гаманці є якась помилка, що використовує неоптимальний генератор випадкових чисел для створення ключів. (Тут необхідні подальші дослідження!)
Давайте швидко розглянемо кілька цифр:
Кількість закритих ключів (теоретично можлива): 2
256 або приблизно 10
77Кількість біткойн адрес: 2
160Кількість закритих ключів, які шукає біткойн-колайдер: 2
160Кількість атомів у всесвіті: від 10
78 до 10
82Кількість використаних адрес Біткойн : 18 000 000
Кількість закритих ключів, яка насправді можлива, трохи менша, ніж 2
256, як зазначено
тутДавайте розглянемо кілька прикладів.
Припустимо, у нас є мільярд активних адрес, кожна з позитивним балансом: ми знаємо, що це приблизно на 10
3 більше, ніж фактичне число.
Імовірно, кількість атомів у всесвіті в 10
3 разів більша, ніж кількість адрес, тому справедливо сказати, що знайти закритий ключ із позитивною кількістю приблизно так само ймовірно, як знайти один із цих атомів, розкиданих по всьому видимому всесвіту.
Наскільки великі мільярди атомів? Згідно з цією відповіддю Quora, він менший, ніж бактерія E. Coli. Тож здогадайтеся взяти цю бактерію, подрібнити на атомному рівні, розподілити її по всесвіту і спробувати знайти один із цих атомів. Досить складно, чи не так?
Другий приклад із цієї статті Припустимо, ми хочемо сканувати всі закриті ключі в пошуках позитивного балансу і припустимо, що кожен мешканець Землі має швидкість сканування в мільярд разів вищу, ніж подвійна поточна обчислювальна потужність мережі біткойнів, таким чином:
* 10 мільярдів людей;
* помножений на один мільярд;
* помножена на 2 обчислювальна потужність біткойна, близько 100 тисяч терахеш на секунду;
отримуємо: 1 000 000 000 000 * 1 000 000 000 * 1 000 000 000 * 100 000 000 * 100 0000 000 000 = 10
10 * 10
9 * 10
5 * 10
12 = 10
36Для простоти ми округлили '115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336' до 10
77,і ми отримали, що, якщо ми перевіримо кожен окремий закритий ключ у пошуках позитивного балансу, це займе 10
77/10
36 = скільки років це буде?
Оскільки в році близько 31557600 секунд, це відповідає приблизно 10
41/31557600 = 31
33 рокам, що більш-менш у 10
23 разів перевищує передбачуваний вік Всесвіту (наразі його оцінюють у 13,82 мільярда років), коротше кажучи...
100,000,000,000,000,000,000,000,000,000,000,000, тобто приблизно в 100 мільярдів мільярдів мільярдів разів більше за вік Всесвіту.
Це відео про те, наскільки безпечний алгоритм SHA 256.
https://youtu.be/S9JGmA5_unYВесь попередній приклад не враховував енергію, потрібну для таких обчислень. Звісно, всі ці дуже потужні машини мають живитися якоюсь енергією. Скільки енергії буде необхідно? Дуже... Дуже дуже багато! згідно з цією інформацією
Розрахунки доволі прості: для розрахунку 2^256 знадобиться щонайменше 1,9*10 55 Джоулів . Якби ви перетворили Сонце на гігантську водневу бомбу і повністю зібрали кожну останню унцію енергії, ви б отримали тільки 1,7*10. 47 Джоулів . Іншими словами, вам потрібно буде максимально ефективно зібрати енергію сотень мільйонів сонць, щоб перерахувати всі можливі біткойн-адреси.
RedditІнші приклади того, скільки знадобиться, щоб випадковим чином вгадати закритий ключ:
Reddit: час і енергія, необхідні для грубого шифрування AES-256Додаткові посилання:
Тема Bitcointalk про можливу кількість адрес біткойнів Освоєння Біткоїна: Ключі, АдресиІнші дуже великі цифри:
52!: Починається з простої колоди гральних карт
Переклад надано завдяки ініціативі AoBT: