что значит валидатор в крипте

О полезных тестнетах, Proof of Stake сетях и (не) пассивном доходе валидаторов

Интро

Есть три вещи на которые можно смотреть бесконечно: как горит огонь, как течет вода и то как майнят токены.

Если с PoW все более или менее ясно, и по большому счету когда мы сжигаем ресурсы, за это нам капают деревянные, то что с PoS? С одной стороны все замечательно. Экология, говернанс и вот это вот все… Но что делать с первоначальной дистрибуцией? В кошерном PoW, все как в лучших “домах Европы”. Пришел, увидел, намайнил. И вроде как дистрибуция получилась (это под вопросом, но справедливости ради — трушно). В PoS, все немного сложнее. Кому отдать первые монеты? Должен ли быть список избранных или возможно список провинившихся? Историй о тем как сетку захватывают мусорные стейкхолдеры (уж простите, но как есть) множество. Но речь не о них. Речь о том что какой бы не был алгоритм консенсуса, первоначальная дистрибуция должна быть доказуемой.

Как достичь идеальной дистрибуции?

Чтобы сэкономить читателю время, отвечу сразу — никак. Более того, блокчейн не решил проблему равномерного распределения богатств среди людей\ботов или любых других сказочных сущностей.

Так как жить дальше, спросит читатель. Жить можно. Существуют несколько вариантов которые можно и нужно применять в PoS сетях.

Первое решение это дроп. Дропы бывают разными (черными, белыми…). Правильный дроп, включает в себя (а) правильный выбор ЦА (это разработчики, полезные сообщества и тд), (б) дроп должен быть экономически доказуем, то есть чтобы его заклеймить, нужно быть уверенным в том что он выгоден и (в) равномерным и справедливым (сказать, вот тебе Виталик 10к крупными, увы, не достаточно).

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

Но как все это совместить в одном? Первыми эту задачу (почти) успешно решил Cosmos, при помощи Game of Stakes. Игра для валидаторов, в которой можно выбрать лучших, протестировать блокчейн в боевых условиях, исправить ошибки (а они будут). Также, решить как минимум две из трех проблем описанных выше — найти начальную точку дзена между разрабами и потоком денег и найти тех кто хочет решать ту проблему, ради которой сетка была запушена.

О полезных тестнетах

Итак, представим себе что у нас есть первоначальная ЦА, есть проблема и методика ее решения и даже полезный дроп. Так что представляет собой такая игра?

На примере Game of Links, — игра в которой валидаторы соревнуются между собой в различных дисциплинах, для того чтобы получить больше токенов. Это аптайм нод, наполнение цепочки полезной информацией. В случае с cyber, достоверные знания для Веб3 — и есть проблема, которую решает cyber. Это, тестирование говернанса и делегирования (начало баланса между деньгами и разработкой) и т.д. В Game of Links 6 дисциплин при помощи которых, валидаторы и пользователи могут получить часть от первоначальной дистрибуции проявляя активное участие в жизни сети.

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

Одно из решений это подарки (или дропы). На примере cyber, было подарено 10% всего сапплая монет сообществам Эфира, Космоса и Урбита (самые технологически развитые, самые умные и самые многообещающие). К подаркам была применена любимая квадратичная функция Виталика, которая позволила сделать его более равномерным и справедливым. Чтобы его забрать нужно прийти и поработать ручками. Такой подход отсекает аудиторию которой это не интересно. Если говорить о живых цифрах, то речь о более чем 1,000,000 адресов, которые получили подарок и могут уже принять участие в тестировании цепочки и наполнении ее полезностями.

Желательно чтобы такой тестнет имел набор инструментов для валидаторов. Речь о сборе метрик, интерфейсах, тестировании функции самой цепочки и т.д.

Где деньги Лебовски?

Речь о том что сейчас валидатроство становиться бизнесом. Причем по многим параметрам доходность обгоняет майнинг. Такие бизнесы были (и есть) на мастер нодах — верно. Валидаторство все же немного иное. Тут смесь понимания железа, софта и участие в жизни цепочки. Валидаторов наказывают (так называемый слешинг) за то что они забивают болт (уж простите мой французский). Валидатор активная сущность.

При правильном подходе к выбору цепочки, особенно на заре ее рождения, можно создать целый бизнес. Валидаторам делегируют токены, они получают комсу. Валидаторы валидируют цепку — получают награды. Все логично. На заре цепочке, как правило, инфляция выше, конкуренция меньше. А первые валидаторы доказывают свой интерес, свою надежность и строят свою репутацию. На примере Cosmos, Tezos и других некоторые сумели построить более чем успешный бизнес.

