Проверка и подпись

Приложения могут попросить вас подписать транзакцию Hive: голос, перевод, пост. Они отправляют ссылку, которая открывает Hivesigner. Hivesigner простыми словами показывает, что делает запрос, какой ключ ему нужен и куда он вас отправит потом. Пока вы не одобрите, ничего не подписывается. Приложения также могут попросить подписать сообщение, которое в блокчейн не попадает.

Экран «Подтверждение транзакции»

Ссылка для подписи открывает экран с заголовком «Подтверждение транзакции». На нём по одной карточке на каждую операцию из запроса. Операция — это одно действие в Hive, например один голос или один перевод.

Когда в запросе больше одной операции, карточки нумеруются, а строка над ними сообщает «Этот запрос содержит 3 операции. Проверьте каждую из них перед одобрением.»

Краткое описание

Каждая карточка начинается с фразы о том, что делает операция, с подставленными значениями из запроса. Например:

Операция Что написано на карточке
Перевод Перевод 1.000 HIVE получателю @bob (и ниже примечание, в виде Примечание: ...)
Голос Голос «за»: @alice/moy-post (и ниже вес голоса, например 100%)
Пост или ответ Публикация поста «Мой заголовок» или Ответ на @alice/moy-post
Действие, которое определяет приложение Hive Пользовательское действие (follow)
Изменение того, кто управляет аккаунтом Изменение полномочий аккаунта

Остальные операции показывают своё название, например «Перевод в Hive Power (power up)» или «Делегирование Hive Power».

Рядом с фразой метка заглавными буквами показывает нужный операции ключ: ПОСТИНГ, АКТИВНЫЙ или ВЛАДЕЛЕЦ.

Подробности

Под фразой карточка перечисляет значения, которые несёт операция:

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

Изменение полномочий также сообщает, когда оно удалит ваши ключи, строкой «ключи: НЕТ (ваш ключ будет удалён)». Отсутствующий порог показывается как «порог НЕ ЗАДАН (считается равным 0)».

В кратком описании и в подробностях символы, которые могли бы скрыть текст или изменить его направление, показываются как . То, что вы читаете, не может притвориться чем-то другим.

Показать исходные данные (или Показать исходные данные операций) открывает точный вид операций, которые будут подписаны.

Когда сумма указана в Hive Power, Hivesigner пересчитывает её по текущему курсу. Он показывает «Загрузка текущего курса HIVE Power…» и ждёт этот курс, прежде чем разрешить одобрение.

Некоторые запросы несут транзакцию, подготовленную в другом месте, например для аккаунта, которым управляют несколько человек. Тогда на экране написано «Этот запрос содержит собственный заголовок транзакции. Истекает: ДАТА.» Если её уже подписали другие, добавляется «Запрос уже содержит 2 подписи.»

Какой ключ нужен

Под карточками одна строка называет ключ, который нужен всему запросу: «Подписывается вашим постинг-ключом», «Подписывается вашим активным ключом» или «Подписывается вашим ключом владельца».

Hivesigner подписывает именно этим ключом. Активный ключ не может подписать голос, а ключ владельца не может подписать перевод. Это правило Hive, действующее с хардфорка 2025 года. См. Какой ключ добавлять.

Всем операциям одного запроса должен требоваться один и тот же ключ. Если это не так, строка сообщает «Этой транзакции нужны полномочия более чем одного уровня, поэтому её нельзя подписать одним ключом.» Кнопки для одобрения нет. Вернитесь в приложение.

Запросы с ключом владельца встречаются редко. Они меняют то, кто может управлять вашим аккаунтом или восстанавливать его. Прочитайте их дважды. См. Читайте, прежде чем одобрять.

Когда ключа нет

Если у выбранного аккаунта нет нужного ключа на этом устройстве, экран сообщит об этом. Например: «Для этого нужен ваш активный ключ, но для @ПОЛЬЗОВАТЕЛЬ он здесь не сохранён.»

  1. Нажмите Добавить ещё аккаунт под сообщением. Откроется форма Добавить аккаунт.
  2. Введите то же имя пользователя и недостающий ключ. Если у аккаунта есть код доступа, введите и его.
  3. Нажмите Добавить аккаунт. Hivesigner добавит ключ и вернёт вас к запросу.

