区块链期末复习3:跨链原子交换&其他加密货币
参考教材:《区块链:技术驱动金融》
一、跨链原子交换(不可分割的交叉链互换)
1.实施步骤
假设Alice要拿1BTC交换Bob的3BCY。Alice作为交易的发起者。
1)Alice创建一个secret(一个随机数x), 并计算其哈希值 (h(x))
2)Alice创建交易tx1,但并不广播上链。
tx1的输入是Alice拥有的1BTC,输出脚本则要求使用方满足下面两个条件之一:
A. Alice的签名以及Bob的签名
B. secret(即x的值)以及Bob的签名
也就是说,Bob要想拿走Alice的这一BTC,除了签上Bob的签名之外,还需要拥有Alice的签名或者secret(x)的值。Bob当然拿不到Alice的签名,所以Bob只有在知道secret(x)的值之后,才能拿走这1BTC。
tx1的输出脚本可以如下:
OP_CHECKSIGVERIFYOP_DUPOP_CHECKSIGOP_IFOP_DROPOP_IOP_ELSEOP_HASH160OP_EQUALOP_ENDIF
拿走tx1中存储的这1BTC的交易,需要输入脚本如下:
或者如下:
3)Alice利用时间锁,创建赎回这1BTC的交易tx11.请求Bob对tx11签名,
这是为了防止B