Один из открытых вопросов исследования для Lightning Network заключается в том, что для создания достаточного количества платежных каналов для всех пользователей Lightning Network потребуется огромное количество транзакций в сети. В последнее время в этом контексте всплывает термин «Фабрики каналов»¹.
Что такое фабрики каналов? Как они работают? Как это помогает масштабировать Lightning Network?
¹ Судя по всему, этот термин был введен в статье К. Берхерта, К. Декера и Р. Ваттенхофера « Масштабируемое финансирование сетей каналов микроплатежей Биткойн».
Что такое фабрики каналов?
Короче говоря, фабрики каналов — это платежные каналы, которые можно использовать для создания дополнительных платежных каналов. Звучит странно, но на самом деле все довольно просто:
В обычном платежном канале у вас всегда есть транзакция, подписанная всеми участвующими сторонами, которая готова передать текущий баланс канала в цепочку блоков. Например, в канале между Алисой и Бобом эта транзакция может иметь два выхода: один платит Алисе 0,25 BTC, а другой платит Бобу 0,75 BTC. Если бы транзакция из этого примера транслировалась, канал оплаты между Алисой и Бобом был бы закрыт.
Однако можно отформатировать готовую к фиксации транзакцию как транзакцию, которая не только закрывает существующий платежный канал, но и открывает новый платежный канал. В этом случае та же самая безопасность, которая позволяет исходному платежному каналу иметь безопасность с нулевой конфигурацией, также распространяет свою безопасность на второй платежный канал.
Ключевой особенностью обычного платежного канала является возможность многократного безопасного обновления состояния (баланса) канала без создания дополнительных ончейн-транзакций, поэтому ключевой особенностью фабрики каналов является возможность безопасного создания и уничтожения новых платежей. каналы без создания дополнительных транзакций в сети.
Как они работают?
По крайней мере, два человека, а лучше десять или более, собираются вместе, чтобы создать транзакцию депозита платежного канала (фабрики каналов). У этого есть логика обычного платежного канала, которая позволяет всем участникам тратить деньги, если они все согласны, или недовольному участнику индивидуально снимать свои средства, если другие участники отказываются сотрудничать.
Когда транзакция депозита получает достаточно подтверждений, чтобы удовлетворить всех участников, они обновляют состояние начального платежного канала (фабрика каналов), чтобы создать группу нетранслируемых платежных каналов, открытых между собой. (Каналы должны быть между собой, потому что каждый из них должен гарантировать, что ни один из биткойнов, используемых для открытия канала, не будет потрачен дважды, то есть дважды.)
Поскольку первоначальный платежный канал (фабрика каналов) уже имеет достаточное количество подтверждений, вторичные платежные каналы открываются мгновенно. Затем вторые платежные каналы можно использовать как обычные платежные каналы (например, для маршрутизируемых платежей Lightning Network), за исключением того, что когда придет время их закрыть, участники могут либо зафиксировать конечное состояние в цепочке блоков, либо просто обновить свои балансы. в фабрике каналов, чтобы запустить новый канал.
Как это помогает масштабировать Lightning Network?
Предположим, у нас есть группа пользователей, которые хотят открыть друг другу платежные каналы. Для n
пользователей им необходимо открывать m
каналы, где m = n(n-1)/2
. Для открытого канала Lightning Network текущего поколения они, вероятно, потратят не менее двух входов и сгенерируют не менее трех выходов (около 240 байт на m
каналы). Для фабрики каналов у них будет около n
входов (примерно 70 вбайт) и n + 1
выходов (примерно 25 вбайт) плюс 10 вбайт служебных данных. Вот учет сбережений:
При этом не учитываются затраты на закрытие каналов, которые сложнее рассчитать, поскольку каналы могут оставаться открытыми в течение переменного периода времени. Также не включена дополнительная экономия, доступная благодаря агрегации подписей Шнорра — если ее нужно активировать в биткойнах, она умеренно повысит эффективность Channel Factory за счет уменьшения объема пространства, используемого входными данными. Обратите внимание, что цифры, используемые здесь, являются приблизительными.
Обратите внимание, что хотя фабрики каналов обеспечивают значительно более низкие затраты даже для небольшого числа участников, они действительно преуспевают в том, что удешевляют создание плотной сети платежных каналов между пользователями. Это, вероятно, значительно улучшит качество обслуживания широко распределенной сети Lightning, гарантируя, что большинство путей от отправителя к получателю останутся короткими, что поможет широкораспределенной сети еще больше эффективно конкурировать с более централизованной сетью, которая имеет короткие пути между крупными концентраторами. как сущности.
Лука Маттеис
Дэвид А. Хардинг
Лука Маттеис
Дэвид А. Хардинг
Джованни Ди Стази
альмель
Дэвид А. Хардинг
Дэвид А. Хардинг
Марч