January 23, 2022

Как хранить сатоши Lightning у себя

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

Вопрос из чата HCN

Эта статья пишется для того, чтобы дать максимально короткую и понятную инструкцию, поэтому мы будем рассматривать только один полнофункциональный биткоин-кошелёк. На самом деле это даже один из лучших, поскольку его особенности среди прочих: детерминированная сборка, возможность отправки групповых биткоин-транзакций, возможность подключения к своему узлу, native SegWit кошелёк. Мы не будем рассказывать обо всех этих технических ньюансах, хотя этот пост будет техническим, именно для них мы рекомендуем пост Сергея Базанов "Введение в Биткоин".

Аксиома: Отказ от хранения своей криптовалюты где-то ещё, например, бирже, Телеграм-боте или платёжном сервисе, и переход к хранению исключительно на своём кошельке, со своим приватным ключом, требует (новых) технических знаний и навыков.

Самое первое важное определение относится к видам биткоинов. С появлением Lightning Network стало необходимо разделять ончейн биткоины — это такие биткоины, которые вы получаете на Биткоин-кошелёк непосредвенно фиксируя транзакцию в блокчейне, и оффчейн Биткоины, такие, которые могут быть получены например через Lightning, но вообще в любом другом протоколе, который для своих транзакций не обращается к блокчейну Биткоина непосредственно. Когда говорят о Lightning обычно не употребляют словосочетание оффчейн биткоины, а используют оффчейн сатоши (доля биткоина, 1 к 100 000 000), или просто сатоши, поскольку это основная единица работы протокола Lightning.

Беречь, как зеницу

Если читатель вдруг почувствовал, что ему ещё рано читать этот пост, то ответьте на простой вопрос: есть ли на вашем смартфоне Биткоин-кошелёк с поддержкой Lightning Network?

Если ответ нет: почитайте статью Bitcoin Lightning за 5 минут для веселья и заработка и попробуйте пару советов из неё, получив первые сатоши Lightning Network. Пользователям iPhone тут не везёт, там разработано меньше кошельков Lightning Network. В таком случае не остаётся выхода как подкопить сатоши в каком-то сервисе, например LNTXBOT или LNClubBot в Телеграме, или перепрыгнуть ближе к концу статьи в раздел о покупке ончейн биткоинов, и затем открыть канал в одном из доступных кошельков из списка. Разработчики кошельков как правило являются поставщиками ликвидности (Lightning Service Provider), т.е. в первую очередь предлагают открывать каналы именно с их узлами. Хотя это является некастодиальным хранением, на самом деле мобильные кошельки зависимы от сервисов, которые их обслуживают, поскольку ключевой характеристикой безопасного обращения с Lightning Network является поддержание своего узла (мобильного кошелька) онлайн. Кошелёк, который находится оффлайн очень долго (две недели и больше) фактически доверяет сервису. Не стоит пугаться этого, поскольку ваша цель должна состоять в том, чтобы использовать Lightning Network для повседневных транзакций, а ончейн транзакции оставить для накоплений и крупных переводов. В таком случае достаточный критерий "находиться онлайн" — это один запуск кошелька в течение недели.

Если Simple Bitcoin Wallet уже установлен на Android, то мы продолжаем и наша цель — использовать Bitcoin и Lightning Network самостоятельно, не прибегая к услугам никакого третьего сервиса. Мы упомянули про приватный ключ — это понятие из криптографии и теории информации, которое связано с таким использованием шифрованных сообщений, что пока "ключ" держится в секрете от внешнего мира, и известен только вам, может быть математически гарантировано, что только вы можете сделать определённую подпись для определённого сообщения и это можно будет проверить с помощью открытого ключа, который доступен для всех. В Биткоине открытый ключ жестко связан с адресом, он может быть свободно преобразован в адрес, и обратно. Поэтому, получив криптовалюту, вы можете её потратить только с помощью приватного ключа, который соответствует адресу (подробнее о криптографических ключах). Этот адрес вам нужно создавать каждый раз, при получении биткоинов от кого-либо ещё. Закрепим: сначала генерируются адреса, затем тратятся биткоины приватным ключом, который вы храните в тайне.

Обычно, с приватными ключами вы никак не будете взаимодействовать напрямую за исключением одного момента: резервирования seed (энтропии, "материала" ключа). Если вы внимательно прочитали Bitcoin Lightning за 5 минут для веселья и заработка то у вас уже должна быть резервная копия. На данном "продвинутом" уровне у автора к вам один вопрос: помните ли вы где она? Если да, то на данном уровне рекомендуется её отыскать, проверить, что это она, открыв окно seed фразы в кошельке. Мы предполагаем, что у вас ещё нет ни одного канала Lightning. Если это так удалите кошелёк совсем и "восстановите" его по мнемонике. Если у вас есть хост-канал и 100 "кастодиальных" сатоши на нём — не бойтесь рискнуть этим, они должны восстановиться. Рискуйте с любой разумной для вас суммой или даже без неё, тренируйте навык восстановления.

