Домашняя страница/Разные обсуждения/Защита биткоина. Сбор "консилиума". У кого есть идеи?
Опубликовано больше 1 года назад

Защита биткоина. Сбор "консилиума". У кого есть идеи?

Поделился(-ась)
Автор

Подробнее о скидке

Пишу так, чтобы суть проблемы поняли даже далёкие от математики люди.
Итак, мы имеем почти непробиваемую систему безопасности, но:
23 сентября 2024 года энтузиастом "RetiredCoder(RC)" был найден заложенный самим Сатоши ключ от биткоин кошелька в диапазоне 2^129 - 2^130, оставленный там ровно в этом диапазоне с целью публичного доказательства безопасности биткоина. Выведено больше 1 млн долларов по текущему курсу. На данный момент осталось всего 6 публичных ключей в известных диапазонах приватных ключей, отличающихся от полностью случайных пониженной криптостойкостью(в самом стойком из этих известных 24 нуля перед случайными битами (из возможных 64 символов), и точно известно, что первый неизвестный hex символ не меньше 8. Более подробно - изучаем историю биткоин пазлов). До этого французский программист Жан Люк Понс первым в мире реализовал параллельные вычисления алгоритма Полларда для кривой биткоина, представил исходный код общественности и забрал награду за 115, 120 и 125 пазлы за 2 месяца вычислений, используя всего 256 видеокарт tesla v100.
Это стало возможным только из-за того, что знание публичного ключа существенно снижает криптостойкость биткоин кошелька(только поэтому Сатоши рекомендовал всегда принимать сдачу на новый адрес). Почему это возможно:
Сразу минус 2 слоя хэширования, дающие дополнительную безопасность. Публичный ключ любого биткоин адреса раскрывается после первой же исходящей транзакции и остаётся видимым в публичном блокчеине навсегда.
С публичными ключами(точками кривой) можно проводить математические операции. Их можно складывать между собой, вычитать из одного другой, умножать на числа, и(при определённых условиях) делить на числа. Результаты таких вычислений будут ровно такими же, как будто бы мы выполняли их с приватными ключами этих точек. Всё происходит по модулю, равному числу всех возможных точек, включая ноль(гуглим N биткоина). Число это огромное, но:
Уже реализованы в виде готовых программ 2 самых эффективных на данный момент алгоритма для нахождения приватного ключа по публичному - Шенкса(bsgs) и Полларда(kangaroo).
Первый максимально прост, но расскажу его суть в ещё более упрощённой форме: храним в оперативке иксы точек у нуля, вычитаем из неизвестной точки точку, полученную от числа хранимых, умноженного на 2. Чем больше хранимое поле и быстрее вычитание и сравнение, тем быстрее наткнёмся таким вычитанием на одну из хранимых точек. По числу шагов, размеру поля и значению приватного ключа совпавшей точки восстанавливается приватный ключ. Небольшая модификация - и можем искать в строго определённых диапазонах. (Применяем "малые шаги" - ускоряем наш алгоритм. Вкратце - это просто оптимизация вычислительных издержек, не берите в голову. Суть описана большими шагами.) Считайте это брутфорсом, пропускающим за одно вычисление сразу столько значений, сколько поместится в памяти. Сразу скажу, что 2 тб оперативки и 2 тредриппера по 128 ядер - всё ещё недостаточно, чтобы найти за разумное время приватный ключ точки пока нетронутого кошелька, находящийся от 2^134 до 2^135.
Второй алгоритм очень сложный для понимания. Вкратце, он основан на парадоксе дней рождения и случайных блужданиях через инверсии в строго определённом диапазоне. Позволяет одну из инверсий от неизвестной точки привести к столкновения с одной из инверсий от известной точки в среднем за 2^(корень из степени диапазона) операций. Именно этим алгоритмом и его модификацией и были найдены 4 последних ключа.
Но оба эти алгоримта нам неинтересны, потому что я вам предлагаю подумать над тем, как эффективнее и за меньшее число операций найти приватный ключ по публичному.
Преимущества и ограничения:
Мы можем получить для последующих операций значение публичного ключа от любого приватного ключа меньше чем за секунду(пусть будет средняя продолжительность такой операции приближена к реальным значениям - 0.13 секунды)
Обратная операция невозможна совсем никак. Прям совсем. Не шучу.
X координаты первой половины всех возможных значений совпадают с X координатами второй половины всех возможных значений.
Разность = Уменьшаемое + Вычитаемое с отражённой Y координатой.
Деление и умножение точки на точку невозможно. (придумаете как - есть способы ускорить этим решение)
Умножение точки возможно на любое число в пределах N.
Деление точки на число возможно через умножение. Без каких-либо проблем - на все числа, на которые делится нацело N-1 и все их комбинации умножения. Старые алгоритмы не учитывают такой возможности, но с учётом возможности хоть и ограниченного, но деления, любой способ однозначного определения чётности или кратности приватного ключа даст либо возможность сузить диапазон поиска, либо и вовсе даст возможность быстрого решения.

