La semaine dernière, j’ai abordé les nuances et les complexités des systèmes « Trustodial », des systèmes qui ne peuvent pas être entièrement classés comme non gardiens ou custodial, et comment cela pose des problèmes lorsqu’il s’agit de catégoriser différents outils dans cet espace. Ce n’est pas le seul problème à être trop simplifié dans la conversation générale en ce qui concerne la catégorisation des façons d’utiliser Bitcoin.
Un autre facteur majeur, avec son propre lot de complexité et de nuances, est le coût de la garde de soi.
Dans mon dernier article, j’ai présenté ces deux exigences fondamentales pour qu’une chose soit considérée comme auto-gérée :
- Un utilisateur a un contrôle unilatéral sur ses fonds ou la capacité de les retrouver.
- Aucune autre partie (ni parti) n’a la capacité d’empêcher l’utilisateur de dépenser ses fonds, ou de retrouver sa capacité à les dépenser sans l’implication de l’utilisateur.
Ajoutons une autre exigence de base :
- Un utilisateur doit être en mesure d’exercer efficacement son contrôle sur ses fonds, c’est-à-dire qu’il ne doit pas coûter un pourcentage démesuré des fonds sous leur contrôle pour réellement transformer ou appliquer sa propriété sur eux.
Si un utilisateur prétend avoir certains fonds grâce à un mécanisme d’application, mais que cela coûterait 95 % de ces fonds pour exercer ce mécanisme d’application, a-t-il réellement la garde de ces fonds ?
Le problème de base
C’est l’une des principales limites de mise à l’échelle des designs de couche 2, comme Lightning, Statechains, Ark, etc. Toute couche 2 qui utilise des transactions pré-signées pour fonctionner est soumise à ce problème. Bitcoin a une limite de taille de bloc, et chaque fois que la demande de transactions dans le mempool dépasse la capacité de débit de la blockchain, les frais augmentent. Nous n’avons pas de mécanisme, malgré ce que certains gros acteurs pourraient dire, pour maintenir un niveau de frais bas constant pour les utilisateurs. Les blockchains ne s’étendent pas sans détruire leur proposition de valeur fondamentale.
Cela ne nous laisse pas d’autre choix que de construire des mécanismes de mise à l’échelle hors chaîne, et jusqu’à présent, la seule solution viable sans confiance et auto-gardienne consiste à utiliser des transactions pré-signées pour faciliter cela. Cela signifie que si un utilisateur doit réellement utiliser ces transactions pré-signées, il doit en payer les frais.
Pour cette raison, la structure, la taille et le nombre de transactions nécessaires pour appliquer la propriété sont les facteurs décisifs en matière de coût pour faire valoir les réclamations de propriété en chaîne. Plus le script est complexe, plus le nombre de transactions à réaliser est important, plus cela devient coûteux de faire respecter la propriété. Tous ces facteurs s’additionnent finalement pour créer une valeur minimale viable pour la garde de soi avec ces systèmes.
Si cela coûte 10 000 Satoshis pour faire respecter la propriété en chaîne, alors l’idée de détenir moins de 10 000 Satoshis dans ce système est économiquement irrationnelle. Vous paieriez plus en frais que la valeur à laquelle vous avez une réclamation. Même 10 000 Satoshis sont trop faibles dans la pratique; voudriez-vous payer 100 % de la valeur que vous avez pour faire respecter réellement la propriété ?
Pour être réaliste et rentable en tant qu’auto-détenteur, la valeur sécurisée doit être un multiple confortable du coût pour l’appliquer, disons 3-5x. Si ce n’est pas le cas, alors cette valeur ne peut pas réellement être appliquée sur la chaîne, elle sera mangée par les frais si quelqu’un essaie.
Mais ce n’est pas non plus gardien
Tout comme les systèmes Trustodial, cela introduit une zone grise ambiguë. Après avoir considéré que la nouvelle troisième exigence est considérée comme auto-gérée, une petite valeur inférieure aux frais nécessaires pour l’appliquer sur la chaîne n’est clairement pas auto-gérée, mais elle n’est pas non plus gardienne. Bien que le propriétaire légitime puisse ne pas être en mesure d’appliquer efficacement leur propriété sur la chaîne, la partie avec laquelle ils interagissent dans un protocole de couche 2 ne peut pas non plus la voler efficacement.
Cela crée une sorte de paradoxe en ce qui concerne les valeurs inférieures fixées sur ce qui serait autrement la couche 2 sans ambiguïté. Le propriétaire légitime ne peut pas appliquer efficacement sa propriété sur la chaîne, mais comme tous les autres utilisateurs participant à la couche 2 ne peuvent pas non plus, ils n’ont aucune incitation positive à essayer de voler en utilisant de vieilles transactions d’État hors chaîne ou en refusant de coopérer pour mettre à jour les soldes hors chaîne. Ils peuvent faire perdre de l’argent au propriétaire légitime en les forçant à soumettre des transactions sur la chaîne, mais n’en tirent rien eux-mêmes.
Cela crée une dynamique où les parties impliquées continuent de coopérer; ces petites valeurs peuvent être utilisées et échangées hors de la chaîne, mais dans le cas où la coopération se dégrade, ces équilibres de petite valeur s’évaporent essentiellement lorsqu’ils ne peuvent pas être appliqués efficacement.
Ça empire
Ce problème est exacerbé de deux manières. La première est que les frais augmentent. Plus la demande transactionnelle pour l’espace de bloc est forte, plus les frais sont élevés, ce qui rend la valeur d’auto-détention viable minimale plus élevée. Il s’agit d’une conséquence inévitable de l’augmentation de la demande de Bitcoin (tant que cette demande est pour le Bitcoin lui-même et non pour les soldes de garde avec un certain service).
La seconde est en fait le résultat des solutions actuelles pour le premier problème. Plus les fédéralisés deviennent élevés, plus l’embarquement et le débarquement deviennent chers depuis la couche 2, nécessitant de concevoir des solutions qui permettent à plus de personnes de partager un seul UTXO, permettant à des frais de chaîne (au moins dans des situations coopératives) de se répartir entre plus de personnes. Cela nécessite d’utiliser des transactions plus importantes, soit plus de transactions, généralement structurées comme des arbres qui divisent les fonds jusqu’à ce qu’ils soient finalement distribués aux utilisateurs individuels, pour rendre compte de plus d’utilisateurs.
Cela signifie que non seulement les frais de référence pour une seule transaction ont augmenté, mais que les utilisateurs doivent également payer des frais pour des transactions plus importantes que la moyenne ou pour plusieurs transactions afin d’appliquer leur propriété dans des situations non coopératives !
Alors, que faisons-nous ?
Pour dire une vérité sévère, cela pourrait être un problème fondamentalement insoluble, du moins dans le cadre du maintien d’un modèle de sécurité qui est plus ou moins le même que la couche 1. Le nœud du problème se résume à cela : dans des environnements avec des frais supérieurs, le coût de la propriété en chaîne augmente, ce qui exige de trouver des moyens pour que de plus en plus de personnes partagent un seul UTXO. Tout en réduisant les frais pour utiliser des fonds dans le cas coopératif, ce coût émergent (agrandi par tout ce que les frais sont plus élevés) dans le cas non coopératif. Cependant, la capacité d’exercer son droit dans le cas non coopératif est ce qui applique réellement la propriété.
À l’heure actuelle, le mieux que nous puissions faire est de trouver des moyens plus efficaces d’utiliser l’espace de bloc pour appliquer la propriété non coopérative. Cela signifierait que de nouveaux opcodes, en particulier des alliances, permettraient à un seul utilisateur de retirer leur part de fonds d’un UTXO partagé tout en garantissant en même temps que le reste des fonds retournent à l’alliance pour s’assurer que d’autres utilisateurs peuvent faire de même.
Cela pourrait éviter la création du problème de plus d’utilisateurs nécessitant plus de transactions pour appliquer la propriété, mais cela ne traite toujours pas du problème fondamental de la hausse des frais. Même dans le meilleur des cas théoriques, un utilisateur devrait toujours effectuer une seule transaction pour appliquer sa propriété sur les fonds et dans des environnements plus élevés qui seront plus coûteux. C’est l’aspect qui pourrait être fondamentalement insoluble.
Que ce soit résoluble, insoluble ou quelque part entre les deux, c’est une dynamique essentielle à comprendre pour les utilisateurs. C’est une zone grise dans laquelle les choses peuvent mal tourner, et lorsque les choses tournent mal, les utilisateurs perdent leurs fonds.
Résumé : Cet article explore les complexités de la garde de soi et les défis associés à l’application de la propriété dans des systèmes de couche 2. Les frais de transaction croissants et les mécanismes de partage des UTXO sont mis en avant comme deux problèmes majeurs qui compliquent l’auto-détention et nécessitent une compréhension approfondie pour éviter les pertes de fonds.