こうかな?

・nostrクライアント→ライトニングアドレス(LA)サーバ

zapリクエストを送る。

・LAサーバ→ライトニングノード

1.zapリクエストをハッシュ

2.zapリクエストハッシュをdescription hashとしたインボイスをノードに要求。

・ライトニングノード→LAサーバ

インボイス(description hash はzapリクエストのハッシュ)を渡す。

・LAサーバ→nostrクライアント

インボイス(略)を渡す。

<インボイスが決済される>

・LAサーバ↔ライトニングノード

zapリクエストのハッシュがdescription hashであるインボイス決済を検知。

・LAサーバ→(各リレー)

zapレシートを送信。zapレシートのdescriptionタグに決済されたインボイスのdescrition hashの元になったzapリクエストをのせる。

zapリクエストはデカイためにそのままインボイスに載せられず、hashでインボイス発行要求するんだと思われ。

Reply to this note

Please Login to reply.

Discussion

ライトニングインボイスのdescription と description hashは Lightning Networkの仕様の話でNostrは関係ねーし。

インボイスに含めるdescriptionが639バイトを超過する場合にdesription hash(hタグ)を使うっぽい。

インボイスにハッシュを含めるけどその639バイトを超過する本文をどうやって相手に送るかは定めてない。その意味でzapレシートのdescriptionに載せてるんだろうな。

https://github.com/lightning/bolts/blob/master/11-payment-encoding.md#tagged-fields