Vai al contenuto
buybitcoinsmart

Glossario / Lightning e layer 2

Scadenza della fattura

Che cos'è la scadenza della fattura?
La scadenza della fattura è il campo x di una richiesta di pagamento BOLT11, un numero di secondi contati dal timestamp della fattura stessa, dopo il quale sia il pagatore sia il beneficiario dovrebbero rifiutarla.

Ogni fattura Lightning porta una scadenza, e il conto alla rovescia parte dal momento in cui la fattura è stata firmata, non dal momento in cui ti è arrivata. Se il campo x non è presente, il valore predefinito è 3600 secondi, un'ora. Quindi una fattura rimasta in una chat per gran parte di quell'ora può fallire pochi minuti dopo che ti è arrivata, senza una ragione visibile.

Come funziona

La scadenza della fattura viaggia come campo con tag di tipo 6, scritto con la lettera x, che porta un conteggio di secondi in big-endian.

Una stringa BOLT11 inizia con un timestamp di 35 bit che conta i secondi dal 1º gennaio 1970 UTC, poi i campi con tag, poi una firma. La scadenza è uno di questi campi ed è relativa: il termine è quel timestamp più la scadenza, quindi nulla nella fattura indica un orario leggibile. BOLT11 indica al pagatore di non tentare un pagamento una volta superata quella somma, e al beneficiario di non accettarne uno.

Entrambe le istruzioni sono uno SHOULD e non un MUST, quindi una fattura scaduta non è crittograficamente morta. L'hash di pagamento funziona ancora; ciò che ferma il pagamento è la policy dei due estremi, non un blocco. Il tuo wallet rifiuta di tentare, e un nodo che ha scartato la preimage non potrebbe comunque regolare il pagamento.

Il valore è impacchettato in gruppi di cinque bit e deve usare la lunghezza più corta che lo contenga, senza gruppi di zeri iniziali. Gli esempi della specifica mostrano l'intervallo: 60 secondi occupano due gruppi, scritti pu, e 604800 secondi ne occupano quattro, scritti jw5q. Un encoder che riempie il campo non è solo trascurato: ai lettori è detto di trattare come non valida una fattura con un campo x, c o 9 non minimale.

Nessuno può prolungare una fattura una volta emessa. La firma copre il prefisso leggibile e l'intera parte dati, quindi modificare un solo carattere della scadenza la rompe. Un esercente che vuole darti più tempo deve emettere una nuova richiesta e firmarla di nuovo.

Il valore predefinito di un'ora non è stato scelto a caso: la motivazione della specifica dice che lascia il tempo per pagare on-chain in alternativa, tramite l'indirizzo di riserva che il campo f può portare.

Dove la vedi

La scadenza della fattura compare come l'anello del conto alla rovescia attorno a un codice QR, come una riga etichettata expiry in qualsiasi decoder e come il rifiuto che un wallet dà quando incolli qualcosa di scaduto.

I vettori di test della specifica mostrano entrambi gli estremi dell'intervallo. Una fattura da 2500 micro-bitcoin descritta come 1 cup coffee imposta la scadenza a 60 secondi, perché fissa al bancone un prezzo di tre dollari. Una fattura del Blockstream Store, per 88,85 USD di merce che include un Ledger Nano S, la imposta a 604800 secondi, sette giorni, perché una conferma d'ordine è una fattura da pagare e non un bancone.

Dove viene creata la fattura decide chi ha scelto il numero. Phoenix, di cui questo sito ha la recensione, esegue un vero nodo Lightning sullo smartphone anziché un account su un server, quindi la scadenza in una richiesta di ricezione è l'impostazione del suo stesso nodo. Con un'app custodiale la cifra viene dall'operatore, e decodificare una delle sue fatture è di solito l'unico modo per conoscerla.

Scadenza della fattura vs delta di scadenza CLTV

La scadenza della fattura e il delta di scadenza CLTV sono entrambi orologi su un pagamento Lightning, e corrono in unità diverse su metà diverse del problema.

La scadenza della fattura è in secondi di tempo reale contati dal timestamp della fattura, e decide se il pagamento possa essere tentato. Un delta di scadenza CLTV si misura in blocchi, e il campo c della stessa fattura porta il minimo del destinatario per l'ultimo salto, che il pagatore deve considerare pari ad almeno 18 blocchi quando il campo è assente. Uno ti dice se iniziare; l'altro ti dice quanto a lungo i tuoi soldi possono restare bloccati in un HTLC dopo che hai iniziato.

Da non confondere con

Domande frequenti

Una fattura Lightning scaduta si può ancora pagare?

A volte, perché BOLT11 dice che entrambe le parti SHOULD rifiutare dopo il termine, non MUST. Nulla di crittografico blocca un pagamento tardivo, quindi un nodo ricevente che conserva ancora la preimage può regolarlo se la sua policy lo permette. Un wallet che segue la specifica non lo tenterà, quindi considera una fattura scaduta come morta.

Posso prolungare la scadenza di una fattura che ho già inviato?

No, perché la scadenza sta dentro la parte della fattura coperta dalla firma. Modificare un solo carattere la rompe. Genera invece una nuova fattura, firmata da capo, e scarta quella vecchia.

Una fattura Lightning senza campo di scadenza non scade mai?

No, scade dopo 3600 secondi. BOLT11 rende il campo x facoltativo e definisce come valore predefinito un'ora, quindi una fattura che non dice nulla sulla scadenza è una fattura di un'ora e non una permanente.

Leggi anche

Fonti

Ultima revisione: 6 settembre 2026.

Termini correlati

Altro in Lightning e layer 2

Leggi questa pagina in inglese