Мультиподпись Stellar через Ledger как способ дополнительной защиты кошелька

от автора

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

Но тут у меня возникла необходимость использовать ассеты в сети Stellar. И возникли проблемы. Ledger Live поддерживает сеть Stellar, но не поддерживает в ней ассеты (контрактные токены типа EURMTL). А сторонние кошельки, которые можно использовать для работы с ассетами, не поддерживают подписание транзакций через Ledger. Казалось-бы, что это тупик и использовать Ledger для полноценной работы со Stellar не получится…

Однако, было найдено решение этой проблемы. И заключается оно в использовании Multisig (мультиподпись). Для ее использования нужно, первым делом, пополнить кошелек, созданный в стороннем приложении (я использую LOBSTR) некоторым количеством XLM — базовой криптой сети Stellar. После этого можно в настройках включить Multisig. При его настройке нужно указать вторым адресом (необходимым для подписания транзакций) адрес кошелька Stellar, созданного в приложении Ledger Live. После этого для любой транзакции в данном кошельке потребуется подписание ее в том числе и с использованием аппаратного Ledger.

Но тут возникает другая проблема… При настроенном Multisig в кошельке LOBSTR после создания любой транзакции она не отправляется в сеть Stellar, а выдается в текстовом виде (в формате XDR). Далее эту транзакцию необходимо подписать с помощью Ledger и отправить в сеть Stellar. Ни того ни другого не умеют ни кошелек LOBSTR, ни кошелек Ledger Live.

И тут на помощь приходит лаборатория Stellar. Порядок действий для подписания XDR следующий (обратите внимание что-бы справа-сверху страницы переключатель был в положении «Public»):

  1. Заходим на страницу «Sign transaction»;

  2. Копируем в поле «Import a transaction envelope in XDR format» полученный в кошельке LOBSTR XDR транзакции;

  3. Нажимаем кнопку «Import transaction». После этого ниже на странице должно появится расшифрованное содержание транзакции и должно быть указано что одна подпись в ней уже имеется;

  4. Далее идем в самый низ страницы и ищем кнопку «Sign with Lerger» (здесь-же доступна кнопка «Sign with Trezor» для подписания другим аппаратным кошельком). К моменту нажатия на эту кнопку аппаратный кошелек Ledger должен быть подключен, разблокирован и иметь запущенным приложение «Stellar»;

  5. После нажатия на кнопку «Sign with Lerger» нам надо проверить транзакцию на Ledger и подтвердить ее подписание;

  6. После этого еще ниже на странице появится сообщение «Success» в поле, указывающем на статус подписания транзакции, и кнопка «Submit in Transaction Submitter» при нажатии на которую вы можете отправить данную транзакцию в сеть Stellar.

Вот и все. После этого можете проверять свой кошелек в LOBSTR и видеть как исполнилось действие, которое вы хотели сделать. 🙂


ссылка на оригинал статьи https://habr.com/ru/post/678520/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *