Skip to content

Latest commit

 

History

History
54 lines (32 loc) · 2.69 KB

Bitcoin-转接桥.md

File metadata and controls

54 lines (32 loc) · 2.69 KB

Bitcoin 转接桥

English version

ChainX的Bitcoin转接桥采用单向轻节点中继模式,用户的资金由多个信托节点共同托管,共有冷热两个多签地址,均为公开地址,所有操作透明可查。

Bitcoin轻节点

ChainX根据比特币的POW共识算法,得出最长链,并根据块内的交易根得出有效的充提现交易,充值和提现监听的有效地址为最新的热多签地址。

默认配置

  • 单块时间:600秒
  • 交易确认块数:4
  • 起始监听块高度:576576
  • 提现手续费:0.001 BTC
  • 最大提现笔数:100
  • 多签比例:等于2/3
  • 跨链备注载体:OP_RETURN

交易接口:提交块头 btc_bridge/push_header

  • 参数:版本、前块哈希、交易根、时间戳、nonce、备注
  • 判断:任何人都可以调用,区块难度必须满足要求,前块哈希已经在轻节点内存在,不接收大于交易确认块数的分叉块。

如果是合法块,则更新最长链,并将达到确认状态的块内的交易执行掉,包括充值确认发币和提现确认销毁等。

交易接口:提交交易 btc_bridge/push_tx

  • 参数:区块哈希、本交易原始数据、交易根证明、前序交易原始数据、备注
  • 判断:任何人都可以调用,区块需要已存在,交易需要在区块的交易根里,前序交易需要是本交易的input[0]

如果交易合法并且区块还未确认,则保存下来,如果交易合法并且区块已确认,则执行。

交易接口:构造多签提现 btc_bridge/xxxxx

  • 参数:提现ID列表、待签原文
  • 判断:只能信托节点调用,需要所有的提现均在提现列表中,并且待签原文的output都对应用户的提现地址和金额(扣除手续费),找零地址为热多签地址。

合法则存储,并等待其他信托节点确认

交易接口:响应多签提现 btc_bridge/xxxxx

  • 参数:新签名结果、响应(同意|否决)
  • 判断:只能信托节点调用,新签名必须合法且没有重复,或者提交否决。

如果新签名结果达到多签比例,则提现构造完成,等待中继程序广播至Bitcoin网络。如果否决达到多签比例,删除构造的多签提现,信托节点需重新发起。

Bitcoin中继

任何人都可以调用ChainX的提交块头和提交交易接口,只要满足轻节点的需求就会被ChainX接纳,所以社区可以有多个版本的中继程序实现,以免单一程序遗漏某些交易等。

ChainX会定期统计参与中继的节点或用户名单,用于向社区公布维护网络安全的节点名称,为其增加社区信用度,以弥补他们的交易手续费损失。