Définition du contrat de verrouillage de temps haché (HTLC)



Qu’est-ce qu’un contrat Timelock haché (HTLC) ?

Un contrat hashed timelock (HTLC) est un type de contrat intelligent utilisé dans les applications blockchain. Il réduit le risque de contrepartie en créant un séquestre basé sur le temps qui nécessite une phrase de passe cryptographique pour le déverrouillage.

Concrètement, cela signifie que la personne qui reçoit les fonds dans le cadre d’une transaction doit effectuer deux actions pour accéder aux fonds : saisir la phrase de passe correcte et demander le paiement dans un délai précis. S’ils saisissent une phrase de passe incorrecte ou ne réclament pas les fonds dans le délai imparti, ils perdent l’accès au paiement.

Points clés à retenir

  • Un contrat hashed timelock (HTLC) réduit le risque de contrepartie dans les contrats intelligents décentralisés en créant efficacement un séquestre basé sur le temps qui utilise une phrase de passe cryptographique.
  • Ce type de contrat intelligent oblige le destinataire d’un paiement à le reconnaître dans un certain délai ou à le perdre.
  • Les paiements utilisant les HTLC sont conditionnels et présentent donc des avantages en termes d’efficacité pour les transactions blockchain. Cette propriété fait des HTLC un outil fondamental utilisé par le réseau Lightning.

Comprendre les contrats de timelock hachés

Un contrat de verrouillage de temps haché (HTLC) utilise plusieurs éléments de transactions de crypto-monnaie existantes. Par exemple, les transactions HTLC utilisent plusieurs signatures composées d’une clé privée et publique pour vérifier et valider les transactions. Cependant, deux éléments distinguent HTLC des transactions de crypto-monnaie standard avec des contrats intelligents : le hashlock et le contrat de temps.

Hashlock

Le premier élément est le hashlock. Un hashlock est une version hachée (ou chiffrée) d’une clé publique générée par la personne qui a initié la transaction. La clé privée associée est ensuite utilisée pour déverrouiller le hachage d’origine.

Dans HTLC, la partie initiatrice génère une clé et la hache. Le hachage est stocké dans une pré-image, qui est révélée lors de la transaction finale. Les HTLC sont programmés pour expirer après qu’une certaine période se soit écoulée ou qu’un nombre spécifique de blocs aient été générés, créant une date et une heure de fin connues.

Pour effectuer une transaction à l’aide de HTLC, les deux parties doivent ouvrir des canaux l’une avec l’autre. Cela se fait généralement à l’aide d’un portefeuille, d’un échange ou des deux.

Verrouillage du temps

Le deuxième élément important de HTLC est un timelock. Deux verrous temporels différents sont utilisés pour définir des contraintes de temps sur les contrats générés à l’aide de HTLC. Le premier est CheckLockTimeVerify (CLTV). Il utilise une base de temps pour verrouiller et libérer la crypto-monnaie. Cela signifie que les contraintes de temps sont codées en dur et que les pièces ne sont libérées qu’à une heure et une date spécifiques ou à une taille de bloc spécifique.

Les swaps atomiques (échanges inter-chaînes entre crypto-monnaies) sont souvent réalisés à l’aide de HTLC. De plus, le Lightning Network (LN) de Bitcoin utilise également des HTLC.

Le second est CheckSequenceVerify (CSV). Cela ne dépend pas du temps; au lieu de cela, il utilise le nombre de blocs générés comme mesure de suivi pour déterminer quand finaliser une transaction.

Comment fonctionne un contrat Timelock haché ?

Supposons qu’Alice veuille échanger son Bitcoin contre du Litecoin de Bob. Une transaction HTLC typique entre eux se déroule comme suit :

  1. Alice génère un hachage à partir de sa clé privée Litecoin et l’envoie à Bob. Elle génère également une pré-image du hachage en créant une transaction nominale. Cette pré-image l’aidera à valider et finaliser la transaction.
  2. Bob génère également un hachage à partir de sa clé et l’envoie à Alice. En plus de cela, il crée une pré-image en effectuant une transaction nominale (en Litecoin).
  3. Une fois qu’Alice reçoit la transaction Litecoin de Bob, elle la signe en utilisant la clé d’origine qui est déjà disponible avec elle dans la pré-image. Bob fait de même de son côté, utilisant sa clé privée pour déverrouiller la transaction d’Alice.
  4. Une fois qu’Alice et Bob ont saisi leurs clés et accepté la transaction, le contrat intelligent l’exécute. Aucun des deux ne peut modifier la transaction une fois qu’elle est exécutée, ce qui élimine la possibilité que l’un puisse tromper l’autre en annulant rapidement l’échange.

Qu’est-ce qu’un contrat Timelock ?

Un contrat timelock est un contrat intelligent intégré dans une blockchain qui exécute une transaction à un moment précis. Ils sont utilisés dans les contrats de verrouillage du temps haché et les canaux de paiement où des délais de paiement spécifiques sont nécessaires.

Bitcoin a-t-il des contrats intelligents ?

Initialement, la blockchain de Bitcoin n’était pas en mesure d’exécuter des contrats intelligents. Cependant, la mise à niveau de Taproot en 2021 a permis à la blockchain d’utiliser des contrats intelligents dans les transactions.

Qu’est-ce qu’un contrat intelligent ?

Un contrat intelligent est un programme stocké sur une blockchain qui s’exécute lorsque des conditions spécifiques sont remplies.

Combien coûte un contrat intelligent ?

Sur la blockchain Ethereum, un déploiement de contrat intelligent prend du gaz, ce qui coûte Gwei (une dénomination inférieure d’éther). Selon la complexité du contrat, le déploiement d’un contrat intelligent peut coûter des milliards de Gwei. Les contrats moins complexes comme un simple échange sont beaucoup moins chers.

Laisser un commentaire