Я предлагаю вам подумать как найти более эффективный способ нахождения приватного ключа или высказать идеи по этому поводу.(Очевидные квантовые алгоритмы Шора и Гровера пока не применимы.)

Второй способ решения может быть связан с использованием уравнения подписи s = (z + r*K)*k^-1 mod N (с учётом что публичный ключ, s, z и r нам известны, мы можем из одной подписи сделать достаточно много фальшивых, но валидных, r - это x на кривой от k, K - приватный ключ, от которого известен публичный, а однозначное нахождение любого k, даже в любой из фальшивых подписей, даст возможность моментального восстановления приватного ключа. Тому, у кого будет хорошая идея быстрого решения именно с помощью подписей, дам список 2499 подписей от кошелька 135 пазла. Это серьёзно ему поможет, ведь публично известна только 1 подпись.)

За любую высказанную идею(если это не полный бред) в личку кидаю описание того, как наиболее эффективно поучаствовать в поиске ключей уже реализованными на данный момент алгоритмами. (Все программы абсолютно бесплатны, лежат на гитхабе и у всех открытый исходный код. Можете их довольно легко нагуглить, даже если не были до этого в теме, но лучше просто подумайте, выскажитесь, и получите всё готовое.) Считайте это бесплатной лотереей, в которой всем чем вы рискуете - это стоимость электричества для вычислений и ресурс производящих эти вычисления железа.

На все вопросы отвечаю примерно раз в сутки.

41 комментарий
отсортированы по
default-user
Написать комментарий..
Искра
больше 1 года

Где найти 26 миллионов на видеокарты Tesla v100

Скаут
Автор
больше 1 года
Ищи решение быстрее.

Искра
больше 1 года

Удалось заработать на криптовалюте?

Скаут
больше 1 года
вот ответ DeepSeek (если интересно):
====
Ваше описание поднимает интересные вопросы о криптографии и безопасности биткойн-кошельков, а также о том, как публикация публичных ключей может повлиять на безопасность системы. Давайте рассмотрим ключевые моменты, о которых вы говорите, и потенциал для поиска приватных ключей через математические методы.

### Проблема безопасности биткойна

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

2. Заложенные уязвимости: Вы упоминаете, что Сатоши оставил заложенные ключи как эксперимент для тестирования безопасности, и это очень интересный сценарий, который может заставить многих исследователей обратить внимание на уязвимости.

3. Методы поиска: Алгоритмы, которые вы описали (алгоритм Шенкса и алгоритм Полларда), действительно представляют собой подходы для нахождения приватных ключей по публичным. Их применение в криптографии также поднимает вопросы о компьютерной мощности и необходимых ресурсах.

### Поиск эффективных решений

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

1. Оптимизация алгоритмов: Усовершенствование существующих алгоритмов, таких как метод ребят Сэда или алгоритмы с использованием методов машинного обучения, чтобы выявить паттерны в больших массивах данных.

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

