justice transaction

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Una Justice Transaction (transazione di giustizia) su Lightning Network, chiamata anche Penalty transaction, è una transazione che viene utilizzata per risolvere una disputa tra due parti che hanno aperto un canale di pagamento sulla rete Lightning.

Quando si apre un canale di pagamento sulla rete Lightning, viene creato uno smart contract tra le due parti, che stabilisce le regole per il trasferimento di fondi.

In caso di una disputa tra le due parti, ad esempio se una parte non onora lo smart contract, la Justice Transaction viene utilizzata per chiudere il canale e assegnare i fondi alle parti secondo quanto previsto dallo smart contract nel caso una delle parti cerchi di imbrogliare.

La Justice Transaction è quindi un importante meccanismo di sicurezza della Lightning Network, che assicura la protezione dei fondi degli utenti in caso di eventuali problemi o dispute.

In un canale di pagamento sulla rete Lightning tra due parti, Alice e Bob, entrambe le parti devono mantenere i loro nodi online durante le transazioni per evitare che l'altro possa rubare i fondi in modo fraudolento.
Se una delle parti, ad esempio Alice, vuole tentare di rubare i fondi di Bob, deve chiudere il canale in modo non cooperativo senza il consenso dell'altra parte e scegliere un momento a lui favorevole, ad esempio quando l'altra parte non è online. Se queste condizioni sono soddisfatte, Alice trasmetterà un vecchio stato del canale che ha un saldo dei fondi a suo favore, sperando che Bob non si connetta o comunque non riesca a mandare on-chain la justice transaction entro il limite di tempo stabilito (tipicamente 24 ore) per correggere automaticamente la situazione.

Il nodo di Bob sa che la cronologia delle transazioni è diversa dalla revisione malevola di Alice, e se si connette entro il limite di tempo attiva il sistema di giustizia, e Alice sarà penalizzata perdendo tutti i Bitcoin che aveva depositato nel canale.

Il time-lock che impedisce per un tempo specificato a chi l'ha trasmessa di spendere i relativi output della transazione per un determinato tempo, consente all'altro partner, nel caso la transazione sia obsoleta, di avere tempo per pubblicare una Justice Transaction utilizzando il secret di revoca, che gli permette di punire il comportamento scorretto rivendicando tutti i fondi del canale per sé: la transazione di force close viene revocata (Revoked Lightning Force Close) con penalità (Force closed with penalty).


aggiornato il 2023-05-08