Lightning Network

STATE CHANNEL & HTLC

00. System Actors

Alice / Carol

TYPE: CLIENT_NODE

秘密鍵管理、インボイス生成、P2P通信を司るウォレット(User Agent)。

Bob

TYPE: ROUTING_NODE

常時稼働の中継サーバー。AliceとCarolを論理的に接続し、手数料を得て流動性を提供する。

署名 (Off-Chain) 資金移動 (On-Chain) 残高更新 (HTLC) Preimage伝達

01. チャネル開設

SEQUENCE: FUNDING_TX

1

オフチェーン署名の交換

資金をロックする前に、AliceとBobは「払い戻し用Tx」への署名を交換する。これは相手が音信不通になった際の安全装置(Commitment Tx)として機能する。

2

オンチェーンへのデポジット

安全装置の確保後、Bitcoinブロックチェーン上の「2-of-2 マルチシグ」に対しFunding Txをブロードキャスト。承認されるとチャネルが開通する。

Channel Opening Diagram
FIG.01 // MULTISIG_SETUP

02. HTLCによる送金

SEQUENCE: HASHED_TIME_LOCK

0

Invoice (問いと答え)

Carolはランダムな数値Preimageを作成し、そのハッシュ値Payment HashをAliceに送る。

1

往路:条件付きロック

Alice→Bob→Carolの順で、HTLC(ハッシュ値が一致する鍵があれば解除できる契約)を用いて残高を保留状態にする。この時点では資金は移動していない。

2

復路:決済の確定

CarolがPreimage(正解)をBobに開示し、資金を受け取る。Bobはその正解をAliceに転送し、自身も資金を回収する。これにより全ペアの残高が確定更新される。

Payment HTLC Diagram
FIG.02 // PAYMENT_FLOW