A与B建设领取通道的流程。
- A和B别离转5BTC到一个多签地址AB1(上链)
A和B产生一笔交易,A要给B发1BTC,(不上链)
- A生成一个随机串,并计算hashA,发送给B
B创立一笔交易,从AB1账户向B转6BTC,向多签地址AB2转4BTC,并发送给A。
- 并且设定AB2账户,容许A的私钥独自操作AB2账户,然而须要期待1000个块(通过哈希工夫锁定指令)
- 或者当B有hashA时,B的私钥能够马上操作AB2账户(通过哈希密钥锁定指令)
- B也创立一个随机串,而后A也创立一笔对应交易。
- 当A和B决定敞开通道,A和B创立一笔交易,将AB1的BTC按约定别离发给A和B的地址。
- 当A单方面决定敞开通道,A对B创立的交易签名,并发送到链上,此时B马上取得6个BTC,A期待1000个块后能够从AB2账户上提取出4BTC。
如果A和B打算持续交易,此时B向A发1BTC,(不上链)
- A和B别离把上一轮的随机串给对方,将上一轮的交易作废(原理用于避免守约,前面阐明)
- B从新创立一笔交易,从AB1账户向B转5BTC,向多签地址AB2转5,与上一轮雷同。
此时如果B想守约,想将上一轮的交易发送到链上取得6个BTC。
B将A在上一轮创立的交易(A取得4个BTC,AB2取得6个BTC)发送到链上
- 曾经有A的签名,B只须要减少本人的签名
- A马上取得4个BTC,然而AB2上的6个BTC须要1000个块当前,B能力应用A的随机串来操作AB2。
- 而依照AB2的约定,A有B的随机串,能够马上操作AB2,取得6个BTC,所以B赤贫如洗。
- 所以B不会将旧的交易发送的链上。
建设闪电网络的流程
- A和B建设领取通道,B和C建设领取通道
- A要给C转账,C生成一个随机串并计算hash,把hashC给A。
- A给B1地址转账,并约定只有B提供hashC对应的随机串,B能力操作B1账户(通过哈希工夫锁定指令),如果超时主动勾销。
- B给C1转账,并约定只有C提供hashC对应随机串才给B,C能力操作C1账户
- 当C提供随机串给B时,B也提供给A,同时实现收款。