Как устроена платформа

Протокол работы блокчейна Waves-NG

Waves-NG — протокол, разработанный Waves Enterprise на основе протокола Bitcoin-NG. Основная концепция протокола — непрерывное создание микроблоков вместо одного крупного блока в каждом раунде майнинга. Такой подход позволяет увеличить скорость работы блокчейна, поскольку микроблоки гораздо быстрее валидируются и передаются по сети.

Описание раунда майнинга

Каждый раунд майнинга состоит из следующих этапов:

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

  2. Майнер раунда выпускает ключевой блок, который содержит только служебную информацию:

  • публичный ключ майнера для проверки подписи микроблоков;

  • сумму комиссии майнера за предыдущий блок;

  • подпись майнера;

  • ссылку на предыдущий ключевой блок.

  1. После формирования ключевого блока майнер раунда формирует liquid block: каждые 5 секунд создает и рассылает по сети микроблоки, содержащие транзакции. На этом этапе микроблоки не валидируются алгоритмом консенсуса, что увеличивает скорость их создания. Первый микроблок ссылается на ключевой блок, каждый последующий - на предыдущий.

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

Механизм вознаграждения майнеров

Протокол Waves-NG предусматривает финансовую мотивацию для майнеров. За каждую транзакцию в блокчейне Waves Enterprise предусмотрена комиссия в WEST, все комиссии за транзакции внутри микроблоков суммируются в ходе раунда. Вознаграждение распределяется следующим образом:

  • 40% комиссии получает майнер, создавший блок в текущем раунде;

  • 60% комиссии получает майнер следующего раунда.

Транзакция по начислению комиссии происходит каждые 100 блоков для обеспечения доверительного интервала проверок:

Механизм вознаграждения майнеров

Механизм вознаграждения валидаторов смарт-контрактов

Протокол Waves-NG предусматривает финансовую мотивацию для валидаторов смарт-контрактов. За каждую транзакцию исполнения смарт контракта, который требует валидации (т.е. использует политики валидации Majority или MajorityWithOneOf) в блокчейне Waves Enterprise предусмотрена комиссия в WEST. Вознаграждение распределяется между майнерами и валидаторами следующим образом:

  • 25% от комиссии за транзакцию исполнения смарт контракта получают валидаторы. Вознаграждение распределяется между валидаторами в равных долях.

  • 75% от комиссии за транзакцию исполнения смарт контракта получают майнеры. Вознаграждение распределяется между майнерами следующим образом:

    – 40% от 75%, то есть 30% комиссии получает майнер, создавший блок в текущем раунде;

    – 60% от 75%, то есть 45% комиссии получает майнер следующего раунда.

Разрешение конфликтов при создании блоков

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

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

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