3. Изучение особенностей криптографической структуры: Исследование математических свойств elliptic curves (эллиптические кривые) в других, менее тривиальных сценариях, чтобы выявить потенциальные слабости.

4. Паттерны и статистическая обработка: Анализ статистической репрезентативности известных публичных ключей для потенциального выявления уязвимых точек и будущих предсказаний по приватным ключам.

### В заключение

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

9905 из 16384

Скаут
Автор
больше 1 года
Нет, неинтересно...
Хабанеро
больше 1 года

Зря тут мечешь бисер, аудитория не та

Скаут
Автор
больше 1 года
Самый фанатичный добытчик - голодный добытчик. Хотя бы один по-настоящему заинтересованный будет - уже победа. А интеллект для решения этой задачи нужен всего не ниже среднего. Главное одолеть суть, и станет понятно в какую сторону копать... У меня просто закончились идеи, и нужен кто-то, кто придумает что угодно, что я ещё не проверял.
Скаут
больше 1 года
смысл биточки брать, если банки запишут в черный список как "спонсор терроризма" и не отмоешься?

Скаут
Автор
больше 1 года
Какие банки? Миллиона долларов хватит чтобы всю жизнь прожить там, где банки дружественны к крипте.

Скаут
больше 1 года


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

Основная идея

Ты говоришь, что на данный момент использующиеся алгоритмы вроде Шенкса (bsgs) и Полларда (kangaroo) имеют ограничения, и ты ищешь более эффективный способ решения задачи нахождения приватного ключа по публичному ключу.

  1. Публичные ключи и операции с ними: Ты правильно отметил, что в криптографической схеме биткоина после первой исходящей транзакции публичный ключ становится доступен и с ним можно проводить математические операции. Это действительно существенно снижает безопасность, так как теперь задача сводится к нахождению приватного ключа по публичному.
  2. Проблема деления и умножения: Ты упомянул, что умножение точки на точку невозможно, но деление точки на число возможно, что дает дополнительные возможности для нахождения приватного ключа, особенно если удалось бы найти способ работы с "кратностью" и чётностью приватного ключа.
  3. Подписи: Твоя идея с использованием уравнения подписи (s = (z + r*K) * k^-1 mod N) интересна. Если бы можно было найти способ эффективно генерировать фальшивые, но валидные подписи, это могло бы существенно ускорить процесс нахождения приватного ключа.
Возможные улучшения
  1. Использование слабых точек: Раз ты упомянул, что на данный момент известно несколько публичных ключей, с которыми можно работать, возможно, стоит попробовать метод использования "слабых точек". Например, если есть информация о том, что некоторые из публичных ключей связаны с приватными ключами, у которых есть определенные закономерности (например, 24 нуля перед случайными битами), это можно использовать для создания более узкого диапазона поиска, что значительно уменьшит количество шагов для поиска приватного ключа.
  2. Оптимизация по памяти: Когда ты говоришь о применении алгоритма Шенкса с хранением иксов точек в оперативке, есть еще один возможный путь оптимизации — это использование распределенных вычислений. Например, запуск параллельных вычислений с учетом уже известных значений приватных ключей, чтобы в каждом вычислении сужать диапазон поиска.
  3. Генерация фальшивых подписей: Использование уже известных подписей для создания множества фальшивых подписей, как ты предложил, является перспективным подходом. Можно подумать о том, чтобы улучшить методы работы с этим уравнением, возможно, используя некоторые известные криптографические уязвимости или слабости алгоритма, чтобы ускорить поиск.
  4. Использование квантовых технологий: Хотя ты и отметил, что квантовые алгоритмы Шора и Гровера пока не применимы, тем не менее, стоит следить за развитием квантовых вычислений, поскольку они могут в будущем стать решением для таких проблем.
  5. Параллельные вычисления: Применение огромных вычислительных мощностей, как это сделал Жан Люк Понс с видеокартами Tesla V100, является важным шагом в этом направлении. Возможно, стоит еще сильнее оптимизировать алгоритмы с учетом специфики железа, например, использовать GPU с более высокими вычислительными мощностями или специализированные ускорители (FPGA, ASIC), которые могут ускорить процесс на порядок.

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

