В чем проблема входящей пропускной способности Lightning Network? Полное руководство
Как быстрый рост, так и технические препятствия, с которыми сталкивается более широкое внедрение сети Биткойн Lightning Network (LN), породили некоторые продуктивные разговоры о том, как улучшить молодую сеть. Одно из таких препятствий, которое недавно привлекло внимание, является проблема «пропускной способности».
Проблема, присущая двунаправленной схеме каналов оплаты в LN, усложняет прием платежей LN для новых узлов, требуя нескольких методов для дополнения их входящей емкости.
Проблема входящей пропускной способности получила широкое признание в связи с возрастающей сложностью получения Lightning Torch, который был передан между энтузиастами пользователей LN в Twitter.
С тех пор сама проблема и предлагаемые решения для уменьшения осложнений входящей проблемы пропускной способности стали более очевидными.
В конце концов, сложности перебалансировки каналов и такие проблемы, как пропускная способность входящего трафика, должны быть скрыты от конечного пользователя, но сейчас стоит оценить, в чем именно заключается проблема и текущие инициативы по ее решению.
Что такое входящая пропускная способность узла?
LN Биткойна состоит из двунаправленных каналов оплаты между пользователями среди ячеистой сети узлов. Пропускная способность канала оплаты между двумя пользователями фиксируется после открытия канала между ними и не может быть изменена до тех пор, пока канал не будет закрыт и не будет открыт новый.
Платежные каналы состоят из двух сторон, удаленного баланса и локального баланса. Ваша сторона канала - это локальный баланс, а другая сторона - удаленный баланс.
Таким образом, если у Алисы и Боба есть открытый платежный канал между ними на сумму 5 BTC, то у Боба локальный баланс будет 2 BTC, а удаленный баланс (баланс Алисы) — 3 BTC- обшей баланс составляет 5 BTC.
Алиса 3 <————————> 2 Боб
Алиса и Боб могут обновлять балансировку внутри канала, не превышая пропускную способность канала (5 BTC), но иногда возникают проблемы из-за двусторонней конструкции канала.
Если вы хотите принимать платежи или балансировать свои каналы, работать с двунаправленным дизайном может быть непросто, особенно когда вы представляете больше участников и маршрутизацию платежей.
Например, если Чарли хочет получить платеж от Алисы, но имеет только открытый канал с Бобом, Чарли все еще может получить платеж от Алисы — до тех пор, пока у Боба есть достаточный BTC для маршрутизации к Чарли, который является удаленным балансом Чарли с Бобом и локальным балансом Боба с Чарли.
Алиса 3 <—————-> 2 Боб 0 <—————> 2 Чарли
В приведенном выше примере Алиса не может отправить Чарли BTC, потому что локальный баланс Боба (т. е. удаленный баланс Чарли) равен 0 BTC. Оплата Алисы тормозится входящей способностью Чарли. Таким образом, входящая емкость Чарли в любой момент во время открытия его канала явно ограничена его удаленным балансом с контрагентом (в данном случае Бобом), который направляет платеж.
В приведенном выше примере входящая емкость Чарли равна нулю. Однако в приведенном ниже примере (с пропускной способностью канала на 1 BTC) входящая емкость Чарли будет равна единице, и он может получить до 1 BTC от Алисы. Это свидетельствует о том, что в целом ликвидность является одной из самых больших проблем, стоящих перед ростом LN, что неудивительно, если учесть, что она является молодой платежной сетью.
Алиса 3 <—————-> 2 Боб 1 <—————> 2 Чарли
Проблема входящих мощностей возникает из-за того, что когда контрагенты финансируют свои каналы, они только первоначально финансируют свой соответствующий местный баланс.
Депозит контрагента в канал впоследствии является удаленным балансом соответствующей стороны. В результате пользователи LN могут определить свою исходящую пропускную способность (которая соответствует их локальному балансу), но они не имеют прямого контроля над своей входящей пропускной способностью.
Когда вы добавляете больше соединений по всей сети и прокладываете маршрутизацию между узлами, проблема может стать еще более запутанной. Представьте себе тысячи узлов, не подключенных напрямую, а использующих узлы маршрутизации для выполнения платежей.
Возможно, вы решили входящую пропускную способность со смежным узлом, но затем вы должны принять во внимание входящую пропускную способность соседнего узла, который соседствует с этим узлом, и так далее, и так далее.
Такая динамика требует от поставщиков ликвидности, функционирующих в качестве узлов маршрутизации, и методов для смягчения проблемы с входящей пропускной способностью пользователей с небольшими балансами каналов или новичков в сети.
По мере того как Lightning Torch приобретал ценность, количество ликвидных провайдеров для маршрутизации платежей становилось все меньше, что не позволяло многим пользователям получать Lightning Torch - их входящей емкости было недостаточно.
Несмотря на проблемы, которые он представляет, особенно для новых пользователей, которые просто запускают свои узлы и открывают каналы, есть несколько способов увеличить пропускную способность вашего входящего канала.
Решение проблемы входящей пропускной способности
Увеличение входящей емкости означает открытие каналов и подключение к каналам маршрутизации с большими удаленными балансами (т.е. большими локальными балансами с их точки зрения).
Сбалансированные и хорошо связанные узлы являются оптимальным выбором для улучшения входящей емкости, так как они соединят вас со многими другими общедоступными узлами, но это не всегда так просто для запуска новых узлов в экосистеме.
К счастью, есть несколько очень простых методов увеличения входящей емкости, например, просто сделать исходящие платежи. Расходуя монеты переводить их с вашего локального баланса на удаленный баланс.
Это требует, чтобы вы тратили монеты, но так как большинство платежей через LN в любом случае крошечные, отправка микроплатежей по различным каналам не являлась значительным финансовым бременем и могла помочь увеличить ваши входящие возможности.
Другой довольно простой способ увеличения входящей емкости - попросить операторов узлов открыть входящие каналы у вас. Лучший способ сделать это - воспользоваться несколькими службами открытия каналов, которые фактически откроют канал непосредственно для вашего узла - иногда бесплатно, а иногда и за очень небольшую плату.
Другие услуги, хотя и депозитарные, предлагают обмен LN BTC на BTC внутри сети, что, по сути, является другой версией расходов LN BTC на покупку BTC внутри сети.
Вывод
В целом, проблема с входящей пропускной способностью является скорее результатом недостаточной ликвидности в платежной сети на ранней стадии, чем основным недостатком проекта. Решения для продавцов, энтузиастов LN и разработчиков уже доступны для решения этой проблемы - как простой, так и более сложной.
По мере того, как LN продолжает свое развитие, распространенность услуг открытого канала, услуг подкачки, не связанных с хранением, и абстракции пользовательского интерфейса от проблемы входящей емкости, вероятно, будут расти.