Core Lightning: как реализация ребрендинга Blockstream отражает его долгосрочное видение в отношении анализа данных Bitcoin PlatoBlockchain. Вертикальный поиск. Ай.

Core Lightning: как ребрендинг реализации Blockstream говорит о его долгосрочном видении биткойнов

Реализация Lightning Network от Blockstream, которая теперь называется Core Lightning, стремится стать совместимым стандартом Биткойна, ориентированным на спецификации.

Компания Blockstream, занимающаяся инфраструктурой биткойнов, недавно провела ребрендинг своей реализации Lightning Network с c-lightning на Core Lightning (CLN), пытаясь подчеркнуть долгосрочную направленность проекта на совместимость и работу по спецификациям.

Первоначальное название, которое намекало на язык программирования C, в который встроена реализация, не отражало фактическое намерение компании в отношении проекта. Теперь Core Lightning стремится отразить ценностное предложение реализации Blockstream.

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

Почему существуют разные реализации сети Lightning?

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

Таким образом, абстракция «Сеть Молния” требует, чтобы разные участники общались друг с другом, чтобы они могли маршрутизировать платежи друг друга и обеспечить беспрепятственное взаимодействие. Эта связь происходит между узлами, которые используют программное обеспечение протокола Lightning и, следовательно, могут, среди прочего, отправлять и получать платежи.

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

Ассоциация Документы по основам технологии молнии (BOLT) определить набор спецификаций, которым должны соответствовать все реализации узлов Lightning, чтобы быть стабильными и совместимыми участниками сети Lightning. В настоящее время существует 11 документов BOLT, которые описывают все: от того, как создать платежный канал и финансировать его с помощью биткойнов, до того, как следует запрашивать платеж Lightning.

Естественно, тот факт, что существуют разные реализации Lightning, также означает, что пользователям доступны разные предложения, и они могут выбирать любое программное обеспечение для запуска в зависимости от своих конкретных потребностей. На высоком уровне существует четыре основных реализации Lightning: LND, Core Lightning, Eclair и LDK, каждая из которых ориентирована на конкретные варианты использования.

Core Lightning: построено на базе BOLT

CLN, ранее c-lightning, используется в сети Биткойн с начала 2018 года. Написанный на языке программирования C, который предлагает разработчикам высокую степень контроля над поведением своего кода даже на низком уровне, CLN ориентирован на на эффективность, а также на предоставление разработчикам и пользователям модульной, на основе плагина реализация протокола масштабирования уровня 2 Биткойна.

«Мы стремимся стать высокопроизводительной реализацией корпоративного уровня, соответствующей спецификациям», — сказал Расти Рассел, разработчик Lightning в Blockstream. Биткойн-журнал. «Это традиционно означает, что мы больше ориентированы на высококлассных пользователей, предприятия и разработчиков».

CLN только работает в Linux и MacOS и требует локального или удаленного биткойнд версии 0.16 или более поздней, которая полностью подключена к сети, в которой работает пользователь, и ретранслирует транзакции. Обрезка частично поддерживается.

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

Модульность, эффективность и надежность кода CLN имеют и свои недостатки. Кристиан Декер, исследователь Blockstream, занимающийся решениями масштабирования для Биткойна, — сказал во время лондонской встречи разработчиков биткойнов в прошлом месяце, что, придерживаясь философии UNIX, заключающейся в том, чтобы делать что-то очень хорошо и не навязывать решения пользователю, CLN представляет собой «голый скелет» и требует от пользователя некоторой самоотдачи, чтобы заставить его работать. .

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

«Мы буквально созданы по спецификациям Lightning BOLT!» Рассел сказал Биткойн-журнал. «Это означает, что мы очень заботимся (и как команда приложили огромные усилия) к координации архитектуры всей сети Lightning с помощью спецификаций BOLT».

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

«Одна из причин, по которой мы используем процесс спецификации и проверки для всех реализаций, заключается в том, что он помогает определить лучшие способы ведения дел — находить ошибки, выявлять будущие проблемы», — сказала Лиза Нейгут, инженер протокола Lightning в Blockstream. Биткойн-журнал.

