10 – Invoice, LNURL, Keysend

Un invoice c’est long et chiant, mais ça fait une demande de paiement.

Exemple :
lnbc1m1pskuawzpp5qeuuva2txazy5g483tuv9pznn9ft8l5e49s5dndj2pqq0ptyn8msdqqcqzpgxqrrsssp5v4s00u579atm0em6eqm9nr7d0vr64z5j2sm5s33x3r9m4lgfdueq9qyyssqxkjzzgx5ef7ez3dks0laxayx4grrw7j22ppgzyhpydtv6hmc39skf9hjxn5yd3kvv7zpjdxd2s7crcnemh2fz26mnr6zu83w0a2fwxcqnvujl3

  • lnbc1m = partie lisible
  • 1 = séparation avec le reste
  • Puis le reste

Bc1 = Encodage Bech32 (base 32), on utilise donc 32 caractères.

  • 10 = 1.2.3.4.5.6.7.8.9.0
  • 26 = abcdefghijklmnopqrstuvwxyz
  • 32 = pas le « b- i- o » et pas le « 1 »

lnbc1m ->

ln = Lightning
Bc = bitcoin (mainnet)
1 = montant
M = milli (10*-3 / u = micro 10*-6 / n = nano 10*-9  / p = pico 10*-12
Ici 1m = 1 * 0.0001btc = 100 000 BTC

« Prié de payer 100 000 SAT sur le réseau Lightning du mainnet bitcoin

« pskuawzpp5qeuuva2txazy5g483tuv9pznn9ft8l5e49s5dndj2pqq0ptyn8msdqqcqzpgxqrrsssp5v4s00u579atm0em6eqm9nr7d0vr64z5j2sm5s33x3r9m4lgfdueq9qyyssqxkjzzgx5ef7ez3dks0laxayx4grrw7j22ppgzyhpydtv6hmc39skf9hjxn5yd3kvv7zpjdxd2s7crcnemh2fz26mnr6zu83w0a2fwxcqnvujl3 »

  • Timestamp (quand il a été créé)
  • 0 ou plusieurs parties supplémentaires :
    • Hash de la préimage
    • Secret de paiement (routage en oignon)
    • Données arbitraires
    • Clé publique LN du destinataire
    • Durée d’expiration (1h)
    • Indications de routage
    • Etc
  • Signature de l’ensemble

Il existe d’autres types d’invoice. Le meta-protocole LNURL permet de fournir un montant de satoshis direct au lieu de faire une demande. C’est très flexible et permet beaucoup d’améliorations en termes d’expérience utilisateur.

Un Keysend permet à Alice d’envoyer de l’argent à Bob sans avoir la demande de Bob. Alice récupère l’ID de Bob, crée une préimage sans demander à Bob et l’inclus dans son envoi. Donc, Bob va recevoir une demande surprise où il peut débloquer l’argent car Alice a déjà effectué le travail.

Contenu de la Leçon