Решил написать серию статей на возможные пути решения проблем, к которым многие уже привыкли.
Суть проблемы
Все жители голоса уже давно знакомы с проблемой нестабильной работы сети блокчейна, не по наслышке, а на своей шкурке. При том это так давно длится, что все уже смирились и привыкли.
Из-за постоянных форков сети или пропуска блоков,выходит так что все что делают пользователи - отправляют токены или создают посты, комментарии, голосуют за них - просто не сохраняется и все приходится делать дважды. Бывали случаи когда у меня пост создавался с 5 раза, так что со второго - это еще счастье.
Думаю мне не нужно рассказывать, что в реально жизни причинение любого ущерба наказывается либо штрафами, либо сроком. У нас в DPOS этого нет, и если ты в хороших отношениях с большими стейкхолдерами, можно вредить сети до бесконечности без последствий.
Решение проблемы
Решение должно быть реализовано на уровне кода самого БЧ.
Мой концепт идеи следующий:
- что бы попасть в очередь на создание блока делегат должен внести депозит, из которого будет вычтен штрав за отсуствие созданного блока по любой из причин.
- БЧ проверяет наличие средств, и формирует очередь на подписание блоков только из делегатов с депазитами, которых хватает на уплату штрафа
- после того, как очередь закончена и прошло время, после которого БЧ уже не откатить (45 секунд или 15 блоков для голоса), БЧ проверяет наличие блока от делегата согласно очереди. Если блока нет - то взымается штраф из депозита
- возращаемся к пункту 1
По моему мнениею, штраф должен быть равен суточной прибыли за подписание блоков. Т.е. накосячил - сутки работал бесплатно. И это нормально - наказывать тех, кто косячит. Если у делегата нет денег на нормальную ноду, то это не проблема других пользователей БЧ.
Плюсы как бонус
Все делегаты будут стараться следить и поддерживать работу нод. Качество их явно вырастет.
А те ноды которые начнут косячить после иссякания баланса просто перестанут попадать в очередь на подписание и не будут угрожать сети.
Все апп начнут работать стабильнее и будут меньше напрягать публичные ноды своими дублирующими запросами.
Ищем авторов, желающих писать для децентрализованого журнала The Crypto Nerds
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
xroni, niiu, gromkirill, svinsent, arhangel, yudina-cat, gapel, polyakov, vika-teplo, aiparnyuk, mryabinin, graff0x, duremarr, skiexpert, massatela, kanalex, gogirotsky, irimeiff, chirakovalsky, yakubovruslan, astramar, anykeycheg, irisworld, karabum
Поэтому я тоже проголосовал за него!
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
Эм, я конечно не силен в данной теме. Но куда будут поступать штрафы? Обиженным пользователям или еще куда?
это не важно в этой идеи. источкинов придумать можно миллион. яб сделал фонд развтия и давал бы гранты пользователям под проекты)
Разумно) Но вы правы, это уже второстепенный вопрос.
@t3ran13, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы опубликовали 4 постов в один день
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
из всего сказаного следуюет, что есть буфер транзакций общий у нод, и если они не записываются через одного делегата, то записываются у другого без потерь?
т.е. по факту пропуск блоков и форки вообще не критичны, лишь увеличивают задаржку с 3 секунд до Х?
Транзакция разлетается бродкастом на все ноды и там висит пока не попадёт в блок или пока не протухнет. Я тут на 100 процентов не знаю как оно всё работает, но с тех пор как я увеличил expire, у меня ни единой потери транзакций не было за несколько месяцев из-за форков сети.
Для истории (из чата goloscoretech):
Ну вот и разрулили всё, спасибо @gropox - нода просто выковыривает транзакиции из отброшенной цепи и они соответственно получают 2-й шанс попасть в основную цепь если expiration позволяет. См
database::pop_block
детали тут
https://golos.id/golos/@vvk/trx-expiration-draft