Le 10 juin, Cipher, auteur du protocole RGB++ et fondateur de CELL Studio, Lin, co-fondateur de DotSwap, Timxie, co-fondateur de Shell Finance, et NIGO, CMO de TBC (Turingbitchain), étaient invités sur l'espace Twitter d'UTXO Stack pour discuter de la possibilité d'utiliser le modèle UTXO. naissance d’un nouveau modèle d’écologie Bitcoin.

UTXO Stack est une plate-forme modulaire d'émission de chaîne en un clic BTC L2 qui peut aider les développeurs de projets à émettre du Bitcoin L2 basé sur l'architecture UTXO en un clic et intègre nativement le protocole RGB++. En termes de sécurité, UTXO Stack assure la sécurité de L2 en mettant en gage les actifs de Bitcoin, CKB et Bitcoin L1. Pour faire simple, nous pouvons considérer UTXO Stack comme l’OP Stack + EigenLayer de l’écosystème Bitcoin.

UTXO Stack a finalisé une ronde de financement d'amorçage, codirigée par ABCDE et SNZ Capital, avec la participation d'institutions bien connues telles que OKX Ventures, Waterdrip Capital, Matrixport, y2z Ventures, DRK Lab et UTXO Management, la branche de capital-risque de La société mère de Bitcoin Magazine, BTC Inc.

Voici le contenu clé organisé en fonction de l'audio :

1. Quelles sont les différences et avantages essentiels entre le modèle UTXO et le modèle de compte en termes de philosophie de conception, de sécurité, d'efficacité, etc. ?

Cipher : Je pense qu'il existe certaines différences, principalement dans la philosophie de conception et l'efficacité. La sécurité peut dépendre davantage du mécanisme de consensus et n'a pas grand-chose à voir avec le modèle de compte.

En termes de philosophie de conception, UTXO est en réalité plus axé sur la vérification que sur le calcul. Nous connaissons le modèle de compte d'Ethereum Lorsque vous écrivez un programme ou envoyez une transaction, vous ne connaissez pas le résultat de la transaction. Ce que vous envoyez est une action ou un appel de fonction. Quant au résultat de cet appel, seulement le. La transaction est Vous ne connaîtrez pas le résultat tant qu’il n’est pas regroupé en blocs.

Un exemple typique est le suivant : en supposant que vous n’ayez que 0,1 ETH sur votre compte, pouvez-vous envoyer une transaction pour transférer 0,2 ETH ? Oui, vous pouvez l'envoyer, mais une fois que la transaction entre dans le pool de transactions, elle peut être emballée et une erreur sera renvoyée car vous n'avez pas beaucoup d'argent, mais vos frais d'essence seront toujours déduits. Mais si quelqu'un transfère une somme d'argent sur votre compte en même temps que vous l'envoyez, faisant en sorte que le solde de votre compte dépasse 0,2 ETH, alors votre transaction sera exécutée avec succès et, bien sûr, les frais d'essence seront déduits.

Mais pour le modèle UTXO, votre transaction ne peut pas être envoyée car votre compte n'a pas assez d'argent et vous ne pouvez pas générer suffisamment d'entrées. Par conséquent, il n'existe pas d'état d'échec de transaction dans le modèle UTXO. Il n'y a que deux états : la réussite de la transaction ou l'échec de l'envoi. Autrement dit, ce que l'on appelle l'échec de la transaction signifie que la vérification échoue et que vos frais de traitement ne seront pas facturés. déduit. UTXO estime que la blockchain est une machine de vérification plutôt qu'une machine de calcul. Ethereum, qui utilise le modèle de compte, avait autrefois un surnom appelé l'ordinateur mondial, ce qui est une philosophie de conception complètement différente.

Il existe également une très grande différence entre les deux en termes d’efficacité. UTXO indique clairement quel état a été utilisé auparavant, puis le détruit et le met à jour vers le nouvel état. Lorsqu’Ethereum appelle une fonction, il ne sait pas à quels états il accédera avant l’appel, il ne peut donc gérer que le pire des cas, c’est-à-dire aucun prétraitement de tous les états. Par conséquent, chaque transaction sur Ethereum ne peut être exécutée qu’en série. Un ordinateur de bureau ordinaire possède un processeur avec au moins six cœurs et 12 threads, mais pour un EVM standard, il est toujours exécuté dans un seul thread. UTXO est différent. UTXO est naturellement parallèle. Toutes ses transactions peuvent automatiquement distinguer les transactions conflictuelles. Par conséquent, l'efficacité de la blockchain UTXO est nettement supérieure à celle du modèle de compte. . Bien sûr, il existe maintenant un récit appelé EVM parallèle, qui veut résoudre ce problème d'une manière ou d'une autre, mais à partir de la description qui vient d'être faite, tout le monde peut également se rendre compte que cela ne peut pas être résolu essentiellement.

