Muiti Hop Payment
そしてMulti Hop Payment。
Multi Hop Payment
双方向Payment Channelでは、過去のcommitTXをブロードキャストするのをロックタイムとシークレットの交換によりたくみに回避した。なぜ過去のcommitTXに注意を払う必要があるかというと、TXのINのmulti sigに署名済であるためだ。
双方向payment channelのみだと、支払い先が増える毎にデポジット額が増えてしまう。そこで、Multi Hop Paymentがあれば、中間者を経由でき、デポジット額をへらすことが可能になる。
HTLC
Hashed Time-Locked Contract (HTLC) は、あるユーザー間(売り手と買い手)の決済を行うコントラクトで、売り手がハッシュのプリイメージを公開することで資金を入手することを可能にし、買い手が指定期間内に売り手がプリイメージを公開せずタイムアウトになった際に、資金を取り戻すことを可能にするスクリプトである。
Rはsecret、HはHash(R)。
保証
AとB、BとCはチャンネル開設済とする。
- Hの交換
- commitTXの交換
BからCへの支払い
- commit TXの交換
- Rの交換
- 残高更新後のcommitTXの交換
AからBへの支払い
- Rの交換
- 残高更新後のcommitTXの交換
シンプルなHTLCによるmulti hopと異なるのは、Rを知っていても、CSVのタイムロックをかけることだ。これは不正に過去のTXをブロードキャストすることを防ぐためだ。