DEFINIZIONE di Contratto timelock con hash
Un Hashed Timelock Contract (HTLC) è un tipo di contratto intelligente utilizzato nei canali di criptovaluta per eliminare il rischio di controparte. Consente l'implementazione di transazioni temporali.
In termini pratici, ciò significa che i destinatari di una transazione devono riconoscere il pagamento generando prove crittografiche entro un determinato periodo di tempo. Altrimenti, la transazione non ha luogo.
Il trading cross-chain atomico tra criptovalute viene implementato tramite HTLC. La rete di fulmini di Bitcoin utilizza anche HTLC.
RIPARTIZIONE Contratto di Timelock con hash
Un contratto Hashed Timelock (HTLC) utilizza diversi elementi delle transazioni di criptovaluta esistenti. Ad esempio, le transazioni HTLC utilizzano più firme, che consistono in una chiave privata una pubblica, per verificare e convalidare le transazioni. Ma ci sono due elementi che distinguono l'HTLC dalle transazioni di criptovaluta standard.
Il primo è hashlock. Un hashlock è una versione criptata di una chiave crittografica generata dal creatore di una transazione. Viene utilizzato per sbloccare l'hash originale. In HTLC, la parte di origine genera una chiave e l'hash. L'hash è memorizzato in una pre-immagine che viene successivamente rivelata durante la transazione finale.
Il secondo elemento importante di HTLC è un timelock. Per impostare i vincoli temporali sui contratti generati mediante HTLC vengono utilizzati due diversi time lock. Il primo è CheckLockTimeVerify (CLTV). Utilizza una base dei tempi per bloccare e rilasciare bitcoin. Ciò significa che i vincoli temporali sono codificati in modo rigido e che le monete vengono rilasciate solo a una data e ora specifiche o a un'altezza specifica delle dimensioni del blocco.
Il secondo è CheckSequenceVerify (CSV). Non dipende dal tempo. Utilizza invece il numero di blocchi generati come misura per tenere traccia di quando finalizzare una transazione.
Per condurre una transazione tramite HTLC, le parti interessate devono aprire canali tra loro.
Come viene implementato HTLC praticamente?
Supponiamo che Alice voglia scambiare il suo bitcoin con litecoin di Bob. Una tipica transazione HTLC tra di loro avviene come segue:
1. Alice genera un hash dalla sua chiave privata e lo invia a Bob sulla blockchain litecoin. Genera anche una pre-immagine dell'hash creando una transazione nominale. Questa pre-immagine la aiuterà a convalidare e finalizzare la transazione.
2. Bob genera anche un hash dalla sua chiave e lo invia ad Alice. Inoltre, crea una pre-immagine effettuando una transazione nominale (in litecoin) con Alice.
3. Una volta che Alice riceve la transazione litecoin di Bob, la firma usando la chiave originale che è già disponibile con lei nella pre-immagine. Anche Bob fa lo stesso, usando la sua chiave privata per sbloccare la transazione di Alice.