Tim Xie : Je suis tout à fait d'accord avec ce que Cipher vient de dire : "Le modèle UTXO de Bitcoin est plus axé sur la vérification, et le modèle de compte d'Ethereum est davantage axé sur le calcul." Pendant l'été DeFi, nous effectuerons quelques échanges et les frais de gaz d'Ethereum seront très élevés. Bien qu'Ethereum ait une vitesse de génération de blocs plus rapide, des blocs plus gros et de meilleures performances que Bitcoin, la demande d'expansion d'Ethereum est en fait supérieure à celle de Bitcoin. Bitcoin. pourquoi ? La raison en est qu’Ethereum est un modèle informatique. Lorsque nous jouons à DeFi, 98 % des frais de gaz que nous payons peuvent être dépensés en calculs. Le coût de vérification, de propagation et de stockage du statut du compte est en réalité très faible. Bitcoin est un réseau de vérification qui n'effectue pas de calculs, nous prêtons ou échangeons donc sur la deuxième couche de Bitcoin. Dans le même scénario, les frais de traitement sont en réalité moins chers que ceux d'Ethereum.

Le deuxième est la concurrence. Pourquoi la série EVM vient-elle de l'expliquer très clairement ? UTXO peut être utilisé simultanément. Quelle différence cela apportera-t-il aux affaires ? Lorsque vous prêtez sur Ethereum, vous devez déposer avant de pouvoir emprunter, car la logique commerciale est que vous avez besoin d'une garantie, et vous devez attendre que la transaction hypothécaire soit confirmée et que le statut soit fixé avant de pouvoir calculer la valeur nette. de votre garantie. Et les seuils de liquidation, vous permettant d'emprunter de l'argent, tout est en série. UTXO peut faire de la concurrence et nous pouvons compresser toutes les transactions ensemble autant que possible, ce qui signifie que les transactions de dépôt et les transactions d'emprunt des utilisateurs peuvent être fusionnées pour améliorer l'efficacité.

De notre point de vue, en utilisant le modèle UTXO pour DeFi sur Bitcoin, l'expérience utilisateur finale n'est pas aussi mauvaise que les gens l'imaginent. Bien que l'expérience ne soit pas aussi fluide que les applications sur Ethereum ou Arbitrum, elle n'est toujours pas trop mauvaise, toujours utilisable.

Lin : Laissez-moi faire un supplément. La technologie existante évolue constamment. Je pense qu'UTXO ne fait pas de calculs, il peut aussi faire des calculs. Par exemple, le code d'opération Bitcoin OP_CAT récemment discuté, s'il est activé, peut conserver l'état dans l'UTXO de Bitcoin. Si nous supprimons toutes les limitations natives de Bitcoin, nous pouvons simuler d'innombrables Ethereums dans l'UTXO de Bitcoin. Chaque UTXO peut être dans l'état d'Ethereum, puis stocker les données et l'exécution dans cet état peut être effectuée. déduit vers le bas, même si cela ne permet pas nécessairement d'atteindre une compatibilité EVM complète.

Je pense donc que Bitcoin peut également faire des calculs, et la logique de Bitcoin est que vous pouvez ouvrir un nouveau fil à tout moment et que vous pouvez diviser un nouvel UTXO à tout moment. Le nouvel UTXO est complètement séparé de l'UTXO d'origine. Bitcoin Une caractéristique d'UTXO en informatique.

Après avoir ajouté OP_CAT, il apportera des scénarios d'application très intelligents. Par exemple, les jetons Ethereum ERC-20 maintiendront une liste pour savoir quels comptes ont combien d'argent. Après avoir ajouté OP_CAT, nous pouvons faire des choses similaires sur Bitcoin, et peut-être même faire mieux qu'Ethereum.

Parmi UTXO, le partage de données est en réalité un vaste espace inconnu. Par exemple, les clauses (restrictions) ont encore besoin d'un certain temps pour être élaborées. Lorsque cette question avancera, comment partager des données entre différents UTXO, comment référencer des données en dehors de la transaction dans les transactions, etc., il peut y avoir une percée.

