一种基于改进型哈希时间锁合约(HTLC)与部分签名的比特币交易(PSBT)的BRC20代币双离线支付协议
摘要
本白皮书提出了一种名为 Bitcoin-itip 的技术协议,旨在实现BRC20代币在完全离线环境下的点对点价值转移。本协议通过结合比特币原生脚本的改进型哈希时间锁合约(HTLC)、部分签名的比特币交易(PSBT)架构以及基于BRC20索引器的状态承诺机制,构建了一个安全、可验证且最终由比特币主网结算的双离线支付层。该方案不依赖于任何中心化服务器或侧链,严格遵循比特币网络的安全假设与BRC20协议规范,为数字资产在无网络、弱网络或高延迟场景下的流通提供了创新性解决方案。
1. 引言:问题与目标
BRC20代币标准利用比特币的Ordinals协议将代币数据铭刻在聪上,但其转账完全依赖于在比特币链上广播交易以更新索引器状态。这导致其在无互联网连接场景(如偏远地区、应急支付、特定高安全要求环境)下的支付功能失效。传统的双离线支付方案面临“双花攻击”和“状态同步延迟”两大核心挑战。
Bitcoin-itip协议的目标是:
1. 实现完全离线支付:允许两个离线设备间安全地转移BRC20代币的所有权承诺。
2. 防止双花攻击:通过密码学与链上合约确保任何离线交易在最终上链时具有唯一性与确定性。
3. 保持与BRC20兼容:所有离线操作最终均转化为符合BRC20标准的链上交易。
4. 最小化信任假设:仅依赖比特币网络的安全性和双方设备的临时状态。
2. 核心原理
协议的核心在于将一次离线支付分解为三个密不可分的阶段,其逻辑关系与数据流如下图所示:
```mermaid

flowchart TD
subgraph A [第一阶段: 在线预备]
direction LR
A1[“创建并注资<br>多重签名钱包”] --> A2[“生成并同步<br>初始余额凭证(S0)”]
end
subgraph B [第二阶段: 离线支付]
direction LR
B1[“验证收款方凭证(Rx)<br>与当前状态(Sx)”] --> B2[“协同构建并交换<br>P
SBT与解锁密文(Cx)”]
B2 --> B3[“更新本地状态至 Sx+1”]
end
subgraph C [第三阶段: 在线结算]
C1[“将最终状态凭证(Sfinal)<br>广播至比特币网络”] --> C2[“BRC20索引器<br>解析并更新余额”]
end
A -- “离线钱包状态初始化” --> B
B -- “最终状态上链结算” --> C
第一阶段(在线预备) 是所有离线操作的基础。支付双方需预先建立一个由2-of-2多重签名控制的比特币地址(P2WSH),并将用于离线流通的BRC20代币转入该地址。此地址关联着一个精心设计的改进型HTLC脚本,它不仅管理比特币,还通过特定的数据铭刻(Commitment Inscription)来记录BRC20代币的离线余额状态(S0)。此阶段的在线同步确保了双方对初始状态达成共识。
第二阶段(离线支付) 是协议的核心。当双方设备均离线时,支付流程通过四步密码学交互完成:
1. 验证与发起:付款方验证收款方提供的接收凭证(Rx),并与本地保存的当前状态凭证(Sx) 核对,确认支付能力。
2. 交易构建:双方基于Sx,利用PSBT框架协同构建一笔“未完成”的比特币交易。该交易内含两个输出:一个指向原多重签名地址(但金额减少,代表代币转移),另一个为找零。关键在于,花费Sx所对应的UTXO需要满足HTLC脚本条件。
3. 条件交换:付款方生成一个随机秘钥(Preimage)并计算其哈希值(H)。他将H嵌入交易,并将包含新状态(Sx+1)承诺的PSBT部分签名后交给收款方。同时,他将解锁密文(Cx) (即用收款方公钥加密的Preimage)离线传输(如通过NFC或二维码)。
4. 状态更新:收款方解密Cx获得Preimage,用其完成对PSBT的最终签名,从而获得一份有效的全额签名交易。双方各自在本地将状态更新为Sx+1。至此,BRC20代币的离线所有权已转移,但比特币链上状态未变。
第三阶段(在线结算) 实现价值的最终确定。当任何一方设备重新联网后,可将最终状态凭证(Sfinal) 所对应的、由最后一次离线支付生成的全额签名交易广播至比特币网络。矿工将验证该交易是否符合HTLC脚本(即是否提供了正确的Preimage)。交易确认后,BRC20索引器将解析交易及其中铭刻的新状态承诺,据此更新双方链上的公开余额,完成整个离线支付周期的闭环。
3. 关键技术组件
3.1 改进型哈希时间锁合约(HTLC)脚本
此脚本是资金安全与逻辑执行的核心。一个标准的支付脚本如下:
OP_IF
OP_SHA256 <H> OP_EQUALVERIFY
<Payee Public Key>
OP_ELSE
<Locktime> OP_CHECKLOCKTIMEVERIFY OP_DROP
<Payer Public Key>
OP_ENDIF
OP_CHECKSIG
Bitcoin-itip的改进在于:
· 状态绑定:<H> 不仅是随机Preimage的哈希,更衍生自“前一状态哈希(Sx) + 新交易详情”,使得每个Preimage仅对一次特定的状态转移有效。
· 双重出口:OP_ELSE分支允许付款方在锁定期(如24小时)后收回资金,防止收款方永不联网广播交易。
· 数据载体:交易输出中包含一个特殊的OP_RETURN输出,铭刻着新状态Sx+1的哈希承诺,供BRC20索引器识别。
3.2 部分签名的比特币交易(PSBT)框架
PSBT允许交易在多方之间渐进式地构建和签名,完美适配离线场景下的多轮交互。在Bitcoin-itip中,一笔离线支付PSBT包含:
· 未签名的输入(指向包含BRC20代币的UTXO)。
· 待定的输出(新的代币分配和找零)。
· 必要的脚本和哈希锁信息。
· 双方依次添加的签名。
3.3 离线传输通道
协议不限定物理层,可利用:
· 二维码:单向或双向展示,编码PSBT数据、加密后的Preimage或签名。
· NFC:用于近场交互,体验更流畅。
· 蓝牙:适用于多笔连续支付。
4. 操作步骤详述
步骤1:钱包初始化与资金注入(在线)
1. 付款方与收款方钱包应用生成专属的BRC20离线支付密钥对。
2. 协同创建一个2-of-2的多重签名P2WSH地址,并生成初始状态承诺S0。
3. 付款方发起一笔标准的BRC20转账交易,将一定数量的代币发送至该P2WSH地址。此交易上链确认后,离线资金池建立。
步骤2:单次离线支付流程(离线)
1. 协商:双方设备通过任何离线方式建立会话。收款方出示包含其公钥和当前交易序号的接收凭证Rx。
2. 构建:付款方钱包验证Rx,基于当前状态Sx和支付金额,创建新的PSBT草案,计算新的状态哈希Sx+1。
3. 锁定:付款方生成随机数R,计算H = SHA256(Sx || R || Amount) ,将H设置到PSBT的脚本条件中。用收款方公钥加密R得到密文Cx。
4. 交换:付款方对PSBT进行第一次部分签名,将PSBT和Cx发送给收款方。
5. 解锁:收款方解密Cx获得R,验证H ?= SHA256(Sx || R || Amount)。验证通过后,使用R完成对PSBT的第二次签名。此时,交易已完全签名,但未广播。
6. 确认:收款方将签名完成的交易副本返回给付款方。双方各自在本地安全存储此交易,并将状态簿更新为Sx+1。
步骤3:最终结算(在线)
1. 当设备(付款方或收款方)连接网络后,钱包自动或手动将本地存储的、序列号最高的(即最新的)全额签名交易广播至比特币网络。
2. 网络矿工处理此交易。由于提供了正确的R,脚本验证通过,交易被打包进区块。
3. BRC20索引器扫描该区块,识别交易中的OP_RETURN数据(包含Sfinal),并解析其对应的代币分配变化,在链下索引数据库中更新双方的余额。
5. 安全性与风险分析
· 双花攻击防御:每笔离线支付都唯一绑定一个链上UTXO和连续的状态序列(S0, S1, S2…)。任何尝试广播两个不同的最终状态(Sfinal)的交易都会因花费同一个UTXO而被比特币网络拒绝第一个确认之后的全部。离线交换的PSBT本身无效,直至提供正确的Preimage。
· 拒绝服务风险:收款方在获得签名交易后拒不联网广播,可能导致付款方资金锁定。通过HTLC的OP_ELSE分支,付款方可在锁定期后单方面收回资金,保障了基础安全。
· 隐私考量:离线支付细节仅在双方之间传递,直至最终交易广播时才公开于链上,提供了额外的隐私层。
· 设备安全:私钥的安全存储是根本前提,建议使用安全元件(SE)或可信执行环境(TEE)。
6. 局限性与未来工作
· 复杂性:协议涉及多重签名、复杂脚本和离线交互,对钱包开发者和用户体验提出高要求。
· 容量限制:比特币区块空间有限,频繁结算小额离线支付成本较高。未来可探索将多笔离线交易批量合并为一笔链上结算交易(通道网络)。
· 索引器依赖:BRC20余额的最终更新依赖于索引器对Bitcoin-itip特定格式的解析支持,需要社区共识。
· 初始设置开销:每对交易对手需预先建立并注资专用的多重签名地址,有一定初始化成本。
7. 结论
Bitcoin-itip协议首次系统性地论证了BRC20代币实现安全双离线支付的可行性。通过巧妙融合比特币脚本的可编程性、PSBT的交互灵活性以及状态承诺的连续性,该协议在不引入额外信任假设的前提下,构建了一个坚固的离线价值传输层。它拓展了比特币及BRC20代币的适用边界,为构建更具弹性和包容性的金融基础设施提供了关键技术路径。本协议的实施有赖于钱包提供商、索引器服务商和社区的共同推动,其成功部署将是比特币应用层创新的一座重要里程碑。
免责声明:本白皮书所述协议为技术提案,尚未经过大规模安全审计与实战测试。开发者与用户在实验性部署时应对风险有充分认知。比特币及BRC20生态仍在快速发展,具体实现细节可能需要随协议升级而调整。
#比特赏银itip #比特币生态 #Bitcoin谷歌搜索量暴升
BRC20 itip协议核心社区联系方式:itip2024@outlook.com
@币安广场 @Binance BiBi @CZ @Sun Research 孙宇晨研究 @Jiayi Li @迪大户 @唐华斑竹 @周周1688 @金先生聊MEME @欧吉巴克 @Yi He @Luna春婷 @Walrus 🦭/acc