Учитывая его эффективность и небольшой размер, CLN, вероятно, является наиболее подходящей реализацией для устройств с низкими техническими характеристиками.

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

«Мы отбрасываем черновые части спецификации Lightning под экспериментальные варианты», — сказал Рассел. Биткойн-журнал. «Но если вы более предприимчивы, эти экспериментальные варианты дадут вам

понимание того, что будет дальше в Lightning Network!»

Открывается совместный канал, который ранее назывался «каналами двойного финансирования», позволяет участникам совместно открыть новый канал путем совместное финансирование сделки по финансированию канала. В настоящее время открыты каналы с односторонней транзакцией финансирования одним участником. Открытие канала для совместной работы также позволяет распределенным CoinJoins открывать канал Lightning.

«Вы можете организовать свой собственный CoinJoin с кучей других узлов Lightning», — сказал Нейгут. Биткойн-журнал. «Вы делаете это децентрализованно, поэтому единственные люди, которые знают о том, кто в этом участвует, — это люди, которые на самом деле являются частью этой транзакции, поэтому нет центрального координатора, который делает это».

Объявления о ликвидности также используют совместные открытия каналов. Согласно Blockstream блоге, «они представляют собой легкий способ обеспечить возможность координировать развертывание ликвидности по сети децентрализованным и доступным способом».

Эта функция пытается решить распространенную проблему в Lightning: входящая ликвидность.

Объявления о ликвидности позволяют вам «увидеть всех людей, которые рекламируют, что продадут вам входящую ликвидность, если вы откроете для них канал, что действительно интересно», — сказал Нейгут.

БОЛТ 12 — это еще один проект спецификации для кошельков и узлов Lightning с экспериментальной поддержкой в ​​CLN. Предлагаемая функция, придуманная как «предложения», улучшит счета-фактуры BOLT 11, позволяя повторно использовать предложения, тогда как счет-фактура BOLT 11 может использоваться только один раз. Кроме того, хотя счет-фактура является исключительно платежным запросом, вы можете использовать предложение также для отправки, а не только для получения денег.

Пользователи CLN теперь также могут автоматизировать свои задачи управления узлами с помощью КЛБОСС, недавно выпущенный инструмент «искусственного интеллекта», который может решать, к каким узлам открывать каналы, открывать каналы, когда комиссии низкие и есть средства в сети, корректировать комиссию за маршрутизацию, чтобы конкурировать с другими узлами, выполнять свопы подводных лодок через Boltz. .exchange API и автоматически перебалансировать каналы.

В то время как различные реализации следует поощрять к поиску автономных решений для своих конкретных вариантов использования при соблюдении текущих спецификаций BOLT 11, выдвижение сопутствующего предложения спецификации, чтобы помочь другим реализациям развернуть ту же или аналогичную функцию, как правило, является хорошей практикой, как таковая. этот шаг предположительно отвечает долгосрочным интересам широкой и постоянно растущей базы пользователей Lightning. При этом процесс спецификации — непростая задача.

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

В результате разные компании тратят на этот процесс разное количество времени и усилий в соответствии со своими индивидуальными приоритетами, которые, естественно, различаются. В то время как, по словам Рассела, команда CLN потратила большую часть своих «усилий на спецификацию и низкоуровневые детали реализации и почти не потратила усилий на взаимодействие с разработчиками или маркетинг», Lightning Labs, компания, стоящая за LND, часто предпочитала уделять больше внимания инженерные ресурсы для новых функций и решения проблем клиентов, чем для трудного процесса спецификации.

LND: пробелы, которые может заполнить CLN?

LND — это реализация Lightning, ориентированная на разработчиков, которая направлена ​​на упрощение разработки приложений поверх него, тем самым уделяя особое внимание взаимодействию с разработчиками, особенно в стандартном подходе к общению через REST API, которые упрощают разработку приложений, в дополнение к предоставлению четкая документация и простой опыт установки.

