amaclin1 (OP)
|
|
November 21, 2018, 06:08:28 PM |
|
DAO и всё эфирное мне как-то не вштыривает. Хотя там сокровищ небось рассыпано мама не горюй. Но декомпилировать байт-код в solidity - я теоретически могу попробовать, но практически понимаю, что это адский труд с результатом, который может не окупить затраты. Еще есть вот - биткойн паззл в котором лежит ~31 битка (часть уже забрали, но значительная часть еще лежит) тьмущая битков которые ищут всем коллайдером - https://bitcointalk.org/index.php?topic=1306983.0 - сейчас консенсус в том, что ключи сгенерены рандомно в растущем "рендже", и если это так то дальше пытаться их искать практически бесполезно. Ну блин, вы про паззл вспомнили. Я текст про эту транзакцию опубликовал почти сразу же после того, как эта транзакция появилась в блокчейне. https://bitcointalk.org/index.php?topic=932434.0Причем сразу предположил, что там рандомы, народ потом еще долго пытался найти функцию, а потом и LBC организовали. Там интересная математика говорящая о том, что если в приватном ключе известно какое-то количество начальных битов, то найти его (зная публичный ключ) можно быстрее, чем брутфорсом. Но я уже этой математикой не владею. А учиться поздно. Но почти все, что написано в статье, кроме Sha256('password') x 1975 (This one's my favorite, someone's birth year?) - я нашел, разумеется с нулевыми балансами. Меня в принципе интересуют приватные ключи, которые были использованы в блокчейне, пусть даже сегодня там пусто. Чисто для коллекции, неважно - это брейнваллеты или просто вы мне свой старый wallet.dat подарите, которым когда-то пользовались. Платить за это я не готов, а в дар приму с удовольствием.
|
|
|
|
|
|
|
|
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
Destrodream
Member
Offline
Activity: 70
Merit: 12
|
|
November 21, 2018, 06:34:45 PM Last edit: November 21, 2018, 06:52:05 PM by Destrodream |
|
DAO и всё эфирное мне как-то не вштыривает. Хотя там сокровищ небось рассыпано мама не горюй. Но декомпилировать байт-код в solidity - я теоретически могу попробовать, но практически понимаю, что это адский труд с результатом, который может не окупить затраты. А вот и нет! Вся прелесть в том, что если у контракта закрытый код - его никто никогда не будет использовать. Все контракты, которые чего-то стоят имеют не только открытый, но и верифицированный код. На etherscan.io есть верификатор, который компилит код и сверяет его с "бинарником" - и ставит на контракте галочку. Если галочки такой не будет, ни одна биржа и ни один толковый сервис контракт не залистит, и в итоге все что надо - изучить солидити - весь жир опенсорс. Ну блин, вы про паззл вспомнили. Я текст про эту транзакцию опубликовал почти сразу же после того, как эта транзакция появилась в блокчейне. https://bitcointalk.org/index.php?topic=932434.0Причем сразу предположил, что там рандомы, народ потом еще долго пытался найти функцию, а потом и LBC организовали. Там интересная математика говорящая о том, что если в приватном ключе известно какое-то количество начальных битов, то найти его (зная публичный ключ) можно быстрее, чем брутфорсом. Но я уже этой математикой не владею. А учиться поздно. Ну простите, великодушно, но это крайне любопытная и захватывающая тема (ну мне она, по крайней мере, такой показалась), хоть и старая. Чисто для коллекции, неважно - это брейнваллеты или просто вы мне свой старый wallet.dat подарите, которым когда-то пользовались. Платить за это я не готов, а в дар приму с удовольствием.
Фишка в том, что проверяя транзакции я генерил приватные ключи миллиардами и не использовал для этого стандартный кошелек битка (тем более что гребаный беркли дб это какой-то кромешный ад), а при попытке вгрузить в биткойнд много ключей - он умирает достаточно быстро. Я делал примерно так - распарсил ВСЕ адреса битка, которые участвовали в любых транзакциях и повесил их в хэштаблицу в качестве ключей в память. Потом выпарсил из блокчейна все Txid, все номера блоков, заголовки блоков - и еще что в голову пришло, сделал из того что по длине подходило приватные ключи (если что-то не проходило по длине - хэшировал один-два раза и делал ключ из хэша). Потом из всей этой невмерущей базы ключей я делал адреса и каждый адрес прогонял на предмет совпадения с теми, что у меня лежали в памяти - если ключ существует - ура, я угадал чейто приватник, можно пробовать слазить в блокчейн и посмотреть на нулевой баланс Я нашел десятки и сотни чужих ключей, но увы - все балансы обнулены. Я конечно не перебрал и малой доли того, что планировал - для грамотного построения системы нужно два здоровущих "сервака" - в одном постоянно пополняющаяся база актуальных адресов, на другом (с в разы большей памятью - база адресов, от которых у меня есть ключи) и постоянно бегающий по ним скрипт, который делает лукапы между базами в надежде что свежак какой-то появился. Короче практически для этого надо превратить блокчейн в key-value, которое обновляется в реальном времени и долбится милионами запросов в секунду. Такую штуку можно оптимизировать и пытаться параллелить до бесконечности - но в итоге все упирается в то, найдется ли что-нибудь? Ответ нет - значительно вероятнее, чем да и не перевешивает тьму времени и денег которые надо вложить чтобы это реализовать не колхозно. По хорошему до тех пор как адресов в битке меньше лярда, можно на приличном железе успевать делать хоть триллион лукапов (то есть лукапов конечно будет столько сколько адресов, но сопоставляться они будут с базой в произвольное кол-во адресов с известными ключами) за время генерации блока - лишь бы памяти хватило на базу приватников. Но потом уже дело табак будет. Как-то так.
|
|
|
|
amaclin1 (OP)
|
|
November 21, 2018, 06:59:37 PM |
|
А вот и нет! Вся прелесть в том, что если у контракта закрытый код - его никто никогда не будет использовать.
А если найду? Фишка в том, что проверяя транзакции я генерил приватные ключи миллиардами и не использовал для этого стандартный кошелек битка (тем более что гребаный беркли дб это какой-то кромешный ад), а при попытке вгрузить в биткойнд много ключей - он умирает достаточно быстро. Это понятно. Меня не интересуют миллиарды приватных ключей. Я тоже умею запускать генератор брейн-валлетов, знаю что такое хэш-таблицы и тоже проверил несколько миллиардов вариантов. Я говорил о тех адресах, что были использованы в блокчейне, то есть были транзакции на адресе. Может быть остался список. Я б взял для коллекции. Как любой коллекционер я мечтаю о том, чтобы моя коллекция была бы самой полной.
|
|
|
|
Avraham Terra
Newbie
Offline
Activity: 6
Merit: 0
|
|
November 21, 2018, 07:03:40 PM |
|
Я тему про пазл давно видел, но тогда она меня не заинтересовала. Там абсолютно у всех WIF ключей большая часть совпадает?
|
|
|
|
amaclin1 (OP)
|
|
November 21, 2018, 07:21:25 PM |
|
Я тему про пазл давно видел, но тогда она меня не заинтересовала. Там абсолютно у всех WIF ключей большая часть совпадает? Ну чисто по способу их генерации. У первого ключа 255 ноликов в начале, у второго ключа 254 нолика, у третьего 253 нолика... Не "совпадает", а "известна". Плюс к этому известны публичные ключи - ведь автор этого паззла понял, что для перебора не надо проверять 256 бит, а достаточно перебрать 160 бит и перераспределил призовой фонд, тем самым показав народу публичные ключи.
|
|
|
|
Destrodream
Member
Offline
Activity: 70
Merit: 12
|
|
November 21, 2018, 07:46:07 PM |
|
Ну посуди сам - ты бы залистил на биржу контракт, который не понятно что делает? И даже будь ты полный хомяк, стал бы ты инвестировать в контракт, корый не понятно как работает. Я осознаю что мало кто читает код до того, как отправить свои денежки, но нормальное бабло на контракт начинают сыпать только тогда, когда за него впишется кто-то кто шарит (например биржа, в случае токенов). Контракты с закрытым кодом не собирают больших денег больших дураков. Это понятно. Меня не интересуют миллиарды приватных ключей. Я тоже умею запускать генератор брейн-валлетов Что-что а брейн воллетами я не увлекался никогда. Была мысль попробовать написать брутфорсилку брейнволлета, который бы искал ключ, если знаешь, например, слова, но не их порядок или не все слова, но потом передумал - гемора много, а слова обычно все лежат в одном месте. Практического применения нет у этой темы. Адреса я генерил именно как дедушка завещал - из двоичного инта, причем двумя способами - пакованый и непакованный. Просто ключи генерил не рандомно а из даннах которые уже в блокчейне есть в каком-то виде (например Txid - это готовый приватный ключ - и удивительно много адресов на которых были баллансы сделаны из Txid). Я говорил о тех адресах, что были использованы в блокчейне, то есть были транзакции на адресе. Может быть остался список. Я б взял для коллекции. Как любой коллекционер я мечтаю о том, чтобы моя коллекция была бы самой полной. Я гляну - вроде где-то сохранял список, но ничего не обещаю. Как любой коллекционер я мечтаю о том, чтобы моя коллекция была бы самой полной. Ну тут тебе повезло - просто начни с ключа: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 и прибавляй по единичке до 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 и все будут твои, даже этот: 0000000000000000000000000111111010001010111011101001101011011010001010011000100111001101011110111110011111011101111110011101001001101011001000001101011111011110101111011101101101101101001101001001101011001000001101011111011110101111011101101101101101001101
|
|
|
|
amaclin1 (OP)
|
|
November 21, 2018, 08:12:09 PM |
|
Ну посуди сам - ты бы залистил на биржу контракт, который не понятно что делает? А зачем его листить на биржу. Написал контракт, отправил на него какую-то сумму, а потом забыл про него, отформатировал винчестер и умер от удара скалкой, когда жена узнала какой херней муж занимается. И бабки на контракте лежат себе, ждут. И даже будь ты полный хомяк, стал бы ты инвестировать в контракт, который не понятно как работает. 99.9% криптоманов не понимают как работают криптовалюты. Я осознаю что мало кто читает код до того, как отправить свои денежки, но нормальное бабло на контракт начинают сыпать только тогда, когда за него впишется кто-то кто шарит (например биржа, в случае токенов). Контракты с закрытым кодом не собирают больших денег больших дураков. Ну, я не претендую на миллионы. Я лишь утверждаю, что найти можно. Надо лишь уметь искать. Я пока не умею. Но в отличие от многих других у меня есть опыт изучения предметной области. Просто ключи генерил не рандомно а из даннах которые уже в блокчейне есть в каком-то виде (например Txid - это готовый приватный ключ - и удивительно много адресов на которых были баллансы сделаны из Txid). Это подтверждает, что долбоёбов в мире всё ещё больше, чем нам кажется в наших самых смелых предположениях. и все будут твои, даже этот: 0000000000000000000000000111111010001010111011101001101011011010001010011000100111001101011110111110011111011101111110011101001001101011001000001101011111011110101111011101101101101101001101001001101011001000001101011111011110101111011101101101101101001101 Да, надо как-нибудь поставить телепортом скачиваться сайт directory.io За неделю, я так думаю, я его полностью себе на комп скачаю (у меня канал связи не очень широкий), а потом уже локально на машине буду обрабатывать результаты. ( Да, я тоже умею глумиться)
|
|
|
|
Destrodream
Member
Offline
Activity: 70
Merit: 12
|
|
November 21, 2018, 08:42:41 PM |
|
А зачем его листить на биржу. Написал контракт, отправил на него какую-то сумму, а потом забыл про него, отформатировал винчестер и умер от удара скалкой, когда жена узнала какой херней муж занимается. И бабки на контракте лежат себе, ждут.
Биржа это доступ к баблу юзеров. Если речь идет о токене - то дорога к баблу только одна - через биржу. 99.9% криптоманов не понимают как работают криптовалюты. Именно так, поэтому юзер пологается не на себя, а на авторитет, который скажет "норм, можно вливать" - но большая часть авторитетов не далеко ушла от юзеров (зачастую не по глупости, а просто времени мало прошло). А авторитет никогда не впишется не глянув в сорс. Ну, я не претендую на миллионы. Я лишь утверждаю, что найти можно. Надо лишь уметь искать. Я пока не умею. Но в отличие от многих других у меня есть опыт изучения предметной области.
Ну конечно, просто искать рыбу в прозрачном пруду, по моему, несколько проще чем в мутном болоте. Я уверен что на контрактах с открытым кодом куда больше денег чем на прочих. Просто ключи генерил не рандомно а из даннах которые уже в блокчейне есть в каком-то виде (например Txid - это готовый приватный ключ - и удивительно много адресов на которых были баллансы сделаны из Txid). Это подтверждает, что долбоёбов в мире всё ещё больше, чем нам кажется в наших самых смелых предположениях. Значительно больше. Хэш слова password - приватный ключ на котором был баланс. и все будут твои, даже этот: 0000000000000000000000000111111010001010111011101001101011011010001010011000100111001101011110111110011111011101111110011101001001101011001000001101011111011110101111011101101101101101001101001001101011001000001101011111011110101111011101101101101101001101 Да, надо как-нибудь поставить телепортом скачиваться сайт directory.io За неделю, я так думаю, я его полностью себе на комп скачаю (у меня канал связи не очень широкий), а потом уже локально на машине буду обрабатывать результаты. (Да, я тоже умею глумиться)
directory.io сдох - видать не вынес нагрузки твоего канала ) Только ты не понял - глум не в переборе - а в ключике.
|
|
|
|
croco8
Newbie
Offline
Activity: 56
Merit: 0
|
|
November 22, 2018, 11:27:34 AM Last edit: November 22, 2018, 11:50:34 AM by croco8 |
|
класс! как в Китае побывал, спасибо! ни хера из текста многоуважаемых гуру не понял, кроме того, что бабок не удалось срубить , но сюжет достоин сериала!)
|
|
|
|
amaclin1 (OP)
|
|
November 22, 2018, 11:59:27 AM |
|
класс! как в Китае побывал, спасибо! ни хера из текста многоуважаемых гуру не понял, кроме того, что бабок не удалось срубить , но сюжет достоин сериала!) Ну почему не удалось? Плохо ты читал Про таких говорят: смотришь в книгу - видишь фигу
|
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
November 22, 2018, 12:39:54 PM |
|
Там интересная математика говорящая о том, что если в приватном ключе известно какое-то количество начальных битов, то найти его (зная публичный ключ) можно быстрее, чем брутфорсом. Но я уже этой математикой не владею. А учиться поздно. Ничего там сложного нет, просто это две немного разные субстанции: известные начальные биты ограничивают диапазон перебора, а известный публичный ключ даёт стартовую точку (на EC) от которой можно делать baby step / giant step. Плюс к этому известны публичные ключи - ведь автор этого паззла понял, что для перебора не надо проверять 256 бит, а достаточно перебрать 160 бит и перераспределил призовой фонд, тем самым показав народу публичные ключи. Ключи известны только те, с которых автор убрал койны (т.е., выше 160 бит).
|
|
|
|
amaclin1 (OP)
|
|
November 22, 2018, 12:48:18 PM |
|
Ничего там сложного нет, просто это две немного разные субстанции: известные начальные биты ограничивают диапазон перебора, а известный публичный ключ даёт стартовую точку (на EC) от которой можно делать baby step / giant step. Все равно я это в гимназии не проходил. А на пятом десятке лет трудно уже мозги заставить работать. Ключи известны только те, с которых автор убрал койны (т.е., выше 160 бит). Ой, верно. Я плохо посмотрел.
|
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
November 22, 2018, 02:10:04 PM |
|
Все равно я это в гимназии не проходил. А на пятом десятке лет трудно уже мозги заставить работать. Да там не над чем мозги напрягать: тот же линейный перебор. К известной точке на эллиптической кривой (публичный ключ) последовательно прибавляются точки +1, +2, ... (т.е., вычисленные из приватного ключа 1, 2, ...). И так пока не упрёмся в одну из предвычисленных точек. Проблема там только в изобретении более нового (быстрого) алгоритма сложения, либо какой-нибудь сверхбыстрой реализации существующих - так-то с текущими там ловить уже особо и нечего.
|
|
|
|
amaclin1 (OP)
|
|
November 22, 2018, 02:51:12 PM |
|
К известной точке на эллиптической кривой (публичный ключ) последовательно прибавляются точки +1, +2, ... (т.е., вычисленные из приватного ключа 1, 2, ...). И так пока не упрёмся в одну из предвычисленных точек. Вот блин. Век живи, век учись. Ясен плинтус, что складывать два предвычисленных значения всяко проще, чем умножать p на G. Спасибо. Понятно объяснил. Еще бы кто так же понятно объяснил операции на эллиптической кривой. Я пытался понять, но так и не сумел, бросил. То есть в принципе понимаю что там они что-то крутят-вертят с вектором. Все-таки теорию групп/колец/полей я еще не совсем забыл из школьного курса. Но экзамен по операциям не сдал бы точно.
|
|
|
|
croco8
Newbie
Offline
Activity: 56
Merit: 0
|
|
November 22, 2018, 03:39:08 PM Last edit: November 22, 2018, 04:21:12 PM by croco8 |
|
класс! как в Китае побывал, спасибо! ни хера из текста многоуважаемых гуру не понял, кроме того, что бабок не удалось срубить , но сюжет достоин сериала!) Ну почему не удалось? Плохо ты читал Про таких говорят: смотришь в книгу - видишь фигу Да? Странно Наверное какую-то серию пропустил. Чесслово у меня сложилось впечатление, что не вы, а другие люди увели бабосы на 3+ BCH Ну, раз не так, то тем более все супер, раз еще и хеппиэнд!
|
|
|
|
n00by
Member
Offline
Activity: 172
Merit: 11
|
|
November 22, 2018, 08:31:24 PM |
|
...складывать два предвычисленных значения всяко проще, чем умножать p на G.
там хитрое сложение. Суть ниже Еще бы кто так же понятно объяснил операции на эллиптической кривой.
Порядок вычисления публичного ключа (координаты точки на эл.кривой): 1. Берем двоичную форму любого задуманного нами числа (32 бит) - приватный ключ. Публичный ключ = x(G) в этом моменте (пабкей) 2. Начиная с младших разрядов, используя технику умножения-сложения делаем следующее... Точка в бесконечности G (ее координаты) на каждом такте цикла складываются сами с собой (аккумулятор). Сложение точек на эл.кривой несложная мат.операция. При обходе битов приватного ключа в случае, если бит=1 складываем с (пабкей) результат акуммулятора. Итого: 255 операций тактов цикла внутри которого несколько операций сложения. В целом все бы ничего, но перебор очень затрудняют 2 операции: hash160 и sha256
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
November 23, 2018, 03:34:54 AM |
|
Приватный ключ = 1 сообщение = 2
Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить 1. публичный биткоин ключ 2. подпись сообщения ну и как проверить подпись тоже?
|
|
|
|
amaclin1 (OP)
|
|
November 23, 2018, 04:13:02 AM Last edit: November 29, 2021, 07:10:30 AM by xandry |
|
там хитрое сложение. Суть ниже Я знаю, что такое теория групп. И то, что сложение хитрое - знаю тоже. Сам пытался разобраться как оно работает. Но опять же - знаю это приблизительно. Ну какую отметку получит школьник по географии, если на вопрос "где находится америка?" ответит: "не знаю где, вроде где-то на карте видел и в книжке про нее читал, то есть то что она есть - я зуб даю, а вот показать указкой на карте - тут я точно щас обосрусь" Приватный ключ = 1 сообщение = 2 Подписывается не само сообщение, а его дайджест, то есть сперва мы "Войну и Мир" хэшируем каким-либо способом (в биткойне sha256d но можно и любым другим) до 256 бит, а потом уже скармливаем алгоритму подписи. Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить 1. публичный биткоин ключ 2. подпись сообщения ну и как проверить подпись тоже? Практически нереально, если рассматривать 256-битные числа. Но можно взять G=11 или G=13 и по идее сделать то же самое.
|
|
|
|
DevilOper
Member
Offline
Activity: 280
Merit: 26
|
|
November 23, 2018, 10:38:02 AM Last edit: November 29, 2021, 07:09:35 AM by xandry |
|
Еще бы кто так же понятно объяснил операции на эллиптической кривой. Ну там, если в дебри теории групп не лезть, тоже всё не особо сложно. Определили некоторое множество целых чисел (координата X, в первом приближении - приватный ключ), которые обозвали полем. Над этим множеством определили одну единственную операцию - где-то её называют умножением, где-то сложением, академическое название - групповой закон. (Отсюда из-за этих разных названий и возникает как правило путаница и непонятки.) Обозначается плюсиком в кружочке, я такого знака в таблице символов не нашёл - поэтому ниже буду писать просто +. (На самом деле, для вычисления этого "сложения"/"умножения" применяется целая формула.) Для ЕС есть ещё хитрушка: если две точки A == B, то A + B считается как правило несколько по иной формуле, чем если эти точки не равны (называется удвоение). Плюс ещё ввели некоторые сущности: точка в бесконечности O и обратный элемент, такой, что A + (- A) = 0. Все операции делаются по модулю, что дополнительно осложняет. Вкратце, это всё насчёт операций. Для криптографии на этой кривой выбирают точку-генератор G - её как-то там специально вычисляют, но в принципе, это просто любая точка на ЕС. Соответственно, все операции - т.е., вычисление публичных ключей из приватных 1, 2, 3, ... производят начиная от этой точки: G+1, G+2, G+3 ... Вот, как-то так. Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить 1. публичный биткоин ключ 2. подпись сообщения ну и как проверить подпись тоже? Практически нереально, если рассматривать 256-битные числа. Но можно взять G=11 или G=13 и по идее сделать то же самое. Формула подписи там несложная (сожнее вычислить публичный ключ) - но да, если возиться с 256-битными числами, да ещё по модулю, с тетрадкой и карандашом как-то совсем грустно.
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
November 24, 2018, 10:03:57 AM |
|
Кто-нибудь может пошагово описать: как с помощью тетрадки и карандаша получить 1. публичный биткоин ключ 2. подпись сообщения ну и как проверить подпись тоже? Практически нереально, если рассматривать 256-битные числа. Но можно взять G=11 или G=13 и по идее сделать то же самое. Формула подписи там несложная (сожнее вычислить публичный ключ) - но да, если возиться с 256-битными числами, да ещё по модулю, с тетрадкой и карандашом как-то совсем грустно. Ну допустим я могу в уме хэшировать, складывать, делить и умножать 255-битные числа. Как тогда в тетрадке карандашем мне из приватного ключа "1" получить 1. публичный биткоин-ключ, 2. цифровую подпись к числу "2" 3. проверить цифроыую подпись ?
|
|
|
|
|