Glossaire / Lightning et couche 2
PTLC
Aussi appelé Contrat à temps verrouillé sur point.
- Qu'est-ce qu'un PTLC ?
- Un PTLC verrouille un paiement sur un point d'une courbe elliptique plutôt que sur un hash, si bien que chaque saut d'une route Lightning voit un verrou différent et ne peut pas reconnaître deux fois le même paiement.
Les contrats à verrouillage temporel sur point remplissent la fonction d'un HTLC sans hash partagé : chaque saut obtient son propre verrou, dérivé d'un point de courbe. Ils reposent sur les signatures adaptateur Schnorr, devenues praticables sur bitcoin lorsque Taproot a été activé au bloc 709 632 en novembre 2021. Pour un payeur, le gain est que les nœuds de routage ne peuvent plus repérer le même paiement passant par deux de leurs machines.
Comment cela fonctionne
Une signature adaptateur est une signature à laquelle il manque volontairement une pièce, et cette pièce manquante est le secret du paiement.
Partez du destinataire, qui choisit un nombre secret et ne publie que le point de courbe auquel il correspond. Selon les règles Schnorr du BIP340, un payeur peut construire une signature invalide en elle-même mais qui devient valide à l'instant où ce nombre secret y est ajouté. Publier la signature complétée révèle donc le nombre, et c'est cette révélation qui permet au saut précédent de compléter sa propre signature et de réclamer son argent. L'effet domino est identique à celui d'un HTLC, mais rien n'est haché et rien n'est partagé.
La confidentialité vient de l'ajustement. Le payeur ajoute un décalage aléatoire au point à chaque saut et indique à chaque nœud son décalage dans le paquet oignon, si bien que le troisième saut et le septième saut examinent deux points sans lien pour un même paiement. Cela ferme la fuite de corrélation, et ferme aussi l'attaque du trou de ver, où deux sauts complices sur la même route contournent les nœuds honnêtes situés entre eux et empochent leurs frais de routage. Aucune des deux corrections n'est possible tant qu'un seul hash parcourt tout le chemin.
Il y a un bonus qui compte en cas de litige. Avec un contrat à hash, la préimage prouve qu'un paiement a eu lieu mais ne dit rien sur celui qui l'a fait, ce qui en fait une preuve faible. Un contrat sur point produit une signature que seule la clé du payeur lui-même pouvait produire contre cette facture, ce qui est une preuve de paiement au sens ordinaire de l'expression.
Où cela se voit
Vous ne voyez pas encore de PTLC, et l'admettre est justement l'objet de cette entrée.
Taproot a fourni les ingrédients, et les canaux Taproot ont été déployés dans les principales implémentations de Lightning, mais ces canaux acheminent encore des contrats à hash. Le travail restant relève de la plomberie du protocole : des charges utiles oignon qui transportent les ajustements par saut, des transactions d'engagement mises à jour, et un accord entre implémentations qui doivent toutes interopérer. Tant que cela n'arrive pas, tout portefeuille qui se décrit comme privé sur Lightning parle de routage en oignon, pas de sauts non corrélables.
Ce que cela signifie pour quelqu'un qui achète du bitcoin est modeste et précis. Si vous gardez un solde Lightning et que vous tenez à ce qu'un grand opérateur de routage ne puisse pas se faire une image de vos dépenses, les PTLC sont l'amélioration à guetter dans les notes de version de votre portefeuille. Rien ne change pour vos clés, votre sauvegarde de phrase de récupération ou vos bitcoins on-chain lorsque les PTLC arriveront.
PTLC vs HTLC
Les PTLC et les HTLC offrent la même garantie, un paiement atomique à plusieurs sauts, et diffèrent par ce que les nœuds intermédiaires apprennent. Un contrat à hash diffuse un seul identifiant sur toute la route ; un contrat sur point donne à chaque saut une valeur qui lui semble aléatoire. En pratique : les HTLC sont le Lightning d'aujourd'hui et fonctionnent très bien, les PTLC sont strictement meilleurs en matière de confidentialité et de preuve de paiement, et le passage est un problème de spécification et d'implémentation plutôt qu'un problème de consensus de bitcoin, car Taproot a déjà réglé la partie consensus.