Нодоводство: опыты профессионального управления узлами Молнии
База подкаста об управлении узлом Lightning Network
В девятом выпуске "Битком в Биткоин" мы говорили с создателем Lightningto.me о преимуществах и проблемах сети Молния, комментировали опыт Roki в деле профессионального управления узлом.
В этой статье мы публикуем текст комментариев Roki, а также ответы на пришедшие через Турникет⚡️🔗 вопросы. @HypeCoinNews просит прощения за пропущенную возможность задать их прямо, хотя частично некоторые вопросы и так имеют ответы в подкасте.
Вопрос к Роки: Когда ты заинтересовался Биткоином и почему тебя заинтересовала Молния?
Ответ: Задолго до появления криптовалют я интересовался распределенными криптографическими вычислениями и даже участвовал в в нескольких проектах по распределенному взлому хеш функций. Но я полностью пропустил начальную фазу зарождения Биткойна. В Биткойн я пришел через майнинг Эфира. Была такая интересная возможность, которая называлась дуал-майнинг, когда одновременно на видеокарте можно было майнить эфир и вский альтернативный мусор. Я майнил эфир и продавал его, а мусорные монеты хотелось поменять на что-то стоящее. Так я стал собирать Биткойн. В процессе обмена наиболее прибыльных и популярных альткойнов пришлось сначала регистрироваться, а потом и терять доступы на разных сомнительных биржах. Одни были взломаны, другие ушли в жесткий KYC и отъем средств. Так я понял невероятную важность не-кастодиальной модели хранения активов. Многие алькойны с тех пор упали до нуля или даже исчезли и этот опыт доказал важность Биткойна как эталона сохранений ценности.
Когда был очередной общий спад крипторынка я подумал почему бы не отправить небольшое количество Биткойна на ноду Молнии, чтобы переждать крипто-зиму и заработать какую то комиссию? Протокол Lightning Network привлек своей не-кастодиальностью, масштабированием и идеологией приватности.
Как ты пришёл к выбору клиента сети и что ты знаешь о других? Показались ли тебе чем-то интересными альтернативные проекты?
Когда я запускал узел в начале 2019 года, практически не было альтернативных клиентов. Я выбрал lnd из-за языка go, который изучал в тот момент. Это оказалось хорошим решением, потому что я писал свою утилиту управления для lnd.
Джон Карвало недавно высказался что при 1% доходности узлы ни в каких масштабах не могут себя окупить, ты с этим согласен?
Я согласен что с текущей доходностью обычные проекты в сети Молния не окупаются и не интересны для коммерческого использования. Но прямо сейчас я консультирую один крупный проект, где принимается цель достичь доходности 1%. Можно сказать что по-прежнему есть идеологические упрямцы среди финансовых инвесторов.
Какая доходность на твой взгляд может оправдать нодоводство?
Поскольку Биткойн является безрисковым эталонным активом, то прямой ответ - любая ненулевая. По факту, же в случае ноды Молнии мы рассуждаем прежде всего о рисках. Риск потерять средства на ноде с горячим кошельком весьма значительный из-за множества причин, поэтому правильнее говорить не об ожидаемой прибыли, а о толерантности к ожидаемым потерям. Для других протоколов доходность стейкинга составляет 5-17%, но она включает премию за волатильность актива. Вряд ли можно рассчитывать на доходность выше эфира, которая примерно 3,3% сейчас. Поэтому нет коммерческой причины, которая может оправдать нодоводство с учетом всех рисков.
Вопрос с Турникета: Не разбираюсь в кодинге и технических нюансах, но очень хочу запустить биткоин ноду. Боюсь потенциальной уязвимости сети молния, которую подсветил один разработчик в этом году. Можно ли как-то обезопасить себя?
Не смотря на характерную “горячую” форму работы узла Молнии, саму сеть следует считать безопасной. За исключением взломов облачных провайдеров, пользователи в основном теряют средства из-за ненадёжного оборудования и недостаточного резервирования.
Назови топ 3 вещей которые тебя раздражают в процессе управления узлом
Главная неустранимая причина, которая делает невозможным простое поддержание узла в эффективном состоянии - это фундаментальная асимметрия сети. Большинство не-транзитных узлов, которые принимают и выводят деньги из сети либо высасывают ликвидность, либо ее вливают. В результате большинство каналов пере-балансируются в направлении узлов забирающих ликвидность и прекращают работать. По моим ощущениям после многократных тестов различных ре-балансировки, только 0,1% каналов в сети живые и проводят платежи. Остальные застыли и умерли.
Очень раздражают force close (когда канал принудительно закрывается из-за ошибок в сети или сбое ноды) . За пять лет работы ноды ситуация не только не улучшилась, но и стала значительно хуже. Наиболее чувствительно принудительное закрытие каналов в моменты высоких комиссий. На общей статистике сети LN видно что последние два года количество каналов в сети неуклонно сокращается. Это реакция на высокую стоимость содержания одного канала, который может закрыться в любой момент времени зафиксировав невосполнимый операционный убыток.
Поиск входящей ликвидности. Эффективность работы ноды зависит исключительно от качества и количества входящей ликвидности ( при базовом условии что вы способны открывать и поддерживать необходимое количество исходящих каналов) Не существует простых и эффективных способов привлечения ликвидности. Чаще всего это дорого и некачественно. На коммерческом рынке необходимо тратить в 10-100 раз больше за ликвидность, чем вы сможете заработать на ней. Например, вы заплатите 10.000 сатоши за атомарный своп и получите объем ликвидности, который можно прогнать в сторону “сосущей ноды” и заработать 100 сатоши. Почему нельзя поставить комиссию повыше и заработать, хотя бы 1000 сатоши? Потому что в этом случае ваша ноду окажется за пределами маршрутов платежей и заработает 0. Чтобы активировать роутинг его, нужно выставить комиссию значительно ниже для не крупных и не узловых нод.
Вопрос с Турникета: Насколько критичны отключения света на несколько часов пару раз в месяц? Что делать с нодой если уезжаешь в отпуск на несколько дней/недель? Безопасно ли управлять нодой через приложение iOS например такое как Fully Noded или Zeus?
Отключения света критичны и может не повезти либо с аппаратным обеспечением, либо с самим процессом работы в “Молнии” - через узел может проходить платёж в момент отключения. Тогда произойдёт force close как минимум одного канала. Гораздо более безопасной вещью выглядит нормальное завершение работы узла и выключение оборудования и поездка. Как правило узел должен “появиться” онлайн через две недели - это нормальный срок таймаутов принудительных транзакций, при котором узел должен проконтролизовать, что из закрытого канала не были похищены средства. Приложения типа Zeus на текущий момент считаются относительно безопасными и для Android можно самостоятельно собрать apk архивы и загрузить на телефон, пользователям iOS увы придётся довериться вендору.
Настройка узла на маршрутизацию это целая наука, есть ли какие-то советы, которыми бы ты мог поделиться с теми, кто хочет рискнуть и завести публичный узел?
Я бы мог дать только один совет - не тратить время на запуск и обслуживание публичного узла. Если нужен узел для личного пользования - достаточно взять 1-2 канала у какого-нибудь сервиса ликвидности и открыть 1-2 исходящих каналов самому.
Помог ли тебе какой-либо алгоритм для выбора пиров
Главный критерий выбора пира - это двунаправленных поток платежей. Я несколько раз находил новые рабочие алгоритмы для выбора пиров, но все они заканчивались примерно одинаково. Поток со временем пересыхал и каналы застревали в одной стороне (см причину 1 выше), либо же хорошие действующие каналы закрывались принудительно, а вся накопленная ликвидность и репутация терялась (см причину 2 выше) . (Репутация это накопленный со временем рейтинг маршрута внутри графа LND других нод)
Можешь ли порекомендовать какие-либо правила для назначения комиссий в каналах, в зависимости от пира?
Я специально исследовал и даже начинал писать программу для автоматического управления комиссией. Каждую гипотезу я проверял вручную, но так и не дошел до стадии имплементации решения в коде, потому что никакая гипотеза не способна изменить фундаментальную асимметрию сети. Любое управление комиссией канала по-сути лишь дает отсрочку полного опорожнения канала. Самый очевидный и рабочий алгоритм - экспоненциальное повышение комиссии по мере исчерпания емкости. Я думаю что благодаря этому алгоритму в сети доступно примерно 0,1% маршрутов по дорогой цене.
Более сложное правило - ставить сначала очень высокую комиссию на пир, а потом медленно снижать ее и смотреть пока не начнутся переводы.
Нерешаемая проблема для любого алгоритма состоит в том, что конфигурация комиссии всегда уникальна для конкретной ноды и конкретного набора каналов. При случайном отключении или подключении даже одного канала вся отлаженная система идет в разнос! Я много размышлял над этой проблемой и пришел к выводу что обычная нода стремится к состоянию покоя. Это примерно как вода, которая всегда течет вниз. Мы занимаемся удержанием воды в озере на высоте из которого вытекают ручьи (платежи) и испаряется вода (force closures) Для поддержания экосистемы должна поступать внешняя энергия, которая приводит к испарению воды и выпадению дождей и притоку новой воды.. В ЛН этой внешней энергии нет, поэтому управление ликвидностью превращается подъем воды ведрами наверх. В этой аналогии должны быть какие то крупные озера в низине, которые собирают всю воду. Они есть - ноды бирж с огромными накопленными балансами.
Какие кошельки для повседневного использования ты бы рекомендовал?
Я использую узел LND как удобный персональный кошелек, но должен сказать что практически не осталось сервисов кроме кроме криптобирж, где можно было бы использовать лайтнинг с пользой.. Все глобальные сервисы работающие с рублевой зоной закрылись в первые же дни введения санкций. Таким образом сеть Молния оказалась недееспособной в своем самом главном идеологическом предназначении - осуществлении приватных и нецензурируемых платежей.
Вопрос с Турникета: Может ли провайдер понять что у меня запущена лайтнинг нода? Как сохранить приватность и как лучше настраивать подключение к ноде: через Clearnet или Tor?
Провайдер может установить соединения по характерным портам, и траффику Bitcoin Core. Для обычных интернет провайдеров использование Tor или i2p позволяет скрыть работу Core и узла Молнии, хотя для Молнии желательна Clearnet из-за высокой задержки и низкой пропускной способности протоколов типа Tor. Для публичного узла можно рекомендовать использование VPN/VPN сервера с “белым” IP.
Есть ли у тебя примеры пользователей которые никогда не были знакомы с Молнией но для них не оказалось большой проблемой её использовать.
Я считаю Молнию слишком сложной технологией, которую не могут освоить обычные юзеры. Кастодиальные телеграм-боты были прекрасной возможностью привлечь пользователей в эту технологию, но они все не добились успеха.. Сейчас эту нишу занял TON.
Есть ли конкуренты Молнии среди решений для масштабирования, которые тебе было бы интересно использовать. Может ли это быть совершенно отдельный протокол, типа TRON/USDT.
Я использую L2 протоколы на Ethereum, которые добились впечатляющих технических результатов, но находятся сейчас в кризисе идентичности. Я наблюдаю бурный рост использования альтернативных L1 блокчейнов типа Solana, Near, TON.
Является ли проблемой низкое освоение среди продавцов? Может, решения для масштабирования вовсе не нужны?
Низкое освоение это не проблема продавцов, а проблема операторов услуг. Они как и любой другой игрок экосистемы не могут зарабатывать повышенные комиссии, но имеют повышенные расходы из-за сложности технологии, поэтому не тратят деньги на маркетинг и продвижение.
Продавцы не могут и не должны заниматься такими вещами как техническим обслуживание серверов для процессинга платежей. Когда доходит до реального использования такие преимущества как не-кастодиальный процессинг или повышенная приватность платежей для продавцов оказываются скорее минусом. Вместо лицензируемых и регулируемых поставщиков финансовых услуг они должны доверять мутным крипто-панкам.
Я много лет хотел найти продавца, над которым мог бы взять шефство и обеспечивать ему ликвидность и связность в сети LN. Прикол в том, что в реальном мире продавцы-коммерсанты и биткоин энтузиасты не могут пересечься из-за разных идеологических установок и принципов. Биткойн всегда остается против системы, а чаты биткойнеров переполнены рассуждениями как они уничтожат и победят существующую финансовую систему. Это совершенно не то, о чем думает и мечтает обычный коммерсант.
Я вижу настоящий шанс в следующем всплеске интереса к сети Молния в случае расширения использования токенов, таких как USDT. Если сеть вместо передачи непосредственно стоимости в сотнях тысяч и миллионах сатоши перейдет на передачу сообщений о токенах стоимостью
Вопрос с Турникета: Писал ли гость какие-нибудь скрипты на языках связанных с биткоином или лайтнингом? Минискрипт, тапскрипт и тд. Можете посветовать что-то? Так-же интересно, какое мнение у гостя по поводу Ликвид Нетворк.
На данный вопрос придётся ответить редактору подкаста. Для Минискрипта лучше обратиться к библиотеке rust-miniscipt и её примерам, они достаточно иллюстративны. Есть утилиты типа hal, которые помогают упростить некоторые операции при работе с транзакциями и дескрипторами кошельков. Liquid это перспективная технология и экспериментальная площадка, хорошо совместимая с Биткоином, однако она не получает должного развития. Вероятно, Blockstream следует изобрести что-то уровня JavaScript для смарт-контрактов, чтобы существенно упростить работу с сайдчейном.
Вопрос с Турникета: Стоит ли использовать альтернативные ноды, в частности Knots?
Если вам хочется экспериментов. Knots это пример кастомного узла с небольшими ограничениями, внесёнными практически единолично одним разработчиком. Используя этот узел, существует ненулевая вероятность оказаться вне сети Биткоина. Учитывая, что консенсус Биткоина не является строго формализованным и реализация также не является абсолютно чётко следующей некоей спецификации, единственный клиент это скорее благо для сети и пользователей.
Вопрос с Турникета: Как подключить свою ноду? Взял оборудование Raspberry pi, hdd хороший. А дальше неизвестность.
Увы, Raspberry pi уже не является хорошим выбором для узла Молнии, хотя он может быть неплохим для работы Bitcoin Core. Вопрос конечно не в этом, и ниже мы привели ссылки на разные открытые проекты, которые служат в качестве платформ для разворачивания Bitcoin Core и Lightning клиентов, а также некоторого набора другого программного обеспечения, типа клиентов Nostr. Огромное количество ссылок собрано здесь, там присутствуют материалы для всех уровней владения компьютером, но вероятно придётся воспользоваться Гугл-переводчиком. Очень популярным является решение Umbrel и StartOs, поэтому мы бы рекомендовали начать с материалов о первых шагах в них.
Проекты с узлами “под ключ”
Поддержите “Битком в Биткоин” 🔗 LN платежом 🔗
Или centralviola51@walletofsatoshi.com
. Начните пользоваться LN кошельком типа Valet для Android, если у вас ещё нет кошелька с поддержкой “Молнии