BOLT12 Offer 更像可重复使用的收款入口,BOLT11 通常是一张已经包含支付条件的单次发票。付款 BOLT12 时,钱包仍要根据 Offer 发起请求并取得具体 invoice,不能直接把 Offer 当作最终付款凭证。
两者处在不同阶段
BOLT11 由收款方生成,付款方拿到后可直接检查金额、payment hash 和 expiry。BOLT12 Offer 可以长期展示,支持无固定金额或重复购买;付款钱包根据 Offer 发送 invoice_request,收款方再返回与本次购买对应的 invoice,把商品入口和本次账单分开。
一次 BOLT12 付款的消息链
- 解码 Offer,检查链、说明、金额规则和签名。
- 创建 invoice_request,填入本次金额、数量或 payer 信息。
- 验证返回 invoice 与原 Offer、请求参数和收款方签名的关联。
- 按具体 invoice 付款,保存 payment hash 与结算证明。
何时仍适合 BOLT11
一次性线下收款、当前钱包尚不支持 BOLT12,或商户需要最简单兼容路径时,BOLT11 更直接。Offer 的可复用性不等于永久可信:商户密钥、路由和商品条件会变化,每次拿到 invoice 后仍要重新确认。用户还应确认钱包是否真正实现 BOLT12,而不是把无法识别的 bech32 字符串按普通发票处理。
Offer 本身可长期存在,但返回的 invoice 仍有本次支付的金额、路径和有效性条件。钱包必须验证各对象之间的签名承诺,并把 invoice_request 中可能携带的付款方信息按隐私数据处理;不支持的字段应明确拒绝,不能静默降级成另一种付款语义。
Lightning BOLT12 Offer:操作前的知识坐标
- 三对象交互:用三对象交互直接回答搜索意图并形成可执行核验信息。
- 复用能力对照:用复用能力对照直接回答搜索意图并形成可执行核验信息。
- 字段与签名:用字段与签名直接回答搜索意图并形成可执行核验信息。
- 兼容性边界:用兼容性边界直接回答搜索意图并形成可执行核验信息。
Lightning BOLT12 Offer:来源支持到哪一层
- BOLT12 Offer设计为可复用的付款入口,付款方先基于Offer生成invoice_request,再由收款方返回具体invoice。
- 与一次性BOLT11发票相比,Offer可表达无金额或重复使用场景,并采用TLV与merkle化签名承诺组织字段。
- Offer、invoice_request和invoice是不同对象;拿到Offer不等于已经获得可支付发票,兼容性也取决于双方钱包实现。(有限确认)
Lightning BOLT12 Offer的证据出处
- Lightning BOLT12 Offer的一级来源 1:Lightning BOLTs。用于正式字段、流程或产品说明
- Lightning BOLT12 Offer的一级来源 2:BOLT11 Payment Encoding。用于实现路径、比较基准或风险边界
与Lightning BOLT12 Offer直接相邻的站内主题
- 比特币闪电网络是什么?:补充第1项相邻知识。
- BIP21支付URI如何安全解析?:补充第2项相邻知识。
关于Lightning BOLT12 Offer的说明只用于技术教育和风险识别,不构成收益承诺。
Lightning BOLT12 Offer操作完成后的回看
不要依据前端提示立即结束任务。重新读取三对象交互,核对复用能力对照是否变化,再用字段与签名验收;结果矛盾时停止追加操作。
Lightning BOLT12 Offer:发布时必须保留的限定
BOLT12实现和互操作支持仍在发展,文章不把规范仓库内容写成所有Lightning钱包都已支持。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。