И что теперь делать?

Несмотря на образовательный характер статьи, речь непосредственно о блокчейне cyber. Наша задача выстроить открытое семантическое ядро и построить новый веб без посредников (ну разве что кроме самого блокчейна).

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

Сейчас уже идет Game of Links. Уже сейчас можно запускать валидатора, наполнять цепочку знаниями, строить репутацию и получать вознаграждения. Мы описали правила игры в нашем блоге. Сняли небольшое видео об игре и о том как поднять ноду валидатора.

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

Источник

Telegram Open Network: теория и практика от валидатора сети

В последние несколько месяцев всё внимание мирового блокчейн-сообщества было приковано к запуску одного из самых масштабных криптовалютных проектов — Telegram Open Network (TON).

Что на самом деле представляет из себя блокчейн TON? Является ли сеть TON действительно децентрализованной? Каковы её реальные возможности масштабирования? Как стать валидатором сети?

Ответы на эти и другие вопросы попыталась найти команда проекта Mercuryo, которая является активным участником тестовой сети с начала сентября 2019 г.

15 ноября 2019 сервисы Telegram переехали на testnet 2 и стартовала третья очередь тестирования. Наша команда продолжила участие в тестировании, став первыми валидаторами в сети после TON.

Для участия в процессе валидации, от пользователя требуется не только иметь достаточное количество монет (токенов GRAM), но и постоянно запущенный полный узел сети (TON Blockchain Full Node).Теоретически любой пользователь может стать валидатором при соблюдении условия, что он владеет минимально необходимой долей актива (в монетах Gram) в мастерчейне, но на практике возникает ряд вопросов, на которые ответит в данной статье наша команда.

Кроме этого, мы хотим поделиться опытом по использованию tonlib‑cli, т.к. в данный момент практически отсутствует задокументированная информация в отличие от базового варианта, подробно описанного в HowTo.

Основным компонентом Telegram Open Network является гибкая система блокчейнов, именуемая в дальнейшем TON Blockchain, которая, по утверждению самих разработчиков, способна обрабатывать миллионы транзакций в секунду, поддерживать полные по Тьюрингу смарт-контракты (Turing Complete Smart Contracts), обновляемые официальные блокчейн-спецификации, мультивалютные переводы, а также каналы микроплатежей для офф-чейн (Off‑Chain) платежных сетей.

Архитектура TON Blockchain является уникальной, так как обладает такими специфическими особенностями, как механизм “самовосстанавливающейся” вертикальной цепочки блоков (“self‑healing” vertical blockchain mechanism) и мгновенная маршрутизация в гиперкубе (Instant Hypercube Routing), которые позволяют блокчейну быть одновременно быстрым, надежным, масштабируемым и устойчивым.

Как уже говорилось выше, TON Blockchain– это условное название децентрализованной сети (совокупности цепочек блоков) или 2D-блокчейн, состоящий из трёх основных типов блокчейнов.

Master blockchain или Masterchain (Мастерчейн) – единственная в своём роде цепочка блоков, содержащая общую информацию о протоколе и текущих значениях его параметров, набор валидаторов и их долей, набор активных в данный момент воркчейнов и их «шардов», а также набор хэшей последних блоков мастерчейнов и шардчейнов.

Working blockchains или Workchains (Воркчейны) — множество (до 232) блокчейнов, которые являются «рабочими лошадками», содержащими транзакции по перемещению активов и смарт-контракты. При этом отдельные воркчейны могут иметь свои собственные «правила», форматы адресов аккаунтов, форматы транзакций, различные виртуальные машины (ВМ) для смарт-контрактов, разные базовые токены или криптовалюты и т.д. Но все они должны удовлетворять некоторым основным критериям функциональной совместимости для обеспечения относительно простого взаимодействия между собой.

Таким образом, TON Blockchain по своей сути является гетерогенным, также как блокчейны EOS и Polkadot. Shard blockchains или Shardchains (Шардчейны) – подмножество блокчейнов (до 260) внутри множества воркчейнов, обеспечивающее работу системы шардинга и имеющее те же правила и формат блоков, что и у воркчейнов. Шардчейны содержат только подмножество аккаутнов, в зависимости от нескольких первых (наиболее значимых) битов адреса каждого конкретного аккаунта. Поскольку все шардчейны имеют общий формат и правила построения блоков, цепочка блоков TON в этом отношении является гомогенной и отвечает требованиям, описанным в одном из предложений по масштабированию Ethereum.

