Мультисиг адреса

Мультисиг (multisig) адрес — это адрес, который требует нескольких подписей для подтверждения транзакции. Мультисиг подразумевает доступ к адресу имеет более одного пользователя. В консоли Minter реализован интерфейс создания мультисиг адреса и доступен по кнопке «мультиподпись».

Multisig

Чтобы сгенерировать мультисиг адрес, необходимо указать более одного адреса кошелька. Каждому кошельку назначается вес голоса, сумма всех весов считается в соответствующем поле. В поле «порог» указывается минимальное значение веса голосов, которое необходимо для отправки транзакции. Например, адрес Mx1234...5678 с весом 2 принадлежит Алисе, Mx8765...4321 с весом 1 — Бобу.

  • если пороговое значение равно 1, то и Алиса, и Боб смогут отправить транзакции независимо.
  • если порог 2, то Алиса сможет отправить транзакцию, а Боб — нет, так как вес голоса меньше 2. Чтобы Боб смог отправить транзакцию ему понадобится подпись Алисы.
  • если порог 3, то ни Алиса, ни Боб не сможет самостоятельно распоряжаться средствами на мультисиге. Каждому из них необходима подпись другого.
  • если порог 4, то никто не сможет распоряжаться мультисиг адресом. Все отправленные на него средства останутся там навсегда.

Для того, чтобы отправить транзакцию с мультисиг адреса в расширенном режиме кошелька нужно указать в соответствующем поле адрес мультисиг кошелька, нажать «Sign» и в консоле будет сгенерирована подпись — signature.

Подпись нужно скопировать, так как она необходима для подтверждения транзакции. После нажатия «отправить» консоль запросит подтверждения транзакции, где предложит ввести подпись. Если подпись корректна, а количество голосов достигло порогового значения, то транзакция будет отправлена с указанного мультисиг адреса. В таком случае, комиссия списывается с мультисиг кошелька. С помощью «Add signature» можно добавить дополнительное поле для подписи несколькими адресами. Каждому владельцу нужно задать одинаковые значения в поля интерфейса отправки монет для генерации корректной подписи.

Мультисиг адреса нужны для реализации парадигмы Trustless Service. Такие сервисы имеют свою внутреннюю логику работы, не зависящую от Минтер. Трастлесс сервисы — это концепция в рамках, которой разработчиками предлагается использовать мультисиг кошелек в качестве хранилища для средств пользователей. После зачисления монет на мультисиг адрес валидатор выпускает новые монеты пользователю в своем сервисе.

Если сидфраза одного кошелька находится у нескольких пользователей, это означает, что любой из них сможет воспользоваться средствами, хранящиеся там. Если для общих целей нужен единый кошелек, то владельцам кошелька нужно доверять друг другу. Мультисиг решает проблему доверия, требуя подпись нескольких владельцев. Максимальное числов адресов в мультисиге — 32. Значение веса голоса также ограничено — 1023.

Примером работы трастлесс сервиса можно привести мультиплеерную игру с внутренней экономикой. Алиса может пополнить игровой баланс отправив монеты на мультисиг. Валидатор, увидев зачисление средств на мультисиг кошелек, начисляет игровые монеты Алисе. Когда Алиса захочет вывести средства из игры, ей достаточно будет отправить запрос валидатору. Далее с мультисиг адреса монеты отправляются на кошелек Алисы, а внутренние игровые монеты уничтожаются.