Я делаю презентацию о биткойнах и искал некоторые расчеты, чтобы люди чувствовали себя в безопасности при шифровании с закрытым ключом. Пожалуйста, сначала ответьте, какой длины закрытый ключ в байтах, затем сколько комбинаций чисел он будет содержать, а затем какой самый быстрый компьютер или сеть суперкомпьютеров и сколько времени потребуется, чтобы взломать закрытый ключ с помощью этого компьютера. Я думаю, что результат будет очень поучительным, основываясь на моих собственных расчетах. Спасибо.
как долго в байтах закрытый ключ
32 байта или 256 бит
то сколько комбинаций чисел он будет содержать
Существует 2 ^ 256 различных закрытых ключей. Это немного больше, чем 1, за которой следуют 77 нулей.
какой самый быстрый компьютер или сеть суперкомпьютеров
На пике своего развития примерно в августе 2011 года сеть Биткойн проверяла 15 триллионов хэшей sha256 в секунду. (См. http://bitcoin.sipa.be/ )
сколько времени потребуется, чтобы взломать закрытый ключ с помощью этого компьютера
Если мы предположим, что выполнение операции ECDSA занимает столько же времени, сколько требуется для проверки хэша sha256 (это занимает гораздо больше времени), и мы используем оптимизацию, которая позволяет нам использовать только 2^128 операций ECDSA, то необходимое время может быть рассчитано:
>>> pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9
0.6537992112229596
Это 0,65 миллиарда миллиардов лет.
Это очень консервативная оценка времени, необходимого для взлома одного биткойн-адреса.
Редактировать: было указано, что компьютеры, как правило, со временем становятся быстрее в геометрической прогрессии, в соответствии с законом Мура . Если предположить, что скорость вычислений удваивается каждый год (закон Мура говорит, что это 2 года, но мы ошибемся из-за осторожности), то через 59 лет это займет всего 1,13 года. Таким образом, ваши монеты будут в безопасности в течение следующих 60 лет без изменения алгоритмов, используемых для защиты блокчейна. Однако я ожидаю, что алгоритмы будут изменены задолго до того, как можно будет взломать обеспечиваемую ими защиту.
Закрытый ключ Биткойн представляет собой случайное 256-битное число. Однако открытый ключ раскрывает некоторую информацию о закрытом ключе. Наиболее известные алгоритмы взлома ECDSA требуют O(sqrt(n)) операций. Это означает, что для взлома учетной записи Биткойн потребуется 2 ^ 128 операций.
Самый большой сломанный на сегодняшний день ключ ECDSA того типа, который использует Биткойн, имел длину 112 бит. Биткойн-счет более чем в 4 000 миллиардов миллиардов раз сложнее взломать.
Единственным реальным риском будут квантовые вычисления.
Закрытый ключ Биткойн (ключ ECC) представляет собой целое число от 1 до 10^77. Это может показаться не таким уж большим выбором, но для практических целей он практически бесконечен. Если бы вы могли обрабатывать один триллион закрытых ключей в секунду, то для их подсчета потребовалось бы более чем в миллион раз больше возраста Вселенной. Хуже того, простое перечисление этих ключей потребовало бы энергии, превышающей общую мощность Солнца за 32 года. Это обширное пространство ключей играет фундаментальную роль в обеспечении безопасности сети Биткойн.
2^256 = 1,1x10^77 = количество комбинаций клавиш
2^128 = 3,4x10^38 = среднее количество необходимых догадок
Согласно этому веб-сайту: http://en.wikipedia.org/wiki/TOP500 , самым быстрым суперкомпьютером является компьютер K с производительностью 10,51 петафлопс.
Петафлоп — это 10^15 FLOPS операций с плавающей запятой в секунду.
Пока все хорошо, но мне нужно знать, сколько FLOPS нужно для одного предположения?
[Смею предположить:]
От 1000 до 10 000 FLOPS (или целочисленные эквиваленты) за предположение.
10,51x10^15 операций в секунду / от 1000 до 10000 операций/догадка) = от 10,51x10^12 до 10,51x10^11 догадок в секунду.
3,4x10^38 догадок/взлом / 10,51x10^12 догадок/секунду = 3,2x10^25 секунд.
3,2x10^25 секунд / 60 секунд/минута / 60 минут/час / 24 часа/день / 365,25 дня/год = 1,01x10^18 лет
1,01x10^18 лет / 1x10^9 / 1x10^9 = от 1,014 до 10,014 миллиарда миллиардов лет.
Таким образом, компьютеры в сети Биткойн в два раза быстрее самого большого лабораторного компьютера.
Существует vanitygen
утилита (ознакомьтесь с версией эксплуатирующего агентства, которая является улучшенной версией версии samr7 ), которая может дать вам оценки того, сколько времени потребуется, чтобы найти закрытый ключ для данного шаблона (см.: vg_output_timing_console()
). Некоторые особые случаи (например, повторяющиеся символы) более сложны, чем другие.
Сложность поиска тщеславного адреса зависит от его точной структуры (начальные буквы и цифры) и от того, насколько вероятно такой вывод с учетом задействованных алгоритмов, которые могут состоять из нескольких разворотов, где сложность внезапно меняется. биткойн вики
Вот таблица, которую можно найти на вики-странице биткойнов, в которой указано приблизительное время взлома закрытых ключей для заданных шаблонов адресов:
В приведенной ниже таблице примеров показано, как усложняющееся тщеславие влияет на сложность и среднее время, необходимое для поиска совпадения только для этого тщеславия, не говоря уже о полном адресе, для машины, способной просматривать 1 миллион ключей в секунду.
Используя vanitygen, вы можете подумать, что сможете найти закрытый ключ для данного адреса. На практике это считается невозможным.
Давайте создадим следующий биткойн-адрес :unspendable
$ unspendable.py 23456789A123456789A12345678
mainnet: 123456789A123456789A12345678Yr8Dxi
Затем с помощью vanitygen
я могу рассчитать производительность на моей машине (> 240 Kkey/s):
$ vanitygen -q -k -o/dev/null 1
[241.29 Kkey/s][total 2880199][Found 11618]
Примечание. Выше было протестировано на MacBook Pro (2,3 ГГц Intel Core i7, 16 ГБ 1600 МГц DDR3).
Кроме того, он может рассчитать расчетное время при поиске определенных шаблонов, например
чтобы найти первые 5 символов из 26-35 (несколько секунд):
$ vanitygen -q -k -o/dev/null 12345
[698.17 Kkey/s][total 8192][Prob 0.2%][50% in 4.5s]
6 первых персонажей из 26-35 (несколько минут):
$ vanitygen -q -k -o/dev/null 123456
[701.39 Kkey/s][total 51712][Prob 0.0%][50% in 4.3min]
7 персонажей из 26-35 (несколько часов):
$ vanitygen -q -k -o/dev/null 1234567
[471.87 Kkey/s][total 8192][Prob 0.0%][50% in 6.3h]
8 персонажей из 26-35 (несколько недель):
$ vanitygen -q -k -o/dev/null 12345678
[658.82 Kkey/s][total 2548480][Prob 0.0%][50% in 10.8d]
9 персонажей из 26-35 (несколько лет):
$ vanitygen -q -k -o/dev/null 123456789
[572.50 Kkey/s][total 1631744][Prob 0.0%][50% in 2.0y]
10 символов из 26-35 (век):
$ vanitygen -q -k -o/dev/null 123456789A
[630.48 Kkey/s][total 118528][Prob 0.0%][50% in 104.2y]
11 символов из 26-35 (несколько тысячелетий)
$ vanitygen -q -k -o/dev/null 123456789A1
[579.78 Kkey/s][total 17348352][Prob 0.0%][50% in 6571.6y]
12 знаков из 26-35 (сотни тысячелетий):
vanitygen -q -k -o/dev/null 123456789A12
[751.61 Kkey/s][total 6720512][Prob 0.0%][50% in 294013.9y]
13 знаков из 26-35 (тысячи тысячелетий, несколько миллионов лет):
$ vanitygen -q -k -o/dev/null 123456789A123
[666.93 Kkey/s][total 3886080][Prob 0.0%][50% in 1.921802e+07y]
14 символов из 26-35 (миллиардов лет):
$ vanitygen -q -k -o/dev/null 123456789A1234
[817.44 Kkey/s][total 3994880][Prob 0.0%][50% in 9.094109e+08y]
15 символов из 26-35 (50 миллиардов лет):
$ vanitygen -q -k -o/dev/null 123456789A12345
[784.31 Kkey/s][total 4633856][Prob 0.0%][50% in 5.497420e+10y]
... 28 символов ( десять лет, если повезет)
$ vanitygen -q -k -o/dev/null 123456789A123456789A12345678
[910.34 Kkey/s][total 2723072][Prob 0.0%][50% in 3.981113e+33y]
Стоит отметить, что сгенерированный выше адрес имеет 34 байта, но первый символ — это просто идентификатор сети (для биткойна это обычно 1
или 3
), а последние 4 байта — просто контрольная сумма. Подробнее об адресе см. на этой вики-странице биткойнов .
Конечно, скорость поиска ключей можно увеличить, используя лучший графический процессор или несколько процессоров (см.: -t
), но тем не менее оценки могут быть огромными.
Например, вот таблица показателей поиска ключей на вики-странице биткойнов :
А вот несколько отчетов от пользователей для разных графических процессоров:
Источник: список поддерживаемых графических процессоров (GH-46) .
Все остальные выбрали ответ на такой вопрос, как
Сколько времени потребуется большому компьютеру, чтобы взломать конкретный закрытый ключ?
Вместо этого я отвечу на заданный вопрос...
Сколько времени потребуется большому компьютеру, чтобы взломать закрытый ключ?
Благодаря Большому биткойн-коллайдеру это эмпирический вопрос. Около года ушло на то, чтобы найти около дюжины приватных ключей...
https://lbc.cryptoguru.org/trophies
Обратите внимание, что каждый из этих взломанных ключей был для биткойн-адреса, на котором был баланс, поэтому взломщик мог потратить баланс, если бы захотел.
Многие придумают массу оправданий, почему это не имеет значения, но факт в том, что партийная линия «фактически невозможно взломать закрытые ключи биткойнов» является заведомо ложным утверждением. Ключи были взломаны, и это не миллиарды миллиардов лет.
Принесите отрицательные голоса!
(Если у вас возникнет соблазн проголосовать против, по крайней мере, прокомментируйте, почему вы проголосовали против. «Я не хочу, чтобы это было правдой», или «Другие люди сказали мне, что это неправда», или «Я хочу убедиться, что этот ответ остается первым». страница ответов» — это не повод для гордости.)
Единственным реальным риском будут квантовые вычисления.
Или обнаружение ошибки или недостатка в программных алгоритмах BTC. Тогда растрескивание может быть делом нескольких секунд, в зависимости от типа дефекта.
Самый быстрый компьютер - 150 петрафлопс FPC в секунду, а не 10 ... Старайтесь идти в ногу со временем (карты NV Link и Volta HCP на процессорах мощности IBM) ... вы можете прочитать или посмотреть больше на веб-сайте Team Green или на конференции 2015 г. видосы на ютубе. Поскольку общий ответ, кажется, основан на 10 Петрафлопс как самый быстрый компьютер в мире ... Вы должны четко видеть, как быстро может меняться FPC в секунду, Министерство энергетики планирует систему 300P, уже основанную на той же технологии. .
Дело в том, что ваши биткойнщики, рассказывающие вам, насколько он безопасен на основе 10P, уже ошибаются в базовой математике в 15-30 раз, потому что они, очевидно, знают не так много, как думают. Улучшения также не зависят от закона Мура, недавние достижения и нынешние ограничения связаны с совершенно другим законом, который NV Link решила как можно лучше и так хорошо улучшила время вычислений. Это просто сегодняшний пример того, как их теория миллиард миллиардов лет уже ошибочен в 15-30 раз и будет продолжать ошибаться каждый год с гораздо большей скоростью, чем они предполагают. Через 30 лет или меньше биткойн на его нынешнем уровне будет легко взломан любым, у кого есть от 40 до 50 000 долларов (в сегодняшних деньгах) или кто может использовать любое количество университетских или корпоративных суперкомпьютеров.
Любой, кто на самом деле верит, что технология 50-летней давности обеспечит цифровую безопасность чего-то 50 лет спустя, откровенно говоря, не тот человек, на которого следует вообще обращать НИКАКОЕ внимание... Означает ли это, что биткойн сегодня опасен? Не совсем так, но если те же люди будут отвечать за его безопасность через 30 лет, это будут те же невежественные люди, что и сейчас.
Гэри
пользователь9827
Дэвид Шварц
Майкшульд