waves_logo Docs
  • Почему Waves
    Почему Waves
  • Основные понятия
    Основные понятия
  • Аккаунт
    • Создание аккаунта
      Создание аккаунта
    • Адрес
      Адрес
    • Баланс аккаунта
      Баланс аккаунта
    • Хранилище данных аккаунта
      Хранилище данных аккаунта
    • Псевдоним
      Псевдоним
    • dApp и смарт-аккаунт
      dApp и смарт-аккаунт
    Аккаунт
  • Токен (ассет)
    • NFT: невзаимозаменяемый токен
      NFT: невзаимозаменяемый токен
    • Смарт-ассет
      Смарт-ассет
    • ID токена
      ID токена
    • WAVES
      WAVES
    Токен (ассет)
  • Транзакция
    • Комиссия за транзакцию
      • Спонсирование комиссии
        Спонсирование комиссии
      Комиссия за транзакцию
    • Подпись и подтверждения
      Подпись и подтверждения
    • Типы транзакций
      • Вызов скрипта
        Вызов скрипта
      • Выпуск
        Выпуск
      • Генезис
        Генезис
      • Данные
        Данные
      • Довыпуск
        Довыпуск
      • Закрытие лизинга
        Закрытие лизинга
      • Лизинг
        Лизинг
      • Массовый перевод
        Массовый перевод
      • Обмен
        • Ордер
          Ордер
        Обмен
      • Обновление информации ассета
        Обновление информации ассета
      • Перевод
        Перевод
      • Сжигание токена
        Сжигание токена
      • Cоздание псевдонима
        Cоздание псевдонима
      • Спонсирование
        Спонсирование
      • Установка скрипта
        Установка скрипта
      • Установка скрипта ассета
        Установка скрипта ассета
      • Ethereum-like транзакция
        Ethereum-like транзакция
      Типы транзакций
    • Валидация транзакции
      Валидация транзакции
    Транзакция
  • Mainnet, Testnet, Stagenet
    Mainnet, Testnet, Stagenet
  • Нода
    • Лизинг
      Лизинг
    • Доход генератора блока
      Доход генератора блока
    • Монетарная политика
      Монетарная политика
    Нода
  • Блок
    • Генерация блока
      • Базовая цель
        Базовая цель
      • [en] Generation signature
        [en] Generation signature
      Генерация блока
    • Высота блока
      Высота блока
    • Подпись блока
      Подпись блока
    • Временная метка блока
      Временная метка блока
    • Корневой хеш транзакций
      Корневой хеш транзакций
    • Блок генезиса
      Блок генезиса
    Блок
  • Оракул
    Оракул
  • Протоколы и форматы данных
    • [en] Cryptographic practical details
      [en] Cryptographic practical details
    • [en] Waves-NG solution
      [en] Waves-NG solution
    • Протокол Waves-NG
      Протокол Waves-NG
    • Честный Proof of Stake
      Честный Proof of Stake
    • Типы данных блокчейна
      Типы данных блокчейна
    • Бинарные форматы
      • Бинарный формат адреса
        Бинарный формат адреса
      • Бинарный формат псевдонима
        Бинарный формат псевдонима
      • Бинарный формат блока
        Бинарный формат блока
      • [en] Network message binary format
        • [en] Block message binary format
          [en] Block message binary format
        • [en] Checkpoint message binary format
          [en] Checkpoint message binary format
        • [en] Get block message binary format
          [en] Get block message binary format
        • [en] Get peers message binary format
          [en] Get peers message binary format
        • [en] Get signatures message binary format
          [en] Get signatures message binary format
        • [en] Handshake message binary format
          [en] Handshake message binary format
        • [en] Peers message binary format
          [en] Peers message binary format
        • [en] Score message binary format
          [en] Score message binary format
        • [en] Signatures message binary format
          [en] Signatures message binary format
        • [en] Transaction message binary format
          [en] Transaction message binary format
        [en] Network message binary format
      • Бинарный формат ордера
        Бинарный формат ордера
      • Бинарный формат транзакции
        • Вызов скрипта
          Вызов скрипта
        • Выпуск
          Выпуск
        • Генезис
          Генезис
        • Данные
          Данные
        • Довыпуск
          Довыпуск
        • Лизинг
          Лизинг
        • Массовый перевод
          Массовый перевод
        • Обмен
          Обмен
        • Обновление информации ассета
          Обновление информации ассета
        • Отмена лизинга
          Отмена лизинга
        • Сжигание токена
          Сжигание токена
        • Cоздание псевдонима
          Cоздание псевдонима
        • Спонсирование
          Спонсирование
        • Перевод
          Перевод
        • Установка скрипта
          Установка скрипта
        • Установка скрипта ассета
          Установка скрипта ассета
        • Ethereum-like
          Ethereum-like
        Бинарный формат транзакции
      • Бинарный формат подтверждений
        Бинарный формат подтверждений
      Бинарные форматы
    • [en] Validation rules
      [en] Validation rules
    Протоколы и форматы данных
  • Термины
    Термины
      • English
      • Русский
      On this page
        • Преимущества лизинга для владельца WAVES
        • Преимущества лизинга для владельца ноды
        • Создание и отмена лизинга
        • Параметры лизинга
      waves_logo Docs

          # Лизинг

          В блокчейне Waves используется алгоритм консенсуса Leased Proof of Stake (LPoS, дословно — арендованное доказательство доли владения).

          Как и в других разновидностях Proof of Stake, шанс участника сети сгенерировать следующий блок пропорционален его экономической доле. В отличие от Proof of Work, Proof of Stake не требует больших вычислительных мощностей и затрат электроэнергии, а также делает атаку на сеть невыгодной для участников.

          Отличие LPoS от PoS — в том, что обычные пользователи могут участвовать в генерации блоков, сдавая токены WAVES в лизинг (аренду) генерирующим нодам. По сути, лизингодатель передает ноде право генерировать блоки, используя принадлежащие ему WAVES. Сами токены остаются «замороженными» на балансе лизингодателя, пока он не отменит лизинг.

          Полученные в лизинг токены увеличивают шанс ноды сгенерировать очередной блок и получить вознаграждение. Генерирующая нода может делиться вознаграждением с теми, кто предоставил ему WAVES в лизинг. Однако протокол Waves не регулирует выплаты по лизингу, это остается на усмотрение владельца ноды.

          # Преимущества лизинга для владельца WAVES

          • Возможность участвовать в генерации блоков и получать доход, не запуская собственную ноду.
          • Безопасность: токены WAVES не передаются получателю лизинга, а остаются под полным контролем владельца.
          • Лизинг можно отменить мгновенно, в одностороннем порядке.

          Генерирующие ноды могут работать с разной эффективностью и отсылать в качестве вознаграждения разные проценты. Выбрать ноду и сдать WAVES в лизинг можно, например, в приложении WX Network , разработанном сторонней командой из сообщества.

          # Преимущества лизинга для владельца ноды

          • Возможность использовать арендованные токены WAVES для генерации блоков и получения вознаграждения.
          • Возможность самостоятельно устанавливать условия выплат лизингодателям.

          Если вы хотите запустить генерирующую ноду и привлекать средства в лизинг, ознакомьтесь с инструкцией.

          # Создание и отмена лизинга

          Протокол Waves предусматривает два способа отправить WAVES в лизинг:

          • Любой аккаунт может отправить транзакцию лизинга.
          • dApp может создать лизинг с помощью действия Lease, выполняемого вызываемой функцией в рамках транзакции вызова скрипта или Ethereum-like транзакции.

          Отправитель лизинга может отменить его:

          • Любой аккаунт — с помощью транзакции отмены лизинга.
          • dApp — c помощью действия LeaseCancel, выполняемого вызываемой функцией.

          Изменение суммы лизинга не предусмотрено: можно только отменить его и создать новый.

          Необходимо учитывать, что генерирующий баланс аккаунта рассчитывается как наименьший эффективный баланс (то есть баланс с учетом лизинга) за последние 1000 блоков (подробнее о расчете генерирующего баланса). Транзакция отмены предыдущего лизинга и новая транзакция лизинга могут попасть в разные блоки.

          Пример. Допустим, на высоте 3500000 генерирующий баланс ноды A и ее эффективный баланс составляют 5000 WAVES.

          В блоке 3500001 был отменен лизинг в адрес ноды A на сумму 100 WAVES. Теперь ее генерирующий баланс — 4900 WAVES.

          В блоке 3500002 в адрес ноды A поступил новый лизинг на сумму 70 WAVES. Однако генерирующий баланс ноды остается равным 4900 WAVES, а увеличиться может только на высоте 3501001, когда блок 3500001 выбывает из тысячи последних блоков.

          Действия Lease и LeaseCancel, выполняемые в одном вызове скрипта, не могут попасть в разные блоки, и поэтому позволяют, в частности, извлечь часть средств из лизинга. Если в одном вызове отменить лизинг на 100 WAVES и создать новый лизинг на 70 WAVES с тем же получателем, генерирующий баланс получателя уменьшится на разницу — 30 WAVES.

          # Параметры лизинга

          Получить параметры лизинга можно с помощью методов Node REST API:

          • GET /leasing/active/{address} — возвращает список действующих лизингов по адресу (входящих и исходящих)
          • GET /leasing/info/{id} — возвращает параметры лизинга по идентификатору
          • GET /leasing/info , POST /leasing/info — возвращают параметры лизингов по списку идентификаторов

          Пример лизинга:

          {
            "id": "CcqcGx5iWd6xvxzJnoVQHD91R5jYZAZHvZq2DMVuWKx1",
            "originTransactionId": "CcqcGx5iWd6xvxzJnoVQHD91R5jYZAZHvZq2DMVuWKx1",
            "sender": "3PD9TqtXN9tC1tg5TFUC2BNukebfLaYUsdy",
            "recipient": "3PEjdMgnR7a48RnZoW8RF8TeEqidue28Wgm",
            "amount": 268100000000,
            "height": 3516046,
            "status": "canceled",
            "cancelHeight": 3519182,
            "cancelTransactionId": "4mHhTVKJoQ4jTF828eBRrXZzy1ni2N2yQLwVhunp4agb"
          }
          
          Поле Описание
          id Идентификатор лизинга. Если лизинг создан с помощью транзакции лизинга, его идентификатор совпадает с ID транзакции
          originTransactionId Идентификатор транзакции лизинга, или транзакции вызова скрипта, или Ethereum-like транзакции, в которой был создан лизинг
          sender Адрес лизингодателя
          recipient Адрес лизингополучателя
          amount Количество WAVELET, передаваемое в лизинг (то есть количество WAVES, умноженное на 108)
          height Порядковый номер блока, в котором лизинг был создан
          status Статус лизинга: active или canceled
          cancelHeight Порядковый номер блока, в котором лизинг был отменен. null, если лизинг действует
          cancelTransactionId Идентификатор транзакции отмены лизинга, или транзакции вызова скрипта, или Ethereum-like транзакции, в которой был отменен лизинг. null, если лизинг действующий
          Нода
          Доход генератора блока
          Нода
          Доход генератора блока