Страница переведена сообществом и носит справочный характер; актуальна английская версия.
Оригинал ↗

Мультиподпись (Multi-sig)

Расширенная функция

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

Рабочий процесс мультиподписи описан ниже:

  • Чтобы преобразовать пользователя в пользователя с мультиподписью, пользователь отправляет действие ConvertToMultiSigUser с авторизованными пользователями и минимальным числом авторизованных пользователей, необходимых для подписания действия. Авторизованные пользователи должны быть существующими пользователями Hyperliquid. После преобразования пользователя в пользователя с мультиподписью все его действия должны отправляться через мультиподпись.
  • Чтобы отправить действие, каждый авторизованный пользователь должен подписать payload, чтобы создать подпись. Действие MultiSig оборачивает любое обычное действие и включает список подписей от авторизованных пользователей.
  • Payload MultiSig также содержит целевого пользователя с мультиподписью и авторизованного пользователя, который в конечном итоге отправит действие MultiSig в блокчейн. Отправитель итогового действия также известен как leader (ведущий адрес транзакции) действия мультиподписи.
  • Когда отправляется действие мультиподписи, проверяется и обновляется только набор nonce авторизованного пользователя, отправившего транзакцию.
  • Аналогично обычным действиям, лидером также может быть API-кошелёк авторизованного пользователя. В этом случае проверяется и обновляется nonce API-кошелька.
  • Набор авторизованных пользователей пользователя с мультиподписью и/или порог могут быть обновлены отправкой действия MultiSig, оборачивающего действие ConvertToMultiSigUser, описывающее новое состояние.
  • Пользователь с мультиподписью может быть преобразован обратно в обычного пользователя отправкой ConvertToMultiSigUser через мультиподпись. В этом случае набор авторизованных пользователей может быть установлен пустым, и будет выполнено преобразование в обычного пользователя.

Различные примечания:

  • Лидер (ведущий адрес транзакции) должен быть авторизованным пользователем, а не аккаунтом мультиподписи
  • Каждая подпись должна использовать одну и ту же информацию, например, одинаковый nonce, ведущий адрес транзакции и т. д.
  • Лидер должен собрать все подписи перед отправкой действия
  • Пользователь может одновременно быть пользователем с мультиподписью и авторизованным пользователем другого пользователя с мультиподписью. Пользователь может быть авторизованным пользователем для нескольких пользователей с мультиподписью. Максимально допустимое число авторизованных пользователей для данного пользователя с мультиподписью — 10.

Важно для пользователей HyperEVM: преобразование пользователя в мультиподпись оставляет пользователя HyperEVM контролируемым исходным кошельком. CoreWriter не работает для пользователей с мультиподписью. В целом пользователям с мультиподписью не следует взаимодействовать с HyperEVM до или после преобразования.

Примеры кода см. в Python SDK.

Официальный источник: https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/multi-sig
Дата снимка: · Дата сборки: · Перевод сообщества; приоритет у английской версии
Неофициальный перевод сообщества. Права на контент принадлежат Hyperliquid; актуальна английская версия. Источник: https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/multi-sig