Phoenix: возвращаем контроль над своими LN-сатами

Phoenix: возвращаем контроль над своими LN-сатами
Доступна видеоверсия гида

Интро

Сегодня я хочу предоставить вашему вниманию гид по некастодиальному лайтнинг-кошельку Phoenix. Этот гид будет полезен тем, кто уже немного познакомился с сетью Молния и оценил взаимодействие с ней на практике. Предположим, вы уже пользовались кастодиальным кошельком, например Wallet of Satoshi, и хотите получить больше контроля над своими средствами, самостоятельно хранить свои сатоши в сети лайтнинг и минимизировать уровень доверия к третьей стороне. Я не случайно говорю именно минимизировать, а не избавиться, но подробнее я это поясню в конце этого гида.

Кошелек Phoenix может послужить отличным промежуточным решением между использованием кастодиального кошелька и запуском собственного лайтнинг-узла.

Хорошим примером тому стали недавние события – закрытие и практически невозможность вывода средств из популярного Телеграм-бота LNtxBot и проблемы у кастодиального лайтнинг-кошелька Blue Wallet.


Терминология

  • Ончейн – транзакции, проводящиеся на основной цепи Биткоин и отражающиеся в блокчейне сети Биткоин.
  • Оффчейн – транзакции вне основной сети, например, в сети Лайтнинг.
  • Кастодиальное хранение – хранение / использование “крипты” – будь то биткоин, саты в сети Молния, эфир или любой другой щиткоин, – полагаясь на третье лицо, так называемого кастодиана. Кастодиан хранит ваши средства и получает / отправляет их по вашей просьбе.
  • Некастодиальное хранение – самостоятельное хранение и контроль собственных средств.
  • Сеть Лайтнинг, сеть Молния, ЛН, LIghtning Network, LN – термины, относящиеся к сети второго уровня, развернутой поверх основной сети Биткоин, в оригинале – Lightning Network (подробнее о ней в этом разделе).
  • Инвойс / лайтнинг-инвойс – счет, использующийся в сети Молния. Устройство Лайтнинг отличается от механизма, используемого в сети Биткоин. Вместо привычных адресов получения пользователи обмениваются счетами-фактурами для получения средств (подробности работы сети Молния освещены в этом видео).
  • Ликвидность – объем средств, которые вы можете отправить (исходящая) или получить (входящая)

Почему Phoenix?

Кошелек Phoenix предлагает возможность некастодиально использовать сеть Молния. Ваш кошелек выступает в качестве лайтнинг-узла и вы сами контролируете количество и размер своих каналов. При создании кошелька вам предоставляется сид-фраза, по которой вы можете восстановить свои средства в случае какой-то критической ошибки. Вам просто нужно будет принудительно закрыть свои каналы и средства попадут на ваш ончейн-кошелек, который вы сможете восстановить через, например, кошелек Electrum.

Лайтнинг-максимализм

Phoenix будет, возможно, не так привычен пользователям, привыкшим к кошелькам “два в одном”. Blue Wallet предлагает (или предлагал😜) несколько видов кошельков в одном приложении, а такие кошельки как Wallet of Satoshi и Muun вовсе “объединяют лайтнинг и ончейн средства в одно целое”, где пользователь даже не замечает разницы между его “аккаунтами”. Phoenix же является исключительно лайтнинг-кошельком.

Photo by NON / Unsplash

Да, у него есть возможность получать ончейн-платежи, но они будут моментально конвертироваться в лайтнинг-саты. Вы также можете сделать так называемый Swap-out и отправить ЛН-саты на ончейн-адрес. Просто преобразование будет происходить “под капотом”. Технические подробности процесса лежат вне рамок сегодняшнего ознакомительного гида, просто обратите внимание на то, что Phoenix не стоит воспринимать как классический ончейн-кошелек. В каком-то смысле кошелек Phoenix можно назвать лайтнинг-максималистом⚡️.

💡
О том, как биткоины высвобождаются в сеть Молния и о других технических аспектах ее работы смотрите в этом видео:

