最新消息:

比特币零确认(实时支付)方案

区块链 admin 237浏览 0评论

Bitcoin平均每10分钟确认一个区块,在线下零售小额支付等场景下(例如买杯咖啡),10分钟支付确认过程太长了。为提升用户体验,有一些商家支持零区块确认(zero confirmation),只要在首款地址收到了对应的待确认交易,就假定交易会最终确认。但如果零区块确认,存在双花风险(double spending)。

因此针对零区块确认,Bitcoin Cash通过不支持 Replace-by-fee (RBF),从而降低客户端双花的可能性。
对Bitcoin,由于支持Replace-by-fee (RBF),双花风险更大。除了通过闪电网络来支持实时支付外,对非闪电网络用户,能否支持零区块确认呢?

目前可行的方案:
1、中心化权威机构方案,例如公认具有信用的中心化机构,由其信用担保用户不会双花,例如coinbase
2、联盟链方案,例如blockstream liquid侧链
3、来自多签名钱包服务商的可信地址,例如 greenaddress(Blockstream Green)、bitgo
4、风控反欺诈引擎

这里重点讨论“多签名钱包服务商可信地址”和“风控反欺诈引擎”方案。

1、多签名钱包服务商可信地址

此方案基于Bitcoin的多签名地址(Multi-signature)
greenaddress.it最早提供此类服务,greenaddress 已经被blockstream 收购,变为 Blockstream Green
bitgo曾经也提供过此类服务,目前已经不对外提供。

核心方案:

a、用户使用 greenaddress APP 或 Blockstream Green APP,往 greenaddress 多签名钱包地址转账
greenaddress多签名钱包支持两方签名,一方为用户,一方为greenaddress。
greenaddress多签名钱包也三方签名,一方为用户,一方为greenaddress,还有一方为恢复服务。支持用户密钥遗失情况下通过恢复密钥服务取回资金。

b、用户支付时候,通过APP 签名,然后由 greenaddress 服务器签名 ,解锁资金,发起支付操作

c、第三方可以通过 greenaddress 的API接口 ,根据 transaction hash 来确认交易是否为greenaddress的交易。
mainnet查询页面:https://greenaddress.it/instant
testnet查询页面:https://test.greenaddress.it/instant
API接口: https://api.greenaddress.it/txs.html 。

由于用户资金存放在多签名钱包中,用户发起交易都需要 greenaddress 参与签名,因此 greenaddress 可以控制用户锁定资金的流向,从而限制用户double spending,因此可以保证零确认安全。

备注:
1)、为避免用户提币时候,服务商不签名,导致用户资金死锁在服务商的多签名钱包中。多签名钱包支持Bitcoin的nLockTime ,在指定时间后(缺省为90天),可以自动将多签名钱包锁定的资金返回给用户。
2)、基于隐私考虑,通过transaction hash 查询 greenaddress时候,只允许收款方才能查询,因此需要查询人提供对收款地址的消息签名(https://chainquery.com/bitcoin-cli/signmessage)

greenaddress github:https://github.com/greenaddress

Blockstream Green APP:https://blockstream.com/green

2、风控反欺诈引擎

典型服务商包括 gap600.com 、blockcypher.com
大致思路:风控反欺诈引擎使用机器学习算法对指定的transaction hash 进行双花概率打分。
一些可以参与打分的因素:
a、交易手续费、签名类型、输入/输出等交易信息,此部分与网络无关
b、网络传播特征,例如在全球部署多台服务器,对指定transaction hash的网络传播特征进行打分

“Double-Spending Fast Payments in Bitcoin”这篇论文提供了三种算法,可供参考
https://www.eecis.udel.edu/~ruizhang/CISC859/S17/Paper/p9.pdf

转载请注明:出家如初,成佛有余 » 比特币零确认(实时支付)方案

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址