Изучаем кишки golos.io 5: разоблачение заговора наших майнеров и программистов + анонимная регистрация в golos
Продолжаю серию статей для софто-девелоперов и не только. В предыдущих сериях:
- Изучаем кишки golos.io: вечер 1
- Изучаем кишки golos.io 2: Регистрация в обход сайта
- Изучаем кишки golos.io 3: JS-версия без min и CLI-кошелек
- Изучаем кишки golos.io 4: скомпиленные бинарники golosd и cli_wallet для Ubuntu 16.0.4
Давеча увидел статью @primus PoW майнинг на Голосе умер? Да здравствует PoW майнинг! Инструкция по майнингу для тех, кто хочет попробовать, но у него не получается.
Это жесть! Я сначала не поверил своим глазам.
Оказывается официальная версия, которую можно скачать в 4 части расследования только делает вид что майнит. Да, она жрет все ресурсы вашего процессора, но выхлоп нулевой. Ни одного блока вы с помощью нее не соберете!
Пропатченная версия golosd
Я сначала подумал что все эти майнеры из списка (см. список майнеров под списком делегатов) имеют в своем распоряжении мощные вычислительные системы на самых современных видеокартах, и по этому у них получается, я вот уже несколько дней не могу собрать ни одного блока PoW! Ну ладно, думаю, хотя бы попробовал.
Но потом наткнулся на статью @primus, изучил решил попробовать. Пришлось патчить исходники и собирать пропатченную по инструкции от @primus версию.
Кому лень разбираться -- вот уже скомпиленные бинарники пропатченной версии для Ubuntu 16.0.4 amd64.
Итак, начал пробовал. Уже до дыр затер инструкцию по конфигурации и ничего не получалось.
Но потом обратил внимание на коммент к статье.
А вы попробуйте в конфиге указать несуществующий аккаунт. Как только PoW блок будет найден, аккаунт зарегистрируется.В конфиге это будут такие две строчки (предлогая, что имя нового аккаунта ropox1):witness = "ropox1"
miner = ["ropox1","5KNkFbyYDKkvys6by7QUr3xM91uZLhKF6ge9AiACr5U4V5tAAHh"]
По идее на поиск блока всего несколько минут должно хватить. Даже на слабом компе минут за 10 вы должны увидеть в логах что-то типа:
И действительно. Указал несуществующий аккаунт, вписал новый ключ, полученный с помощью cli_wallet и команды suggest_brain_key. Через 5 минут PoW-блок был собран и пользователь появился в системе.
Анонимно созданный пользователь
Кстати вот он:
А вот его ключ:
suggest_brain_key
{
"brain_priv_key": "LOGIC ASSEGAI PRINT SUNLAMP DILLING BURST OHMAGE CORCIR TOPTAIL FIDE CHALTA IPSEITY SMUTTY EITHER MANENT VICE",
"wif_priv_key": "5HuQpiBMw1VSU9b3LPjvRU69avraZ4NKoyqZfiHUoTAkHWKxTYr",
"pub_key": "GLS53uuBbfEQmYSmziAwasJ2Z6oSKi3VryPcBeDLgvVPPGkbgppqR"
}
Этот приватный ключ 5HuQpiBMw1VSU9b3LPjvRU69avraZ4NKoyqZfiHUoTAkHWKxTYr у него установлен в качестве всех ключей: и owner и active и пр.
Пользователь создан полностью анонимно, без привязки к моему аккаунту. Создание обошлось бесплатно, вернее в 5 минут майнинга на 4 ядерном компе, не шибко крутом.
Поле recovery_account у него пустое! Если создавать через cli_wallet, то в recovery_account будет указан ваш логин.
Берите, пользуйтесь! Можете публиковать от его имени любые сообщения через API -- у меня еще есть пачка таких пользователей!
А так же теперь вы можете сами создавать пользователей с помощью пропатченной версии.
В чем тут фишка
Это еще не все.
Вот, читал статью @ropox Как я пытался стать майнером, неожиданно стал делегатом
В какой то мере я повторил его путь. Посмотрите как человек радовался, когда он смог смайнить PoW-блок!
Когда я смайнил -- сил для радости уже не осталось. Настолько я был измучан попытками разобраться, бесконечным поиском и чтением мануалов steem, чтением статей и комментов.
А фишка в том, что смайнить PoW-блок пропатченной версией не сложно, но сделать это удается только 1 раз!!! Только один, Карл! Далее система опять только грузит процессор, но новые PoW-блоки не появляются.
Что я только не пробовал -- ну никак. Пробую добавить не существующего пользователя -- 5 минут, PoW-блок собран и пользователь зарегистрирован в системе. У меня уже целая пачка таких пользователей.
Пробовал делать вот что. Указать witness не себя а другого свидетеля. Ранее config-файл был таким:
witness = "ccmt1"
miner = ["ccmt1","5HuQpiBMw1VSU9b3LPjvRU69avraZ4NKoyqZfiHUoTAkHWKxTYr"]
Т.е. имя witness и miner совпадало, это был несуществующий в системе пользователь. А потом в качестве witness записал одного из делегатов из TOP19 (а именно @creator). И прога вновь попыталась отправить смайненный блок в сеть, но сказала что у меня нет ключа от @creator (высветило его публичный ключ и сказало что нет приватного). А вот когда в качестве witness указывал себя (свой второй аккаунт) или кого-либо не из TOP19 (они наделены особой ролью) -- то ключ не запрашивало и ничего в сеть не пыталось отправить.
Вот так, похоже что без ключа от witness из TOP19 PoW-майнинг возможен только 1 раз -- с помощью него можно создавать анонимных алкоголиков пользователей.