Основа Lightning

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

Теперь перейдём к Lightning Network (LN). Это сеть, которая строится поверх протокола Биткоин. Мы не будем привлекать аналогию TCP/IP но направим любопытного читателя в это сторону, просто упомянув про этот сетевой стек, который лежит в основе http протокола сети Интернет. Вы можете заметить http(s) в строке браузера, но при этом TCP/IP будет врядли где-то заметен рядовому пользователю. Также выходит и с LN: например, кошелёк Phoenix объединяет ончейн и оффчейн (LN) балансы пользователя, делая незаметным уровень, на котором совершается транзакция. В мире Биткоина и LN это спорная практика, поскольку комиссии могут отличаться в тысячи раз и принципы работы на базовом уровне отправки транзакции также отличны.

Почему LN строится "поверх" Биткоина? Поскольку в основе LN лежат транзакции биткоина. Вся жизнь "канала" в LN — это две транзакции. Одна транзакция открытия канала и вторая — его закрытия. Существуют особые условия и типы закрытия канала но в идеальном случае они могут не закрываться вообще никогда, или могут существовать очень долго, как прочий банковский счёт.

Совершенно не кастодиальное использование LN на мобильном кошельке подразумевает, что вы открываете канал к своему узлу LN. Однако это потребует хороших навыков администрирования компьютера, либо материальных инвестиций, например для покупки коробочного LN узла Umbrel. То есть, только вы распоряжаетесь компьютером, который установлен где-то ещё, и постоянно подключён к Интернету и сети Lightning просто для того чтобы вы всегда могли сделать транзакцию со своего кошелька, и чтобы он "следил" считывая блоки Биткоина, что все другие узлы, с которыми у него открыт канал, не обманули его. Мы опустим этот вариант использования, но все интересующиеся могут посмотреть на такие проекты как Umbrel, Ride The Lightning и Nodl, которые предоставляют готовые узлы под ключ, вам только потребуется их самостоятельно инициализировать и установить нужные приложения через графический интерфейс.

Так как мы хотим использовать LN некастодиально, то можно предложить окрыть канал к узлу SATM (QR код ниже) как альтернативе другим сервисам ликвидности, уже предлагаемых SBW. У этого узла установлен низкий лимит на минимальную ёмкость канала, 50000 сатоши, так что для открытия можно обменять небольшую сумму в фиатной валюте на биткоины, чтобы открыть канал. Это экспериментальный узел, но его задача быть онлайн 24/7. Таким образом, он гарантирует маршрутизацию транзакции Lightning для вас в любое время. Кроме этого SATM реализует передовые идеи маршрутизации для кошельков SBW. Из канала пользователя мобильного кошелька SATM может маршрутизировать платежи через публичные хост каналы на другие узлы с гораздо лучшей связностью и ёмкостью, чем SATM. По сути он является прокси-узлом с не очень большой ликвидностью, но это сделано специально для гарантий оказания сервиса онлайн 24/7.

Если на данном этапе у вас вообще нет биткоинов, то просто прочитайте и запомните, как работает Lightning, в следующей части мы немного затронем решение этой фундаментальной проблемы некастодиального использования Lightning Network — необходимость иметь немного биткоинов, чтобы участвовать в платёжной сети поверх Биткоина.

https://1ml.com/node/02cd1b7bc418fac2dc99f0ba350d60fa6c45fde5ab6017ee14df6425df485fb1dd

Когда вы открыли канал, вы можете тратить сатоши из него, совершая транзакции точно также как в нашем руководстве по хост-каналам в кошельке SBW. Транзакции должны отправляться, пока баланс на вашей стороне не станет равен минимальной резервной сумме, необходимой для аварийного закрытия канала. Этот резервный остаток, обычно до 10 000 сатоши, выделяется в канале по правилам протокола Lightning Network и является причиной, по которой стоит создавать канал побольше (т.е. не минимальные упомянутые 50 000 сатоши). Не существует единой рекомендации для размера канала, пользователь должен исходить из своих потребностей и возможностей заработка. Ёмкость канала переиспользуется, это желательный способ эксплуатации каналов Lightning Network. Даже если канал пустеет — то есть на вашей стороне, в узле LN на вашем мобильном кошельке не остаётся и одного сатоши, равного 0.00000001 биткоина, сверх резерва, то вы можете его снова пополнить и снова произвести трату. Как можно пополнить канал? Очень просто. Совершая сделку с другим человеком, у которого канал не пуст. То есть, продавая свой товар, или меняя деньги, или те же биткоины. Если вашему партнёру необходимы сатоши в LN, а вы не против вывести их в "холодное хранилище", то вы можете просто заплатить ему через LN и получить от него взамен эквивалентную сумму на ваш биткоин-адрес. Так начинает работать экономика вокруг платёжной сети Lightning!

