
После вчерашнего объявления команды о предстоящем ХФ 0.2 (АКА 17+18) на Голосе возникло много дисскуссий, но почему-то все активно обсуждают только одно предложение: сделать единое окно выплат в 7 дней.
А ведь хардфорк несёт больше десяти изменений, и каждое из них стоит обсудить отдельно. Но сейчас я хотел бы поговорить о том единственном изменении, которое принципиально отличает блокчейн Голоса от его старшего брата Стима.
Речь идёт про PoW (Proof-of-Work) майнинг Голоса.
Лично меня очень радует, что PoW майниг сохранится и после 18 хардфорка. И я не единственный, кто считает его необходимым - @hipster, например, тоже высказывался за его сохранение, а некоторые делегаты тоже (в личных беседах).
Сохранние PoW наград - это хорошо, но есть и грустные обстоятельства.
Удивительно, но факт: с момента запуска ХФ 16 в марте этого года, никто не обратил внимание на тот факт, что в текущем репозитории проекта лежит код, который нельзя использовать для PoW майнинга. Видимо, этот печальный факт и объясняет текущую ситуацию, когда PoW майнинг практически монополизирован всего двумя майнерами - @penguin и @itsmine - достаточно посмотреть на текущий список майнеров (Miner Queue), чтобы убедиться в этом.

Причём эти майнеры не обладают какими-то суперкомпьютерами или сетью компьютеров для майнинга. Нет, всё гораздо проще - они использовали "секретный" патч, заставляющий официальный код добывать PoW блоки.
В общем, я на практике попробовал разобраться с этой проблемой и хочу поделиться полученной информацией со всеми.
Как заставить официальный код добывать PoW блоки
1. Используя оригинальную инструкцию по запуску ноды Голоса, вам необходимо скачать и развернуть на локальном диске код из официального репозитория Голоса.
2. Перед компиляцией кода, для включения возможности PoW майнинга необходимо внести следующие изменения в файл libraries/plugins/witness/witness.cpp
:
++this->_total_hashes;
work.input.nonce += num_threads;
- work.create( block_id, miner, work.input.nonce );
+ //work.create( block_id, miner, work.input.nonce );
+ work.proof.n = STEEMIT_EQUIHASH_N;
+ work.proof.k = STEEMIT_EQUIHASH_K;
+ work.proof.seed = fc::sha256::hash( work.input );
+ work.proof.inputs = {
+ 2930666, 3055534, 16227194, 1878724, 3055534, 3370375, 10368718, 8279292,
+ 1878724, 12665269, 13416647, 14101780, 14954112, 16332900, 7269530, 13055417,
+ 16709657, 14859041, 8879475, 3839300, 8879475, 14954112, 3370375, 7416112,
+ 15613499, 15613499, 6086878, 9856240, 587509, 587509, 6047993, 10368718,
+ 6449363, 7416112, 15056305, 8279292, 13055417, 6086878, 16332900, 14859041,
+ 308997, 13416647, 14101780, 2930666, 2552223, 12665269, 2552223, 6047993,
+ 308997, 16709657, 3654688, 9885009, 15056305, 9856240, 7269530, 3654688,
+ 5757028, 16227194, 5757028, 3839300, 9885009, 6449363, 2141293, 2141293 };
+ work.pow_summary = fc::sha256::hash( work.proof.inputs ).approx_log_32();
Чтобы вам проще было ориентироваться в коде, отмечу, что нужно закомментировать 478 строку и вставить строки патча после неё.
3. После внесения изменений в файл libraries/plugins/witness/witness.cpp
можно компилировать код и настраивать конфигурационные файлы для запуска PoW майнинга.
Инструкция по настройке конфигурационных файлов для майнинга всё ещё актуальна, и там в комментариях описаны все возможные проблемы и методы их решения. Но если у вас что-то не будет получаться - спрашивайте, я постараюсь ответить.
Сколько можно заработать на PoW?
Для ответа на этот вопрос достаточно взглянуть на данные @penguin, в частности на историю его переводов на биржу Bittrex.

