ptarmigan icon indicating copy to clipboard operation
ptarmigan copied to clipboard

remote's unilateral close handling

Open nayuta-gondo opened this issue 5 years ago • 5 comments

nayuta-gondo avatar Apr 17 '19 09:04 nayuta-gondo

channelのupdate_infoに前回のcommitment_signed以降に更新が入っていたり、commitment_signed送信後、revoke_and_ack未受信のとき、ピアが2つの有効なremote commitment txのいずれかでunilateral closeをする、などのケースをカバーできていない。 2通りの方法がある。

  1. channelの状態を巻き戻す
  2. commitment number毎に回収に必要な情報を保存しておく 「2」は冗長のような気がするが、結局revoked txに対応するためにある程度commitment number毎に情報を保存しておかないといけないので、そちらに統合したほうがいいかもしれない。

nayuta-gondo avatar Apr 17 '19 09:04 nayuta-gondo

まず「1.」でワークアラウンドする。 次の2つの対応が必要 1.1. 未commitのupdateを除外 1.2. commitment_signed送信済、revoke_and_ack未受信のときに古い方のtxでremote unilateral closeが行われたときの対応

nayuta-gondo avatar Apr 20 '19 13:04 nayuta-gondo

1.1.は対応済 #1354

nayuta-gondo avatar Apr 20 '19 13:04 nayuta-gondo

1.2.対応済 #1357

nayuta-gondo avatar Apr 21 '19 04:04 nayuta-gondo

ただし最終的に「2.」の方法で対応する必要がある。

nayuta-gondo avatar Apr 21 '19 04:04 nayuta-gondo