Каждый блок шардчейна (также как и мастерчейна) на самом деле не просто блок, а небольшой блокчейн. Как правило этот «блочный блокчейн» или «вертикальный блокчейн» состоит ровно из одного блока, таким образом его можно считать просто блоком соответствующего ему «обычного» блокчейна (или «горизонтальной цепочки блоков»). Однако, если возникает необходимость в исправлении некорректных блоков, то в «вертикальную цепочку блоков» вводится новый блок, содержащий либо замену действующего «горизонтального» блока, либо «разницу блоков», содержащую только описание тех частей предыдущей версии блока, которые нуждаются в замене. Этот специфический для TON механизм замены обнаруженных некорректных блоков без необходимости хардфорка получил название 2D-блокчейн, или просто 2-блокчейн.

TON предлагает блокчейн на основе Infinite Sharding Paradigm (парадигма бесконечного шардинга), использующий традиционный механизм доказательства владения (Proof of Stake или PoS). Согласно документации разработчика: «Практически все реализации блокчейнов, использующих шардинг, основаны на модели «сверху вниз»: сначала мы представляем себе один блокчейн, а затем решаем, как разделить его на несколько взаимодействующих друг с другом частей (шардчейнов) для повышения эффективности и увеличения масштабируемости.»

Подход TON к шардингу основан на принципе «снизу вверх», заключающемся в том, что исходный блокчейн уже является предельно масштабируемым, а каждый отдельный шардчейн содержит только один аккаунт или смарт-контракт. На следующем уровне у нас есть огромное количество «цепочек аккаунтов», каждая из которых описывает переходы между состояниями только одного аккаунта и посылает друг другу сообщения, содержащие информацию о транзакциях. При этом нецелесообразно иметь сотни миллионов блокчейнов, обновления (т.е. новые блоки) в каждом из которых появляются довольно редко, поэтому, для их более эффективной реализации, мы сгруппировали эти «цепочки аккаунтов» в «шардчейны», каждый блок которого по сути представляет собой совокупность блоков цепочек аккаунтов, которые были привязаны к данному конкретному шарду. Таким образом, «цепочки аккаунтов» на самом деле являются всего лишь виртуальными или логическими блоками внутри реально существующих «шардчейнов».

Этот механизм проливает свет на многие из проектных решений блокчейна TON и мы называем его «Парадигмой бесконечного шардинга» (Infinite Sharding Paradigm)».

Консенсусная сеть TON состоит из различных типов узлов: валидаторы, номинаторы, фишеры и коллаторы.

Валидаторами являются узлы PoS и производители блоков. Фишеры следят за консенсус-сетью с целью найти ошибку или выявить предположительно злонамеренный узел консенсуса и в случае, если фишер однозначно подтвердит, что узел является таковым, он получает вознаграждение в виде конфискации части доли этого валидатора.

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

Номинаторы предоставляют свои активы (токены Gram) валидаторам взаймы с целью получения прибыли. Фактически номинаторы не входят в инфраструктуру валидаторов, а только разделяют свою крупную первоначальную долю актива между ними в обмен на пропорциональный процент от общего вознаграждения.

Таким образом, схема и размер вознаграждения, которое получают номинаторы, полностью зависит от результатов работы валидаторов, при этом номинаторы «голосуют» за валидаторов, предоставляя им взаймы токены Gram. В роли номинаторов могут выступать как индивидуальные владельцы токенов, так и пулы, которые управляют средствами отдельных пользователей TON и одновременно выступают в роли валидаторов, действуя как делегаты посредством смарт-контракта TON. При этом суммарное вознаграждение такого пула распределяется между его участниками пропорционально их вкладам.

Сам процесс генерации новых блоков происходит следующим образом: некоторое определенное количество валидаторов по специальному алгоритму выбирают пригодные для валидации блоки мастерчейна (шарды), затем для каждого такого шарда отбирается меньшее подмножество валидаторов в порядке, определенном псевдослучайным способом с интервалом приблизительно каждые 1024 блока.

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

Далее валидаторам необходимо достигнуть консенсуса на основе алгоритма BFT (Византийский протокол отказоустойчивости), аналогичного протоколу pBFT или Honey Badger BFT. Затем, после достижения консенсуса, создается новый блок, при этом комиссии за транзакции распределяются между валидаторами.

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

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

Команда проекта Mercuryo является активным участником тестовой сети, с сентября 2019 г., и за время тестирования у нас накопился некоторый опыт, которым мы бы хотели с вами поделиться.

Взаимодействие с сетью TON, так или иначе, сводится к использованию TL спецификаций, которые описывают способы взаимодействия по API. Файлы спецификаций доступны по ссылке.

Существует три типа API:

ton_api — для взаимодействия с Full Node validator-engine