Shut up and take my money

Эта часть нам пригодится, если мы не смогли накопить достаточно много сатоши в хост-каналах, выполняя полезные услуги или продавая ценные товары, либо у читателя есть сколько-нибудь фиатной валюты для обмена на биткоины и он хочет заодно открыть канал. Покупка Биткоинов — это просто, но есть тонкости. Сегодня в мире практически нет удобных, дешёвых и быстрых способов покупки без KYC (Know Your Customer). Каждый из способов является компромиссом.

Покупка на централизованных площадках

Бывает быстрой и удобной. Но иногда требует KYC, кроме этого также является не приватной, поскольку любая централизованная площадка концентрирует данные большого количества пользователей — и является или становится, в конечном счёте, центром утечки данных. Иногда бывает так, что данные уже утекли. В этом случае попытка преследовать более приватные способы в целом имеет меньшую ценность по сравнению с необходимостью спасти свои сбережения. Пока мы можем порекомендовать бот BTC Banker и это его реферальная ссылка. Там достаточно просто обменять деньги, имея аккаунт в российских платёжных системах, или счёт в банке, этот бот группирует транзакции при выводе, поэтому уровень комиссий там не высок. Также можно пользоваться опциями обмена на наличные. Ход сделки документируется — просто следуйте указаниям и читайте их дважды, если не уверены. После обмена выводите биткоины на кошелёк. Бот в этом случае является кастодианом вашей криптовалюты, мы хотим этого избежать, и вы хотите открыть канал в LN. После того как биткоины появились в вашем SBW на верхней карточке ончейн средств, жмите на кнопку сканирования QR-кодов и сканируйте код выше для открытия канала. Также там доступны другие провайдеры ликвидности, но мы рекомендовали бы более простой способ.

Покупка без верификации

Не бывает быстрой, но может быть всё ещё более-менее удобной. Скорость главным образом зависит от способа совершения сделки: на Hodl-Hodl и Bisq она вовлекает использование реальных специальных транзакций Биткоина, которые минимизируют потенциальный конфликт завершения сделки. Например, когда ваш контрагент хочет вас обмануть и говорит, что не получил деньги.

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

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

Переход из кастодиального кошелька

Каким способом можно открыть обычный канал, имея достаточно для этого сатоши на хост-канале, или в кастодиальном кошельке типа LNTXBOT и Wallet Of Satoshi?

Такие сервисы как Yalls, Bitrefill Thor и LNBig в общем могут быть использованы, но про них также известно, что они закрывают каналы, когда это выгодно им и являются дорогими. Другими словами, при использовании этих сервисов внимательно читайте условия обслуживания.

Первой альтернативой рассмотрим coincept.com. Он предлагает ликвидность от 100 000 сатоши за 5900 сатоши. Такая сумма может быть накоплена в кастодиальном кошельке относительно безопасно.

Медианная комиссия их узла равна 338 промилле, для сравнения Yalls имеет значение 2500ppm по данным того же обозревателя, что в 8 раз больше.

https://amboss.space/node/0202e7727ee46d943a44c7bf0dce14220a839630dee67d03446bf935178b55a0df

Ещё один сервис LND Routing имеет ещё меньшую пропорциональную комиссию 277ppm, однако пользоваться им будет не просто: надо активно работать в командной строке, чтобы открыть канал. Данный вариант будет подходить только для тех, кто намерен управлять собственным узлом.

Другие материалы

Ниже ссылки на материалы Bitcoin Translated. Мы старались фокусироваться на наиболее простом и коротком пути к использованию Lightning без кастодиальных хост-каналов, но эти материалы содержат также большое количество альтернатив по возможным способам приобретения биткоинов, их хранения и их использования.

Биткоин-гид для новичков. Часть I: теория

Биткоин-гид для новичков. Часть II: практика

Lightning-кошельки

Как поддержать автора?

Здесь мог бы быть LNURL код для быстрой оплаты в Lightning, но читатель без канала вряд ли смог бы сделать донат. Просто открывайте канал к SATM и пользуйтесь LN, это уже будет вознаграждением. Напоминаем, что один кошелёк может поддерживать множество каналов к разным узлам, поэтому вы всегда сможете позже завести свой собственный узел и открыть к нему канал большей ёмкости: кошелёк SBW никак не ограничивает в этом пользователя, это полнофункциональный мобильный кошелёк.