Скаут
Автор
больше 1 года
Нейронки пока не умеют думать, если ты ещё не понял...

Кумир
больше 1 года

Тут люди порой с пеной у рта доказывают, что скидка в четверть цены это менее выгодно чем какие то жалкие 25%, а вы тут со сложными вычислениями....

Скаут
Автор
больше 1 года

Человек так устроен, что неосознанно напрягает извилины, когда есть возможность огромной наживы.

Искатель
больше 1 года

У меня вопрос!

Скаут
Автор
больше 1 года
Так задавай.

Скаут
больше 1 года
Тут без 💯 грамм не разобраться. Беру помощь зала.image862501170632555742842

Скаут
Автор
больше 1 года
Зал будет курить эту тему ещё с месяц, если вообще кто заинтересуется из зала. Сама же задача вполне укладывается в школьную математику.. класса до десятого.. ну и после десятого вполне можно вкурить алгоритмические и математические основы вообще всей эллиптической криптографии, чего хватит для решения задачи любым возможным способом, если он существует, а не только модификациями алгоритма "заяц-черепаха".
Искра
больше 1 года

Тут людям у рубль жалко за что-нибудь отдать, а вы про крипту. Это точно не то место :grin:

Скаут
Автор
больше 1 года
А я и не предлагаю никому ничего отдавать. Я предлагаю подумать.

Скаут
Заблокирован(а)
больше 1 года

а мог бы просто в 2009 накупить биткоинов за 50 центов до усрачки вместо того, чтобы голову всякой бредятиной забивать

Скаут
Автор
больше 1 года
Ты имеешь возможность это вот так вот написать только потому, что куча людей, приложивших руку к разработке используемых тобой для этого технологий, когда-то забивали голову всякой бредятиной...

Пламя
больше 1 года

Вот откуда ты это скопипастил, туда и иди общаться

Скаут
Автор
больше 1 года
Вообще-то я это из головы написал. Я около года исследую безопасность биткоина. И у меня действительно есть подписи от кошелька 135-го пазла, которых нет в блокчеине.
Для подтверждения одна из них:
r = 855c9c026476ce8ef1be0c6d7fb732ee79d4f214f5a178547df5bad9f0089ee8
s = 1b3ceac393a1125482832d6f3fae345ddd3e1e416c667607ce4233ca68bd6117
z = d16129c61ea3b49beadea12abe810f44d5bb699212eea2d201d7157b690c94a8
Так что это легко проверить.
К тому же мне известно ещё несколько приколов на кривой биткоина, которые никто и нигде не найдёт, потому что их тупо нет в публичном поле. Включая одну очень странную точку, x которой отличается от y всего на 1 младший бит.

Огненный шторм
больше 1 года

Причина тряски?

Скаут
Автор
больше 1 года
Идеи кончились

Мастер
больше 1 года

И чё?

default-user
Написать комментарий..
👋 Добро пожаловать в крупнейшее шопинг-сообщество в России!
Более 754 тысячи людей вроде вас присоединились к нашему сообществу и поделились более чем 387 тысяч скидок, набравшими более 15,86 миллионов комментариев, в которых люди обмениваются своими советами, лайфхаками и экспертным мнением.
Мы можем получать комиссию, когда вы переходите по ссылкам или совершаете покупки. Благодаря этому наша платформа остается бесплатной и нейтральной. Независимо от того, получаем ли мы комиссию, это никак не влияет на температуру скидок. Мы считаем, что только наше сообщество должно решать, какие скидки горячие, а какие — холодные.
© 2017-2026 Pepper.ru. Все права защищены.