Только медийное адаптивное
Только медийное адаптивное

Будущее Lightning Plugins Ярко — Журнал Биткойн

12

Попытка навигации по различным реализациям Lightning может быть проблемой. Хотя изначально было три варианта реализации: c-lightning, eclair и lnd, все больше и больше продолжают появляться из дерева с белыми куропатками, молнией ржавчины и Electrum — самыми последними, кто вступил в драку.

Часто кажется, что разработчики и начинающие разработчики предпочитают использовать или вносить вклад в конкретную реализацию на основе языка, на котором она написана. Знакомы с Scala? Выберите эклер. Возбужденный потенциалом Rust? Выбери ржавую молнию. Однако существуют и другие ключевые соображения, такие как цели, принципы проектирования, варианты использования и компромиссы различных реализаций. Кроме того, просто потому, что реализация написана на определенном языке, не обязательно означает, что вы должны кодировать на этом языке, чтобы внести свой вклад в экосистему вокруг этой реализации.

Новые контрасты между реализацией lnd и ржавчины были изучены на панели на Breaking Bitcoin 2019 и в этом Биткойн Журнал статья. В то время как lnd стремится снять нагрузку с разработчиков и обеспечить максимальную функциональность из коробки, «ржавчина молний» стремится предложить максимальную гибкость, когда разработчики поощряются предлагать свои собственные компоненты и вставлять их.

В отличие от C-Lightning предлагает третий путь. Он поддерживает надежное и безопасное ядро, разработанное так, чтобы разработчик не мог его изменить или заменить. Гибкость и дополнительные функции доступны благодаря использованию плагинов, которые могут быть написаны разработчиком на разных языках, таких как Python или Go. Цель состоит в том, чтобы экосистема c-lightning стала испытательной площадкой для экспериментов с новыми передовыми функциями, ранее являвшимися областью других реализаций, таких как lnd и eclair, без ущерба для производительности и надежности ядра.

Плагины — это подпроцессы, запускаемые основным демоном lightningd. Они работают в сотрудничестве с Lightningd. Любые плагины, которые являются избыточными к требованиям, запускать не нужно. Некоторые плагины нуждаются в определенных хуках, которые будут введены в lightningd, которые будут уведомлять плагины о внутренних событиях и / или изменять поведение lightningd.

Интересное  MasterCard, Ripple и Binance присоединяются к образовательной инициативе блокчейн

Первые плагины C-Lightning

У Blockstream есть серия публикаций в блоге Medium, в которых демонстрируются некоторые из первых плагинов, написанных командой c-lightning. К ним относится плагин «Сводка», который предоставляет сводную информацию о состоянии узла, включая цепочку сатоши, то, что это означает в терминах Фиат, количество пиров, количество каналов, насколько они сбалансированы и т. Д.

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

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

Плагины сообщества

Всего на момент написания статьи доступно 16 плагинов для сообщества c-lightning. К ним относится плагин для автопилота, портированный из библиотеки, созданной Рене Пикхардтом. Автопилоты решают, с каких узлов открывать каналы от имени пользователя. Пользователь должен сообщить автопилоту процент средств, находящихся под его контролем, количество открытых каналов и минимальный размер канала. Lightningd также должен уведомлять автопилот, когда каналы открываются и закрываются удаленными сторонами. Создание эффективного автопилота является сложной задачей, поскольку пользовательские настройки, такие как максимизация вероятности успешного платежа, могут конфликтовать с состоянием сети, например уровнем децентрализации.

Существует также плагин для балансировки, который перемещает ликвидность между каналами пользователя, чтобы обеспечить достаточную входящую и исходящую ликвидность; и плагин оплаты без счета, который позволяет пользователю совершать платежи без предварительного получения счета. При запуске c-lightning вы можете включить или отключить любую комбинацию этих плагинов.

Как Лиза Нейгут (@niftynei) сказала в ней tweetstormc-lightning не предоставляет «стандартизированный доступный HTTP-интерфейс из коробки и схему аутентификации» для сторонних разработчиков приложений, таких как lnd. Но созданные сообществом плагины дают возможность создавать эквиваленты для c-lightning, которые существуют в других реализациях.

Интересное  Биткойн тьфу, Монеро Хуэй? Десятилетие монеты приватности