Практика

Phoenix обладает простым, удобным и интуитивным интерфейсом. Он доступен на всех мобильных платформах – iOS и Android, а истинные шифропанки – фанаты DeGoogled Android – или, например, пользователи смартфонов Huawei, могут скачать APK-файл и установить приложение в обход Google Play.

Пополнение кошелька

Первым делом после установки следует пополнить кошелек сатошиками. Это можно сделать как ончейн-средствами, так и через сеть Молния. После нескольких приветствующих экранов нас встречает экран, предлагающий оплатить “открытый” лайтнинг-инвойс (инвойс, где вы можете на свое усмотрение  указать оплачиваемую сумму). Обратите внимание, что минимальная сумма пополнения равна 10,000 сат, что вызвано необходимостью открыть канал, через который вы впоследствии будете отправлять и получать саты. Открытие канала производится через ончейн-транзакцию, которая требует оплаты комиссии майнерам.

Пополнение кошелька через Лайтнинг / открытие канала

Вы также можете пополнить кошелек ончейн-транзакцией. Для этого нажмите Show a Bitcoin address внизу экрана.

Пополнение кошелька ончейн / открытие канала

Обратите внимание, что в обоих случаях первое пополнение снимет с вас комиссию, равную 1% перевода с минимальной комиссией в 3,000 сат. Это связано с необходимостью открытия канала. Расценивайте это как плату, необходимую чтобы отказаться от кастодиального хранения сатов.

Интерфейс

Обратите внимание на функции, предлагаемые кошельком:

Домашний экран
  1. Настройки
  2. История транзакций
  3. Баланс (скрытый/USD/sat)
  4. Состояние сети
  5. Ресурсы (обратная связь)
  6. Отправить
  7. Получить

Настройки довольно тривиальны. Хочу лишь указать на 3 пункта – вкладка отображения сид-фразы (1), вкладка экстренного закрытия каналов и вывода средств ончейн (2), вкладка, отображающая ваши каналы и их ликвидность (3).

Меню настроек

Особенности

Платежные каналы

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

Экран отображения платежных каналов

Функции и комиссии

С точки зрения пользователя Phoenix ведет себя практически идентично кастодиальному кошельку (смотрите главы Платим в сети Молния и Получаем оплату в сети Молния в этом гиде по Blue Wallet). Единственная разница заключается в том, что используя этот кошелек, важно следить за состоянием каналов, чтобы случайно не запросить больше средств, чем вам доступно входящей ликвидности. Это выльется в очередное открытие канала и будет стоить вам 3,000 сат или 0.1% суммы (вы получите меньше, чем вам было отправлено).

Получение сатоши в сети Молния + открытие нового канала

