DAO и всё эфирное мне как-то не вштыривает. Хотя там сокровищ небось рассыпано мама не горюй.
Но декомпилировать байт-код в solidity - я теоретически могу попробовать, но практически понимаю,
что это адский труд с результатом, который может не окупить затраты.
А вот и нет! Вся прелесть в том, что если у контракта закрытый код - его никто никогда не будет использовать. Все контракты, которые чего-то стоят имеют не только открытый, но и верифицированный код. На etherscan.io есть верификатор, который компилит код и сверяет его с "бинарником" - и ставит на контракте галочку. Если галочки такой не будет, ни одна биржа и ни один толковый сервис контракт не залистит, и в итоге все что надо - изучить солидити - весь жир опенсорс.
Ну блин, вы про паззл вспомнили. Я текст про эту транзакцию опубликовал почти сразу же после того,
как эта транзакция появилась в блокчейне.
https://bitcointalksearch.org/topic/--932434Причем сразу предположил, что там рандомы, народ потом еще долго пытался найти функцию, а потом
и LBC организовали. Там интересная математика говорящая о том, что если в приватном ключе известно
какое-то количество начальных битов, то найти его (зная публичный ключ) можно быстрее, чем брутфорсом.
Но я уже этой математикой не владею. А учиться поздно.
Ну простите, великодушно, но это крайне любопытная и захватывающая тема (ну мне она, по крайней мере, такой показалась), хоть и старая.
Чисто для коллекции, неважно - это брейнваллеты или просто вы мне свой старый wallet.dat подарите, которым когда-то пользовались.
Платить за это я не готов, а в дар приму с удовольствием.
Фишка в том, что проверяя транзакции я генерил приватные ключи миллиардами и не использовал для этого стандартный кошелек битка (тем более что гребаный беркли дб это какой-то кромешный ад), а при попытке вгрузить в биткойнд много ключей - он умирает достаточно быстро.
Я делал примерно так - распарсил ВСЕ адреса битка, которые участвовали в любых транзакциях и повесил их в хэштаблицу в качестве ключей в память. Потом выпарсил из блокчейна все Txid, все номера блоков, заголовки блоков - и еще что в голову пришло, сделал из того что по длине подходило приватные ключи (если что-то не проходило по длине - хэшировал один-два раза и делал ключ из хэша). Потом из всей этой невмерущей базы ключей я делал адреса и каждый адрес прогонял на предмет совпадения с теми, что у меня лежали в памяти - если ключ существует - ура, я угадал чейто приватник, можно пробовать слазить в блокчейн и посмотреть на нулевой баланс
Я нашел десятки и сотни чужих ключей, но увы - все балансы обнулены.
Я конечно не перебрал и малой доли того, что планировал - для грамотного построения системы нужно два здоровущих "сервака" - в одном постоянно пополняющаяся база актуальных адресов, на другом (с в разы большей памятью - база адресов, от которых у меня есть ключи) и постоянно бегающий по ним скрипт, который делает лукапы между базами в надежде что свежак какой-то появился. Короче практически для этого надо превратить блокчейн в key-value, которое обновляется в реальном времени и долбится милионами запросов в секунду. Такую штуку можно оптимизировать и пытаться параллелить до бесконечности - но в итоге все упирается в то, найдется ли что-нибудь? Ответ нет - значительно вероятнее, чем да и не перевешивает тьму времени и денег которые надо вложить чтобы это реализовать не колхозно.
По хорошему до тех пор как адресов в битке меньше лярда, можно на приличном железе успевать делать хоть триллион лукапов (то есть лукапов конечно будет столько сколько адресов, но сопоставляться они будут с базой в произвольное кол-во адресов с известными ключами) за время генерации блока - лишь бы памяти хватило на базу приватников. Но потом уже дело табак будет.
Как-то так.