Marimox

Marimox

@gvvY2RqIppNAIY2N

暗号資産エンジョイ勢。UmbrelでBTCノード運用中。

Greenlightとチャネルの強制閉鎖

Greenlight, BreezSDKを使ったライトニング搭載ビットコインウォレットを開発中に、テスターから強制チャネル閉鎖になると報告がいくつかありました。そこでテスターからログをいただき、解析してみた結果、ビットコイン、ライトニング特有な原因であることがわかりました。以下はそのログの原因箇所を抜粋したものです。 19:08:57 : DEBUG 02c...70d-channeld-chan#1: Received commit_sig with 0 htlc sigs 19:08:59 : DEBUG 02c...70d-channeld-chan#1: sending_revoke_and_ack: HTLC REMOTE 15 = SENT_ADD_REVOCATION/RCVD_ADD_REVOCATION 19:08:59 : DEBUG 02c...70d-channeld-chan#1: revoke_and_ack made pending: commit timer 19:08:59 : DEBUG 02c...70d-channeld-chan#1: Sending master 1021 19:08:59 : UNUSUAL 02c...70d-chan#1: Deferring incoming commit until we sync ライトニングの送金は、送信者と受信者が互いにその取引に署名をします。まずは、送信者がコミットメントに対して署名をします。受信者はそれを受け取り、内容に問題がなければ、古いコミットメントを失効させます。この際、受信者は古いコミットメントがオンチェーンへブロードキャストされていないか確認する必要があります。そのためには、まずはビットコインの最新のブロック高まで同期して確認します。もしブロック高の同期が未完であれば、相手からのコミットメントを受け取ってもその処理を中断して、ブロック高の同期を待ちます。もし、この状態でアプリを閉じてしまうとどうなるか...送信者はコミットメントに署名をして受信者へ渡した状態で、これは送金が宙に浮いている状態です。この場合ライトニングでは、ある一定期間が経過すると、その中途半端な取引をオンチェーンへ展開して資金を回収するプロトコルになっています。これが所謂、チャネルの強制閉鎖です。 ウォレットを開き、支払いを受け取ろうとする。しかしブロック高の同期が完了していない場合、その取引は中途半端になる。その状態でアプリを閉じることで、一定期間経過後にチャネルが閉鎖されてしまう。これがテスターから報告のあったチャネル強制閉鎖の原因でした。 対応策は、ブロック同期が完了するまでインボイスの生成や受け取りができないようにすれば良いはずです。 GreenlightやBreezSDKといったライトニングウォレットの開発が楽になるツールがでてきても、ブロック高の同期など、ビットコインの基本的な処理が必須で、これが「

記事を購入しました。 evnkc98i5

-100

記事を購入しました。 mgvjuydco

-100

記事を購入しました。 1xiwioo83

-777

記事を購入しました。 wblk9scc0

-100

記事を購入しました。 qgj7yj8in

-100

記事を購入しました。 yzd0whhbr

-100

Anonymous さんが記事を購入しました。 j8u8mcx2m

1000

記事を購入しました。 63awybxw4

-100

記事を購入しました。 as1e5dhui

-100

sutadonman さんから記事への投げ銭がありました。 cqby33p60

1000

sutadonman さんが記事を購入しました。 cqby33p60

100

ちょめじ さんが記事を購入しました。 cqby33p60

100

Sigeru Minami さんが記事を購入しました。 cqby33p60

100

タコ頭 大吉 さんが記事を購入しました。 cqby33p60

100

記事を購入しました。 add3q50ur

-100

katakoto さんが記事を購入しました。 cqby33p60

100

ラバ さんが記事を購入しました。 cqby33p60

100

記事を購入しました。 4mqhj5jb5

-100

記事を購入しました。 lnkx4ho6c

-100

記事を購入しました。 xdkogpobo

-100

このクリエイターの人気記事

【LN】 ルーティング手数料の概要と戦略

895

UmbrelでAliasを設定する

662

【LN】TunnelSatsでお手軽Hybridモード運用

308

アーカイブ

2024-09
1記事
2023-01
1記事
2022-09
1記事
2022-08
2記事
2022-07
1記事
2022-06
1記事
2021-11
1記事
2021-10
2記事
2021-08
2記事
2021-06
2記事
2021-05
2記事
2021-04
1記事
2021-03
1記事