Блокчейн Waves предназначен для того, чтобы пользователи могли создавать и запускать собственные крипто-токены.
Waves позволяет создавать и торговать криптовалютными токенами без необходимости обширного программирования смарт-контрактов. Скорее, токены можно создавать и управлять ими с помощью скриптов, которые запускаются в учетных записях пользователей в цепочке блоков Waves.
Идея состоит в том, что разработка новых токенов (и приложений, которые ими управляют) не должна существенно отличаться от запуска традиционного веб-приложения.
Для достижения этой цели программы и приложения запускаются как приложения к этим транзакциям, а новым активам присваивается уникальный идентификатор. Скрипты можно прикрепить только при создании актива.
Эти активы предназначены для торговли в экосистеме Waves, которая включает в себя собственный встроенный децентрализованный обмен (Waves.Exchange), предназначенный для облегчения торговли между токенами, созданными на блокчейне Waves, с другими токенами WAVES.
В 2018 году команда Waves добавила функциональность смарт-контрактов в сеть Waves MainNet, что позволило сторонним разработчикам создавать децентрализованные приложения (dapps). Кроме того, в 2019 году команда, стоящая за платформой, начала продавать Waves Enterprise, версию сети, предназначенную для учреждений.
Блокчейн Waves позволяет запускать программное обеспечение на двух разных типах узлов: полные узлы и легкие узлы.
Полные узлы хранят полную историю транзакций, в то время как легкие узлы зависят от полных узлов для подтверждения транзакций и взаимодействия в сети.
Чтобы поддерживать синхронизацию своей распределенной сети, Waves использует разновидность механизма консенсуса с подтверждением доли владения (PoS), называемую арендованным доказательством доли владения (LPoS).
В традиционной модели доказательства доли владения любой узел, решивший заблокировать токены, может иметь право добавлять блоки в цепочку блоков. Вероятность того, что узел сможет добавить блок, обычно увеличивается или уменьшается в зависимости от количества монет, заблокированных узлом в специальном контракте.
С помощью LPoS узлы также имеют возможность сдавать свой баланс в аренду полным узлам.
Это означает, что когда для создания следующего блока выбирается полный узел и ему выплачивается компенсация, узлы, которые сдают в аренду токены этому выбранному узлу, получают определенный процент выплаты.
Протокол, определяющий, какой узел получит право на создание следующего блока, называется Waves-NG и представляет собой модификацию идеи, впервые предложенной (но отвергнутой) для Биткоина (BTC).
Waves-NG разбивает блокчейн Waves на два типа блоков - «ключевые блоки» и «микроблоки». Ключевые блоки создаются случайно выбранным майнером с подтверждением доли владения. Открытый ключ в этом блоке затем используется другими узлами для создания множества микроблоков, которые включают транзакции.
Центральным элементом блокчейна Waves является возможность создавать «умные активы», токены с прикрепленным скриптом, написанным на Ride, языке программирования, родном для Waves. Любому токену можно придать функциональность, прикрепив скрипт. Стоимость выполнения скриптов 0,004 WAVES.
Поскольку Waves позволяет пользователям выпускать токены без какого-либо опыта программирования, токены и последующие передачи выполняются в виде вложений, добавляемых к транзакциям.
Различные типы транзакций вводятся через плагины, которые устанавливаются как расширения поверх цепочки блоков.