我想做一项服务,允许将私人用户的频道绑定到用户的帐户。
用户使用我的节点打开一个私人频道。但我不知道具体是哪个用户。
为了识别频道,我计划向用户询问 BOLT11 请求,并在描述中使用唯一标识符,例如 SMS 代码。BOLT11 指定支付的目标地址。我会为这个请求找到一个路由,从而确定用户的频道。
这样的方案安全吗?欺诈者可以为不属于他的频道创建 BOLT11 请求吗?Сan你建议一个更好的识别方案?
我想做一项服务,允许将私人用户的频道绑定到用户的帐户。
用户使用我的节点打开一个私人频道。但我不知道具体是哪个用户。
为了识别频道,我计划向用户询问 BOLT11 请求,并在描述中使用唯一标识符,例如 SMS 代码。BOLT11 指定支付的目标地址。我会为这个请求找到一个路由,从而确定用户的频道。
这样的方案安全吗?欺诈者可以为不属于他的频道创建 BOLT11 请求吗?Сan你建议一个更好的识别方案?
最安全的方法是,如果用户使用他用来签署承诺交易的密钥之一签署消息。这肯定会将他的身份绑定到频道。但是,当前的实现不提供该 API。但这并不意味着这是不可能的
欺诈者可以为不属于他的频道创建 BOLT11 请求吗?
螺栓 11指出:
恢复 ID 允许公钥恢复,因此可以隐含收款人节点的身份
我不确定每个实现如何与这里的规范相匹配。我会假设它们都执行签名验证,但它们可能不会公开公钥恢复功能。您在不实际支付发票的情况下寻找路径的想法可能会奏效。
但是,您实际上需要的是识别您的节点和用户之间的现有私有通道。私人渠道应作为路由提示包含在发票中,因此通过解码发票可能更容易从那里获取。
另一种选择是要求用户支付您的节点生成的发票,一个 msat 就足够了。可以肯定的是,她将无法使用她无法控制的节点进行付款。