«Мы хотим, чтобы разработчики могли легко подобрать его, интегрировать в свой продукт, создавать приложения поверх него и распространять его в виде кошелька или собственного узла», — разработчик LND Оливер Гаггер. — сказал на лондонской встрече разработчиков биткойнов. «Донести до плебеев».

В результате LND фокусируется на «отличном интерфейсе разработчика», добавил Гаггер, за счет включения gRPC и REST.

«У LND отличное сообщество, простая установка и отличная документация для разработчиков», — сказал Рассел, когда его спросили, почему он считает LND самой популярной реализацией Lightning.

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

LND также может похвастаться, пожалуй, самой большой штатной командой разработчиков. В результате команде удалось создать множество дополнительных услуг на основе LND, таких как апертура и услуги ликвидности Lightning Петля и Бассейн.

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

Pool — это одноранговая торговая площадка для каналов Lightning. Он соединяет пользователей, которым нужен доступ к входящей ликвидности, с теми, у кого есть капитал для развертывания в сети Lightning, позволяя участнику сети Lightning сигнализировать о необходимости и побуждая других открывать каналы с ними, используя их капитал.

Поскольку LND, как правило, уделяет особое внимание новым функциям и поддержке клиентов, команда CLN нашла пробел на рынке, который она надеется заполнить, уделяя более пристальное внимание процессу спецификации.

Специфицировать или не специфицировать

«Команда Labs придумала отличный материал, — сказал Нейгут. «Просто они, как организация, не очень хорошо пишут спецификации для вещей, которые они добавляют. Хорошим примером этого является KeySend».

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

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

Спецификация в конечном итоге была написана реализацией Lightning от Spiral, LDK, вспоминает Нейгут, после того, как его команда реконструировала код Lightning Labs.

«И другим командам действительно нужно было следовать за ними, потому что у LND такая большая база установок», — сказала она. «Это не похоже на самый совместный процесс».

«Команда людей, работающих над материалом Lightning Labs, довольно сплоченная», — добавил Нейгут. «Я просто думаю, что они как бы пользуются своим сетевым доминированием, чтобы не выполнять всю эту дополнительную работу, потому что, если они этого не сделают, это сделает кто-то другой, потому что большинство узлов в сети запускают их код».

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

«Но я думаю, что мы получили бы более здоровую сетевую динамику, если бы не было реализации большинства», — добавила она. «Я думаю, что это действительно изменило бы игру с точки зрения объема совместной работы, которую каждый должен сделать, чтобы отправить свои материалы на Lightning. И это было бы здорово».

Пристальное внимание к спецификациям, возможно, занимает центральное место в разработке с открытым исходным кодом в открытой сетевой среде. В Lightning такие спецификации составляют основу протокола и обеспечивают совместимость различных версий, участвующих в сети.

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

"Это жесткий создание инфраструктурной компании с открытым исходным кодом, поэтому неудивительно, что я не согласен со всеми приоритетами [Lightning Labs]», — сказал Рассел. «Я искренне верю, что они найдут способ как создать устойчивый поток доходов, так и стать надежным партнером в техническом развитии сети Lightning; Я не думаю, что кто-то хочет, чтобы сеть была разделена на части».

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

«Если бы [Lightning Labs] были лидером и они также лидировали в спецификациях, я думаю, было бы немного меньше трений, связанных с добавлением новых функций, потому что было бы не так сложно следить за тем, что они делают, — сказал Нейгут. «Возможно, в дальнейшем они будут более активно участвовать в процессе спецификации. Я думаю, что они определенно получили отзывы от нас и остального сообщества о том, что процесс разработки спецификаций важен».

Часть спора и напряжения в процессе спецификации BOLT исходить из электронное письмо поделился в Твиттере в конце февраля, в котором глава отдела ликвидности Lightning в Lightning Labs Алекс Босворт прокомментировал BOLT 12 и процесс спецификации BOLT.

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

Lightning Labs позже уточнить что комментарии Босворта отражают только его мнение, а не обязательно мнение компании.

