Phasing

From Nxt Wiki
Jump to: navigation, search
This page is a translated version of the page Phasing and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎русский • ‎українська

1 Введение

Nxt Фазинг - это функциональность которая позволяет реализовывать поэтапные безопасные сделки, которые будут созданы с условным отложенного исполнения, основанного на результате фазированного опроса, на списке связанных транзакций или на раскрытии тайны; или просто с безусловной отсрочкой исполнения. Безопасные фазированные транзакции выделены курсивом в описании API Create Transaction.

В этом руководстве, все примеры начинающиеся с фазированных Send NXT транзакций создаются в Клиенте Nxt; процедуры подобны для других типов безопасных фазированных транзакций, поддерживаемых Клиентом Nxt.

Это руководство описывает Фазирование в Testnet на примере Nxt software release 1.5.3e.

2 Оглавление

3 Создание Фазированной Транзакции

Для создания фазированной Send NXT транзакции, для начала нажмите Send NXT в верхней центральной части клиента Nxt. Появится всплывающая форма для ввода данных:

Phasing send nxt basic.png
  • На этом этапе, в поля Recipent и Amount могут быть введены соответствующие им данные - ID учетной записи получателя и сумма NXT, для отправки.
  • Если сейчас нажать кнопку Send NXT, в нижней правой части формы, транзакция будет создана и сразу передана узлам сети для включения в blockchain, за комиссию 1 NXT.
  • Чтобы вместо этого сделать транзакцию фазированной, что в Клиенте Nxt подразумевает, что ее выполнение будет условно задержано на основе результата опроса фазирования, щелкните по ссылке advanced в нижней левой области формы, чтобы вывести на экран дополнительные поля, для задания условий фазирования:
Phasing send nxt advanced.png
  • Чтобы вернуться к стандартной форме отправки Send NXT, щелкают по ссылке Basic в нижней левой области формы.
  • Поле Referenced Transaction Hash , и элементы управления Do Not Broadcast и Note to Self? не относятся к Фазированию.
  • Поле Fee содержит минимальную комиссию за проведение транзакции, и по умолчанию составляет 1 NXT. Поля справа со значком молоточка и иконки, автоматически выводит на экран дополнительный набор параметров для фазирования, в зависимости от конфигурации фазирования.
  • Поле Deadline (Hours) выводит на экран 24-часовой срок по умолчанию для включения транзакции в блок; показатели в часах будут преобразованы в блоки из расчета 60 блоков в час.
  • Следующая строка содержит пять значков для выбора модели фазирования; наводя курсор над значком вызовет появление всплывающей подсказки. Крайний левый вариант, вариант предлагаемый по умолчанию, предполагает отсутствия фазирования. Ниже приводится описание четырех различных моделей голосования.

3.1 Модели голосования

Щелчок по одному из значков позволяет выбрать модель фазированного голосования, при этом, в зависимости от выбранной модели, будет изменяться комиссия за транзакцию, а также будут активированы дополнительные поля или средства управления, как описано в разделах ниже.

У всех моделей голосования существует общее поле/механизм управления для Высоты Окончания, которая определяет, когда будет выполнена отложенная транзакция, если она утверждена, т.е. если все требования для её выполнения будут удовлетворены до наступления высоты окончания. Модели голосования называются согласно методу одобрения.

Для четырех моделей голосования (модели Vote By ...), результаты голосования определяют, произойдет ли выполнение транзакции при достижении высоты окончания. Эти четыре модели имеют общие свойства: поле Whitelist (Белый Список) для ограничения голосования только заданными аккаунтами и для генерации Запросов Согласования Белым Списком, и Тип минимального баланса задает правила ограничения голосования для аккаунтов с минимальным балансом NXT, актива или валюты.

3.1.1 Без условия

Если щелкнуть по второму значку, появляется следующее:

Phasing none.png
  • Поэтапная транзакция выполнится безоговорочно при достижении Высоты окончания.
  • Дополнительная комиссия +1 NXT.

3.1.2 Голосование Аккаунтом

Если щелкнуть по третьему значку, появляется следующее:

Phasing vote by account.png
  • Введите в поле Number Accounts количество аккаунтов которые должны одобрить/согласовать транзакцию. Каждый аккаунт дает 1 голос.
  • Дополнительная комиссия +1 NXT.
  • Белый Список может использоваться, чтобы накладывать ограничения на голосование и создавать Запрос Голосования Белым Списком. Иначе, единственным механизмом для голосования будет Ручное Голосование.
  • Голосование также может быть ограничено учетными записями с минимальным балансом NXT, актива или валюты, используя выпадающий элемент управления Тип Минимального Баланса.
  • Не забудьте обновить поле Finish Height (Высота Окончания), чтобы изменить значение устанавливаемое по умолчанию.

