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,同时实现收款。