Если аккаунт заблокирован, над кнопкой появится поле Код доступа. Одно нажатие разблокирует аккаунт и одобрит запрос. Если окажется, что ключа нет, экран сообщит об этом после разблокировки.

Если в этом браузере ещё нет ни одного аккаунта, кнопка называется Продолжить и открывает форму Добавить аккаунт.

Одобрение или подпись

В строке аккаунта над кнопкой написано «Подпись от имени» и указан подписывающий аккаунт. Ссылка Сменить аккаунт позволяет выбрать другой. См. Переключение между аккаунтами.

  • Одобрить подписывает транзакцию в вашем браузере и отправляет её в сеть Hive. В результате появляется «Транзакция успешно отправлена в сеть» и ID транзакции, который открывает её в обозревателе блоков.
  • Подписать появляется вместо этого, когда запрос просит только подпись. Hivesigner подписывает транзакцию, не отправляя её в сеть. Он передаёт подпись приложению или показывает её, если сайт в запросе не указан.

Если сеть отклонит транзакцию, вы увидите «Ваша транзакция не была отправлена в сеть» и «Сообщение об ошибке» от сети. Можно попробовать снова.

Сайт, на который вы вернётесь

Когда в запросе указан сайт для возврата, уведомление вверху сообщает «Вы будете перенаправлены на HOST.» После одобрения Hivesigner отправит вас туда. Проверьте, что HOST — это тот сайт, с которого вы пришли.

Когда сайт в запросе не указан, Hivesigner остаётся на экране результата.

Запрос для другого аккаунта

Запрос может быть составлен для аккаунта, отличного от выбранного. Hivesigner показывает это двумя способами.

Запрос должен подписать другой аккаунт. Экран сообщает «Этот запрос должен быть подписан аккаунтом @АККАУНТ. Переключитесь на этот аккаунт.» В строке аккаунта написано «Выбранный аккаунт», а под ней открывается список аккаунтов. Выберите нужный или добавьте его через Добавить ещё аккаунт. Никаким другим аккаунтом Hivesigner этот запрос не подпишет.

Операция действует от имени другого аккаунта. Так бывает с аккаунтами, которыми управляют несколько человек. Предупреждение вверху сообщает «Этот запрос действует не от имени @ПОЛЬЗОВАТЕЛЬ, а от имени @АККАУНТ. Продолжайте, только если вы управляете и этим аккаунтом.» В подробностях каждой карточки назван аккаунт, от имени которого она действует.

Запросы, которые Hivesigner не может прочитать

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

Тогда экран сообщает «Упс, что-то пошло не так. Переданные данные некорректны.» Вернитесь в приложение. Чтобы сообщить об этом команде Hivesigner, нажмите Сообщить о проблеме.

Запросы на подпись сообщения

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

На экране показано:

  • Заголовок вида «ПРИЛОЖЕНИЕ просит вас подписать сообщение.» Если у приложения есть аккаунт Hive, строка ниже называет его: «Аккаунт Hive @АККАУНТ_ПРИЛОЖЕНИЯ».
  • «Перенаправит вас на HOST»: сайт, который получит подпись. Та же строка повторяется рядом с кнопкой.
  • Сообщение: весь текст ровно в том виде, в каком он будет подписан. Символы, которые могли бы скрыть текст или изменить его направление, показываются как выделенные коды, например \u{200B}.
  • Используемый ключ: «Подписывается вашим постинг-ключом» или «Подписывается вашим активным ключом». Ключом владельца Hivesigner сообщения не подписывает никогда.
  • Предупреждение: «Ваша подпись доказывает любому, кто её увидит, что @ПОЛЬЗОВАТЕЛЬ подписал именно этот текст. Подписывайте только сообщение, которое понимаете.»
  • Строка аккаунта «Подпись от имени» со ссылкой Сменить аккаунт.