3.1.3 Голосование Балансом Аккаунта

Если щелкнуть на четвертом значке, появится следующее:

Phasing vote by account balance.png
  • Введите в поле Amount NXT минимальное общее количество NXT необходимое для голосования, которое должно быть собрано со всех аккаунтов принимающих участие в голосовании, (включая любые исходящие ожидающие фазированные трансферы) только до завершения фазированного опроса.
  • Дополнительная комиссия +20 NXT.
  • Белый Список может использоваться, чтобы накладывать ограничения на голосование и создавать Запрос Голосования Белым Списком. Иначе, единственным механизмом для голосования будет Ручное Голосование.
  • Голосование также может быть ограничено учетными записями с минимальным балансом NXT, используя выпадающий элемент управления Тип Минимального Баланса.
  • Не забудьте обновить поле Finish Height (Высота Окончания), чтобы изменить значение устанавливаемое по умолчанию.

3.1.4 Голосование Балансом Актива

При щелчке на пятом значке, появится следующее:

Phasing vote by asset balance.png
  • Введите в поле Asset Quantity минимальное общее количество активов необходимое для утверждения транзакции, которое должно быть собрано со всех голосующих аккаунтов(включая любые исходящие ожидающие фазированные трансферы) только до завершения фазированного опроса.
  • Введите в поле Asset ID актива. Название актива появляется в затененном поле справа, сразу после ввода его ID.
  • Дополнительная комиссия +20 NXT.
  • Белый Список может использоваться, чтобы накладывать ограничения на голосование и создавать Запрос Голосования Белым Списком. Иначе будет автоматически сгенерирован Запрос Голосования Активом.
  • Голосование также может быть ограничено учетными записями с минимальным балансом актива, используя выпадающий элемент управления Тип Минимального Баланса.
  • Не забудьте обновить поле Finish Height (Высота Окончания), чтобы изменить значение устанавливаемое по умолчанию.

3.1.5 Голосование Балансом Валюты

При нажатии на шестом значке, появится следующее:

Phasing vote by currency balance.png
  • Введите в поле Currency Units минимальное общее количество валюты необходимое для утверждения транзакции, которое должно быть собрано со всех голосующих аккаунтов (включая любые исходящие ожидающие фазированные трансферы) только до завершения фазированного опроса.
  • Введите в поле Currency трех- четырех- символьный код валюты. ID валюты появляется в затененном поле справа, сразу после ввода её кода.
  • Дополнительная комиссия +20 NXT.
  • Белый Список может использоваться, чтобы накладывать ограничения на голосование и создавать Запрос Голосования Белым Списком. Иначе будет автоматически сгенерирован Запрос Голосования Валютой.
  • Голосование также может быть ограничено учетными записями с минимальным балансом валюты, используя выпадающий элемент управления Тип Минимального Баланса.
  • Не забудьте обновить поле Finish Height (Высота Окончания), чтобы изменить значение устанавливаемое по умолчанию.

3.1.6 Связанные транзакции

Если щелкнуть по седьмому значку,появляется следующее:

Phasing by linked transactions.png
  • Введите полный хеш транзакции, которая должна быть в blockchain на высоте окончания для выполнения фазированной (поэтапной) транзакции.
  • Транзакция уже находится в blockchain перед принятием поэтапной транзакции, она может быть соединена, пока ей не больше чем 60 дней, или она фазированная транзакция. Если транзакция связана с вашим аккаунтом, ее полный хеш вы получите нажав на ее метку времени на экране My Transactions, чтобы открыть всплывающее окно Transaction Info , и нажав в нем на вкладку Transactions Detail. Иначе, полный хеш может быть получен, при помощи API Nxt, если ID транзакции известен.
  • Транзакция еще не находящаяся в blockchain может быть связана заранее, если транзакция будет создана, но не опубликована. Тогда полный хеш доступен для соединения с фазированной транзакцией. Подписанные байты транзакции могут быть опубликованы позже (через элемент Transaction Operations Меню Settings), перед достижением высотой окончания поэтапной транзакции, чтобы подтвердить её.
  • Возможно связать до десяти транзакций через API Nxt, но в настоящее время только одна транзакция может быть связана через форму ввода.
  • Дополнительная комиссия +1 NXT.
  • Не забудьте обновить поле Finish Height, чтобы изменить значение установленное по умолчанию.

3.1.7 Секрет

