Sider Fusion
BOLT12 outlines a payment process where a merchant pays a user based on an invoice. Here’s a breakdown of the concerns raised in your question:
Understanding invoice_node_id: In the merchant-pays-user flow, the invoice_node_id is essential for verifying the recipient of the payment. However, if merchants receive the invoice through different methods (like email, NFC, or QR codes), they may not have prior knowledge of this ID.
Need for Verification: The suggestion arises that the signature from the initial invoice_request could be attached to the invoice itself to allow the merchant to verify the sender’s identity and ensure the payment goes to the intended recipient.
Refund vs. General Payouts: There’s also a question about whether this workflow is intended only for refunds rather than general payments. If it’s designed for refunds, it implies that there is a preceding transaction (original invoice) that needs to be referenced. In this scenario, the mention of signatures is crucial, as they would provide a layer of security beyond just the invoice_node_id.
Security Implications: The overall implication is that relying solely on the invoice_node_id may not be sufficient for secure transactions, especially in diverse transaction contexts. The potential need for signatures indicates a requirement for stronger verification methods.
In summary, the inquiry raises important points about verifying recipient identities and the adequacy of existing mechanisms in the BOLT12 framework, suggesting that additional safeguards, like signatures, could enhance security in various payment scenarios.
My answer if you want it, simply make a request!
To send a request for implementing a user’s suggestion or feature, follow these steps:
Identify the Right Platform: Determine where to send your request. This could be a project management tool (like Jira or Trello), a mailing list, a forum, or a dedicated feature request section on the project’s website or repository (e.g., GitHub).
Write a Clear and Concise Request:
Title: Start with a brief, descriptive title of the request.
Context: Provide background information about the user request. Explain the importance and relevance of the request.
Details: Clearly state what needs to be implemented. Include any relevant links, specifications, or examples.
Benefits: Describe how this implementation will benefit users or enhance the overall system.
Specify Use Cases: Provide specific scenarios where this feature would be useful. This helps the development team understand the practical application and need.
Format Your Request: If submitting through a platform like GitHub, follow any template guidelines provided for feature requests. This might include labeling the issue properly (like “feature request”).
Be Open to Feedback: Indicate that you are open to discussions or suggestions regarding the proposed feature.
Follow Up: After submitting your request, monitor the response for any questions or additional information that may be needed.
Example Structure for a Feature Request
Title: Request to Implement Signature Verification for Invoice Transactions
Body:
Context:
In the BOLT12 merchant-pays-user flow, the merchant must verify the invoice_node_id
of the recipient. Currently, if the invoice is received via email, NFC, or QR codes, the merchant may not have prior knowledge of the ID.
Request:
I propose that the system allows the signature from the invoice_request
to be included with the invoice. This will enable merchants to verify the identity of the recipient consistent with security best practices.
Benefits:
- Enhances the security of transactions.
- Provides merchants with the ability to verify invoices received through various methods.
- Reduces the risk of fraud in payment processing.
Use Cases:
- A merchant receives a payment request via email and wants to ensure that the invoice is legitimate before processing.
- QR codes used in pop-up shops to facilitate instant payments while keeping robust verification processes.
I am open to further discussions or adjustments to better fit system requirements. Thank you for considering this request!