Алгоритм консенсуса Proof-of-Stake Lease (LPOS) и протокол Waves-NG
Автор: Гай Брэндон, предоставлено Waves.
Сеть Waves использует алгоритм консенсуса Lease-in-Proof-of-Stake (LPOS), который в сочетании с протоколом Waves-NG обеспечивает высокую масштабируемость и пропускную способность сети.
представлять
Сеть Waves была запущена в 2016 году с помощью ICO, в результате которого было собрано 30 000 биткойнов на сумму около 16 миллионов долларов. Проект направлен на разработку комплексной экосистемы блокчейна, которую можно использовать для процессов бизнес-транзакций. Он включает в себя наборы инструментов, охватывающие различные функциональные требования, включая простое создание пользовательских токенов цифровой валюты, прямое написание смарт-контрактов и встроенную расшифровку для одноранговой сети. -одноранговые транзакции Централизованные обмены (DEX), безопасные и удобные способы взаимодействия с децентрализованными приложениями и веб-сервисами, предоставляемыми плагином браузера Waves Keeper.
Масштабируемость
С самого начала Waves осознала, что масштабируемость необходима для продвижения и использования большинства блокчейн-проектов, и осознала, что необходимо разработать соответствующие технологии для устранения ограничений существующих блокчейнов. Например, Биткойн имеет высокий уровень безопасности, но относительно низкую скорость транзакций и может поддерживать только около 7 транзакций в секунду (TPS). Следовательно, Биткойн недостаточно эффективен, чтобы стать глобальной валютой. Для достижения этой цели реализуются решения на основе уровня 2, такие как Bitcoin Lightning Network. Waves использует другой подход к этому уровню, фокусируясь сначала на масштабируемости внутри цепочки, а затем рассматривая приложения второго уровня.
баланс аренды
Оригинальный алгоритм консенсуса Waves основан на простом протоколе доказательства доли. Всего после ICO было распространено 100 миллионов токенов WAVES, и предложение также фиксировано: поскольку WAVE является токеном «PoW», инфляции нет. Таким образом, валидаторы блоков Waves (форгеры, как их часто называют «майнеры» в экосистеме Waves) получают комиссию за транзакции с блоков, которые они обрабатывают, но не получают дополнительных вознаграждений за блоки.
Система Leaseable Proof-of-Stake (LPoS) была полностью запущена в мае 2017 года, и этот протокол позволяет пользователям с клиентом Waves lite (тех, у кого нет полного узла) сдавать в аренду свои токены WAVES узлам майнинга. Арендованные WAVES блокируются в учетной записи пользователя и не могут быть переданы или проданы. Кроме того, токены остаются полностью под контролем владельца аккаунта и могут быть аннулированы в любое время после истечения срока аренды. Учитывая технические накладные расходы, связанные с запуском узла майнинга и круглосуточным подключением к сети, существует относительно небольшое количество сообществ Waves, использующих узлы майнинга (список генераторов блоков можно найти по адресу https://dev.pywaves.org/generators/ Check). .
Токены WAVES, переданные в аренду узлам майнинга, могут использоваться для увеличения веса майнера и, в свою очередь, увеличения шансов майнера обнаружить следующий блок. Арендованная система доказательства доли повышает безопасность сети как минимум двумя способами. Во-первых, чем больше токенов WAVES используется для защиты сети, тем лучше, поскольку злоумышленнику будет сложнее накопить количество токенов, необходимое для проведения атаки 51%. Во-вторых, токены WAVES сдаются в аренду узлам майнинга из холодных кошельков пользователей, но сами узлы (те, которые остаются в сети) могут иметь лишь небольшой баланс. Поскольку арендованные средства не передаются майнерам, это может существенно снизить риск атак на токены WAVES, хранящиеся в сети.
Новый метод консенсуса: Waves-NG
В декабре 2017 года WAVES модернизировала сеть и запустила консенсусный протокол Waves-NG. Это новый протокол, основанный на схеме Bitcoin NG, изобретенный профессором информационных технологий Корнеллского университета Эмином Гюном Сирером.
Майнеров, выбранных по оригинальному протоколу Биткойн, можно отследить. После добавления блока в блокчейн майнеры конкурируют друг с другом, чтобы найти допустимое значение хеш-функции для следующего блока на основе текущего состояния блокчейна. В то же время вновь сгенерированные транзакции помещаются в мемпул, где они будут оставаться ожидающими, пока майнер не соберет и не проверит их.
Хотя и Биткойн, и протокол Bitcoin NG считаются византийскими отказоустойчивыми (BFT) системами, последний был предложен в 2015 году в качестве масштабируемой альтернативы другому рабочему механизму. В системе Bitcoin-NG предварительно выбирается следующий майнер, который создает пустой «ключевой блок» — этот блок в конечном итоге добавляется в блокчейн. Маленькие блоки называются «микроблоками» (состоящими из нескольких транзакций), и они добавляются к этому ключевому блоку практически в реальном времени. Если использовать аналогию из повседневной жизни, это похоже на добавление нескольких сумок для покупок (микроблоков) в корзину (ключевой блок), а затем полную корзину к кассе (добавленную в сеть блокчейна). Это означает, что транзакции могут быть добавлены в блокчейн за считанные секунды, и единственная задержка, которая может возникнуть, — это задержка в сети. Waves обновила механизм доказательства доли, чтобы создать протокол Waves-NG, который также был первым случаем, когда протокол Bitcoin NG был настроен в открытый общедоступный блокчейн.
Дальнейшее улучшение экосистемы достигается за счет «MassTransfers». Это позволяет выполнять до 100 переводов за одну транзакцию и снижает комиссию за обработку. С одной стороны, чтобы сбалансировать расширение емкости и удобство, MassTransfer ограничивает каждый MassTransfer только 100 транзакциями. С другой стороны, он также ограничивает возможность одновременной отправки большого количества недорогих транзакций. Если требуется больший объем переводных транзакций, можно последовательно отправить несколько трансферных транзакций MassTransfers.
Другими словами, пользователи могут просто выбрать MassTransfer в качестве альтернативного способа «отправки транзакций», который позволяет им добавлять до 100 получателей платежей за одну транзакцию. Кроме того, адрес получателя может быть предоставлен через JSON или загружен с помощью файла CSV, что позволяет напрямую и эффективно проводить крупные раздачи или еженедельные выплаты пользователям, которые сдают в аренду токены WAVES узлам майнинга. В сочетании с Waves-NG функция MassTransfer обеспечивает чрезвычайно высокую пропускную способность сети.
Чтобы оценить потенциальную пропускную способность нового протокола, в сети Waves был проведен ряд стресс-тестов. В октябре 2018 года в MainNet было проведено крупномасштабное стресс-тестирование. Тест показывает, что протокол публичного блокчейна (а не только ограниченный и контролируемый TestNet) может поддерживать более 6,1 миллиона транзакций за 24 часа со средней скоростью 4200 транзакций в минуту или 71 транзакций в секунду, с пиковой пропускной способностью до сотен транзакций. .
Подведем итог
Lease Proof of Stake (LPOS) позволяет обычным пользователям без технических знаний защищать сеть Waves и сдавать WAVES в аренду полным узлам, одновременно контролируя токены WAVES. При этом Waves-NG достигает пропускной способности до 100 TPS, что на порядок выше, чем у многих блокчейнов. Поскольку нет необходимости выплачивать финансовое вознаграждение майнерам, а последним не нужно нести высокие счета за электроэнергию и дорогостоящее оборудование, комиссии за транзакции очень низкие.
Для Waves масштабируемость внутри цепочки всегда была приоритетом, но любой блокчейн может масштабироваться таким образом из-за необходимого места для хранения и пропускной способности. Разработчики Waves полагают, что текущее решение можно оптимизировать перед дальнейшим внедрением масштабируемого решения и возможности поддержки транзакций до 1000 TPS. Waves в настоящее время изучает решения для масштабирования второго уровня с использованием сайдчейнов, которые могут поддерживать обработку больших объемов транзакций в параллельных цепочках и, в конечном итоге, обеспечивать защиту в основной сети Waves.