Если щелкнуть по восьмому значку, появляется следующее:

Phasing by secret.png
  • Выберите Hash Algorithm из выпадающего списка.
  • Введите в поле Approved By Hashed Secret хеш секретной фразы (ни в коем случае не секретная фраза вашей учетной записи !), которая должна быть раскрыта перед высотой завершения, чтобы утвердить выполнение фазированной транзакции. Хеш секретной фразы может быть вычислен при помощи пункта Calculate Hash Меню Настроек.
  • Дополнительный сбор +1 NXT.
  • Обновите поле "Finish Height", чтобы изменить значение установленное по умолчанию.
  • Чтобы утвердить фазированную транзакцию, при условии что она подтверждена и подходит высота окончания, используйте Ручное Одобрение.

3.2 Высота Окончания

При выборе модели голосования появится Finish Height и связанные средства управления:

Phasing finish height.png
  • Крайнее левое поле - поле для ввода Высоты Окончания (Finish Height), значением по умолчанию устанавливается на 7000 блоков (приблизительно неделя) больше чем текущее значение blockchain. Введите нужную вам высоту блока, на которой должен закончиться фазированный опрос.
  • Для удобства, предполагаемая дата окончания выведена на экран справа от метки "Finish Height". Эта дата изменяется автоматически каждый раз, когда изменяется значение поля Finish Height.
  • Для удобства, второе затемненное поле справа от поля Finish Height отображает на экране текущую высоту блоков на момент открытия всплывающей формы создания голосования. Щелчок по нему заставляет значение поля Finish Height изменяться на это значение.
  • Также для удобства, третьи и четвертое поля содержат средства управления, они обозначаются как -(минус) и + (плюс) соответственно для уменьшения или увеличения значения 'Finish Height на 500 блоков (приблизительно половина дня).

3.3 Белый список

Выбор модели голосования приводит к появлению поля Accounts (Whitelist) и связанные с ним средства управления:

Phasing whitelist.png
  • Введите в поле Accounts (Whitelist) ID аккаунта который имеет право принимать участи в данном голосовании.
  • Как только Белый Список (whitelist) создан и содержит единственную учетную запись, только эта учетная запись и до девяти других учетных записей, дополнительно добавленных к Белому Списку, имеют право голосовать в данном фазированном опросе.
  • Чтобы добавить еще одну учетную запись к Белому Списку, щелкните кнопку + Add Account и введите ID учетной записи в появившемся поле.
  • Чтобы удалить учетную запись из Белого Списка, щелкните управляющий элемент - (minus) .
  • Белый Список учетных записей будет использоваться при Голосовании Белым Списком, который является механизмом для голосования.

3.4 Модель Минимального Баланса

Выбор модели голосования Min Balance Type вызывает появление следующего элемента управления:

Phasing min balance.png
  • По умолчанию устанавливается условие No min balance necessary, которое означает, что обладание каким либо минимальным балансом не является обязательным требованием для участия в голосовании. Дополнительный сбор отсутствует.

Щелчок по выпадающему списку отобразит одну или несколько моделей минимального баланса (их типов), в зависимости от модели голосования:

Phasing min balance expanded.png
  • Показанный список для модели Голосование Аккаунтом предлагает на выбор три модели минимальных балансов: Требуется Минимальный баланс NXT, Требуется Минимальный баланс Актива и Требуется Минимальный баланс Валюты.
  • Если модель голосования Голосование Балансом Аккаунта, Голосование Балансом Актива или Голосование Балансом Валюты, модель минимального баланса должна соответствовать модели голосования и таким образом, только один вариант будет предложен для для каждого варианта.
  • Выбор одной из моделей минимального баланса увеличивает комиссию на +20 NXT и добавляет одно или несколько дополнительных полей, которые будут описаны в следующих подразделах.

3.4.1 Минимальный Баланс NXT

Phasing min balance nxt.png
  • Введите в поле Min Balance минимальный баланс NXT которым должен владеть аккаунт чтобы быть допущенным к этому голосованию для подтверждения транзакции.
  • Аккаунт должен владеть как минимум заданным балансом (включая любые исходящие ожидающие фазированные трансферы), до завершения фазированного опроса.

3.4.2 Минимальный Баланс Актива

Phasing min balance asset.png
  • Введите в поле Min Balance минимальное количество заданного Актива у аккаунта, необходимое для того чтобы аккаунта имел право принять участие в фазированном голосовании для подтверждения транзакции.
  • Аккаунт должен владеть как минимум заданным балансом указанного Актива(включая любые исходящие ожидающие фазированные трансферы), до завершения фазированного опроса.
  • Если модель голосования Голосование Аккаунтом, введите в поле Asset ID актива. Для проверки правильности ввода ID, название Актива сразу отобразится в затемненном поле справа. Это поле не отображается если выбрана модель Голосование Балансом Актива, т.к. ID Актива заранее задан.

