BOLTを読めるようになるために
Lightning Networkの解説というと、大体HTLCの説明とトランザクションの説明がざっくりまとまっているサイトしかない。
で、もうすこし踏み込もうとすると突然BOLTが現れるんだけど、どこからどう読んだら良いのかわからない。
だから、まずはそれぞれが何を決めているのかを理解する。
BOLT #0: Introduction and Index
まあ特に。触りと専門用語
BOLT #1: Base Protocol
P to Pの通信プロトコルについて書いてある。
Channelを開始する以前のconnectionの部分についてか。
BOLT #2: Peer Protocol for Channel Management
P to Pの通信プロトコルについて書いてある。
こっちはchannelのプロトコル。
BOLT #3: Bitcoin Transaction and Script Formats
トランザクションの形式について。よくLightningの説明で目にする内容の詳細といったところか。
BOLT #4: Onion Routing Protocol
ルーティングのプロトコルであるonion routingのパケットのルールについて。
BOLT #5: Recommendations for On-chain Transaction Handling
on chainにおけるトランザクションのハンドリングについて。
BOLT #7: P2P Node and Channel Discovery
相手ノードとのネゴシエーションが終わり、initメッセージの交換が終わると、BOLTメッセージが交換できるようになる。 開設するための「Channel Establish」について。
BOLT #8: Encrypted and Authenticated Transport
メッセージの暗号化について
BOLT #9: Assigned Feature Flags
よくわからない・・・
BOLT #10: DNS Bootstrap and Assisted Node Location
ノードの情報を得る手段について
BOLT #11: Invoice Protocol for Lightning Payments
請求書について
こうしてみると、それぞれの章が独立しているわけではないように見える。多分この切り分けにも意味があるんだろうけど、これだけ見てもよくわからない、というのが本音だ。