闪电网络
闪电利用RSMC(序列到期可撤销合约)实现链下微支付通道,由于微支付通道是一对一的, 通过引入HTLC(hash timer locked contract)来打通微支付网络。
RSMC
比如Alice和Bob准备把他们各自0.5个BTC放如支付通道里。(实际上就是两个人共同控制的账号)。这个交易我们称之为funding trasaction。
在广播这个fundung transaction之前,Alice和Bob互相准备下CommitMent trasaction。
- 两个各自准备两个签名好的交易,比如Alice 拥有 1. Bob 拥有0.5个BTC,Bob和Alice各自有0.5个BTC. 2. 将共同的0.5个BTC转给Alice,但是要在1000个块以后才能执行。
BoB实际上有两个刚好相反的交易。两个人各自保存交易内容,但是不广播。 - 两人签名funding trasaction 并广播
此时支付通道建立完成。现在假设Alice在线下购买了0.1BTC的商品,需要支付给Bob 0.1个BTC。于是重复上述的1步骤,但是 对于Alice拥有的交易是:1. Alice 和Bob共同拥有0.4个BTC,BOB有0.6个BTC. 2. 共同的0.4个BTC转给Alice。
对于Alice拥有的交易是:1. Alice 和Bob共同拥有0.6个BTC,Alice有0.4个BTC. 2. 共同的0.6个BTC转给Bob。
但是怎么防止Alice广播之前的交易获利呢,在进行新的交易之前,Bob会得到和Alice共同签名的,input为Alice拥有的第一个交易的output,将共同游泳的0.5个BTC转给Bob的交易,由于Alice拥有的第二个交易需要1000个块以后才能进入,所以Bob可以在这个期间
广播这个交易没收Alice所有收入。
微支付通道还有一个特点就是,先关闭支付通道的人会晚拿到钱,鼓励更多地使用支付通道
HTLC
由于通道只有介入的人才能发生,通常其中一方是比较大的中介,通过HTLC可以将多个中介机构连接起来,形成一个完整的支付网络。有点像中国移动、中国电信、中国联通的手机用户,大家可以在一起玩王者荣耀,不需要关心其他人用的什么运营商。