3.4.3 Минимальный Баланс Валюты

Phasing min balance currency.png
  • Введите в поле Min Balance минимальное количество заданной Валюты у аккаунта, необходимое для того чтобы аккаунта имел право принять участие в фазированном голосовании для подтверждения транзакции.
  • Аккаунт должен владеть как минимум заданным балансом указанной Валюты (включая любые исходящие ожидающие фазированные трансферы), до завершения фазированного опроса.
  • Если выбрана модель голосования Голосование Аккаунтом, введите в поле Currency трех- четырех- символьный код Валюты. Для проверки правильности ввода кода Валюты, название Валюты сразу отобразится в затемненном поле справа. Это поле не отображается если выбрана модель Голосование Балансом Валюты, т.к. код Валюты заранее задан.

4 Утверждение Фазированной Транзакции

"Запросы одобрения (Approval requests)" являются лучшим механизмом для одобрения фазированных транзакций, но надо помнить, что они применяются только к четырем моделям голосования, и для случаев Голосования Аккаунтом и Голосование Балансом Аккаунта, используются только если используется Белый Список. В противном случае, а также в случае использования модели голосования Секретом, должен использоваться другой механизм: Ручное Одобрение. Модель голосования Связанные Транзакции не требует ручного одобрения а только присутствия указанной связанной транзакции(й) в blockchain.

4.1 Запросы на Согласование

Запросы на Согласование являются приглашениями голосовать в фазированных опросах, которые применяются к четырем моделям голосования. Пока голосование открыто (до тех пор, пока не достигнута высота окончания опроса фазирования), запросы на согласование будут появляться в Клиенте Nxt, у всех зарегистрированных аккаунтов, которые приглашены голосовать в опросе, или включены в Белый Список, или владеют активом или валютой, в зависимости от конфигурации голосования.

Если используется whitelist (белый список аккаунтов), то запросы одобрения появляются только на экране Whitelisted Approval Requests, независимо от модели голосования.

При отсутствии Белого Списка, и модели голосование Голосование Аккаунтом и Голосование Балансом Аккаунта запросы на утверждение в клиенте Nxt нигде не отображаются, в то время как при выбранной модели голосования Голосование Балансом Актива и Голосование Балансом Валюты запросы на утверждение появятся на соответствующих экранах Запрос Голосования Активом и Запрос Голосования Валютой.

4.2 Запросы Согласования Белого Списка

Доступ к этому экрану можно получить прямо из меню клиента Nxt, щелкнув на первом пункте меню Dashboard, после этого меню развернется и будет доступен пункт подменю Approval Requests, нажмите на нем:

Phasing account approval.png
  • Обратите внимание на то, что количество незаконченных запросов согласования выведено на экран в затемненном кругу справа от элемента подменю Approval Requests; это - предупреждение, что требуются согласования.
  • (Account) в заголовке окна, относится к моделям голосования Голосование Аккаунтом и Голосование Балансом Аккаунта, для которых Белый Список необходим, чтобы создавать запросы согласования, но этот экран также включает две другие модели голосования, когда используется Белый Список.
  • Подробности фазированных транзакций с открытыми фазированными опросами показаны в строке списка, с кнопкой Approve в столбце Actions ; диаграмма в столбце со значком молоточка указывает состояние фазированного голосования.
  • Кнопка Approve выделена и активна, если используемая (так под которой вы вошли) учетная запись еще не голосовала; после голосования кнопка становится серой и неактивной.
  • Щелчок по кнопке Approve открывает всплывающую форму Approve Transaction; щелчок по Approve создает транзакцию согласования.

4.3 Запросы Согласования Активом

Доступ к этому экрану можно получить прямо из меню клиента Nxt, щелкнув в левой панели на разделе Asset Exchange чтобы открыть подменю, затем щелкнуть пункт подменю Approval Requests; наконец, выберите актив из выпадающего списка расположенного под заголовком экрана:

Phasing asset approval.png
  • Подробности фазированных транзакций с открытыми фазированными опросами показаны в строке списка, с кнопкой Approve в столбце Actions ; диаграмма в столбце со значком молоточка указывает состояние фазированного голосования.
  • Кнопка Approve выделена и активна, если используемая (так под которой вы вошли) учетная запись еще не голосовала; после голосования кнопка становится серой и неактивной.
  • Щелчок по кнопке Approve открывает всплывающую форму Approve Transaction; щелчок по Approve создает транзакцию согласования.

