単方向payment channel

Lightning Networkは、単方向、双方向、multi hopと進んでいくわけだけど、それらを分割してしっかり理解を整理する。
すこしずつ、簡易実装ができそうなくらいには理解が進んできた気もする。

payment channel

A Micropayment Channel or Payment Channel is class of techniques designed to allow users to make multiple Bitcoin transactions without commiting all of the transactions to the Bitcoin block chain

On chainにcommitすることなくtxのやりとりを可能にする状態のことをpayment channelという。この状態に持って行くことを「channelを開く」と言ったりする。
大きな流れとしては、2 of 2 multi sigで二者間の資金をロックして、その後はoff chainで残高を更新し、最後にcloseする。
相手の不正対策のため、資金が自分の手に戻る仕掛けをする必要があり、これが複雑にしている。

最も明確な目的は、トランザクション手数料の節約だ。

単方向payment channel

二者間取引のおいて、片方向への支払いを可能にする。例えば、ユーザがサービス事業者に対して支払いをする場合等に活用できる。
動画のstreaming等に使えるか。segwitも必要ない。

あえてこれだけが使えるlibraryみたいなものは見つからなかった。

  1. Openning TX作成
  2. refund TX作成
  3. Openning TXのbroadcast
  4. commit TXの更新(複数回)
  5. commit TXのbroadcast