Сеть Lightning Network оказывает серьёзное влияние на биткоин и даже на большую часть криптопространства, но продолжающиеся сбои говорят о том, что потенциал сети остаётся нереализованным.
Сегодня пользователь reddit INWHY поделился записью разговора с клиентом о фатальной ошибке, которая привела к потере четырёх биткоинов. Это далеко не первая проблема с Lightning Network, но в данном случае проблема значительно серьёзнее – потеря биткоинов.
Согласно записи разговора, INWHY дал команду закрыть свои активные ноды после того, как его сеть выключилась из-за перебоев с электроэнергией.
По сути Lightning Network – это сеть платёжных каналов в формате “A-B” между нодами. После того, как пользователи передают средства в сеть, они могут направлять свои монеты по данным каналам, пока те не поступят в пункт назначения, комиссия за это не взимается.
Для того чтобы возвратить деньги из сети, пользователи должны сообщить о намерении отключить свои ноды посредством передачи данных через передачу (broadcast).
Однако, если закрытие передачи выполняется с использованием устаревшей учётной записи, которая не учитывает последние транзакции, подключенные ноды могут пометить активность как ошибочную, обновив историю транзакций.
В этом случае пользователь, покидающий сеть, лишится своих монет. Именно поэтому, когда INWHY принудительно закрыл свои ноды, они закрылись с резервной копией транзакции, датированной несколькими днями ранее – вероятно, из-за перебоя в питании, который не дал ему получить более актуальную резервную копию.
Другие стороны с подключенными нодами зафиксировали этот выход, в результате чего пользователь утратил свои 4 BTC.
Закрытие с ошибкой привело к исчезновению средств. Это может показаться суровым, но такой механизм создан для предотвращения злонамеренной деятельности.
Если пользователь совершает покупку в Lightning Network, а затем закрывает историю транзакций, датированную до этой покупки, теоретически он может восстановить свои монеты и завершить покупку в случае, если не было применено никаких мер защиты.
Несмотря на свою эффективность в сдерживании мошенников, эта система не учитывает ошибки пользователя. Самое главное здесь – понять, как можно избежать такой ситуации.
Фактически пользователь использовал статическую систему резервного копирования, которая записывает состояние сети при создании новых нод. Вместо этого можно использовать динамическое резервное копирование, которое обновляется по мере передачи транзакций.
Кроме того, существует и ограничение ёмкости в 0,16 BTC на ноду. Чтобы потерять четыре биткоина, пользователь должен был запустить более двух десятков нод на полную мощность.
Таким образом, хотя ситуация и печальная, и отражает, насколько большая работа предстоит Lightning Network, в будущем потери можно минимизировать и даже полностью исключить.