lite_api — для работы с lite-client

tonlib — здесь собрано всё, что касается кошелька и это единственный доступный публично API tonlib-cli

Самый простой способ создать кошелёк — это использовать Test Gram Wallet, который доступен на официальном сайте для операционных систем Windows, macOS и Linux.

Также существует несколько способов взаимодействия через интерфейс командной строки: базовый и при помощи tonlib-cli. К сожалению, на данный момент совместимости между ними нет.

Здесь мы будем рассматривать только те инструменты, которые предлагают сами разработчики TON. Если базовый вариант подробно задокументирован в HowTo, то информация по использованию tonlib-cli практически отсутствует.

Как упоминалось выше, в TON существует 3 API для разных задач. За функции, связанные с работой кошелька, отвечает tonlib. Для начала работы с tonlib-cli, помимо самого интерфейса командной строки, необходимо иметь файл конфигурации для подключения к публичному liteserver сети TON, который доступен по ссылке.

Подключение осуществляется командой:

Источник

Как запустить свой блокчейн: проводим игру валидаторов

что значит валидатор в крипте. Смотреть фото что значит валидатор в крипте. Смотреть картинку что значит валидатор в крипте. Картинка про что значит валидатор в крипте. Фото что значит валидатор в крипте

что значит валидатор в крипте. Смотреть фото что значит валидатор в крипте. Смотреть картинку что значит валидатор в крипте. Картинка про что значит валидатор в крипте. Фото что значит валидатор в крипте

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

Проектирование и запуск блокчейна имеют свои нюансы. Их можно легко упустить при планировании, если вы неверно оценили объем и сложность задачи.

Чтобы помочь проектам избежать таких ошибок, руководитель отдела исследований MixBytes Сергей Прилуцкий подготовил пошаговое руководство по запуску блокчейна.

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

Задачи валидаторов

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

Часто от нового проекта ожидают такое качество документации и поддержки, чтобы любой новичок мог стать валидатором, прочитав инструкцию README на Github. Это хорошо для децентрализации, но плохо для запуска стабильной и качественной сети. Лучше три профессиональных девопса, чем сотня новичков, которые потратят время разработчиков или бросят запуск на полпути. Со временем проект обязательно дорастет до уровня, когда любой сможет легко запустить ноду и стать валидатором.

На этом этапе особенно важно найти хороших валидаторов. А хороший валидатор должен:

Поддержка нод аналогична поддержке серверов высоконагруженных сервисов, которые проверяют при помощи нагрузочных тестов и пентестинга. Но имеются и свои нюансы: требуется постоянный мониторинг адресов и балансов валидатора, автоматизированные участия в голосованиях и т.п.

Для успешного запуска сети вам понадобятся несколько десятков опытных девопсов или талантливых новичков, которые смогут самостоятельно запустить ноды и поддерживать их в случае проблем с кодом или внешних атак.

Для этого есть отличная идея, о которой мы узнали от проекта Cosmos: провести игру-соревнование между потенциальными валидаторами, в которой проверяются все вышеописанные навыки.

Игра валидаторов

У специалистов по безопасности есть соревнование, которое называется “Capture The Flag”: команды атакуют сервера друг друга, пытаясь раздобыть секретные “флаги” с серверов противника, одновременно защищая свои.

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

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

Блокчейны могут использовать свои токены в качестве награды для валидаторов-победителей. Заработанные в соревновании токены могут быть перенесены в основную сеть, либо команда проекта может пообещать победителям место среди валидаторов основной сети.

Критерии победы

Определить критерии игры сложно, поскольку часть из них невозможно подтвердить в децентрализованном окружении. Валидаторы и команда проекта не знают друг друга, и определить наибольший uptime (% времени, когда сервис был доступен) можно только централизованно. Сервис, измеряющий данные параметры, может быть атакован или ему попросту могут не доверять, а в случае расхождения результатов что-то доказать крайне сложно. Если вы хотите использовать традиционные параметры для оценки качества IT-сервисов, необходимо сразу выбрать судью и смириться с тем, что игроки будут собираться централизованно.

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

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

Для игры валидаторов можно использовать и экономические параметры. Например, при изначально равных балансах победителей можно определить по количеству токенов, заработанных за время игры. Если в блокчейне валидаторы зарабатывают на комиссиях с транзакций или существуют дополнительные механизмы получения прибыли (например, реферальная система), их могут использовать для “накрутки” токенов. С другой стороны, валидаторы, которые отправляют транзакции самим себе и на этом зарабатывают, автоматически нагружают всю сеть и заставляют других валидировать свои транзакции. Валидаторы могут самостоятельно “атаковать” сеть, т.е. тестировать в экстремальном режиме, что крайне полезно.

