https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html https://twitter.com/chaintope/status/1177771818007982081?s=21
LNの脆弱性は、チャネルオープン時のチェックが問題。 通常、既存のBOLTの仕様でチャネルをオープンする際は、資金提供者がFunding Txを作成し、そのTXIDとアウトプットの番号を受信者に渡す。 受信者はその情報から最初のコミットメントTxの署名を作成し、資金提供者に返す。その後資金提供者はFunding Txをブロードキャストしてチャネルをオープンする。
ステップの中で、受信者がFunding Txのアウトプットの中身(量やscriptPubkey)やそのアウトプットの存在についてチェックしておらず、単にFunding TxのTXIDのチェーン上での承認数のみをチェックしていた。 そのため存在しないデポジットを元にオフチェーン決済するような動作が可能になっていた。 これはFunding OutputのチェックについてBOLTに記載されていなかったため、他の実装も同様にチェックが漏れていた模様。
funding_createdで指定されたアウトポイントが、open_channelで指定されている額のFunding Outputにあっているかチェックを追加すること。