что такое валидатор в криптовалюте
Валидаторы блокчейн-платформы Ethereum 2.0. Перспективы и риски проекта
В предыдущей статье мы рассказали о том, что представляет собой обновление сети Ethereum 2.0, для чего нужен этот апгрейд и как будет работать обновленная платформа. Сегодня мы поговорим о перспективах и рисках платформы, а также в валидаторах и их роли в экосистеме Ethereum 2.0.
Кто такие валидаторы
Валидаторы или стекинг-провайдеры – это узлы, которые берут на себя все основные задачи для поддержания работоспособности блокчейн-сети: безопасность, распределение вознаграждений стейкера-делегатам, предоставление статистики нод и пр.
Стейкеры выбирают понравившегося валидатора и делегируют ему свои монеты ETH, что позволяет им попасть в стейковый пул, располагая меньшей суммой, чем требуется для валидатора. Валидаторы, в свою очередь, взимают за свои услуги небольшую комиссию, но всю необходимую работу берут на себя.
Everstake приняла участие в сети Ethereum 2.0 и запустила собственный узел в тестнете для поиска ошибок и возможностей для улучшения работы сети. В настоящее время сеть работает в тестовом режиме, и вознаграждения пока не распределяются. Но пользователи могут отслеживать статистику узла, в том числе и возникающие ошибки во время работы.
Отслеживать валидатора Everstake можно по этому адресу.
Зачем нужно стейкать
Стейкеры делают платформу более децентрализованной, поддерживают стабильность и безопасность блокчейн-сети. Чем больше майнеров, тем лучше работает сеть, и она более безопасна. Взамен стейкеры получают вознаграждение.
Валидаторы сети не только голосуют за то, какой блок добавить в блокчейн. Они ссылаются на конкретный блок из истории блокчейна и также голосуют за него. Таким образом связываются начальные и конечные точки блоков. Блок проходит голосование, если более ⅔ участников проголосовали за него.
Что будет с майнерами после запуска сети
После перехода на новый алгоритм есть вероятность, что многие майнеры перестанут поддерживать старую сеть, поскольку изменится подход к майнингу и для стейкинга не потребуется больших затрат на электроэнергию. Ethereum – одна из самых популярных монет среди майнеров. В отличие от Bitcoin, ее до сих пор не составляет труда добывать мелким частным майнерам. Поэтому сохраняется высокий риск капитуляции майнеров, в том числе и крупных майнинг-пулов.
Другой риск связан с возможностью падения курса криптовалюты. После того, как валидаторы застейкают монеты, они замораживаются, и вывести их возможно будет не ранее, чем через 18 часов. Напомним, что минимальная сумма монет для стейкинга в Ethereum 2.0 составляет 32 ETH. При падении цены есть вероятность, что вознаграждения не покроют убытки стейкеров.
Перспективы проекта
Сейчас Ethereum находится на второй позиции по капитализации в списке популярного статистического ресурса CoinMarketCap. Масштабирование сети может привлечь больше участников, а область ее применения значительно расшириться. Рядовые стейкеры могут делегировать свои монеты валидаторам, и им не потребуются большие затраты на майнинговые фермы, чтобы участвовать в работе сети Ethereum 2.0.
Следите за новостями и обновлениями Everstake, подписавшись на рассылку новостей на нашем сайте и присоединяйтесь к обсуждениям в наших соцсетях по ссылкам ниже.
Крипто-валидаторы и как они работают
Крипто-валидаторы — это «платёжные системы» в децентрализованных сетях, и как таковые они производят вознаграждения в блокчейне.
Звучит просто, не так ли? Однако роль валидаторов в криптовалюте намного сложнее и глобальнее, чем это определение. Кроме того, роль валидатора может измениться в зависимости от механизма консенсуса, который использует каждый блокчейн.
Сегодня мы подготовили для вас целое руководство по валидаторам в блокчейне. Мы более подробно расскажем кто такие крипто-валидаторы и как и стать.
Кто такие крипто-валидаторы?
Крипто-валидатор — это участник блокчейна, ответственный за проверку транзакций. Когда он определяет точность транзакции, валидатор добавляет её в распределенную книгу учёта. Таким образом, легитимность блокчейна и, следовательно, его прозрачное функционирование остаются неизменными.
Самый простой способ понять, какую роль играют валидаторы, — вернуться к определению блокчейна.
Блокчейн — это система, функционирующая на основе распределенного реестра информации. Сеть узлов (компьютеров) поддерживает этот регистр, сохраняя и одновременно запуская одну и ту же его версию.
Блокчейн подобен книге (реестру) с бесчисленным количеством авторов (узлов). Каждый из этих авторов может внести свой вклад в эту книгу. Однако, прежде чем они это сделают, они должны получить одобрение других авторов. Именно тогда другие узлы или их делегаты анализируют данные автора. И, если он точен, они проверяют его и добавляют в реестр в новом блоке.
Количество валидаторов различается в разных цепочках блоков. Кроме того, процесс проверки может варьироваться в зависимости от механизма консенсуса каждого блокчейна. В конце концов, цепочка может содержать только точные данные, которые прошли проверку всего сообщества.
В большинстве блокчейнов пользователи получают вознаграждение за выполнение роли валидатора. Таким образом, система стимулирует своих участников продолжать процесс расширения бухгалтерской книги.
Типы крипто-валидаторов
Может показаться, что работа валидатора блокчейна не так уж и сложна. Вы получаете некоторые данные, проверяете их точность и подтверждаете их или нет. Однако проверку новых блоков в распределенной бухгалтерской книге легче сказать, чем сделать.
Валидаторы Proof-of-Work
Блокчейны Proof-of-Work (PoW) требуют, чтобы валидаторы показали, что они «работали» над проверкой данных, прежде чем добавлять их в цепочку. Вот почему в этих бухгалтерских книгах валидаторы получают более распространённый термин «майнеры».
Биткоин является первым блокчейном PoW и самым популярным блокчейном, использующим этот механизм консенсуса. Майнеры используют мощные компьютеры, для вычисления данных, поступающих в виде математических головоломок. Первый майнер, успешно проверивший новый блок данных, получает вознаграждение за блок. По состоянию на сентябрь 2021 года эта награда составляет 6,25 BTC.
Валидаторы Proof-of-Stake
В блокчейнах с Proof-of-Stake (PoS) пользователи должны поставить определенную сумму собственного токена книги, чтобы стать валидаторами. Кроме того, система может выбирать валидаторов случайным образом и вознаграждать только тех, кто «правильно» участвует в сети.
Некоторые из самых популярных блокчейнов PoS включают Ethereum, Avalanche и Solana. Эти бухгалтерские книги используют Proof-of-Stake, чтобы стимулировать пользователей к блокировке стоимости в сети. Таким образом, они обеспечивают его быстрый прогресс и развитие.
Задача византийских генералов
Блокчейны, которые не используют PoW или PoS в качестве механизмов консенсуса тоже используют валидаторы. Например, Stellar — это блокчейн, работающий на основе византийской цепочке генералов.
Когда децентрализованная бухгалтерская книга использует этот механизм, некоторые узлы могут предоставлять неточные данные для проверки. Эти узлы могут быть повреждены и намеренно неправильно использовать сеть. Однако до тех пор, пока большинство узлов валидатора являются честными, процесс проверки гарантирует точность. В результате он добавляет больше данных в цепочку, несмотря на вредоносные действия некоторых его узлов.
В Stellar процесс проверки с самого начала предсказывает, что некоторые сообщения могут быть повреждены. Однако данные могут быть проверены до тех пор, пока сомнительные сообщения превышают одну треть от общего числа. В противном случае транзакция станет недействительной.
Разница между валидаторами и майнерами
Получение вознаграждений за проверку данных в блокчейне может значительно увеличить ваши криптоактивы. Но какой блокчейн лучше всего платит валидаторам? И в чём разница между крипто-валидаторами и майнерами?
Майнеры являются участниками блокчейна на основе PoW, которые инвестируют в высокопроизводительные компьютеры, чтобы быстро и эффективно решать математические задачи. Эти машины часто дороги и сильно влияют на окружающую среду. Кроме того, в долгосрочной перспективе интеллектуальный анализ данных может принести меньшую выгоду, чем связанные с этим затраты.
У майнереров и валидаторов очень схожие роли. Они должны убедиться, что сеть, которую они поддерживают, расширяется за счёт точных данных.
Валидаторы снижают затраты на поддержание эффективного функционирования блокчейна. Кроме того, это может изменить затраты на электроэнергию и правила. Данный способ заработка более доступен и устойчив к рискам, с которыми сталкивается любой майнер.
Как стать валидатором?
Чтобы стать валидатором блокчейнов с Proof-of-Stake, вы должны застекать свои активы.
Рассмотрим четыре наиболее популярных PoS-сети, которые используют данную систему.
Валидаторы Ethereum (ETH)
Ethereum постепенно перешходит к механизму консенсуса с подтверждением ставки (PoS). Как только миграция закончится, участники Ethereum превратятся в валидаторов, залочив не менее чем на 32 ETH в стекинге. На момент написания этой статьи эта сумма составляла примерно 107 200 долларов.
Система будет случайным образом выбирать валидаторы для создания новых блоков. Они будут отвечать за проверку и подтверждение блоков. Стекинг должен стимулировать валидатора предоставлять точные данные и хорошее поведение. В противном случае он может потерять часть своих крипто-активов.
Как стать валидатором Ethereum
На данный момент для того, чтобы стать валидатором в Ethereum вам потребуется:
С помощью этих простых действий вы можете обеспечить надежную работу цепочки. Кроме того, вам следует воздерживаться от вредоносных действий, перехода в автономный режим или отказа от проверки. В противном случае вы потеряете значительную часть своих активов. В обмен на честную проверку вы получите 10% годовых от стекинга.
Валидаторы Solana (SOL)
Solana — это блокчейн с высокой пропускной способностью и один из самых успешных криптопроектов последнего времени. С момента своего запуска в начале 2020 года он быстро превратился в платформу для более чем 400 проектов, охватывающих DeFi, NFT, Web3 и другие направления.
Solana использует Делегированное подтверждение участия (DPoS) для механизма консенсуса. Это означает, что любой, у кого есть собственный токен платформы, SOL, может стать валидатором. Однако вы можете делегировать свой SOL валидатору, который выполняет всю работу за вас. Вам не нужна минимальная сумма для стекинга. У вас может быть только 1 SOL, и вы будете активной частью Solana в качестве делегатора.
Валидатор получает стеки от делегаторов, что увеличивает его шансы на большее количество слотов и, следовательно, на большее количество наград.
Как делегатор, вы можете отозвать свой стек в любое время. Вы можете сделать это независимо от производительности валидатора и без объяснения причин.
Как стать валидатором Solana
В Solana вы можете легко выйти за рамки роли Делегатора и стать Валидатором. Однако вам придётся соответствовать большему количеству требований.
Одним из предварительных условий является изучение того, как работает Solana. Этот блокчейн работает в эпохи, которые могут длиться от 2 до 3 дней. Кроме того, каждая эпоха состоит из 420 000 блоков и целевого времени блока 400 мс.
Как валидатор, вы должны голосовать за каждый отдельный блок. Чтобы заработать награды, вы не можете пропустить ни одну из них. Более того, вознаграждения представляют собой фактор процентного успеха в голосовании и доли, которую вы имеете по сравнению с остальной частью сети.
Например, если вы владеете 2% от общей ставки сети и голосуете за каждый блок, вы получаете 2% от вознаграждения. И, чтобы достичь этой производительности, вам понадобится:
По состоянию на сентябрь 2021 года Solana набирает обороты и привлекает инвесторов с поразительной скоростью. В результате требования к проверке на этом блокчейне должны увеличиться как по мощности, так и по затратам.
Валидаторы Polkadot (DOT)
Polkadot — это уникальный тип блокчейна, который соединяет несколько сегментированных цепочек в одну гетерогенную архитектуру. Кроме того, это позволяет внешним сетям объединяться в качестве настраиваемых «парашютов» первого уровня для доступной связи. Проще говоря, это взаимосвязанный интернет блокчейнов.
Polkadot считает, что как алгоритмы подтверждения работы, так и алгоритмы консенсуса с подтверждением ставки являются экологически неблагоприятными. Таким образом, сеть использует экологически совместимый алгоритм номинированного подтверждения доли участия (NPoS).
NPoS работает благодаря двум ключевым ролям — валидаторам и номинаторам, которые обеспечивают максимальную безопасность. Валидаторы берут на себя ответственность за создание новых блоков, проверку блоков парачейна и обеспечение завершенности. С другой стороны, номинанты могут поддержать выбранных валидаторов стекингом в виде токенов DOT.
Как стать валидатором Polkadot
Чтобы стать валидатором Polkadot, вам необходимо запустить узел, поддерживающий сеть 24/7 и 365 дней в году. Это означает, что вам нужно будет взять на себя большую ответственность. Кроме того, вам понадобится:
Помимо необходимости запуска узла, вам придется проверять данные из блоков парачейна. Кроме того, вам нужно будет принять участие в процессе консенсуса, который утверждает блоки от других валидаторов. Взамен вы получите вознаграждение за блокировку и комиссию за транзакции.
Если вы не будете соблюдать согласованные алгоритмы Polkadot, вы можете столкнуться с тяжелыми последствиями. Наказания варьируются от удаления части вашего стекинга DOT до полной конфискации ваших DOT и постоянного запрета. Этот процесс в этой сети называется «сокращение».
Вы всегда можете стать номинантом на Polkadot, если не хотите брать на себя роль валидатора. Как номинатор, вы можете выбрать, какой валидатор поддерживать, в зависимости от их поведения и производительности. Вы стекаете произвольное количество DOT и получаете долю вознаграждений валидатора.
Валидаторы Avalanche (AVAX)
Avalanche — одна из самых быстрых платформ смарт-контрактов в блокчейн-индустрии. Как и другие блокчейны, он использует разновидность механизма консенсуса с подтверждением ставки для обеспечения своей безопасности и точности своих данных.
Как стать валидатором Avalanche
Вы можете стать валидатором в Avalanche имея обычный домашний ПК. Точнее, на вашем компьютере должен быть процессор с частотой не менее 2 ГГц, 4 ГБ оперативной памяти и 10 ГБ свободного места на диске. Кроме того, вам придется постоянно держать в стеке минимум 2000 долларов в AVAX.
Avalanche не практикует «рубку». Таким образом, если ваш компьютер отключится, вы перестанете получать вознаграждения только до тех пор, пока не вернетесь в Интернет. Вознаграждение валидатора Avalanche варьируется от 7% до 12% годовых.
Заключение
Технология блокчейн принесла нам различные способы пассивного и активного дохода. Работа валидатора сочетает в себе эти два способа заработка. Во-первых, вам необходимо иметь относительно мощный компьютер (узел) для поддержки безопасности и функционирования сети. Во-вторых, пока вы отвечаете всем требованиям, ваши вознаграждения могут существенно вырасти в фоновом режиме.
Валидатор в криптовалюте
Валидаторы – это основа всей системы блокчейна. Именно они позволяют передавать информацию между блоками и обеспечивают безопасность сети, составляя собственные метрики, которые позже передаются в головные офисы. Валидатор стоит между всеми пользователями, информацией и самой цепочкой блоков.
Содержание
Валидаторы – это узлы в системе блокчейна, которые берут на себя задачи по поддержанию работоспособности сети. Они распределяют вознаграждения за участие в стейкинге, предоставляют статистику сети, контролируют целостность блоков и т.д. Именно валидаторы – основные действующие лица в любой конкретной сети блокчейна. Но для поддержания работоспособности и выполнения поставленных задач требуются монеты, которые предоставляет сообщество.
При стейкинге каждый вкладчик выбирает определенного валидатора, которому будут передано вознаграждение. Без передачи активов нельзя стать участником пула и получать пассивный доход. Система взимает определенную сумму в качестве платы за предоставленные услуги. Комиссия небольшая, но из-за большого количества участников и объемов вложенных средств, общий доход относительно крупный.
Каждый имеет возможность стать валидатором, но для этого ему потребуется большое количество монет, и чем больше, тем лучше. Но возможно это только в случае, когда узел функционирует без сбоев. Неполадки могут привести к штрафным санкциям. Система наказания необходима для защиты сети от сторонних атак.
Система пулов позволяет любому пользователю участвовать в таком типе добычи, даже если его количества активов недостаточно для запуска собственного валидатора. При этом не требуется брать на себя обязанности по работе, ведь оператор пула осуществляет все действия самостоятельно.
Валидатор – это комплекс программного обеспечения. Человек или команда лишь запускают его, настраивают и контролируют. Сам комплекс ПО может существовать уже без участия “создателя”. Неграмотно настроенный нод уязвим к DDOS-атакам и иным вторжениям со стороны хакеров. Поэтому при выборе валидатора необходимо обращать внимание на его создателя, т.к. при подключении к слабозащищенному узлу вкладчик может потерять все свои активы.
Каждый валидатор отличается друг от друга размером ставки, техническим состоянием узла, количеством задействованных токенов. Несмотря на то, что большинство инвесторов в пулы не обращают внимание на них, они играют важнейшую роль и напрямую влияют на получаемый доход от вложений.
Каждая сеть имеет собственный набор валидаторов. Они отличаются друг от друга в нюансах работы. Особенно интересно наблюдать за становлением Ethereum 2.0, где валидаторы сети еще только развиваются и встречаются с большим количеством недоработок и программных ошибок. Из-за постоянных сбоев, ноды не всегда могут стать валидаторами, хотя имеют достаточное количество активов для поддержания качественной работы сети.
Как стать валидатором
Процедура может отличаться в зависимости от сети, в которой будет работать система. Для открытия пула рекомендуется изначально ознакомиться с инструкцией, которую можно найти на сайте разработчика платформы, например, Ethereum ( launchpad.ethereum.org ). В ней содержится не только последовательность действий, но и критерии, без соответствия которым нельзя стать валидатором. В случае с ETH 2.0 потребуется иметь компьютер минимум с процессором Intel Core i5-760 или эквивалентом от AMD, 4 ГБ ОЗУ, SSD, скорость интернета от 10 Mbps и бесперебойный источник питания, предотвращающий прерывание соединения с сервером сети. Чем выше характеристики машины, тем выше производительность и скорость работы валидатора в сети.
Общие шаги становления валидатором в любой сети.
Также каждый разработчик пула может обратиться к сервисам, которые предоставляют услугу Validador-as-a-service (валидатор как услуга). Тогда компания-подрядчик самостоятельно выполнит всю работу по настройке и управлению узлом. Этим способом пользуются владельцы крупных активов и инвесторы. Для частных лиц с небольшими средствами такой вариант не подходит, т.к. затраты будут непропорциональны полученному доходу.
Как они находят ошибки сети
Для поиска ошибок используется вся возможная информация с сервиса, включая визуализацию множества метрик с серверов. Благодаря сопоставлению получаемой информации, команды могут понять, что именно происходит в данный момент. Быстрый поиск и исправление ошибок – это выгодно для всех участников проекта.
После нахождения любой ошибки, блокчейн начинает собирать воедино всю информацию и логи от валидаторов на собственной машине от разработчиков цепи. Все переданные данные являются достоверными, т.к. любое сокрытие информации может привести к краху всей системы.
Как защищается блокчейн от атак
Каждая сеть имеет свой механизм защиты, в котором обязательно участвуют валидаторы. Именно от них разработчики сети получают необходимую информацию о состоянии отдельных блоков и различные метрики, позволяющие сформировать полную картину и найти проблему или противодействовать атаке.
В поддержании сети принимают участие сразу несколько валидаторов, которые соперничают друг с другом. Но гонка за прибылью продолжается до того момента, пока не появляется какая-то проблема. Тогда разные проекты начинают сотрудничать друг с другом.
Какая выгода брать на себя эти функции и сколько на этом можно заработать
Каждый из валидаторов имеет доход, который формируется в зависимости от того, когда был окончен цикл валидации. Прибыль состоит из эмиссии новых токенов и оплаты за подтвержденные блоки. Смарт-контракты построены таким образом, что они не дают возможности валидаторам претендовать на награду пользователей, который сформировали пул. Это позволяет избавить систему от недобросовестных участников.
Награда валидатору выплачивается пропорционально стейку. Если он предоставил стейк в 5% от общего размера пула, то он получит 5% от общего размера вознаграждения. Лучше всего валидаторство подходит для предпринимателей и компаний, которые имеют достаточно ресурсов и находчивости для создания новых изощренных алгоритмов награждения и наказания пользователей. Новаторские идеи всегда могут привлечь куда большее количество заинтересованных лиц, нежели стандартное поведение.
Валидаторы в Ethereum 2.0
Валидаторы в сети Ethereum 2.0 должны соответствовать хотя бы минимальным требованиям к железу. В противном случае система не будет выдавать необходимую мощность для поддержания сети в рабочем состоянии и ее защиты. Также потребуется иметь хотя бы 32 ETH, чтобы запустить узел.
На данный момент в сети Ethereum 2.0 насчитывается более 181 тыс. валидаторов. Сама сеть уже прошла аудит, который подтвердил полную безопасность.
Что такое игра валидаторов или “как запустить proof-of-stake блокчейн”
Итак, ваша команда закончила alpha-версию вашего блокчейна, и пришло время запускать testnet, а затем и mainnet. У вас настоящий блокчейн, с независимыми участниками, хорошей экономической моделью, безопасностью, вы спроектировали governance и теперь пора бы попробовать все это в деле. В идеальном криптоанархическом мире, вы выкладываете в сеть genesis block, окончательный код ноды и валидаторы сами все запускают, поднимают все вспомогательные сервисы и все случается само собой. Но это в выдуманном мире, а в реальном, команда должна подготовить довольно много вспомогательного софта и различных манипуляций чтобы помочь валидаторам запустить устойчивую сеть. Об этом данная статья.
Запуск сетей на базе консенсусов типа “proof-of-stake”, где валидаторы определяются голосами держателей токенов системы является довольно специфическим мероприятием, ведь даже запуск традиционных, централизованно управляемых систем с десятками и сотнями серверов сама по себе непростая задача, а блокчейн нужно стартовать усилиями лояльных, но независимых участников. И, если в корпорации, при запуске администраторы имеют полный доступ ко всем машинам, логам, общему мониторингу, то валидаторы никого не подпустят к своим серверам и, скорее всего, предпочтут строить свою инфраструктуру самостоятельно, ведь она контролирует доступ к основным активам валидатора — стейкам голосующих. Именно такое поведение позволяет строить распределенные безопасные сети — независимость используемых облачных провайдеров, виртуальных и “baremetal” серверов, разные операционные системы, все это позволяет сделать атаки такой сети крайне неэффективными — слишком много разного софта используется. Например в Ethereum используется две основных имплементации ноды, на Go и на Rust, и атака, эффективная для одной имплементации не работает для другой.
Поэтому все процессы запуска и эксплуатации блокчейнов должны быть организованы так, чтобы любой валидатор, или даже небольшая группа валидаторов, могли бы в любой момент выкинуть свои компьютеры в окно, и уйти, при этом ничего не должно сломаться и оставшиеся валидаторы должны продолжать эффективно поддерживать работу сети и подключать новых валидаторов. При запуске сети, когда один валидатор в Европе, второй в Южной Америке, а третий в Азии, добиться согласованной работы нескольких десятков независимых групп и заинтересовать их в результате довольно сложно.
Валидаторы
Давайте представим себе запуск гипотетического современного блокчейна (большая часть описываемого подходит для блокчейнов на базе любого современного семейства блокчейнов: Ethereum, EOS, Polkadot, Cosmos и других, в которых предусмотрен консенсус proof-of-stake. Главными действующими лицами таких блокчейнов являются команды-валидаторы, занимающиеся установкой собственных независимых серверов, валидирующих и производящих новые блоки, и получающие награды предусмотренные сетью для тех, кто участвует в консенсусе. Для запуска новых сетей требуется несколько десятков валидаторов (столько сейчас могут более-менее эффективно достигать консенсуса за секунды), поэтому проект объявляет регистрацию, при которой валидаторы делятся публичной информацией о себе с пользователями, убеждая их в том, что собираются качественно обслуживать запускаемую сеть.
Валидаторство — бизнес, который позволяет крайне точно оценивать потенциальный доход валидатора, быстро переносить мощности между проектами, а в случае успеха выбранной им сети, валидатор может как полноценный участник DAO и ответственное лицо развивать проект, либо просто предоставлять отличный технический сервис за полностью прозрачные честно заработанные деньги. При расчете награды валидаторам проекты стараются учитывать расходы валидаторов и делать награду за блоки такой, чтобы этот бизнес был прибыльным, но при этом не давал бы валидаторам обрушить экономику завалив их деньгами и лишив их остальных пользователей сети.
Валидаторство — лишь одна из новых потенциальных IT-ролей для предпринимателей и компаний, по мере придумывания программистами все более изощренных алгоритмов, позволяющих награждать честность и наказывать обман и воровство, появляются сервисы, выполняющие функции публикации важных данных(оракулов), выполняющие надзор (слэшинг депозитов и наказание обманщиков путем публикации доказательства обмана), сервисы разрешения споров, страховок и опционов, даже garbage collection является потенциально большим рынком в системах смарт-контрактов, где необходимо платить за хранение данных.
Проблемы запуска блокчейна
Открытость блокчейна, сделавшая возможным свободное участие в работе сети компьютеров из любых стран и простота подключения к сети любого script kiddie по инструкции на GitHub не всегда является преимуществом. Погоня за новым токеном часто заставляет валидаторов “помайнить новую монетку на старте”, в надежде на рост курса и возможность быстро скинуть заработанное. Также, это означает, что вашим валидатором может быть кто угодно, даже аноним, за него можно так же голосовать, как и за других валидаторов (правда, анониму будет трудновато собрать за себя голоса стейкхолдеров, так что страшные сказки про анонимные криптовалюты оставим политикам). Тем не менее
У команды проекта есть задача — как-нибудь заполучить в свою сеть тех, кто в будущем способен обеспечить стабильную работу нод, разбирается в безопасности, умеет быстро решать проблемы, кооперироваться с другими валидаторами и действовать совместно — от этих качеств в полной мере зависит качество того самого токена, в который собрались вложить свое время и ресурсы участники сети. Адекватные фаундеры, оценивая риски, хорошо понимают, что при запуске ПО такого объема обязательно придется столкнуться с ошибками в коде, конфигурации нод, и что стабильность сети зависит от того, насколько хорошо разработчики и валидаторы совместно будут решать подобные проблемы.
Команда готова голосовать в mainnet за любых валидаторов, вот только знать бы за каких, какие хорошие? Самым большим портфолио? Его сейчас почти ни у кого нет. По профилям команды в Linkedin? Опытных девопсы или безопасники не будут вам давать никакие профили в Linkedin. По заявлениям в чате, постам и помощи другим на этапе подготовки? Хорошо, но субъективно и неточно.
Game of Validators
Я опишу игру валидаторов так, как мы проектировали ее для блокчейна DAO.Casino (DAOBet) на основе форка EOS, который называется Haya и имеет близкий механизм governance — валидаторы выбираются голосованиями с любого аккаунта, при котором часть баланса, которым голосуют за валидатора замораживается. Любой аккаунт, имеющий на балансе основной токен BET может проголосовать за выбранного валидатора любой частью своего баланса. Голоса суммируются и по итогам строится top валидаторов. В разных блокчейнах этот процесс организован по-разному, и обычно именно в этой части новый блокчейн отличается от родительского, и, надо сказать, что в нашем кейсе EOS полностью оправдывает “OS” в своем названии, мы действительно используем EOS как базовую операционную систему для разворачивания модифицированной версии блокчейна под задачи DAOBet.
Я буду описывать отдельные проблемы и то, как их можно решить в рамках игры. Представим сеть, в которой твой сервер могут открыто атаковать, где чтобы удержать позицию валидатора нужно непрерывно взаимодействовать с сетью, продвигая своего валидатора и следя за тем, чтобы он производил блоки и они вовремя доставлялись до остальных валидаторов, иначе, валидатор будет выброшен из списка.
Как выбрать top победителей?
Главное техническое требование к игре — чтобы ее результаты были публично проверяемы. Это означает, что результаты игры: TOP победителей, должен быть сформирован строго на основе данных, которые может проверить любой участник. В централизованной системе мы могли бы измерять “uptime” каждого валидатора и награждать тех, кто больше был online или пропустил через себя максимум сетевого трафика. Можно собирать данные о загрузке процессора, памяти и наградить тех, кто достойно трудился. Но любой такой сбор метрик означает существование центра сбора, да и ноды все независимые и могут вести себя как хотят и отправлять любые данные.
Поэтому естественное решение — победители должны определяться по данным из блокчейна, так как по нему можно увидеть кто из валидаторов какой блок произвел и какие транзакции в него были включены. Мы назвали это число Validator Points (VP), и их зарабатывание и есть основная цель валидаторов в игре. В нашем случае, самой простой, легко публично проверяемой и эффективной метрикой “полезности” валидатора является VP = число_произведенных_валидатором_блоков за заданный временной период.
Такой простой выбор обусловлен тем, что governance в EOS уже предусматривает множество возникающих проблем, так как EOS — наследник уже трех поколений реально работающих блокчейнов с большим опытом сложного управления сетью, и, практически любые проблемы валидатора с сетью, процессором, диском ведут лишь к одной проблеме — он подписывает меньше блоков, получает меньшую оплату за работу, что ведет нас опять же просто к числу подписываемых блоков — для EOS это отличный и простой вариант.
У других блокчейнов, способ подсчета Validator Points может отличаться, к примеру для pBFT-based консенсусов(Tendermint/Cosmos, консенсус Aura из Parity Substrate), где каждый блок должен быть подписан множеством валидаторов, имеет смысл считать отдельные подписи валидаторов, а не блоки, возможно, имеет смысл учитывать не завершенные раунды консенсуса, которые тратят ресурсы других валидаторов, в общем это сильно зависит от типа консенсуса.
Как смоделировать реальные условия эксплуатации
Задача фаундеров — проверить валидаторов в условиях, приближенным к реальности, при этом не имея никакого централизованного контроля. Эту проблему можно решить с помощью контракта-faucet-а, который раздает равные количества основного токена валидаторам и всем желающим. Для получения токенов на баланс надо сформировать транзакцию, и добиться того, чтобы сеть включила ее в блок. Таким образом, валидатору для победы необходимо постоянно пополнять свой баланс новыми токенами и голосовать за себя, продвигая себя в топе. Эта деятельность создает постоянную нагрузку на сеть, а параметры можно подобрать так, чтобы поток запросов был достаточно серьезным для полноценного теста сети. Поэтому планируйте контракт-faucet заранее, как важный инструмент для запуска сети и начинайте подбирать его параметры заранее.
Запрос токенов с faucet и голосование валидаторов все таки не до конца честно эмулирует работу БЧ, особенно в крайне нагруженных режимах. Поэтому команде блокчейна все равно так или иначе придется писать добавочные бенчмарки, позволяющие нагрузить сеть. Особую роль в этом играют специально созданные заранее смарт-контракты, позволяющие протестировать отдельную подсистему. Для тестирования storage, контракт сохраняет в блокчейн случайные данные, а для проверки сетевых ресурсов тестовый контракт требует большой объем входных данных, тем самым раздувая объем транзакций — запуская поток таких транзакций в произвольные моменты времени команда одновременно тестирует стабильность кода и стойкость валидаторов.
Отдельным вопросом стоит обновление кода нод и проведение хардфорков. Требуется, чтобы в случае появления бага, уязвимости, сговора злонамеренных валидаторов, валидаторы имели бы план действий, уже отработанный в игре валидаторов. Здесь можно придумывать схемы начисления VP за быстрое применение хардфорка, к примеру штрафуя всех валидаторов, кто еще не накатил новую версию кода ноды, но это сложно реализовать, усложняет подсчет. Сэмулировать ситуацию экстренного применения хардфорка можно искусственно “сломав” блокчейн на заданном блоке. Производство блоков останавливается, и в итоге в выигрыше окажутся те, кто раньше включится, и начнет подписывать блоки, так что VP на основе числа подписанных блоков здесь хорошо подходит.
Как информировать участников о состоянии сети и чинить ошибки
Несмотря на недоверие между валидаторами, своевременно получать актуальную информацию о состоянии сети выгодно всем, чтобы быстрее принимать решения, поэтому команда проекта поднимает сервис для сбора и визуализации множества метрик с серверов валидаторов, который позволяет увидеть ситуацию одновременно для всей сети, позволяя быстро определить, что происходит. Также, и валидаторам и проекту выгодно, чтобы команда проекта быстро исправляла найденные ошибки, поэтому помимо сбора метрик имеет смысл сразу же запустить сбор с машин валидаторов логов и данных об ошибках на машину, доступную разработчикам блокчейна. Здесь никому не выгодно искажать информацию, поэтому эти сервисы поднимаются командой проекта и им можно доверять. Имеет смысл собирать системные метрики с валидаторов, и, обязательно, самые важные метрики самого блокчейна — для DAOBet — это время финализации и отставание последнего финализируемого блока. Благодаря этому команда видит возрастание потребления памяти на нодах при запуске бенчмарка, проблемы отдельных валидаторов
Важные моменты по проведению игры валидаторов
Как оказалось, если вы желаете официально разрешить валидаторам атаковать машины друг друга (неофициально они и так могут это делать) — нужно отдельно юридически это сформулировать как тестирование безопасности, так как по законодательству некоторых стран за DDoS или сетевые атаки могут наказать. Еще важным вопросом является то, как награждать валидаторов. Естественными призами являются токены проекта, которые будут перенесены в mainnet, но массированная раздача токенов любому, кто смог запустить ноду — тоже не лучший вариант. Скорее всего вам придется балансировать между двумя крайними вариантами:
Раздать весь призовой фонд в соответствии с заработанными VP
Раздать призовой фонд top-N валидаторам по итогам игры
Какому варианту отдать предпочтение — дело ваше
Есть и еще один момент — совсем не факт, что десятки валидаторов кинутся участвовать в игре по вашему зову, а из тех, кто решит попробовать не все даже установят и запустят ноду — обычно, на этом этапе у проектов довольно скудная документация, попадаются ошибки, а работающие в цейтноте разработчики отвечают на вопросы не слишком оперативно. Поэтому, перед запусков игры надо так же предусмотреть действия, если нужно числа валидаторов не наберется. В этом случае на старте игры, недостающие валидаторы запускаются командой проекта, участвуют в консенсусе, но не могут быть победителями.
Заключение
В заключении я постарался собрать из вышеописанного список того, что нужно придумать, сделать и запустить для эффективного проведения игры валидаторов
Что нужно сделать для запуска настоящей игры валидаторов:
разработать свой блокчейн 🙂
Надо сказать, что игра валидаторов — история новая, и проводилась всего пару раз, поэтому не стоит воспринимать этот текст, как готовое руководство. Никаких аналогов в современном IT бизнесе не существует — представьте себе, что банки перед запуском системы платежей соревнуются между собой, кто лучше будет проводить транзакции клиентов. Традиционные подходы вряд ли помогут вам создавать большие децентрализованные сети, так что осваивайте новые бизнес модели, проводите свои игры, определяйте достойных, награждайте их и пусть ваши распределенные системы работают быстро и стабильно.