Api

如何為閃電網路發票生成原像?我是不是該?

  • October 4, 2019

我正在為LND REST API開發 API 庫。

方法POST /v1/invoices需要r_preimage參數。

如果我不指定它,我應該生成它還是 LND 可以自己做?

如果我應該這樣做 - 如何正確地做到這一點?一般的描述就足夠了。

根據經驗,最好讓 lnd 為您生成原像。

如果有人能猜出您的原像,他們就有機會進行付款。這有點類似於猜測你的比特幣私鑰,但可能沒有他們只能獲得目前付款那麼糟糕,從技術上講,即使這可能很棘手。

如果你想一個人做,你應該記住三件事:

  1. 原像應該是真正隨機的,這對於軟體來說總是很難實現
  2. 它應該有足夠大的尺寸。擲硬幣可能真的是隨機的,但由於只有兩種可能的結果,人們可以猜測/蠻力
  3. 它應該是唯一的並且永遠不會重複使用。

第三點是通過遵循前兩點來精確實現的。

還查看 BOLT 02 <https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#removing-an-htlc-update_fulfill_htlc-update_fail_htlc-and-update_fail_malformed_htlc>你會看到原像是 32 字節的數據,這比我建議的第二點更靈活。

引用自:https://bitcoin.stackexchange.com/questions/90797