NIGO : J'ai toujours pensé qu'Ethereum avait transformé le modèle UTXO de Bitcoin en un modèle de compte, ce qui est en fait une étape superflue typique et transforme un système qui était à l'origine capable de concurrence en un système série. Ethereum est appelé par beaucoup de gens l'ordinateur mondial. Pourquoi la tâche de calcul d'une personne ordinaire devrait-elle être calculée par les mineurs du monde entier? Ce processus consomme beaucoup d'énergie et est très coûteux, mais il n'apporte pas d'avantages substantiels, mais le retarde. l'efficacité globale. Après qu'Ethereum soit passé au PoS, les mineurs (nœuds) de l'ensemble du réseau ont perdu leur élan évolutif. Le modèle UTXO conçu par Satoshi Nakamoto est naturellement adapté à une concurrence élevée et à des performances élevées. Je pense que davantage d'utilisateurs Web3 verront le potentiel du modèle UTXO.

2. Est-ce le modèle UTXO qui empêche Bitcoin de disposer de capacités de contrat intelligent ? Si nous voulons mettre en œuvre des capacités de contrats intelligents basées sur le modèle UTXO, quel mécanisme est généralement utilisé pour y parvenir ?

Cipher : Il existe certainement de nombreuses façons de mettre en œuvre des capacités de contrats intelligents basées sur le modèle UTXO. Permettez-moi de vous présenter comment CKB, que je connais le mieux, les implémente.

CKB a introduit un script de verrouillage, qui est cohérent avec le script de verrouillage de Bitcoin. Lorsque cet UTXO est dépensé, le script de verrouillage sera automatiquement exécuté comme entrée en fonction des données du témoin, et la transaction en cours sera également utilisée. comme entrée à exécuter. La différence entre celui-ci et le script de verrouillage de Bitcoin est qu'il prend en charge une machine virtuelle complète de Turing au lieu de l'environnement de script très limité de Bitcoin, il est donc Turing-complet à ce stade du déverrouillage.

Dans le même temps, CKB a introduit le champ de script de type, qui sera exécuté qu'il s'agisse d'une entrée ou d'une sortie. Il est exécuté davantage en tant que catégorie d'actif, ou le même type représente le même type d'actif. Par exemple, le montant total des jetons fongibles reste inchangé avant et après la transaction, et le montant et le contenu des jetons non fongibles restent inchangés avant et après la transaction, ou il peut être utilisé pour déterminer qui a le droit d'émettre un nouveau jeton. actif, etc. Il s'agit également d'une machine virtuelle complète de Turing.

La machine virtuelle de CKB est basée sur le jeu d'instructions matérielles RISC-V. Tout ajustement implique du re-silicon, de sorte que la conception du jeu d'instructions RISC-V est très rationalisée, efficace et complète.

Pour résumer, CKB utilise une machine virtuelle RISC-V, qui est complète par Turing, et elle a également deux emplacements : le script de verrouillage et le script de type pour stocker les scripts de contrat intelligent, et il existe également un champ appelé data pour stocker les scripts de contrat intelligent. l'état du contrat, il s'agit donc d'un environnement complet d'exécution du contrat.

Tim Xie : Dans l'ensemble du processus de création de produits de notre Shell Finance, parce que nous devons gérer le protocole de prêt et la liquidation, nous avons besoin de fonctions contractuelles avancées. Enfin, nous avons choisi le DLC (Discreet Log Contracts). Le DLC et Lightning Network sont des technologies d'extension du même niveau, et tous deux sont hors chaîne. La différence est que Lightning Network est principalement utilisé pour le paiement, tandis que le DLC est principalement utilisé pour les oracles. En fait, nous n'avons pas terminé Turing et il existe encore de nombreuses restrictions, mais même avec de nombreuses restrictions, nous pouvons déjà accorder des prêts via DLC.

Bitcoin a en fait beaucoup de codes OP. Si nous pouvons activer ou déverrouiller l'OP_CAT mentionné par Lin de DotSwap auparavant, ou d'autres opcodes, nous pouvons alors continuer à en créer davantage dans le sens de Lightning Network et du DLC. Il existe de nombreuses possibilités. , les contrats intelligents peuvent certainement le faire. Le point essentiel est de savoir s’il existe une demande, s’il existe des utilisateurs, s’il existe un marché et si davantage de personnes investiront du temps et de l’énergie pour la concevoir, l’utiliser et répondre aux besoins des utilisateurs. Tant qu’il y aura des gens qui l’utiliseront et qu’il y aura un marché, de nouvelles idées et concepts apparaîtront naturellement.

