Как устроена платформа
Протокол работы блокчейна Waves-NG¶
Waves-NG — протокол, разработанный Waves Enterprise на основе протокола Bitcoin-NG. Основная концепция протокола — непрерывное создание микроблоков вместо одного крупного блока в каждом раунде майнинга. Такой подход позволяет увеличить скорость работы блокчейна, поскольку микроблоки гораздо быстрее валидируются и передаются по сети.
Описание раунда майнинга¶
Каждый раунд майнинга состоит из следующих этапов:
Применяемый алгоритм консенсуса определяет майнера раунда и время выпуска ключевого блока, не содержащего транзакций.
Майнер раунда выпускает ключевой блок, который содержит только служебную информацию:
публичный ключ майнера для проверки подписи микроблоков;
сумму комиссии майнера за предыдущий блок;
подпись майнера;
ссылку на предыдущий ключевой блок.
После формирования ключевого блока майнер раунда формирует liquid block: каждые 5 секунд создает и рассылает по сети микроблоки, содержащие транзакции. На этом этапе микроблоки не валидируются алгоритмом консенсуса, что увеличивает скорость их создания. Первый микроблок ссылается на ключевой блок, каждый последующий - на предыдущий.
Процесс формирования микроблоков в составе 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 определяет такую ситуацию как мошенничество. Майнер, продолживший чужую цепочку, наказывается лишением дохода от комиссий раунда. Нода, обнаружившая несогласованность, получает награду майнера.
Также факты создания и публикации невалидных блоков в блокчейне выявляются применяемыми алгоритмами консенсуса.