Кристапс Каупе запустил репозиторий GitHub для плагинов, эмулирующих некоторые команды lnd. Другими авторами плагинов, на которые стоит обратить внимание, являются Ричард Бонди, который написал коллекцию плагинов для Go, включая плагин для запрета пиров; fiatjaf, который написал плагин, реализующий LN URL, чтобы помочь плательщику взаимодействовать с получателем; и Конор Скотт, который написал несколько плагинов на Python, включая плагин для создания каналов с узлами с максимальной пропускной способностью. Наконец, Джастин Мун создал плагин для проверки концепции, чтобы пополнять каналы Lightning аппаратными кошельками.

Проблемы плагинов

Хотя эта архитектура плагинов, кажется, предлагает лучшее из обоих миров, она представляет некоторые проблемы и потенциальные недостатки. На данном этапе неясно, будет ли предельная гибкость ржавчины молнии означать, что она лучше подходит для существующих биткойн-кошельков, стремящихся интегрировать Lightning в свою существующую кодовую базу.

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

Смотрите также


Курирование является сложной задачей, потому что оно эффективно рекомендует (неофициально, пусть покупатель будет бдителен) какие плагины следует использовать, а какие нет. Без курирования пользователи и разработчики не смогут быстро начать работу, не изучив все конкурирующие плагины. Существует аргумент, что некоторые языки (и некоторые разработчики!) Лучше подходят для написания критически важного программного обеспечения. Однако особо опасные методы JSON-RPC могут быть установлены только с опцией разработчика и предназначены только для тестирования и отладки с помощью команды c-lightning. Существует также руководство по опасностям, с которыми может столкнуться разработчик плагинов при использовании преимуществ конкретного хука, который может изменить поведение c-lightning по умолчанию.

Интересное  Paris Saint-Germain представляет токен для фанатов

Это не тот случай, когда этот подход создает совершенно неприемлемую среду для разработчиков, так как некоторые будущие плагины все еще будут нуждаться в добавлении дополнительных хуков в базу кода c-lightning командой c-lightning. Например, во время написания статьи обсуждается вопрос о подключении плагина для сторожевой башни. Возможно, что некоторые хуки не будут объединены из-за проблем безопасности или деталей реализации.

Еще неизвестно, вызывают ли экземпляры узлов c-lightning различные наборы плагинов проблемы совместимости между узлами c-lightning или с другими реализациями. Уже сейчас сложно обеспечить совместимость между различными реализациями, если предположить, что все узлы c-lightning работают на одной и той же версии. Эксперименты важны, однако, и уроки этого эксперимента окажутся неоценимыми при завершении спецификаций BOLT для протокола Lightning.

Лондонские разработчики биткойнов

Возможность создавать и играть с новыми плагинами на разных языках привлекает разработчиков к разработке на основе c-lightning. Антуан Пуансо (@darosior) приехал в Лондон для участия в лондонской конференции Bitcoin Devs в марте 2020 года. Poinsot разрабатывает менеджер плагинов под названием Reckless, который предложит пользователю выбор плагинов и динамически запустит выбранные плагины. Он также создал хук команд RPC, который позволяет плагину принимать любую команду RPC и изменять ее. Это потенциально опрометчиво и экспериментально, поскольку команды RPC — это то, как пользователи взаимодействуют с lightningd. Если команды RPC могут быть приняты, отклонены или изменены, это открывает ряд вариантов использования, но также дает пользователям возможность потерять свои средства.

Этот командный хук RPC лег в основу последней презентации Расти Рассела на онлайн-Болтатоне 2. Есть еще целый ряд плагинов, которые можно было бы построить от батутной маршрутизации до счетов HODL и Кристиана Декера ожидает «Уже есть плагин, который делает это», чтобы стать мемом. В этом случае Декер и сообщество c-lightning могут просто лишиться своей работы, чтобы вылечить эти появляющиеся джунгли плагинов.

Спасибо Антуану Пуансу и Кристиану Декеру за их вклад в эту статью.


Только медийное адаптивное
Только медийное адаптивное

Оставьте ответ

Ваш электронный адрес не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

ut elementum dapibus Phasellus commodo dolor. ultricies id nec