Ce dont je suis sûr maintenant, c’est que la forme de l’écosystème Bitcoin sera complètement différente de celle de l’EVM. Peut-être qu'au niveau commercial, les utilisateurs peuvent avoir des sentiments similaires. Ils effectuent tous deux des échanges et des prêts, et ils ont également des oracles, mais les systèmes qui les sous-tendent et les outils qui peuvent être utilisés en fin de compte sont en réalité très différents. Si c'est sur le réseau principal Bitcoin, cette différence sera encore plus grande, j'attends donc avec impatience la L2 avec une meilleure structure UTXO, car elle peut libérer davantage le potentiel de l'écosystème Bitcoin.

Lin : Je pense qu'il n'est pas difficile de concevoir quelque chose qui soit complet à Turing, mais il est très difficile de rendre quelque chose incomplet à Turing. Concevoir un script qui ne soit pas complet à Turing est en fait une tâche technique très avancée.

Le script original de Bitcoin peut être complet, mais maintenant de nombreuses fonctionnalités de Bitcoin ont été scellées. Par exemple, l'OP_CAT que j'ai mentionné précédemment est une fonctionnalité très importante, mais cette fonctionnalité est désactivée par l'opérateur, plutôt que de dire que Bitcoin n'en avait pas. ces opérateurs lors de sa conception initiale. Bitcoin a impliqué de nombreux opérateurs au début, mais à cause de la soi-disant sécurité, ou des soi-disant dangers cachés de cette sécurité, ou parce qu'il n'y avait pas de compréhension claire de ce que c'était, comment l'utiliser, etc., certains opérateurs étaient Certains opérateurs sont désactivés. De plus, de nombreuses fonctions qui auraient pu être utilisées pour les contrats intelligents ont été filtrées par des transactions dites standards. Nous disons tous que Bitcoin est un système décentralisé, mais dans ce système décentralisé, il existe ce qu'on appelle une transaction standard, qui est déterminée par certaines organisations. Les transactions standard n'existent pas dans le domaine des mineurs, car les mineurs peuvent emballer n'importe quelle transaction légale. Il s'agit d'une question de politique basée sur le côté utilisateur.

Donc, en général, je pense que la capacité originale du Bitcoin elle-même est très puissante, mais maintenant Bitcoin a été détourné. Si vous êtes intéressé, vous pouvez lire le livre de Roger Ver « Hijacking Bitcoin : The Hidden History of BTC》. Parce que les capacités originales du Bitcoin ont été scellées, nous sommes obligés de trouver des solutions à divers endroits. C’est la situation actuelle à laquelle nous sommes confrontés, mais l’avenir du Bitcoin est définitivement meilleur.

J'ai dit que bon nombre des soi-disant Bitcoin L2 sont en fait des protocoles parasites. Ils n'apportent pas leur propre valeur au Bitcoin, et il n'y a aucun moyen pour les mineurs d'avoir des revenus plus élevés, mais en fait, il n'y a vraiment aucun moyen, car. Bitcoin présente de nombreuses limites. Permettez-moi de faire une analogie. Le protocole HTTP est en fait L2 construit sur le protocole TCP/IP, et notre protocole HTML est construit sur le protocole HTTP. Je pense qu'il s'agit d'un concept couche par couche, plutôt que de dire que les données de transaction sont complètement séparées de TCP/IP, séparées du protocole de couche supérieure, exécutées vers un autre endroit, puis se retournent et disent aux autres qu'il s'agit de la couche 2. protocole. Le véritable protocole de couche 2 est en fait empilé couche par couche, de sorte que le L2 que nous construisons devrait également être accepté comme transaction légale dans la couche supérieure. C’est une raison très importante pour laquelle nous explorons actuellement une seule couche de swap. Nous pensons que dans la plupart des cas, nous devons en fait nous contenter d'un seul niveau, et nous devons avoir beaucoup de vérifications et de consensus sur le premier niveau, au lieu de dire que je vais construire un soi-disant pont d'actifs et ensuite déplacer les intérêts de chacun. actifs vers un autre Un endroit où cela pourrait ne pas être une bonne chose.

