Принцип работы Leased Proof of Stake
Принцип работы Leased Proof of Stake
ГлавнаяСтатьи
Принцип работы Leased Proof of Stake

Принцип работы Leased Proof of Stake

Продвинутый
Published Apr 28, 2019Updated Nov 4, 2020
6m

Алгоритм консенсуса Leased Proof of Stake и Waves-NG протокол 

Авторы: Guy Brandon, контрибьютор Waves.

Сеть Waves работает на алгоритме консенсуса leased proof-of-stake (LPoS) в сочетании с Waves-NG протоколом, что обеспечивает высокую степень масштабируемости и пропускную способность транзакций.


Предисловие

Сеть Waves была запущена в 2016 году после ICO, в ходе которого было привлечено 30 000 BTC, около 16 миллионов долларов на то время. В рамках проекта разрабатывается комплексная блокчейн экосистема для бизнес-решений с широким набором инструментов, охватывающих разнообразные потребности, включая легкое создание пользовательских токенов, смарт-контрактов, одноранговая торговля на встроенной децентрализованной бирже (DEX), а также безопасное и удобное средство взаимодействия с dApps и веб-сервисами с помощью плагина для браузера Waves Keeper.


Масштабируемость

С самого начала существования Waves, компания понимала, что для массового принятия технологии блокчейн потребуется улучшить масштабируемость и определила приоритеты развития технологии, чтобы устранить ограничения существующих блокчейнов. Например, Биткойн очень безопасен, но он относительно медленный и может поддерживает только около 7 транзакций в секунду (TPS). Таким образом, Биткойн недостаточно эффективен для использования его в качестве повседневной валюты. Решение второго уровня, такое как Lightning Network, необходимо для того, чтобы Биткойн смог это реализовать. В Waves был принят другой подход, который изначально был сосредоточен на высокой масштабируемости цепочки, прежде чем рассматривать приложения второго уровня.


Лизинг баланса

Первоначальный алгоритм консенсуса в Waves был простой имплементацией Proof of Stake. Все 100 миллионов токенов WAVES были разосланы после ICO и их общее количество является фиксированным, без наличия инфляции, как это происходит с монетами в PoW. Следовательно, валидаторы в Waves (форгеры, хотя их обычно называют “майнерами”) в качестве награды получают оплату комиссий в блоке, а не вознаграждение. 
Система Leased Proof of Stake (LPoS) была полностью запущена в мае 2017 года, что позволило пользователям Waves lite клиента, тем кто не может запустить полный узел, сдавать в аренду свои WAVES токены для майнинг узлов. Арендованные токены заблокированы в аккаунте пользователя и не могут передаваться или обмениваться. Тем не менее, они остаются под полным контролем их владельца и аренда может быть аннулирована в любое время. Учитывая технические накладные расходы связанные с запуском майнинг узла и необходимостью быть онлайн 24/7, только относительно небольшая часть сообщества Waves запускает их (список валидаторов можно найти по адресу https://dev.pywaves.org/generators/). 
Арендованные WAVES токены используются для увеличения доли майнера, что в свою очередь увеличивает шансы того, что он найдет следующий блок. Система Leased Proof of Stake повышает безопасность сети как минимум двумя способами. Во-первых, чем больше WAVES используется в сети, тем лучше, поскольку злоумышленнику становится труднее накопить токены, необходимые для атаки 51%. Во-вторых, WAVES могут быть переданы в аренду узлу с холодного кошелька пользователя, но сам узел, который остается подключенным к сети должен иметь только минимальный баланс. Это значительно снижает риск взлома токенов WAVES с компьютеров, подключенных к сети, поскольку арендованные средства не передаются майнеру.


Новый подход к консенсусу с Waves-NG

Дальнейшее обновление сети произошли в декабре 2017 года с запуском Waves-NG. Это был новый протокол, основанный на Bitcoin-NG созданный профессором Cornell IT Эмин Гюн Сирером.
Оригинальный протокол Биткойн выбирает каждого майнера ретроспективно. После того, как блок был добавлен в блокчейн, майнеры конкурируют между собой, чтобы найти действительный хеш для следующего блока основываясь на текущем состоянии цепи. Тем временем вновь созданные транзакции попадают в пул памяти (mempool), где они будут оставаться в режиме ожидания, пока один из майнеров их соберет и проверит. 
И хотя оба эти протокола, как Биткойн, так и Bitcoin-NG считаются системой задач византийских генералов (BFT), но последний был предложен в 2015 году, в качестве альтернативы для повышения масштабируемости, основанной на другом рабочем механизме. В системе Bitcoin-NG следующий майнер выбирается заранее и он создает пустой ключевой блок (key block) - это блок, который в конечном итоге будет добавлен в блокчейн. К этому ключевому блоку добавляются небольшие блоки, называемые микроблоками (состоит из нескольких транзакций). На примере из повседневной жизни, это похоже на добавление нескольких пакетов с покупками (микроблоков) в тележку (ключевому блоку) до того, как она заполнится и в конечном итоге попадет на кассу (добавиться в блокчейн). Это означает, что транзакции могут быть добавлены в блокчейн всего за несколько секунд с единственной реальной задержкой связанной с сетью. Компания Waves обновила proof of stake, создав протокол Waves-NG, это первая интерпретация Bitcoin-NG для открытого, публичного блокчейна.
Еще одним дополнением к экосистеме был MassTransfers. Это позволяет упаковать до 100 переводов в рамках одной транзакции с уменьшенной комиссией. Ограничение в 100 TPS для MassTransfer было выбрано в качестве компромисса между значительной емкостью и удобством, и ограничением возможности отправлять очень большие партии недорогих транзакций. Если необходимо сделать больше переводов, несколько MassTransfers могут быть последовательно реализованы.

Другими словами, пользователи могут просто выбрать MassTransfer в качестве другого типа отправки транзакций, что позволяет им включать до 100 получателей в один перевод. Кроме того, адреса получателей могут быть предоставлены в файлах с расширением JSON или CSV, что делает его простым и эффективным для выполнения больших аирдропов или еженедельных выплат тем, кто предоставляет свои WAVES в аренду для майнинг-узлов. В сочетании с Waves-NG функция MassTransfer обеспечивает очень высокую пропускную способность сети.

В сети Waves был проведен ряд тестов для оценки пропускной способности нового протокола. В октябре 2018 года был проведен стресс-тест майнета. Это продемонстрировало, что публичный, открытый блокчейн протокол может поддерживать более 6,1 миллиона транзакций в сутки и в среднем 4200 TPS в минуту или 71 TPS в секунду, при этом максимальная пропускная способность достигает 100+ транзакций в секунду.


Заключение

Система Leased Proof-of-Stake позволила обычным пользователям, помочь в защите сети Waves, передавая свои WAVES токены узлам, не теряя контроля над ними. В то же время, Waves-NG обеспечивает пропускную способность до 100 TPS, что на порядок больше чем у множества блокчейнов. Транзакции также дешевле, потому что нет необходимости платить майнерам вознаграждение за блок, чтобы компенсировать их затраты на электроэнергию и дорогое оборудование.

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