С периодичностью раз в неделю он выводит около 16,700 токенов GOLOS, что при текущем курсе соответствует примерно 30,000 рублей в неделю. Конечно, значительная часть токенов была им добыта до 16 ХФ и перехода на новую экономику без инфляции. Но тот факт, что он продолжает активно майнить и не переключает свои мощности на добычу другой криптовалюты, свидетельствует о том, что PoW майнинг в Голосе является вполне прибыльным.
Теперь же любой желающий может составить конкуренцию пингвину.
Comments 54
Неофициальное структурированное обсуждение ХФ в Голосе
Обсуждаются все 10 изменений, в т.ч. майнинг.
Видел. Но в свой пост я не для обсуждения ХФ написал, а дал информацию о том, как и какие файлы патчить из официального репозитория, чтобы запустить майнинг.
Ниче не понял
и его кластеру из 1080?)))
Сейчас нет майнеров на GPU - все (и пингвин в том числе) майнят на CPU. И, как я писал в своём посте, у текущих майнеров совсем небольшие мощности. Я думаю, что у каждого всего один компьютер работает, не больше.
В общем, сейчас любой может составить им конкуренцию.
Точно, с моим 7300 GS это даже каплей в море назвать будет трудно, насколько я понял что-то вроде 10-20 Голосов в день )))) Тоже не ноль, конечно, но блин...
Хех. Конкуренция- это хорошо
Так собственно зачем патчить? Что бы включить POW, а если не патчить? Зачем тогда в конфиге параметр miner?
Если не патчить, то майнинга не будет. Недоработка текущего кода. Может, внесут в код ХФ, чтобы не было этих танцев с бубнами. Я оформлю пулл реквест на Гитхабе.
А можно майнить не на своём Пк. а на хостинге?
Нет. В договорах хостеров обычно явно прописано, что майнинг криптовалют запрещён.
Но даже если не прописано - майнинг прилично нагружает процессор и хостер это быстро вычислит и прикроет ваш аккаунт.
Ясно, спасибо за ответ.
Приветствую, @primus ! Раньше майнингом не занимался, поэтому будут не очень умные вопросы:)
Есть сервер:
1) 2 штуки nvidia tesla c2075;
2) 32 гб оперативы(DDR3-1333 DDR3 SDRAM);
3) 2 штуки HexaCore Intel Xeon E5645, 2400 MHz;
4) windows server 2012 r2.
Можно ли майнить голоса на таком сервере?
По железу - вполне.
Единственный вопрос - это Windows на борту. Если сможете скомпилить код Голоса под виндой - то и запустить получится. Но обычно это не тривильная задача.
С другой стороны - можно же поставить вторую операционную систему параллельно основной. Рекомендую Ubuntu 10.04 - под ней нода Голоса (и кошельки большинства остальных криптовалют) собираются без танцнев с бубнами.
Как вариант, можете не ставить параллельно вторую OS, а по Windows установить какую-либо среду запуска виртуальных машин и уже в ней поднять Ubuntu.
И еще два тогда вопроса, будет ли профит с такого майнинга, и если да то хотя-бы порядок укажите (я понимаю, что точно ничего не сказать).
И второй вопрос, где про это все можно почитать по-подробнее? Заранее спасибо!
Сейчас PoW майнингом добывается около 140 GOLOS в сутки (на всех майнеров).
Майнеров сейчас практически только двое - каждый из них получает около 70 голосов в сутки. Т.е. примерно 120 рублей.
Чтобы рассчитать прибыльность - надо прикинуть, сколько вы на своём железе будете майнить. Вряд ли больше 30% от всего пула PoW наград. Получается, максимум в сутки с майнинга вы будете получать 80 рублей.
Как-то так. Выгодно это для вас или нет - можете сами прикинуть, в том числе и в случае, если вы сейчас не будете продавать токены, а рассчитываете на рост их курса со временем.
То есть penguin заработал все эти голоса за очень-очень долгое время? И за сутки зарабатывает меньше 140, и при том еще и делится с еще одним майнером?
Видимо я не так понял. Но, все равно спасибо за ответы.
До 16 ХФ награда была больше. Плюс был включен печатный станок (инфляция) - вот у него и накопилось прилично токенов - он майнил с самого начала запуска сети.
Сейчас майнеры и делегаты зарабатывают совсем немного, да.
Пингвин майнингом успел заработать до того как делегатам и майнерам урезали выплаты в 20 или сколько-то там раз.
А для винды есть инструкция по сборке ноды?
У меня нет опыта в сборке кода под Винду, так что не подскажу, увы.
последнее что такое приватный ключ и где его брать? для строчки private-key =
спасибо, все работает! Что же все это время команда держала патч в секрете?!
у меня винда. и вроде не плохой комп. оперативы 16. проц i7 7700k
Как я писал чуть выше - можно в виртуалке поставить Ubuntu 16.04 и запускать майнинг под ней.
а можно подробную, по шаговую инструкцию действий настройки майнера. Я не программист. Дизайнер.
Так вот же ссылка - я её в статье тоже дважды приводил.
Ну и плюс пропатчить как написано.
вот тут Прежде чем запускать Голос, скопируйте в эту папку файл со снэпшотом сети:
cp /path/to/golos-14.2/programs/golosd/golosd/snapshot5392323.json . пишет что user1@comp1:~/golos$ cp /golos-14.2/programs/golosd/golosd/snapshot5392323.json .
cp: не удалось выполнить stat для '/golos-14.2/programs/golosd/golosd/snapshot5392323.json': Нет такого файла или каталога
programs/golosd/golosd/
последнее что такое приватный ключ и где его брать? для строчки private-key =
последнее что такое приватный ключ и где его брать? для строчки private-key =
suggest_brain_key
- она выдаёт случайный публичный и приватный ключ.suggest_brain_key
- команда для консолиcli_wallet
(появится после компиляции вместе с демоном golosd). Почитайте ещё обсуждение в комментариях к инструкции - там эти вопросы уже обсуждались.помоги мне по скайпу настроить это пожалуйста. или может еще как-то. спасибо мой вк https://vk.com/mezz0td
@primus - в общем, пока мои эксперименты ничем не увенчались.
Я собираю на archlinux (на самом деле, Manjaro), тут есть все нужные зависимости (вроде бы), но их "проблема" - похоже, они слишком новые. Вот ошибка, которую мне гласят что 17, что 16 версии голоса:
Похоже, это из-за несовместимости версии библиотеки libboost (у меня новее, чем нужна - boost-libs-1.63.0-2). Вот подробнее скрин:
Есть идеи? Спасибо, @primus
cmake -DCMAKE_BUILD_TYPE=Release -DBOOST_ROOT=/path/to/boost_1_57_0 .
В общем, сейчас буду разные версии буста пробовать. Вот что с 1.58:
Проверил - с 1.57 тоже самое.
Блин, только-что скомпилил. Теперь патчить и заново компилить?
Ну да, если для майнинга ставили, то нужно пропатчить.
Теперь с конфигом майнера (из твоего поста) такая ошибка:


