Learning-Bitcoin-from-the-C.../it/20_2_Pagare_una_Fattura.md
Lutxo 80377bfbba Uploading italian transtlation to it directory
Uploading italian transtlation to "it" directory
2024-08-08 11:54:13 +02:00

235 lines
10 KiB
Markdown

# 20.2: Pagare una Fattura
> :information_source: **NOTE:** Questa sezione è stata recentemente aggiunta al corso ed è una bozza iniziale che potrebbe essere ancora in attesa di revisione. Attenzione lettore.
In questo capitolo imparerai come pagare una fattura utilizzando il comando `lightning-cli pay`. Si presume che tu abbia già esaminato la fattura, come descritto nel [Capitolo 20.1](20_1_Generare_una_Richiesta_di_Pagamento.md) e determinato che fosse valida.
## Controlla il tuo Saldo
Ovviamente, la prima cosa che devi fare è assicurarti di avere abbastanza fondi per pagare una fattura. In questo caso, il canale configurato in precedenza con `032a7572dc013b6382cde391d79f292ced27305aa4162ec3906279fc4334602543` contiene 100.000 satoshi. Questo sarà il canale utilizzato per pagare la fattura.
```
c$ lightning-cli --testnet listfunds
{
"outputs": [
{
"txid": "66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d",
"output": 1,
"value": 99847,
"amount_msat": "99847000msat",
"scriptpubkey": "00142fe02e5be9283e8c5bcb93ae61421baf8cb64f9c",
"address": "tb1q9lszuklf9qlgck7tjwhxzssm47xtvnuu4jslf8",
"status": "confirmed",
"blockheight": 1862856,
"reserved": false
}
],
"channels": [
{
"peer_id": "032a7572dc013b6382cde391d79f292ced27305aa4162ec3906279fc4334602543",
"connected": true,
"state": "CHANNELD_NORMAL",
"short_channel_id": "1862856x29x0",
"channel_sat": 100000,
"our_amount_msat": "100000000msat",
"channel_total_sat": 100000,
"amount_msat": "100000000msat",
"funding_txid": "66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d",
"funding_output": 0
}
]
}
```
Se non avessi abbastanza fondi, dovresti creare un nuovo canale.
## Paga la tua Fattura
Usi il comando `lightning-cli pay` per pagare una fattura. Tenterà di trovare un percorso verso la destinazione indicata e inviare i fondi richiesti. Qui è molto semplice perché c'è un canale diretto tra il pagatore e il destinatario:
```
c$ lightning-cli --testnet pay lntb100u1p0cwnqtpp5djkdahy4hz0wc909y39ap9tm3rq2kk9320hw2jtntwv4x39uz6asdr5ge5hyum5ypxyugzsv9uk6etwwssz6gzvv4shymnfdenjqsnfw33k76twypskuepqf35kw6r5de5kueeqveex7mfqw35x2gzrdakk6ctwvssxc6twv5hqcqzpgsp5a9ryqw7t23myn9psd36ra5alzvp6lzhxua58609teslwqmdljpxs9qy9qsq9ee7h500jazef6c306psr0ncru469zgyr2m2h32c6ser28vrvh5j4q23c073xsvmjwgv9wtk2q7j6pj09fn53v2vkrdkgsjv7njh9aqqtjn3vd
{
"destination": "032a7572dc013b6382cde391d79f292ced27305aa4162ec3906279fc4334602543",
"payment_hash": "6cacdedc95b89eec15e5244bd0957b88c0ab58b153eee549735b995344bc16bb",
"created_at": 1602704828.948,
"parts": 1,
"msatoshi": 10000000,
"amount_msat": "10000000msat",
"msatoshi_sent": 10000000,
"amount_sent_msat": "10000000msat",
"payment_preimage": "1af4a9bb830e49b6bc8f0bef980630e189e3794ad1705f06ad1b9c71571dce0c",
"status": "complete"
}
```
Nota che qui tutti gli importi sono in `msat`, non `sat`!
### Paga la tua Fattura Attraverso la Rete
Tuttavia, _non_ è necessario avere un canale con un nodo per pagarlo. Deve solo esserci un percorso ragionevole attraverso la rete Lightning.
Immagina di aver ricevuto questa piccola richiesta di pagamento per 11.111 msat:
```
c$ lightning-cli --testnet decodepay lntb111110p1p0cw43ppp5u0ngjytlw6ywec3x784jale4xd7h058g9u4mthcaf9rl2f7g8zxsdp2t9hh2gr0wajjqmt9ypnx7u3qv35kumn9wgs8gmm0yyxqyjw5qcqp2sp5kj4xhrthmfgcgyl84zaqpl9vvdjwm5x368kr09fu5nym74setw4s9qy9qsq8hxjr73ee77vat0ay603e4w9aa8ag9sa2n55xznk5lsfrjffxxdj2k0wznvcfa98l4a57s80j7dhg0cc03vwqdwehkujlzxgm0xyynqqslwhvl
{
"currency": "tb",
"created_at": 1602704929,
"expiry": 604800,
"payee": "02f3d74746934494fa378235e5bc44cfdbb5b8779d839263fb7f9218be032f6f61",
"msatoshi": 11111,
"amount_msat": "11111msat",
"description": "You owe me for dinner too!",
"min_final_cltv_expiry": 10,
"payment_secret": "b4aa6b8d77da518413e7a8ba00fcac6364edd0d1d1ec37953ca4c9bf56195bab",
"features": "028200",
"payment_hash": "e3e689117f7688ece226f1eb2eff35337d77d0e82f2bb5df1d4947f527c8388d",
"signature": "304402203dcd21fa39cfbcceadfd269f1cd5c5ef4fd4161d54e9430a76a7e091c929319b02202559ee14d984f4a7fd7b4f40ef979b743f187c58e035d9bdb92f88c8dbcc424c"
}
```
Se provassi a pagarlo e non avessi un percorso verso il destinatario attraverso la rete Lightning, potresti aspettarti un errore come questo:
```
c$ lightning-cli --testnet pay lntb111110p1p0cw43ppp5u0ngjytlw6ywec3x784jale4xd7h058g9u4mthcaf9rl2f7g8zxsdp2t9hh2gr0wajjqmt9ypnx7u3qv35kumn9wgs8gmm0yyxqyjw5qcqp2sp5kj4xhrthmfgcgyl84zaqpl9vvdjwm5x368kr09fu5nym74setw4s9qy9qsq8hxjr73ee77vat0ay603e4w9aa8ag9sa2n55xznk5lsfrjffxxdj2k0wznvcfa98l4a57s80j7dhg0cc03vwqdwehkujlzxgm0xyynqqslwhvl
{
"code": 210,
"message": "Ran out of routes to try after 11 attempts: see `paystatus`",
"attempts": [
{
"status": "failed",
"failreason": "Error computing a route to 02f3d74746934494fa378235e5bc44cfdbb5b8779d839263fb7f9218be032f6f61: \"Could not find a route\" (205)",
"partid": 1,
"amount": "11111msat"
},
...
```
Ma cosa succederebbe se un host con cui avevi un canale aprisse un canale con il destinatario previsto?
In tal caso, quando vai a pagare la fattura, funzionerà automaticamente!
```
c$ lightning-cli --testnet pay lntb111110p1p0cw43ppp5u0ngjytlw6ywec3x784jale4xd7h058g9u4mthcaf9rl2f7g8zxsdp2t9hh2gr0wajjqmt9ypnx7u3qv35kumn9wgs8gmm0yyxqyjw5qcqp2sp5kj4xhrthmfgcgyl84zaqpl9vvdjwm5x368kr09fu5nym74setw4s9qy9qsq8hxjr73ee77vat0ay603e4w9aa8ag9sa2n55xznk5lsfrjffxxdj2k0wznvcfa98l4a57s80j7dhg0cc03vwqdwehkujlzxgm0xyynqqslwhvl
{
"destination": "02f3d74746934494fa378235e5bc44cfdbb5b8779d839263fb7f9218be032f6f61",
"payment_hash": "e3e689117f7688ece226f1eb2eff35337d77d0e82f2bb5df1d4947f527c8388d",
"created_at": 1602709081.324,
"parts": 1,
"msatoshi": 11111,
"amount_msat": "11111msat",
"msatoshi_sent": 12111,
"amount_sent_msat": "12111msat",
"payment_preimage": "ec7d1b28a7b877cd92b83be396899e8bfc3ecb0b4f944f65afb4be7d0ee72617",
"status": "complete"
}
```
Questa è la vera bellezza della rete Lightning: senza alcuno sforzo da parte dei partecipanti peer-to-peer, i loro singoli canali diventano una rete!
> :book: ***Come Funzionano i Pagamenti sulla Rete?*** Supponiamo che il nodo A abbia un canale aperto con il nodo B, il nodo B abbia un canale aperto con il nodo C e il nodo A riceva una fattura dal nodo C per 11.111 msat. Il nodo A paga al nodo B i 11.111 msat, più una piccola commissione, e poi il nodo B paga i 11.111 msat al nodo C. Abbastanza facile. Tranne ricordare che tutti i canali sono in realtà solo record di chi possiede quanto della transazione di finanziamento. Quindi, ciò che realmente accade è che 11.111 msat della transazione di finanziamento sul canale A-B passa da A a B, e poi 11.111 msat della transazione di finanziamento sul canale B-C passa da B a C. Ciò significa che sono richieste due cose affinché questo pagamento funzioni: in primo luogo, ogni canale deve avere una capacità sufficiente per il pagamento; e in secondo luogo, il pagatore su ogni canale deve possedere abbastanza capacità per effettuare il pagamento.
Nota che in questo esempio sono stati inviati 12.111 msat per pagare una fattura di 11.111 msat: l'extra è una piccola commissione, molto ridotta, (non una percentuale) che è stata pagata all'intermediario.
## Controlla il tuo Saldo
Dopo aver effettuato un pagamento, dovresti vedere che i tuoi fondi sono cambiati di conseguenza.
Ecco come apparivano i fondi per il nodo pagatore dopo il pagamento iniziale di 10.000 satoshi:
```
c$ lightning-cli --testnet listfunds
{
"outputs": [
{
"txid": "66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d",
"output": 1,
"value": 99847,
"amount_msat": "99847000msat",
"scriptpubkey": "00142fe02e5be9283e8c5bcb93ae61421baf8cb64f9c",
"address": "tb1q9lszuklf9qlgck7tjwhxzssm47xtvnuu4jslf8",
"status": "confirmed",
"blockheight": 1862856,
"reserved": false
}
],
"channels": [
{
"peer_id": "032a7572dc013b6382cde391d79f292ced27305aa4162ec3906279fc4334602543",
"connected": true,
"state": "CHANNELD_NORMAL",
"short_channel_id": "1862856x29x0",
"channel_sat": 90000,
"our_amount_msat": "90000000msat",
"channel_total_sat": 100000,
"amount_msat": "100000000msat",
"funding_txid": "66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d",
"funding_output": 0
}
]
}
```
Nota che la capacità del canale rimane a 100.000 satoshi (non cambia mai!), ma che `our_amount` è ora solo 90.000 satoshi (o 90.000.000 msat).
Dopo aver pagato la seconda fattura, per 11.111 msat, i fondi cambiano di conseguenza:
```
$ lightning-cli --testnet listfunds
{
"outputs": [
{
"txid": "66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d",
"output": 1,
"value": 99847,
"amount_msat": "99847000msat",
"scriptpubkey": "00142fe02e5be9283e8c5bcb93ae61421baf8cb64f9c",
"address": "tb1q9lszuklf9qlgck7tjwhxzssm47xtvnuu4jslf8",
"status": "confirmed",
"blockheight": 1862856,
"reserved": false
}
],
"channels": [
{
"peer_id": "032a7572dc013b6382cde391d79f292ced27305aa4162ec3906279fc4334602543",
"connected": true,
"state": "CHANNELD_NORMAL",
"short_channel_id": "1862856x29x0",
"channel_sat": 89987,
"our_amount_msat": "89987000msat",
"channel_total_sat": 100000,
"amount_msat": "100000000msat",
"funding_txid": "66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d",
"funding_output": 0
}
]
}
```
`our_amount` è ora solo 89.987 satoshi, avendo pagato 11.111 msat più una commissione di 1.000 msat.
## Sommario: Pagare una Fattura
Una volta che hai una fattura, è abbastanza facile pagarla con un solo comando in Lightning. Anche se non hai un canale con un destinatario, il pagamento è così semplice, a condizione che ci sia un percorso tra te e il nodo di destinazione.
## Cosa Succede Dopo?
Continua a "Usare Lighting" col [Capitolo 20.3: Chiudere un Canale Lightning](20_3_Chiudere_un_Canale_Lightning.md).