4.4 Запросы Согласования Валютой

Доступ к этому экрану можно получить прямо из меню клиента Nxt, щелкнув в левой панели на разделе Monetary System чтобы открыть подменю, затем щелкнуть пункт подменю Approval Requests; наконец, выберите валюту из выпадающего списка расположенного под заголовком экрана:

Phasing currency approval.png
  • Подробности фазированных транзакций с открытыми фазированными опросами показаны в строке списка, с кнопкой Approve в столбце Actions ; диаграмма в столбце со значком молоточка указывает состояние фазированного голосования.
  • Кнопка Approve выделена и активна, если используемая (так под которой вы вошли) учетная запись еще не голосовала; после голосования кнопка становится серой и неактивной.
  • Щелчок по кнопке Approve открывает всплывающую форму Approve Transaction; щелчок по Approve создает транзакцию согласования.

4.5 Ручное одобрение

Для любой фазированной транзакции, которая появляется на экране My Transactions, и которые не используют модель голосования Без Условий или Связанные Транзакции, согласование может быть выполнено следующим образом:

  1. щелкнуть на метке времени транзакции, чтобы открыть всплывающее окно Transaction Info
  2. щелкнуть на вкладке Actions
  3. щелкнуть на кнопке Approve Transaction, чтобы открыть всплывающее окно Approve Transaction
  4. щелкнуть на кнопке Approve , чтобы утвердить транзакцию, после ввода секретной фразы, в случае если используется модель голосования Секрет

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

Когда отсутствует запрос утверждения и фазированная транзакция не появилась на экране «My Transactions (Мои транзакции)», она может быть найдена, если известна высота блока содержащего транзакцию, для этого надо на экране Blocks, щелкнуть на высоту нужного блока. В противном случае, может быть использован API вызов Approve Transaction, если известен полный хэш фазированной транзакции, а полный хэш может быть получен с помощью API вызова Get Transaction, если известен идентификатор (ID) транзакции.

5 Просмотр состояние фазированного опроса

Состояние фазированного опроса обозначено золотой диаграммой, которая появляется на экране Запросы Согласования когда фазированное голосование открыто и на экране Мои Транзакции, где значок изменяет свой цвет на зеленый (утверждено) или красный (не утверждено) после завершения фазированного опроса и достижения Высоты Окончания. Если навести курсор на графический элемент - появится подсказка, выводящая на экран подробные данные.

Состояние может измениться до завершения фазированного опроса, когда замораживается. На высоте окончания выполняется фазированная транзакция, но только если все требования для одобрения удовлетворены не позднее чем в блоке предшествующем блоку окончания.

5.1 Статусы Графического Индикатора

Индикатор Модель голосования Индикатор статуса
Phasing status none.png Без Условия Без Условия
Phasing status account number.png Голосование аккаунтом Текущий / Требуемые одобрения (голоса)
Phasing status account balance.png Голосование балансом аккаунта Шкала прогресса общего баланса NXT, от 0% до 100%
Phasing status asset.png Голосование балансом активов Шкала прогресса общего баланса активов, от 0% до 100%
Phasing status currency.png Голосование балансом валют Шкала прогресса общего баланса валют, от 0% до 100%
Phasing status transaction.png Связанные Транзакции Шкала прогресса Связанные Транзакции, от 0% до 100%
Phasing status secret.png By Secret Шкала прогресса Секрет, двоичная: 0% или 100%

5.2 Цветовые коды статуса графического индикатора

Индикатор Цвет Статус согласования
Phasing status currency.png Золотой Еще не утвержден; фазированный опрос все еще открыт
Phasing status currency disapproved.png Красный Не утвержден; фазированный опрос завершен, транзакция отменена
Phasing status currency approved.png Зеленый Утвержден; фазированный опрос завершен, транзакция выполнена

5.3 Подсказки для состояния графического индикатора

Phasing status tooltip.png


Accounts/Asset/Currency: Число аккаунтов в белом списке, или название актива, или валюта голосования.
Votes: Количество аккаунтов или количество NXT, QNT актива, или единиц валюты формате Current approvals / Required approvals.
Percentage: Current approvals процент от Required approvals.
Finish Height: Высота блока на которой фазированный опрос завершится или будет остановлен.
Approved: Yes только если все требования были удовлетворены при завершении фазированного опроса, No, если не утвержден или если фазированный опрос все еще открыт.