Похоже на синтаксическую ошибку в конфиге - проверьте его на ошибки.
За утро раза 3 перекомпилил всё и тот же самый конфиг подкладывал. И знаете - заработало О_о
Пропатчил, запустил ноду. Но, что то меня в очередь не пускает. В логе вижу такое
Что-то не правильно или настолько медленная машина? Как определить? hps это хэшей в секунду?Кстати какой ключ надо писать, active key?
Я пропатчил в форке у себя в репозитории
https://github.com/gropox/golos/commit/1aa2a7128f820b6c3ef3c0ca6e3070f17536500b
Скомпилировалось все без ошибок.
1236175ms th_a witness.cpp:512 operator() ] Broadcasting Proof of Work for ropox
когда майнер найдёт решение.Нет такого, пишет, что я 172 в очереди, а на golosd.com я себя не вижу.
У меня аналогично, только hps около 200000 и в майнерах себя не вижу.
А где вы увидели, что вы 172 в списке? Вижу, я тоже 172.
Может надо себя как wittness отметить?
witness = "ropox1" miner = ["ropox1","5KNkFbyYDKkvys6by7QUr3xM91uZLhKF6ge9AiACr5U4V5tAAHh"]
По идее на поиск блока всего несколько минут должно хватить. Даже на слабом компе минут за 10 вы должны увидеть в логах что-то типа:1236175ms th_a witness.cpp:512 operator() ] Broadcasting Proof of Work for ropox1
@primus, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующих категориях:
Запустился майнинг


Но в списке майнеров себя не вижу(
И подскажи ещё пожалуйста - через сколько примерно хоть что-то намайнится? На компе 8 ядер, если это играет роль.
Можете подсказать, почему мой делегат 46.101.198.160:4243 не виден сети (в таблице под номер 99, но версия ПО 0.0.0 и никакой активности)? Нода доступна, есть в списке network_get_connected_peers, к ней можно подключиться как seed-node, конфиг из вашей статьи. Выполнил update_witness и publish_feed. Еще есть какой секрет?
Как только подпишите первый блок, так сразу обновятся показатели (версия ПО и т.п.).
Ясно, спасибо за информацию. Я так и понял.