Нажмите Подписать, чтобы подписать. Hivesigner вернёт вас на сайт вместе с подписью, вашим именем пользователя, типом ключа и публичным ключом, которым сделана подпись. Публичный ключ — это та половина пары ключей, которой можно делиться: подписать им ничего нельзя.

Нажмите Отмена, чтобы перейти на страницу Аккаунты. Сайт не получит ничего.

Если нужного ключа у аккаунта на этом устройстве нет, экран сообщит об этом. Например: «Для этого нужен ваш постинг-ключ, но для @ПОЛЬЗОВАТЕЛЬ он здесь не сохранён.» Нажмите Сменить аккаунт, затем Добавить ещё аккаунт. Добавьте недостающий ключ для того же аккаунта. Hivesigner вернёт вас к запросу.

Почему некоторые сообщения отклоняются

Сообщение, которое работает как вход в Hivesigner. Некоторый текст имеет в точности вид входа Hivesigner. Подписав его, вы дали бы сайту доступ к своему аккаунту. Hivesigner никогда не подписывает такой текст и сообщает «Это сообщение является токеном Hivesigner. Подписав его, вы дадите сайту доступ к своему аккаунту, поэтому подписать его нельзя.»

Запрос, которым Hivesigner не может воспользоваться. Hivesigner отклоняет запрос без сообщения или без адреса возврата. Он также отклоняет запрос, который просит ключ не постинга и не активный, запрос, называющий приложением то, что не является аккаунтом Hive, и запрос, чей адрес возврата небезопасен или не зарегистрирован для приложения. Он сообщает «Этот запрос на подпись нельзя использовать: нужны сообщение, постинг- или активный ключ и защищённый адрес перенаправления, зарегистрированный для приложения. Вернитесь на сайт и попробуйте ещё раз.»

Если Hivesigner не может прочитать данные приложения из сети Hive, он сообщает «Не удалось загрузить данные аккаунта из сети Hive.» Пока он не сможет, он ничего не подпишет. Нажмите Повторить.

Подписать сообщение самостоятельно

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

  1. Откройте hivesigner.com/signmessage. В подвале сайта на неё ведёт ссылка Подписать сообщение.
  2. Если выбранный аккаунт заблокирован, введите его код доступа и нажмите Разблокировать. Если аккаунт не выбран, страница даст ссылку на ваши аккаунты.
  3. Введите текст в поле Сообщение. Hivesigner уберёт пробелы и переводы строк в начале и в конце.
  4. Выберите ключ в поле Ключ для подписи. Там перечислены ключи выбранного аккаунта, которые есть на этом устройстве, начиная с самого сильного. Самый сильный выбран изначально. Смените его на Постинг, если вам не нужен другой.
  5. Нажмите Подписать сообщение.

Сводка подписи показывает Автор, Использованные полномочия, Токен проверки и Ссылку для проверки. Токен проверки объединяет в одном тексте сообщение, ваше имя пользователя и подпись. Отправьте ссылку или токен тому, кто должен проверить сообщение.

Подпись не раскрывает ваш ключ. Но она показывает, каким ключом она сделана.

Проверить сообщение

  1. Откройте hivesigner.com/verifymessage. В подвале сайта на неё ведёт ссылка Проверить сообщение.
  2. Вставьте токен в поле Токен проверки и нажмите Проверить подпись.

Ссылка для проверки открывает эту же страницу и проверяет сообщение сама.

Результат сообщает «Подпись действительна для ПОЛЬЗОВАТЕЛЬ» или «Не удалось подтвердить подпись ключами аккаунта.» Ниже показаны Автор, Восстановленный публичный ключ, Совпавшие полномочия (тип ключа, которым сделана подпись) и Сообщение.

Hivesigner проверяет подпись по тем ключам, которые есть у аккаунта в сети Hive сейчас. Сообщение, подписанное ключом, который аккаунт с тех пор заменил, больше не проходит проверку.