Глоссарий / Lightning и layer 2
Submarine swap
- Что такое Submarine swap?
- Submarine swap обменивает ончейн-биткоины на биткоины в Lightning за один атомарный шаг, используя один и тот же хеш платежа на обеих сторонах, чтобы ни одна из сторон не могла забрать деньги и скрыться.
Две стороны сделки находятся на разных уровнях, и в этом вся сложность. Обмен решает ее так: один секрет разблокирует оба плеча. Ончейн-контракт и платеж Lightning привязаны к одному хешу, поэтому либо обе части исполняются, либо обе возвращаются. Алекс Босуорт описал эту технику в 2018 году.
Как это работает
Submarine swap представляет собой один секрет, который расходует два контракта, находящихся на разных уровнях.
Допустим, у вас есть ончейн-биткоины, а вы хотите получить баланс в Lightning. Поставщик обмена генерирует случайный прообраз, вычисляет его хеш и выставляет вам счет Lightning, закрепленный за этим хешем. Вы отправляете обычную ончейн-транзакцию в скрипт, который гласит: поставщик может забрать эти средства, раскрыв прообраз, совпадающий с хешем, либо вы можете вернуть их после истечения временной блокировки. Поставщик видит подтверждение ваших средств, раскрывает прообраз ончейн, чтобы забрать их, и тот же прообраз закрывает счет Lightning в вашем кошельке. Одно значение, два расчета, и нет промежутка, когда одна сторона держит оба.
Именно временные блокировки делают схему безопасной, а не просто удобной. Ончейн-путь возврата должен истекать позже, чем плечо Lightning, чтобы, если поставщик задержится, ваш платеж Lightning уже был отменен и развернут до того, как ваш ончейн-возврат станет доступным. При обратном порядке поставщик мог бы придержать прообраз, пока ваш возврат не израсходован, а затем закрыть сторону Lightning.
Если ту же конструкцию запустить в обратном направлении, она выполняет противоположную задачу. При обратном обмене вы оплачиваете счет Lightning, а поставщик платит вам ончейн, что превращает баланс канала в холодное хранение без закрытия канала. Lightning Labs оформила оба направления как Loop, выпущенный в альфа-версии 20 марта 2019 года, причем Loop Out является обратным направлением и тем, которое используют, чтобы создать место для приема.
Чего обмен не устраняет, так это контрагентского риска в более мягкой форме. Ваши деньги нельзя украсть, потому что каждый путь обеспечивается скриптом или истекает. Их можно задержать: поставщик, который отключается посреди обмена, оставляет вас ждать временной блокировки, что занимает минуты на плече Lightning и может занять часы на ончейн-плече.
Где это встречается
Обмены служат инфраструктурой для функций, которые о них никогда не упоминают.
Мобильные кошельки, которые позволяют «пополнить с ончейн-баланса» без открытия канала, обычно выполняют submarine swap внутри. Кошельки, которые предлагают перемещение в одно касание из Lightning обратно на адрес аппаратного кошелька, выполняют обратный обмен. Операторы узлов используют их так, как магазин использует ночной сейф: опустошают заполненные каналы в ончейн-хранилище и восстанавливают возможность получать платежи. Boltz и Loop являются двумя названиями, которые чаще всего встречаются в инструментах и документации.
Перед использованием стоит знать о двух издержках. Во-первых, поставщик берет сервисную комиссию сверх ончейн-комиссии за майнинг, и при небольших суммах доминирует комиссия за майнинг: обмен 50 000 сатоши, когда сеть требует 20 sat/vB, является плохой сделкой, каким бы хорошим ни был тариф поставщика. Во-вторых, одно плечо представляет собой ончейн-транзакцию, поэтому вся операция ждет подтверждений, хотя половина Lightning мгновенна.
Submarine swap vs атомарный обмен
Submarine swap обменивает биткоины на биткоины между двумя уровнями; атомарный обмен обменивает два разных актива между двумя разными блокчейнами. Оба используют один и тот же прием с хешем и временной блокировкой, поэтому названия путают. Разница в том, что переходит из рук в руки: после submarine swap у вас тот же актив в другом месте, ончейн вместо канала, тогда как после атомарного обмена у вас совсем другое, и вы приняли на себя ценовой риск этого актива. Submarine swap являются рутинной инфраструктурой, используемой ежедневно. Межсетевые атомарные обмены на практике остаются редкими, потому что им нужно, чтобы обе сети поддерживали совместимые контракты и обе стороны оставались онлайн.