Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
ropox
6 лет назад

HF 16.5 или что делать с нерадивыми майнерами

Наверное многие замечали последние месяца три, что иногда не переводятся монеты, не доходят апвоты, пропадают посты или комментарии.

Мне кажется я нашел причину этому. Может быть я ошибаюсь, возможно причина в другом. Пусть поправят меня разработчики @kotbegemot и @nemo1369 если я не прав.

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

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

Encountered a block num collision due to a fork. Walking the current fork to determine the correct block. block_num:12152554

Я посмотрел в коде, там вот этот код выдает это сообщение

Как видно, нода запрашивает блок под определенным номером и получает из базы два блока под одним номером. Это не нормально, это говорит о том, что произошел форк. Нода в данном случае берет самую длинную цепочку, а один из блоков отбрасывает.

От куда взялся второй блок? Я честно говоря досконально не изучал вопрос, но по словам разработчиков, это происходит в том случае, если подписант (делегат или майнер) работает через две ноды с одинаковым ключем. То-есть подписант подписывает сразу два блока одновременно. Часть транзакций попадает в один блок, а часть в другой с тем же номером. Как вы догадываетсь, так как один из блоков отбрасывается, то с ним теряются и данные записанные в нем. Чей то пост, апвоты, переводы.

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

Что бы понять, в чем причина, я добавил логгирование в этот код. Посмотреть, кем были подписаны блоки с одинаковыми номерами и получил список (смотри ниже) фигурантов этого дела за сутки работы. Как видно в основном это bla, grub и так далее. Это майнеры. В списке есть и делегаты, но их не так много и скорее всего причина у них другая. Я думаю медленная сеть или проблемы с нодой. @lehard и @xanoxt надо проверить свои ноды. Возможно пересмотреть списки сидов и убрать те, к котором пинг большой.

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

Что можно сделать если владелец этих майнеров не откликнется? Я не знаю. На мой взгляд на данный момент сеть оказалась беззащитной перед нашествием бусурманов. У голоса нету механизмов противодействия этой болезни. На заре стимита, была возможность забрать у подписантов всю их СГ, но эту возможность почти сразу убрали. Убрав майнинг и вовсе убрали вероятный источник этих проблем. Майнинг конечно сам по себе не виноват, виноват владелец, который не правильно использует его.

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

Ну и как вариант, можно отключить сам майнинг. В блокчейне golos он бесполезен. У нас DPOS, то-есть подписанты выбираются голосованием и им нет нужды доказывать свою нужность перебирая хэши. Мне майнинг жаль только потому, что с его помощью можно создать полностью анонимный аккаунт, не привязанный ни к кому.

В любом случае надо делать ХФ. Потому я и предлагаю, пока ХФ 17 еще не готов, выпустить минорный релиз 16.5 с отключенным майнингом. Это добавит стабильности сети, и думаю пойдет всем на пользу.

Не будет вопросов "я проголосовал за пост, а мне не пришел откат", "я перевел монеты бустеру, а они не дошли и бустер не проголосовал" или "я написал пост, его показало мне в ленте, а через пол минуты он исчез как и не бывало"

За одно сделаем хотя бы одно доброе дело до НГ и покажем, что не зря нодами заведуем и можем договариваться )

Как на это смотрят другие делегаты и разработчики? Может есть какой то другой, не такой радикальный способ?

@arcange, @on0tole, @vik, @on1x, @primus, @litvintech, @smailer, @creator, @dmilash, @dr2073, @phenom, @kuna, @lockchained, @lehard, @testz, @anyx, @vitaly-lvov, @roelandp, @dark.sun, @aleksandraz, @yudina-cat, @xtar, @litrbooh, @good-karma, @cheetah, @xanoxt, @jesta, @kulturagolosa, @stakepool, @vvk, @dreamer, @someguy123, @golos.loto

UPD:

В телеграме ко мне обратился хозяин этих майнеров

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

Так что дело действительно было в двух нодах. Примерно с момента обращения была только одна коллизия, вызванная нодой @lehard. Эх не бывать ХФ до НГ )

      1 baybak
      1 bla1
      1 bla13
      1 bla14
      1 bla18
      1 bla19
      1 bla20
      1 bla21
      1 bla22
      1 bla23
      1 bla24
      1 bla26
      1 bla33
      1 bla40
      1 bla5
      1 bla6
      1 bla8
      1 grub10
      1 grub13
      1 grub14
      1 grub16
      1 grub21
      1 grub23
      1 grub25
      1 grub26
      1 grub29
      1 grub3
      1 grub8
      1 grub9
      1 grud10
      1 grud1
      1 grud4
      1 grud5
      1 grud6
      1 mway1
      1 mway27
      1 mway28
      1 mway30
      1 mway3
      1 mway4
      2 bla30
      2 bla32
      2 bla38
      2 grub15
      2 grub17
      2 grub20
      2 grub22
      2 grub27
      2 grub30
      2 grub4
      2 grud
      2 grud3
      2 grud7
      2 jesta
      2 mway23
      2 mway29
      3 bla
      3 bla34
      3 grub
      3 grub1
      3 grub12
      3 grub28
      3 xanoxt
      4 bla17
      4 grub11
      4 grub5
      4 lehard
3
293.175 GOLOS
На Golos с February 2017
Комментарии (30)
Сортировать по:
Сначала старые