Не стоит забывать, что в алгоритмах консенсуса часть блоков (или все) валидируются и подписываются сразу группой валидаторов. Кроме того, на кону могут стоять серьезные деньги. Например, валидатор может исправить код так, чтобы нода пропускала часть проверок и безоговорочно принимала транзакции. Таким образом, он получит преимущество в скорости перед другими валидаторами и освободит ресурсы. Если в сети только “хорошие” транзакции, такое мошенничество могут не заметить. Поэтому во время игры имеет смысл нагружать сеть также и невалидными транзакциями, чтобы цепочки с блоками, пропущенные нечестными валидаторами, откатывались.

Кто игроки?

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

Для PoW-сетей важно иметь максимальное число майнеров любого качества, так как они лишь помогают пулам подбирать хеши блоков. В Proof-of-Stake и Proof-of-Authority отвечают за безопасность данных в блоках, их ответственность гораздо выше, а отключение — проблема.

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

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

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

Как проводить?

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

Для сценария игры нужно определиться с функционалом и заранее описать его валидаторам. При этом, как я упомянул выше, не забывайте о проблеме “ленивого валидатора”. Даже если ваши сценарии звучат заманчиво, это еще не значит, что валидаторы будут активно действовать. Зачастую, им ближе парадигма “работает — не трогай”. Они не будут активно атаковать других валидаторов, оптимизировать ноды и пристально следить за игрой, а просто постараются поддерживать сервера.

Помните, что для валидаторов “игра” — это тысячи долларов, сотни часов опытных девопсов, мощные сервера, исследование нового ПО и поддержка 24/7. Без серьезной награды ни одна компания не выделит серьезные ресурсы, поэтому следует трезво оценивать мотивы валидаторов.

Ниже несколько возможных этапов игры:

1. Нагрузка сети случайными транзакциями

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

Есть и более гибкая стратегия, работающая в DPoS-сетях. В сети размещается контракт-giver (его еще называют faucet), который отдает любому из валидаторов фиксированное число токенов в единицу времени. Валидатор может на постоянной основе обращаться к этому контракту (создавая транзакцию) и использовать полученные токены для продвижения в топе валидаторов. В противном случае через некоторое время его вытеснят более активные участники. Этот подход стимулирует валидаторов постоянно формировать новые транзакции, одновременно нагружая и тестируя сеть.

2. Нагрузка сети невалидными транзакциями

Как я описал выше, нечестные валидаторы могут отключить проверку цифровой подписи транзакций и сэкономить ресурсы CPU, чтобы лучше противостоять большому потоку транзакций. Имеет смысл отправлять в сеть невалидные транзакции — тогда блоки, подписанные нечестными валидаторами, будут отсеиваться честными. Пытаться поймать обманщиков таким путем стоит, только если на кону действительно большие деньги или влияние.

3. Проведение DoS-атак на валидаторов

В данном случае игра будет наиболее полной, а валидаторы столкнутся с самыми серьезными проблемами — им придется уводить свои машины из под атаки, менять IP-адреса, оперативно отсекать трафик атакующих и т.п. Как и в случае с нагрузкой транзакциями, лучше всего, если валидаторы сами будут атаковать друг друга с целью получить преимущество в количестве произведенных блоков. Но для этого девопсам придется на время стать злоумышленниками и использовать ПО для проведения атак. Кроме того, более богатые участники могут использовать купленные облачные мощности и повлиять на ход игры.

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

4. Обновление кода

Обновление кода ноды — штатная задача, которую должен уметь выполнять любой валидатор, поскольку с ним придется столкнуться в основной сети. Эти процедуры могут быть как очень простыми, так и довольно сложными (например, если требуется replay цепочки с нуля).

Лучший вариант — если баг не позволяет производить новые блоки, а исправление — восстанавливает этот функционал. В этом случае те валидаторы, которые быстрее смогли обновиться (а, возможно, и перестроить цепочку с genesis блока) смогут быстрее вернуться к производству блоков и получат преимущество в игре.

5. Другие сценарии

Существует множество сценариев, которые можно включить в игру. Команда проекта может добавить бонусы за действия, полезные для сети: публикацию кода для мониторинга и управления нодами, активность в governance-протоколах и т.д. Все ограничено только вашей фантазией.

Однако помните о “ленивых валидаторах”. Если награждаемые действия требуют сложных взаимодействий или разработки специализированных инструментов, валидаторы вряд ли пойдут на это.

Заключение

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

Предыдущие статьи цикла читайте на ForkLog:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *