Api
如何為閃電網路發票生成原像?我是不是該?
我正在為LND REST API開發 API 庫。
方法
POST /v1/invoices
需要r_preimage
參數。如果我不指定它,我應該生成它還是 LND 可以自己做?
如果我應該這樣做 - 如何正確地做到這一點?一般的描述就足夠了。
根據經驗,最好讓 lnd 為您生成原像。
如果有人能猜出您的原像,他們就有機會進行付款。這有點類似於猜測你的比特幣私鑰,但可能沒有他們只能獲得目前付款那麼糟糕,從技術上講,即使這可能很棘手。
如果你想一個人做,你應該記住三件事:
- 原像應該是真正隨機的,這對於軟體來說總是很難實現
- 它應該有足夠大的尺寸。擲硬幣可能真的是隨機的,但由於只有兩種可能的結果,人們可以猜測/蠻力
- 它應該是唯一的並且永遠不會重複使用。
第三點是通過遵循前兩點來精確實現的。
還查看 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 字節的數據,這比我建議的第二點更靈活。