Стандартные функции Phoenix и связанные с ними комиссии:

  • Получение ЛН-платежей (бесплатно, разве что приходится открывать новый канал)
  • Отправка ЛН-платежей (1 сат + 0,05% от отправленной суммы. Если за эту цену не удается найти маршрут, плата будет постепенно увеличиваться до максимального значения в 12 сат + 0,5%. Это максимальное значение может быть изменено в настройках: Payment options & fees → Maximum fee for routing.
Экран подтверждения отправки платежа
  • Swap-in – получение сат ончейн и конвертация их в ЛН (1% от полученной суммы, с минимальной комиссией в 3000 сат. Это покрывает расходы на открытие канала. Полученная сумма должна быть не менее 10,000 сат.)
  • Swap-out – отправка ЛН сат (конвертация) на ончейн-адрес (Стоимость является переменной, зависящей от загруженности мемпула и текущего набора UTXO ACINQ. Обратите внимание, что кошелек не взимает никаких комиссий за этот своп, все доходы переходят майнерам).
💡
О разных способах конвертации средств между основной сетью и сетью Молния я рассказывал в этом видео:

Нюансы и инструменты восстановления

Получение платежей

На самом деле с получением ЛН-платежей дела обстоят немного сложнее. Например, у вас может быть канал с исходящей ликвидностью в 5,000 сат и емкостью 25,000 сат. Однако это не означает, что вы можете получить 20,000 сат в этом канале, так как его входящая ликвидность меньше общего значения.

Часть средств канала "заблокирована", как того требует протокол Lightning, по соображениям безопасности (в основном для оплаты ончейн-комиссий в случае одностороннего закрытия канала и для поддержания резерва канала на стороне ACINQ). Заблокированная сумма варьируется в зависимости от ончейн-комиссий и может быть значительной. Соответственно, я советую один раз открыть хотя бы один объемный канал, чтобы вам не приходилось впоследствии переживать, что входящей ликвидности будет недостаточно для получения платежа.

Еще одной проблемой являются многокомпонентные платежи (платежи, использующие сразу несколько путей). Когда у вас несколько каналов, отправитель не будет знать их соответствующие балансы (это приватная информация), поэтому он, скорее всего, не сможет оптимально разделить платеж между существующими каналами (если только отправитель не использует trampoline).

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

Как восстановить средства в случае принудительного закрытия каналов?

Во-первых, не удаляйте приложение (и не сбрасывайте его настройки) до тех пор, пока не восстановите средства.

Во-вторых, обратите внимание, что если ваши каналы были принудительно закрыты, вы столкнетесь с задержкой (обычно 720 блоков, или ≈ 5 дней, но может быть и больше), при выводе средств.

В случае “армагеддона” все, что вам нужно для восстановления средств, – это сохраненный сид, который для вас изначально сгенерировал кошелек. Phoenix использует стандартный сид BIP39 и следует стандартному пути деривации BIP84, вы можете использовать любой совместимый кошелек для восстановления ваших средств. Я рекомендую использовать (настольный) Electrum. Подробнее об этом кошельке можно узнать из этого пошагового гида.

Пошаговое руководство:

  1. Скачайте Electrum.
  2. Создайте новый Стандартный кошелек.
  1. Выберите У меня уже есть сид.
  1. Введите ваши 12 слов, нажмите Options и отметьте BIP39 seed.
  1. Выберите native segwit (p2wpkh).
  1. Ожидайте появления средств.

Phoenix требует доверия?

Phoenix минимизирует необходимость в доверии, но не лишает ее полностью. Следующие операции требуют доверия:

  • открытие канала (до момента подтверждения финансирования транзакции);
  • свопы (пользователь платит, а затем узел ACINQ выполняет своп).

Вы можете настроить Phoenix на использование собственного Electrum-сервера для оценки блокчейна и мониторинга ваших каналов. Это значительно снизит вашу зависимость от третьих сторон для обеспечения безопасности вашего кошелька. Тем не менее, привязка собственного сервера требует наличия SSL-сертификата.

Приватность Phoenix

Текущая версия Phoenix не предлагает никаких преимуществ в отношении приватности по сравнению с кастодиальными кошельками. ACINQ – разработчик кошелька и держатель узла, с которым открываются каналы) знает конечное место назначения и сумму платежей.

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

Итоги

Как я уже говорил, Phoenix является хорошим промежуточным решением для пользователей уровня “не новичок”. У кошелька есть свои минусы:

  • Необходимость в определенной мере доверять операторам узла ACINQ
  • Возможные высокие комиссии, связанные с непредвиденным открытием каналов (требует внимания пользователя к наличию входящей ликвидности)
  • Приватность платежей в Phoenix не лучше таковой у кастодиальных ЛН-кошельков, но команда работает над улучшением приватности.

Несмотря на ряд недочетов (я считаю их вполне приемлемыми для пользователей, переезжающих с кастодиальных решений) Phoenix остается хорошим выбором среди ЛН-кошельков – ему удалось создать продукт, четко следующий заявленной философии: предоставить некастодиальный ЛН-кошелек с удобным и интуитивным интерфейсом.Остались вопросы? Зайдите в F.A.Q. кошелька.


Информация оказалась полезной? Все материалы проекта 21 идея распространяются бесплатно, и проект нуждается в твоей поддержке!