NIGO : Le modèle UTXO peut-il prendre en charge des fonctions de contrat intelligents complexes ? Bien sur, c'est possible. Il stocke la logique et les données du contrat dans UTXO, puis utilise l'appel et les paramètres du contrat comme entrée pour tenter de déverrouiller le contrat, exécute la logique du contrat via BVM (Blockchain Virtual Machine) et obtient enfin le contrôle en renvoyant vrai ou faux de la fonction de déverrouillage. Le but du statut du contrat. Ce modèle n'est peut-être pas familier aux développeurs de contrats intelligents Ethereum, mais en fait, si vous combinez des idées de programmation fonctionnelle et convertissez certains concepts, les contrats intelligents UTXO peuvent mettre en œuvre une logique très complexe.

Étant donné que le modèle UTXO n'a pas d'état global, il doit stocker l'état et la logique du contrat dans UTXO, puis transférer et convertir l'état via la transmission de la chaîne d'appel de transaction UTXO, de sorte que chaque transaction UTXO consommera la précédente. UTXO. Et générer un nouvel UTXO, de cette manière, le transfert d'état de chaîne du contrat peut être réalisé. Par conséquent, le fait que UTXO puisse être déverrouillé correspond au résultat de l'exécution du contrat et s'il permet le transfert d'état. Si le contrat détermine que le statut ne peut pas être modifié, tel que les transferts ne sont pas autorisés, la modification des données n'est pas autorisée, etc., il renverra false, alors l'UTXO ne sera pas déverrouillé et l'exécution du contrat échouera.

Nous considérons les contrats comme des machines à états qui transfèrent les états des données, nous pouvons donc voir ici la différence entre les contrats UTXO et les contrats de type compte. L'EVM du contrat de compte est de maintenir l'état global.Une transaction peut amener l'EVM à effectuer plusieurs transferts d'état et à modifier fréquemment les données d'état jusqu'à ce que le contrat soit exécuté ou que le gaz soit consommé. Quant à la transaction du contrat UTXO, il s'agit d'un contrat d'entrée, et l'appel ne déclenchera qu'un transfert d'état, et quelle que soit la complexité de la logique à l'intérieur du contrat ou le nombre de fois que l'état est transféré, BVM n'enregistrera que l'état final. transférer le résultat sur la chaîne. Par conséquent, le contrat UTXO n’a pas d’état global, seulement des fonctions en attente d’exécution.

UTXO est une entrée et une sortie multiples. Ce qu'Ethereum veut faire, y compris l'EVM parallèle que Monad veut également faire, peut en fait être réalisé via UTXO. Si vous devez transférer l'état, vous devez d'abord trouver la fonction où se trouve l'état. localisé et modifier l'état via des appels de fonction. Et générer de nouvelles fonctions. Ce modèle rend le transfert d'état des contrats UTXO plus clair.

Les contrats UTXO ne dépendent pas d'états externes. Par conséquent, quel que soit le nombre d'appels d'un contrat, son résultat doit être certain, ce qui apporte une grande commodité à l'analyse des contrats, au débogage et aux tests unitaires. Le contrat EVM repose sur l'état global, de sorte que le résultat de l'exécution du contrat est susceptible d'être affecté par l'environnement externe, ce qui rend le résultat de l'exécution du contrat incertain. Par exemple, si le solde est suffisant, ce sera un. résultat, et si cela ne suffit pas, ce sera un autre résultat. Il s’agit donc également d’une question importante pour la sécurité et la prévisibilité des contrats EVM.

Bien entendu, passer l'État à chaque fois n'est pas sans coût. Dans certains scénarios où la traçabilité est requise, le statut peut augmenter à mesure que la chaîne de transfert UTXO augmente, car la traçabilité doit être vérifiée et il y a de plus en plus de données, donc l'État. lui-même s'étendra à l'infini. Notre TBC a résolu un problème majeur d’expansion de l’État grâce à d’autres technologies et moyens cryptographiques tels que le hachage et l’extraction de données. Par conséquent, une caractéristique importante qui distingue les contrats intelligents de TBC des autres chaînes UTXO est que le modèle UTXO constitue la base de l'expansion illimitée de TBC. Il est très simple d'utiliser le modèle UTXO pour effectuer des transactions de transfert standard.

En résumé, TBC a pleinement pris en compte les avantages et les inconvénients du modèle UTXO, et sur la base de l'absorption de l'essence d'Ethereum et d'autres chaînes publiques UTXO, il a introduit un concept BVM et d'autres technologies pour mettre en œuvre une véritable couche de contrats intelligents UTXO. , puis Avec des outils de développement de contrats intelligents plus conviviaux, le seuil de rédaction et de déploiement de contrats intelligents BVM est abaissé.

(À suivre)