#bitcoin #lightning-network
#биткоин #lightning-сеть
Вопрос:
Я хочу создать сервис, который позволяет привязывать каналы частного пользователя к учетной записи пользователя.
Пользователь открывает частный канал с моим узлом. Но я не знаю, какой именно пользователь.
Чтобы идентифицировать канал, я планирую запросить у пользователя запрос BOLT11 с уникальным идентификатором в описании, например, кодом SMS. BOLT11 указывает целевой адрес платежа. Я найду маршрут для этого запроса и таким образом определю канал пользователя.
Безопасна ли такая схема? Может ли мошенник создать запрос BOLT11 для канала, который ему не принадлежит? Можете ли вы предложить лучшую схему идентификации?
Ответ №1:
Может ли мошенник создать запрос BOLT11 для канала, который ему не принадлежит?
Болт 11 состояний:
Идентификатор восстановления позволяет восстанавливать данные с помощью открытого ключа, поэтому может подразумеваться идентификатор узла получателя платежа
Я не уверен, насколько каждая реализация соответствует приведенной здесь спецификации. Я бы предположил, что все они выполняют проверку подписи, но они могут не предоставлять функциональность восстановления с открытым ключом. Ваша идея найти путь без фактической оплаты счета может сработать.
Однако, похоже, что на самом деле вам нужно определить существующий частный канал между вашим узлом и узлом пользователя. Частные каналы должны быть включены в счет-фактуру в качестве подсказок по маршрутизации, так что, возможно, будет даже проще получить их оттуда, просто расшифровав счет-фактуру.
Альтернативным вариантом было бы попросить пользователя оплатить счет, сгенерированный вашим узлом, msat будет достаточно. Наверняка она не сможет произвести платеж с помощью узла, который она не контролирует.
Ответ №2:
Самым безопасным способом было бы, если бы пользователь подписывал сообщение одним из ключей, которые он использует для подписания транзакций с обязательствами. Это, безусловно, привязало бы его личность к каналу. Однако текущие реализации не предлагают этот api. Но это не значит, что это было бы невозможно
Комментарии:
1. Да, вы правы. но я заинтересован в практической реализации. кошельки обычных пользователей не имеют этой функции.