Глоссарий / Lightning и layer 2
Watchtower
- Что такое Watchtower?
- Watchtower (сторожевая башня) представляет собой сервис, который вы оплачиваете или просите следить за блокчейном, пока ваш узел Lightning отключен, и который готов наказать партнера по каналу, опубликовавшего старое состояние баланса.
Каналы Lightning остаются честными, потому что любая из сторон может забрать весь баланс канала, если другая опубликует устаревшее состояние, но только если кто-то заметит это вовремя. Watchtower и есть этот кто-то: она хранит подсказку размером 16 байт и зашифрованный блок данных, который не может прочитать, пока в сети не появится соответствующая транзакция. Если ваш узел работает на ноутбуке, который уходит в спящий режим, она вам нужна.
Как это работает
Watchtower никогда не хранит ваши ключи и не узнает, какой канал защищает, пока что-то не пойдет не так.
Каждый раз, когда баланс вашего канала меняется, ваш узел строит транзакцию наказания для состояния, которое собирается отозвать, шифрует ее и передает башне две вещи: подсказку, то есть первые 16 байт txid отозванной транзакции фиксации, и зашифрованный текст. Башня хранит блоки данных фиксированного размера и проверяет каждый блок в поисках транзакции, txid которой начинается с одной из ее подсказок. И ничего больше. Когда совпадение находится, башня выводит ключ расшифровки из того же txid, распаковывает инструкции по снятию средств, сама ничего нового не подписывает и публикует готовую транзакцию наказания. Возвращенные средства поступают на адрес, который ваш кошелек выбрал заранее.
Перед тем как полагаться на башню, стоит знать о двух ограничениях. В lnd сеанс башни принимает до 1024 резервных копий, прежде чем клиент открывает новый, а транзакция правосудия собирается с комиссией по умолчанию 10 sat/байт, которую можно повысить настройкой wtclient.sweep-fee-rate. Второе ограничение касается охвата: башни lnd создают резервные копии выходов to_local и to_remote отозванной фиксации, но не выходов платежей, которые еще в пути, поэтому наем башни сокращает вашу подверженность риску, а не устраняет ее.
Где это встречается
Watchtower встречается в настройках программного обеспечения узла, а не в приложениях, которые большинство людей использует для отправки сатоши.
Работая с lnd, вы добавляете башню, указав ее публичный ключ и хост, и можете запустить одну для друзей на порту 9911, который используется по умолчанию. Любая развернутая башня является альтруистической: она возвращает все, что восстанавливает, за вычетом комиссии за майнинг, вместо того чтобы брать долю, поскольку платная версия протокола была описана, но так и не доработана. Кастодиальные приложения Lightning ничего из этого не показывают, как и большинство кошельков для смартфона, ведь их каналами управляет провайдер, машины которого никогда не спят.
Честный ответ для того, кто в основном хочет покупать и хранить: скорее всего, она вам не нужна. Она нужна вам, если вы управляете маршрутизирующим узлом или держите значительный баланс в каналах на компьютере, который неделями лежит в ящике. Если Lightning для вас является приложением на смартфоне с деньгами на кофе, то стоит готовиться к потере смартфона, упавшего в реку, а не к жульничающему партнеру.
Watchtower vs маршрутизирующий узел
Watchtower защищает каналы, а маршрутизирующий узел пересылает чужие платежи за комиссию, и эти две задачи не имеют ничего общего, кроме машины. Маршрутизирующий узел остается в сети, потому что простой лишает его дохода, и именно поэтому серьезные операторы маршрутизации нанимают башни, а не выступают в их роли. И то и другое можно запустить на одной машине. Они отвечают на противоположные вопросы: как мне продолжать зарабатывать и как мне не быть обокраденным, пока я не смотрю.