Core Lightning: как реализация ребрендинга Blockstream отражает его долгосрочное видение в отношении анализа данных Bitcoin PlatoBlockchain. Вертикальный поиск. Ай.
Босворт, возможно, намекнул на отказ от соответствия процессу спецификации всякий раз, когда он противоречит тому, что он называет «текущими проблемами» в Lightning, поскольку такие стандарты могут не использоваться большей частью сети и, следовательно, не требуют больших усилий по разработке, в то время как эти проблемы могут представлять болевые точки большинства пользователей и поэтому должны быть приоритетными. Изображение с сайта.

Декер поделился своими мыслями о комментариях Босворта и о процессе спецификации BOLT во время лондонской встречи разработчиков биткойнов.

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

«Итак, да, иногда процесс спецификации разочаровывает, я полностью с этим согласен», — добавил он. «Конечно, у нас разные взгляды на то, как должна выглядеть сеть. Но с помощью этого тезиса, антитезиса и процесса синтеза мы приходим к системе, которая гораздо больше способна служить нашим пользователям, чем если бы одна реализация делала это в одиночку».

«Лично я не работаю над спецификацией, поэтому я не чувствую себя компетентным, чтобы дать ответ», — сказал Гуггер на встрече, комментируя электронное письмо Босворта. «Я просто хотел добавить, что не обязательно согласен со всеми пунктами, которые упомянул Алекс. Я бы точно сказал и по-другому. Я думаю, что нехватка ресурсов для работы над спецификацией иногда интерпретируется как то, что мы блокируем вещи, что, конечно же, не является нашим намерением и целью. Мы хотим еще поработать над спецификацией, поэтому я надеюсь, что мы ее улучшим. Интересно наблюдать, как это разочарование иногда выходит на поверхность. Спасибо [Decker и разработчику ACINQ Bastien Teinturier] за всю работу, которую вы проделали над спецификацией. Мне тоже нужно собраться, поэтому я сделаю все возможное».

Рассел также прокомментировал электронное письмо Босворта. Тема Twitter где он пообещал потратить больше времени на полировку и маркетинг CLN, поскольку он сказал, что LND не реализовала Lightning первой и не реализовала ее лучше всего, хотя сообщество у нее великое, добавил он.

«Оказывается, они решили, что могут использовать доминирование в сети для управления протоколом, а процесс спецификации не является «настоящим», — написал он в ветке. «Lightning Labs заявляла о своих правах на сеть Lightning разными способами: я не хотел публично об этом говорить. Но сеть и сообщество Lightning заслуживают большего».

Рассел не ответил на вопросы Биткойн-журнал ссылаясь на эту ветку. Lightning Labs отказалась от комментариев.

«Еще в 2016 году мы пришли с трех разных направлений и решили объединить все, что мы узнали на этом начальном этапе экспериментов, в единую спецификацию, чтобы мы могли сотрудничать и взаимодействовать», — сказал Декер на встрече. «Эта экспериментальная фаза всегда должна сопровождаться предложением, которое может быть проанализировано всеми остальными и может быть реализовано всеми остальными. Иногда это официальное предложение отсутствует, и это не позволяет другим реализациям дать собственный обзор этой функции. Этот обзор очень важен, чтобы убедиться, что он работает для всех и что это лучшее, что мы можем сделать».

«Как следует из названия Lightning Network, она очень выигрывает от сетевых эффектов, которые мы получаем благодаря совместимости, способности взаимодействовать и позволять всем реализациям играть на равных условиях», — добавил он позже.

Реализации дополняют друг друга, они не конкурируют

Помимо весьма специфических противоречий в отношении процесса спецификации, реализации Lightning в основном работают по отдельности, а затем вместе, чтобы внедрить в сеть лучшие и наиболее востребованные функции, обеспечивая общее лучшее взаимодействие с пользователем.

В результате решение Blockstream продвигать CLN как модульное и легковесное предложение, соответствующее спецификациям, является альтернативой для тех, кто заинтересован в реализации узла, который стремится быть полностью совместимым с остальной частью сети и обеспечивает уникальный набор преимуществ тем, кто делает.

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

Отметка времени:

Больше от Биткойн-журнал