Le podcast HashKey Capital Hash Out 42 explore la face cachée de la lune où l’écosystème Bitcoin explose.
Invité : Jeffrey Hu, directeur technique de HashKey Capital ;
Ajian, chercheur principal sur Bitcoin et contributeur à l’étude BTC
Organisation : HashKey Capital

*Explorez la face cachée de la lune où l’écosystème Bitcoin explose et bienvenue dans le troisième épisode de HashKey Capital’s Hash Out 42 ! *
*Dans cet épisode, Jeffrey Hu, directeur technique de HashKey Capital, travaillera avec M. A Jian, chercheur principal sur Bitcoin et contributeur de l’étude BTC, pour découvrir la vérité sur les mythes courants sur Bitcoin. Ils mettront en lumière certaines des plus grandes idées fausses sur les développeurs Bitcoin, exploreront les controverses les plus d’actualité du moment et mettront en lumière la nature décentralisée du réseau Bitcoin. Rejoignez-nous à travers la perspective exclusive de Hash Out 42 pour restaurer les histoires inédites de l’écosystème Bitcoin et imaginer l’immense espace pour la gouvernance écologique et le développement futur du Bitcoin. *
Vous écoutez Hash Out 42, un podcast produit par HashKey Capital. Dans “Le Guide du voyageur galactique”, après 7,5 millions d’années de calculs et de vérification par le supercalculateur “Deep Thought”, la réponse finale à la vie, à l’univers et au reste est 42. Dans ce programme, nous espérons partager les dernières hypothèses sur l’industrie du cryptage et de la blockchain avec des entrepreneurs, des investisseurs, des développeurs, des participants de la communauté et des agences de réglementation de l’univers Web3.
Ajian : “Ces développeurs, en fait, n’ont pas un si grand pouvoir pour affecter ce que vous pouvez et ne pouvez pas faire sur la blockchain Bitcoin.”
Jeffrey Hu : “Luke, ce qu’il veut faire n’est peut-être pas d’apporter quelques modifications au niveau des règles de consensus, mais plutôt au niveau des clients locaux ou des nœuds complets.”
Ajian : « Le sens de ce conservatisme est qu’il met toujours la sécurité au niveau le plus important, donc il ne tentera rien avec désinvolture. Mais vous pouvez penser qu’il n’est pas conservateur, car il a découvert s’il y a un bon solution, tout le monde l’adoptera activement.
Jeffrey Hu : Bonjour à tous et bienvenue dans le troisième épisode de Hash out 42, un podcast produit par HashKey Capital. Je suis Hu Zhiwei, le directeur technique de HashKey Capital. Aujourd’hui, j’ai le grand honneur d’inviter M. Ajian, chercheur Bitcoin et contributeur de l’étude BTC, à discuter avec nous de certains mythes sur l’écosystème Bitcoin. Alors professeur Ajian, pourquoi ne dites-vous pas bonjour à nos amis du public ?
A Jian : Bonjour, auditeurs, je m’appelle A Jian et je suis un chercheur Bitcoin. Je suis très honoré de recevoir l’invitation de Hash out 42 pour enregistrer ce podcast avec Jeffrey.
Jeffrey Hu : OK, d’accord, le nom de notre podcast s’appelle en fait Decoding the Gatekeeper Myth. Nous voulons discuter de Bitcoin, y compris de certains malentendus courants sur l’écologie du Bitcoin. Oui, j’aimerais donc inviter le professeur A Jian à parler de certains mythes récents, car tout comme le titre, je suppose qu’il peut y avoir un malentendu que nous avons observé récemment, et c’est aussi ce que nous faisons. discuté précédemment dans cet épisode de podcast. Autrement dit, certains développeurs sont des gardiens et ont le dernier mot sur ce qui peut ou ne peut pas être fait. À ce stade, c’est le premier mythe qui pourrait inquiéter davantage tout le monde. Y a-t-il quelque chose que le professeur A Jian pourrait vouloir commenter ?
Ajian : C’est un mythe, ou une imagination, qui existe depuis longtemps dans le monde chinois. Eh bien, on peut dire qu’il est profondément enraciné, voire le plus fondamental. Il semble aux développeurs Bitcoin, en particulier aux développeurs de clients Bitcoin Core, qu’ils sont les gardiens et ont le dernier mot sur ce qu’ils peuvent et ne peuvent pas faire. En fait, cette idée n’a presque aucune vérité, car beaucoup de choses le sont, que ce soit par un ou quelques-uns, ou par de nombreux développeurs Bitcoin Core, ou d’autres clients. Cette chose que les développeurs n’aiment pas est en fait toujours en train de se produire. sur la blockchain Bitcoin jusqu’à ce jour, et jusqu’à ce jour où nous enregistrons le podcast. Par exemple, vous avez peut-être récemment entendu parler d’un développeur nommé Luke. Luke a une position particulièrement claire, c’est-à-dire qu’il s’oppose à l’insertion aléatoire de données dans la blockchain Bitcoin. Bien sûr, lui-même n’a pas clairement exprimé comment définir cela spécifiquement, quelles sont les données liées au Bitcoin, quelles sont les données non liées au Bitcoin et quelles données ne doivent pas être écrites. Mais ensuite j’y ai réfléchi attentivement, en fait, sa signification fondamentale, mon propre résumé, non, je ne peux pas le représenter, mais mon propre résumé, je pense que c’est une croyance acceptable, la blockchain Bitcoin Seules les données liées à la sécurité cryptographique de Bitcoin devraient etre ecrit.
Ajian : Quelles sont les données liées à la sécurité cryptographique du Bitcoin ? Par exemple, chacun de nos Bitcoins est une sortie. Dans son script, il faudra préciser la clé publique pour confirmer que l’argent ne peut être dépensé que par le propriétaire de la clé publique (quelle clé privée). ), et quand il est réellement dépensé, une signature calculée par la clé privée derrière la clé publique devra être enregistrée sur la chaîne, et cette signature prouvera que la dépense est valide.
Ces choses peuvent être résumées comme des données liées à la sécurité cryptographique de Bitcoin, mais il existe d’autres données correspondantes, comme n’importe laquelle de ces données, qui sont similaires à des informations supplémentaires, ou à ce qui s’est passé aujourd’hui. Certaines personnes Si vous souhaitez écrire un anniversaire salutation ou quelque chose comme ça dessus, ce sont des informations qui n’ont rien à voir avec la sécurité cryptographique de Bitcoin, elles ne devraient donc pas être écrites dessus. Ceci est mon résumé personnel, mais l’idée de Luke est peut-être qu’il vaut mieux être plus proche à cette idée, ou un peu plus sévère. Le fait que je tiens à souligner est que peut-être que Luke n’aime pas ça, et il n’est peut-être pas le seul à ne pas aimer ça, mais beaucoup de gens trouveront que ces choses existe encore aujourd’hui, et ce que vous faites, c’est dire que ces blocs qui enregistrent ces informations supplémentaires, qui n’ont rien à voir avec la sécurité cryptographique du Bitcoin, sont toujours des blocs valides. Y compris de nombreux développeurs qui pensent qu’il n’existe en réalité aucun moyen d’empêcher ces choses, c’est-à-dire qu’il s’agit en réalité d’une technologie, et qu’il n’existe aucun moyen technique efficace permettant de séparer avec succès ce qui est significatif et significatif pour la sécurité du Bitcoin. n’a aucun sens. Par conséquent, il est fondamentalement voué à ces choses. C’est-à-dire, tout au plus, vous ne pouvez jouer qu’à un jeu de frappe à la taupe, ou à un jeu du chat et de la souris, et une souris apparaît. , vous attrapez un souris, mais il n’y a pas de solution unique.
En bref, ce que je veux exprimer, c’est que, tout d’abord, peu importe comment vous le comprenez, il existe des positions personnelles clairement exprimées par certains développeurs de Bitcoin. Ces développeurs n’ont en fait pas un si grand pouvoir d’influence sur ce que vous pouvez et ne pouvez pas faire sur la blockchain Bitcoin. En particulier, il y a une chose très importante, c’est que si tout le monde peut comprendre cette question, ils devraient être capables de comprendre qu’en fait, qu’ils soient développeurs ou mineurs, leurs droits s’inscrivent en réalité dans une certaine structure de contrôle et d’équilibre, qui " Quel type de règles de consensus sont choisies dans le réseau Bitcoin, c’est-à-dire quels types de règles de consensus sont autorisées à devenir un bloc valide, sont choisis par chaque nœud. En tant que nœud, vous pouvez choisir les vôtres. Cette règle de consensus que vous pense que c’est valable. Bien entendu, vous ne pouvez pas choisir une règle de consensus incompatible avec d’autres, mais tant qu’elle est compatible avec cette règle, vous pouvez choisir vous-même un ensemble.
Par exemple, tout le monde entend maintenant parler de la mise à niveau Taproot mise en œuvre en 2021, mais en fait, si vous exécutez une mise à niveau Taproot vers cette version de Bitcoin Core ou d’autres clients, votre nœud ne quittera pas le réseau. Votre nœud continue toujours d’effectuer sa vérification. fonctionner comme un nœud à part entière dans le réseau, mais il ne peut pas vérifier la transaction liée à la sortie dite Taproot. En poussant un peu plus loin, en 2017, le réseau Bitcoin a été activé Après le fork Segregated Witness, si vous utilisez cette version de Bitcoin Core ou d’autres clients Bitcoin publiés avant Segregated Witness, vous pouvez toujours exécuter sur le réseau Bitcoin aujourd’hui, ce qui signifie que tant que vous n’exécutez pas les transactions liées aux nouvelles règles de consensus Bitcoin après 2017, vous pouvez toujours vérifier le transactions utilisant les règles du consensus avant 2017.
Qu’est-ce que cela signifie? Il explique quelles règles sont utilisées dans le réseau dit Bitcoin pour limiter ce que nous pouvons faire sur la blockchain Bitcoin ? Ces choses sont en fait décidées par un réseau Bitcoin à nœuds complets de manière décentralisée, et non par une certaine personne ou un certain groupe de personnes, que ce groupe de personnes soit, par exemple, un certain groupe de mineurs ou un certain groupe. Développeurs, ce genre de réflexion est en fait loin de la vérité. Quelle est la vérité la plus proche de la vérité ? Cette chose est le réseau Bitcoin, un réseau composé de tous les nœuds. Maintenant, tout le réseau est public, avec 15 000 nœuds, 16 000 et encore plus de nœuds qui ne sont pas publics et sont exploités par ces nœuds. L’auteur utilise une méthode tout à fait égale. pour décider quelle partie d’un bloc il va vérifier et quels blocs il juge acceptables. Il s’agit essentiellement d’un processus comme celui-ci.
Par conséquent, il n’existe pas de rôle permettant à une certaine personne, à un certain développeur ou à un certain groupe de développeurs de devenir le gardien de l’ensemble du réseau. Si un tel rôle existait, Bitcoin aurait échoué, car Bitcoin voulait ce qu’il veut faire. est une monnaie résistante à la censure, ou ce qu’elle veut, c’est un système sans un seul point de défaillance. S’il existe une telle personne et qu’elle a un si grand pouvoir, elle deviendra un point de défaillance unique.
Jeffrey Hu : Pour continuer sur le sujet, en fait, il peut souvent y avoir un malentendu, c’est-à-dire que dans un certain réseau, cela est décidé par un certain groupe de personnes, il se peut donc que le développement ait été mentionné simplement maintenant, il peut aussi s’agir de mineurs, etc. Ils peuvent décider de la direction ou du sort de l’ensemble du réseau. Donc en fait, c’est un malentendu courant que je pense que tout le monde peut avoir. En fait, peut-être que Bitcoin ressemble plus à ce que le professeur Ajian vient de dire, c’est un réseau relativement décentralisé, un réseau relativement décentralisé, donc le fonctionnement de chacun Le nœud complet a encore une certaine signification à part dans ce domaine. De plus, j’ai vu récemment des reportages : juste après le sujet des développeurs que je viens de mentionner, il y a souvent des reportages qui mentionnent un mot appelé développeurs principaux. Laissez-moi d’abord parler de mes propres sentiments. Chaque fois que je vois ces mots, ma tension artérielle augmente légèrement, car j’ai l’impression que tout le monde ne comprend peut-être pas certaines des choses derrière ce développeur que M. Ajian vient de dire. une erreur de traduction, c’est-à-dire que les gens peuvent ne pas prêter attention à la majuscule et peuvent interpréter Bitcoin Core Dev, qui est Core Dev avec un C majuscule, comme Core Dev avec une minuscule, qui est Bitcoin. En fait, si nous voulons faire une segmentation de mots, nous devrions en fait diviser les deux premiers mots Bitcoin Core en un seul mot. En tant que Bitcoin, le développement d’une implémentation du nœud complet que nous venons de mentionner est les développeurs, pas les développeurs principaux de Bitcoin, ne sont pas les développeurs principaux de Bitcoin. Cela ne signifie pas que l’ensemble du réseau Bitcoin est décidé par ces développeurs principaux. Ensuite, vous pouvez voir d’autres réseaux, tels que Par exemple, les développeurs principaux d’Ethereum peuvent souvent avoir des réunions, telles que Des appels ou des réunions ACD, et ils décideront, par exemple, qu’il pourrait y avoir des mises à niveau hard fork ou quelque chose du genre en janvier de l’année prochaine. Cependant, Bitcoin ne semble pas disposer d’un groupe de développeurs central aussi centralisé pour discuter de la mise à niveau des hard forks du réseau.
Bien sûr, en fait, par exemple, Bitcoin Core peut en avoir quelques-uns. Par exemple, si une PR (Pull Request) est soulevée, il peut y avoir des réunions du PR Review Club pour discuter d’une partie de cette mise à niveau, ou de certaines des réunions du PR Review Club. proposition tirée par PR raisonnable, ou a-t-elle d’autres impacts? Cependant, aucun développeur principal ne décidera de l’orientation de l’ensemble du réseau. Cela peut être un problème commun à tout le monde, et cela peut également arriver fréquemment. Je pense que c’est un malentendu que vous rencontrerez. Bien sûr, je voudrais mentionner encore une chose à ce sujet, qui est de montrer que la capitalisation est également très importante. En tant que personne souffrant d’un petit trouble obsessionnel-compulsif, je verrai ce genre de c de Core. Si les majuscules est considéré comme étant en minuscules, il y aura des problèmes. La même chose est vraie pour HashKey. Le k dans notre HashKey est souvent en minuscules. En fait, h et k sont tous deux en majuscules. Je ne sais pas si le professeur Ajian n’a rien à ajouter à cet aspect principal du développeur.
Ajian : Oui, en fait, ma réaction est un peu similaire à celle de Jeffrey, c’est-à-dire que la tension artérielle va légèrement augmenter. Je veux même faire une suggestion plus excitante, c’est-à-dire que si nos amis du public l’entendent, alors si Si quelqu’un vous dit que les principaux développeurs de Bitcoin l’ont écrit en caractères chinois, vous devriez raisonnablement douter de la compréhension du monde Bitcoin de la personne avec laquelle vous communiquez. Je dis cela très grossièrement, car il y a en fait deux raisons à cela : d’une part, il s’agit d’un malentendu de longue date. Je soupçonne personnellement que ce malentendu a dû se former avant 2017. Autrement dit, le capital Bitcoin est un Bitcoin Core commençant par un B majuscule et un C majuscule. Lui-même, ce Bitcoin Core, permettez-moi d’abord de parler de l’origine de Bitcoin Core ? Oui, il s’agit du célèbre logiciel Bitcoin écrit par Satoshi Nakamoto lui-même, le successeur de ce logiciel. C’est-à-dire qu’après le départ de Satoshi Nakamoto, alors que certains développeurs se préparaient à migrer l’intégralité de la base de code vers notre site Web GitHub actuel, ils ont décidé d’utiliser un nouveau nom, à savoir Bitcoin Core, qui est également B. Il est en majuscule. C est également en majuscule. Pensez-vous que ce Core doit avoir une grande signification ? En fait non, je ne le sens pas non plus.
À propos, les gens peuvent penser que Bitcoin Core n’a qu’un seul type de client dans le monde Bitcoin, mais ce n’est pas le cas. Étant donné que Bitcoin C ore est le plus utilisé, il s’agit du client de Bitcoin Core, mais il existe en fait des clients développés dans d’autres langages. Par exemple, il existe un client appelé btcd, qui est une implémentation de Lightning Network. Cette équipe, LND, est un client Bitcoin développé par Lightning Labs. Il est écrit en langage Go et certaines personnes utilisent le langage Java. Après avoir écrit ce client Bitcoin , je suppose que quelqu’un essaiera d’utiliser Python ou le langage Rust pour écrire ce client Bitcoin. Oui, ce sont des choses très courantes, et tout le monde devrait également considérer un autre point, quel est-il ? J’ai déjà dit que dans le réseau Bitcoin, tout le monde n’est pas obligé d’utiliser la même version du logiciel, ni d’utiliser le même ensemble de règles de consensus. Cela signifie que si vous êtes sur le réseau Bitcoin, vous constaterez peut-être que même si tout le monde utilise le client Bitcoin Core, certaines personnes utilisent la version 22.0, d’autres la version 0.21 et d’autres encore la version 22.0. Il s’agit de la version 0.17. . Essentiellement, bien qu’ils utilisent tous le client Call, leur logiciel est différent dans une certaine mesure. À proprement parler, vous ne devez pas le traiter exactement comme le même logiciel.
Laissant cela de côté, revenons. Quant au nom Bitcoin Core, peut-être que lorsque les gens du monde chinois ont compris Bitcoin pour la première fois, ils l’ont directement traduit en Bitcoin Core, puis les développeurs de Bitcoin Core, vous pouvez le considérer comme une sorte de C’est un malentendu dans la traduction, mais ce que je Ce que je veux dire, c’est que cela peut également être affecté par le deuxième facteur, à savoir qu’il s’agit d’un malentendu culturel. Quel est ce malentendu culturel ? Parce que je ne suis pas sûr que cela ait été affecté par certains projets ultérieurs de crypto-monnaie, comme Ethereum, car Ethereum, bien qu’il ait certains développeurs ou partisans d’Ethereum, pense qu’ils utilisent la même technologie que Bitcoin. l’ensemble du réseau devrait être mis à niveau, comment cette mise à niveau doit être coordonnée et comment déterminer le contenu de la mise à niveau, ils pensent qu’ils utilisent une structure similaire ou même la même, mais je tiens à dire que ce n’est pas la vérité.
Le développement d’Ethereum est en réalité plus centralisé que celui du logiciel Bitcoin. Le point clé est que, comme l’a dit Jeffrey, il n’existe aucun client dans le monde Ethereum appelé Ethereum Core. Il n’existe pas de client appelé Ethereum Core dans le monde Ethereum, n’est-ce pas ? En fait, ce que vous pouvez trouver maintenant, c’est le client Geth. Il y avait autrefois le client Parity. Maintenant, je ne sais pas si le client Parity est toujours maintenu. Il peut y avoir d’autres clients maintenant, et dans le monde Ethereum, par exemple. Il organisera une réunion de tous les développeurs principaux, qui se tiendra probablement toutes les deux semaines le vendredi soir. Ensuite, il dira que lorsque certaines questions doivent être discutées, vous inviterez certaines personnes à assister à cette réunion. Bien sûr, d’autres peuvent observez, mais d’autres peuvent ne pas être en mesure d’exprimer leurs opinions, ou qu’ils puissent exprimer leurs opinions ne dépend pas de vous, n’est-ce pas ? Au contraire, la réunion elle-même a un organisateur, qui peut fixer l’ordre du jour.
Ensuite, un autre point très important est qu’Ethereum utilise ce que l’on appelle le modèle de mise à niveau hard fork. Que signifie une bifurcation dure ? Un hard fork signifie que si votre nœud n’est pas mis à niveau et que la plupart des gens effectuent une mise à niveau, vous ne pourrez plus rejoindre le réseau. Vous serez directement expulsé du réseau pour des raisons techniques, c’est-à-dire si vous n’êtes pas d’accord avec la mise à niveau. , ou si vous ne souhaitez pas mettre à niveau votre propre logiciel, votre nœud ne pourra pas continuer à exister dans le réseau Ethereum. C’est une différence clé, ce qui signifie qui a maîtrisé cette définition de ce que nous voulons Si nous voulons mettre à jour les règles dites de consensus du protocole Ethereum, celui-ci a en réalité un pouvoir très important qui peut amener certaines personnes à être expulsées du réseau pour une raison qu’elles ne souhaitent pas faire. Ce droit constitue en fait la source de ce que beaucoup de gens considèrent comme le pouvoir dit de base du développeur.
Et cette imagination est vraie dans une certaine mesure sur Ethereum, mais elle ne l’est pas sur Bitcoin. Parce que Bitcoin a choisi une méthode de développement complètement différente et que la culture communautaire dans son ensemble est complètement différente de celle d’Ethereum, je pense que d’une part, il s’agit d’un malentendu de longue date dans la traduction, et d’autre part, c’est un imagination culturelle.Cette imagination culturelle peut être liée à votre propre expérience de vie réelle, ou elle peut être liée aux méthodes de développement de certains autres projets de cryptomonnaie.
Cependant, cette imagination culturelle sur Bitcoin est en grande partie déplacée, car il n’existe aucun mécanisme dans Bitcoin qui puisse contrôler un pouvoir aussi important, et en fait, cela n’existe pas. C’est comme votre propre expérience personnelle que quelqu’un puisse avoir un si grand pouvoir. Au lieu de cela, je vous recommande d’essayer d’exécuter vous-même Bitcoin Core ou tout autre client Bitcoin.
Je sais que oui. J’ai des amis qui choisissent de ne pas utiliser Bitcoin Core. Il a clairement indiqué qu’il n’utilisait pas Bitcoin Core. Il aime exécuter BTCD, n’est-ce pas ? C’est tout à fait bien. Tant que vous exécutez ces clients vous-même, vous pouvez, ou vous pouvez même choisir de très anciennes versions de Bitcoin Core, ou d’autres clients de ce logiciel Bitcoin et essayer de les exécuter, et vous saurez alors comment cela fonctionne.
Jeffrey Hu : En fait, je pense que la réponse du professeur Ajian tout à l’heure pourrait en fait répondre à un autre malentendu courant que tout le monde a récemment eu, c’est-à-dire que Luke devra peut-être changer de nouveau client, il sera donc différent de la plupart des clients actuels. L’implémentation de Bitcoin Core est différente, donc il voudra peut-être faire un fork, ou Luke, puis il a suggéré que Bitcoin Core ajoute certaines fonctions à la nouvelle version, ce qui pourrait conduire à un fork de l’ensemble du réseau. une comparaison Un malentendu courant est que, d’après les informations publiques que nous avons vues, ce que Luke veut faire n’est peut-être pas d’apporter des modifications au niveau des règles de consensus que nous avons mentionnées, mais bien plus. Certaines modifications ou filtres ont été apportés au niveau local. ce qu’on appelle le niveau client ou nœud complet, ou certaines modifications ont été apportées à une stratégie de transfert, donc pour l’instant, cela n’a rien à voir avec le fork. Et j’ai en fait parlé des forks tout à l’heure, mais il y a un autre malentendu que tout le monde mentionne souvent, à savoir que la culture de développement Bitcoin peut en fait être relativement conservatrice, car à chaque fois c’est un soft fork, M. Ajian Qu’en pensez-vous ?
Ajian : Laissez-moi vous donner quelques chiffres, qui peuvent vous aider à comprendre cela plus précisément. Ou laissez-moi poser une question à Jeffrey. La première question est la suivante : pensez-vous que le réseau Bitcoin a déjà subi un hard fork ? La deuxième question est si oui, combien de fois pensez-vous que cela s’est produit ?
Il est désormais clairement reconnu par tous que le nombre total de modifications apportées aux règles de consensus du réseau Bitcoin est 21 fois supérieur, y compris les mises à niveau de Taproot, mais il existe certaines différences dans la manière de les compter ou de les définir. Par exemple, l’un de mes travailleurs Bitcoin préférés devrait être appelé travailleur parce qu’il n’est pas un développeur. Il s’appelle Jameson Lopp. Il estime lui-même que la blockchain Bitcoin a été créée pour des raisons inattendues. À son avis, cette scission n’est pas nécessairement prise en compte. un hard fork. Selon lui, il n’y a eu qu’un seul hard fork sur le réseau Bitcoin. Si je me souviens bien, cela devrait être 2013.
Dans quel but? Afin d’ajouter un opcode spécial au script Bitcoin, qui est NOP, lorsque vous rencontrez cet opcode, votre script ne doit rien faire. Lorsque vous rencontrez cet opcode, vous pouvez le considérer comme un simple espace réservé, oui. Si vous ne le faites pas faites n’importe quoi lorsque vous rencontrez cette opération, alors cette opération qui ne fait rien est complètement redondante. Alors à quoi ça sert ? Il s’agit d’aider avec les futures mises à niveau du soft fork.
C’est-à-dire que l’ancien nœud, une fois mis à niveau cette fois, est un nœud capable de comprendre la syntaxe de l’opcode NOP, donc lorsque vous rencontrez ce nœud, vous ne ferez rien. Mais les nœuds qui utilisent les nouvelles règles de consensus, lorsqu’ils rencontrent un code d’opération NOP, peuvent clairement déterminer qu’il a une certaine sémantique, puis exécuter sa sémantique, puis compléter les soi-disant règles de consensus.Mise à niveau soft fork, donc c’est amusant, droite? Vous avez eu 21 changements de règles consensuelles, et un seul était un hard fork, et ce hard fork a toujours fourni une aide pour les mises à niveau ultérieures du soft fork. Par conséquent, on peut considérer que parmi les nombreuses mises à niveau du réseau Bitcoin, ce sont toutes des mises à niveau soft fork.
Revenons donc à une question, à savoir la culture de cette mise à niveau soft fork, peu importe d’où elle vient, quel est son impact objectif sur le réseau Bitcoin ? Cela rendra-t-il les développeurs Bitcoin plus conservateurs ? Je pense qu’il y a deux aspects à cela. L’un est que les développeurs de Bitcoin ne sont pas conservateurs à cause des soft forks. En d’autres termes, vous pouvez penser que tout le monde comprend le réseau Bitcoin, c’est qu’il y a quelque chose pour ce réseau. Il ne peut pas être sacrifié. , c’est-à-dire la sécurité. La sécurité sous tous ses aspects inclut, par exemple, si nous parlons de nœuds, pouvez-vous résister à cette attaque par déni de service et à cette attaque DOS, n’est-ce pas ? Et lorsque vous utilisez des clés publiques en tant qu’utilisateurs individuels, ou lorsque vous utilisez des scripts, est-ce sûr ? Ou le consensus de l’ensemble du réseau est-il sécurisé lorsque vous l’exécutez ? Ces fonctionnalités de sécurité sont l’élément le plus important du réseau Bitcoin.
Compte tenu de cette priorité la plus importante, vous constaterez naturellement que les développeurs de Bitcoin n’essaieront aucune direction de développement possible, et leur principale direction de développement doit être de renforcer la sécurité de Bitcoin. , c’est un aspect. Alors si certains pensent que tout ne peut pas être fait sur le réseau Bitcoin, ou que l’ajout de nouvelles fonctionnalités semble très lent, et pensent que c’est un signe de conservatisme, leur première impression est la bonne. Mais quant à la question elle-même, et si vous devez la comprendre en tant que conservateur, je pense qu’il s’agit d’une réserve. Parce que ce dont je vais parler ensuite, c’est dans Bitcoin, par exemple, dans la mise à niveau Taproot en 2021, il utilise la signature Schnorr, ce qui est très intéressant. Nous savons que Bitcoin est le premier projet de crypto-monnaie à apparaître. Lors de son apparition, il a choisi d’utiliser l’algorithme ECDSA pour les signatures électroniques, et la courbe elliptique qu’il a choisie a été soigneusement sélectionnée par Satoshi Nakamoto. Il a évité celle utilisée par plus de personnes et choisi celui utilisé par moins de personnes.
Nous constaterons ensuite que de nombreux projets de cryptomonnaies en ont hérité, y compris l’émergence ultérieure d’Ethereum ou d’autres projets, ils continuent à utiliser les signatures ECDSA. Mais il existe également des projets ultérieurs qui utiliseront certaines variantes de la signature Schnorr, comme Ed25519. Si un ami connaissant la cryptographie connaît cet Ed25519, par exemple dans le dernier Polkadot, il utilisera Ed25519. Il y aura peut-être d’autres projets qui utiliseront également cet algorithme. En fait, ce type de signature est aussi une variante de la signature Schnorr, donc ce sera très intéressant. Ce sont les successeurs de Bitcoin à cette époque qui ont continué à choisir la signature ECDSA. Et il est encore utilisé aujourd’hui, et il est même prévu de continuer à l’utiliser, ou du moins lorsqu’il n’est pas particulièrement actif dans l’utilisation d’un nouvel algorithme de signature, Bitcoin le fait pour une certaine efficacité en chaîne, c’est-à-dire pour économiser l’espace sur la chaîne. Soit afin de rendre les transactions sur la chaîne plus compactes, soit en raison de l’utilisation de signatures Schnorr, car Taproot utilise également les signatures Schnorr pour réaliser une utilisation très intéressante, c’est-à-dire qu’une seule adresse peut inclure à la fois l’espace clé et clé.Cette méthode de dépense, y compris la méthode de dépense de ce script, peut réaliser quelque chose comme ceci.
Pour diverses raisons, Bitcoin a choisi de prendre en charge la signature Schnoor. Est-ce une chose conservatrice ? C’est-à-dire, n’est-ce pas une chose très audacieuse en soi ? C’est une innovation dans tous les sens que je peux imaginer, une innovation très audacieuse. Juste avant la mise à niveau de Taproot, sur le réseau Bitcoin, on pouvait clairement distinguer la sortie d’une clé publique unique, qui est généralement la forme sous laquelle les individus économisent leurs propres fonds, et la sortie de script, qui est généralement possible. portefeuille personnel, ou il peut s’agir du formulaire de sortie utilisé par un accord contractuel plus complexe.
Avant Taproot, on pouvait distinguer ces deux sorties sur la chaîne. Après la mise à niveau de Taproot, ces deux formulaires de sortie ont été combinés en un seul, ce qui est une chose très audacieuse en soi. Selon moi, je pense que c’est une chose très, très merveilleuse, digne du mot innovation dans tous les sens du terme. On peut donc dire qu’il est conservateur, mais il ne l’est pas en même temps. La signification de ce conservatisme est qu’il place toujours la sécurité au niveau le plus important, de sorte qu’il ne tentera rien à la légère. Mais on peut penser qu’il n’est pas conservateur, car lorsqu’il découvre une bonne solution, tout le monde l’adoptera activement.
Jeffrey Hu : Oui, je suis particulièrement d’accord sur le fait qu’il s’agit d’une mise à niveau de la signature Schnorr, car nous savons désormais que bon nombre des autres projets de blockchain que nous venons de mentionner pourraient en fait se trouver au moins à leur propre adresse native. À ce niveau, si vous souhaitez ajouter une nouvelle méthode de signature ou modifier la courbe elliptique d’origine, il y aura toujours une grande résistance. Cela peut être dû à des raisons d’architecture technique, ou cela peut être dû à la culture dans son ensemble. Ou cela peut être une raison de discussion communautaire. Nous verrons qu’il sera en fait très lent, et d’autres méthodes peuvent être utilisées, comme l’ajouter aux contrats intelligents pour le rendre compatible ou d’une autre manière. Mais ce n’est pas comme Bitcoin. En gros, vous pouvez le considérer comme un moyen natif d’ajouter une signature. En fait, je suis tout à fait d’accord avec cela.
Revenons à ce qui s’est passé avec le client de Luke tout à l’heure. C’était un sujet supplémentaire dont nous avons parlé tout à l’heure car il s’agissait de forking. En fait, personnellement, je n’aime pas particulièrement le mot fork. Je ne connais pas A Jian " Professeur, je pense que le mot fork provoque souvent des malentendus. Par exemple, celui mentionné tout à l’heure peut provoquer des partitions réseau en raison de la puissance de calcul ou de bugs. En fait, cela peut parfois arriver. Ce que certaines personnes considèrent comme un hard fork ou quelque chose comme ça, c’est en fait ce que j’entends comme un soft fork ou un hard fork au sens habituel, qui peut être remplacé par un autre terme technique. Le soft fork est en fait une mise à niveau compatible, tandis que le hard fork est en fait une mise à niveau incompatible, c’est-à-dire que vous ajoutez plus de nouvelles fonctions, qui peuvent être votre propre nœud, ou vous pensez que c’est le nœud qui exécutait à l’origine l’ancien logiciel. Il ne peut pas apparaître dans le nouveau réseau. S’il est dans le réseau Bitcoin, je pense en fait que cette perspective peut être inversée. Si un nœud a besoin de faire des mises à niveau hard fork, il est en fait le sien S’il se forke lui-même, alors c’est aussi un concept relatif , car il ne respecte plus une règle de consensus de l’ensemble du réseau.
Parlons un peu plus. Cette fois, Luke a fait ça, peut-être qu’il voulait modifier le nœud, mais en fait, cela s’est plutôt produit au niveau du soft fork ou du hard fork dont nous parlons. Cela n’a pas encore touché au niveau du le consensus sur l’ensemble du bloc réseau, et parfois il y a des discussions animées sur Internet, mais en fait, le plus de discussions sont que ce nœud peut en fait bifurquer directement, mais en fait, ce qu’il fait en tant que nœud n’a pas encore atteint ce niveau. Si nous comprenons De manière intuitive, Luke le fait en fait au niveau de l’ensemble du pool de mémoire de transactions, ou au niveau du pool de mémoire du pool de transactions. Il le fait simplement. Un certain filtrage des transactions ou quelques modifications de la stratégie de transfert de certains nœuds.
Alors comment le comprendre spécifiquement ? Je peux développer cela un peu plus loin, car vous avez peut-être utilisé Metamask ou d’autres portefeuilles plus souvent, nous pouvons donc voir que si vous souhaitez envoyer une transaction, il vous suffit de cliquer sur quelques boutons pour effectuer la transaction. dehors. En fait, la transaction sur Bitcoin, depuis le moment où vous essayez d’écrire une transaction jusqu’à la confirmation finale, je comprends en gros qu’elle peut être divisée en trois étapes. La première étape est l’information dont vous avez besoin pour signer la transaction. étape, un message signé a été généré. La deuxième étape consiste à placer ces informations signées dans l’ensemble du pool de mémoire de transaction. La troisième étape consiste à les regrouper dans le bloc. Ce sont les informations signées. En fait, le processus est également très important.
La première étape, par exemple, dans le réseau Lightning, les deux parties peuvent en fait détenir les canaux de l’autre dans le réseau Lightning. Les deux parties peuvent détenir mutuellement une partie des informations de transaction signées par l’autre partie. Si l’autre partie fait le mal, ils peuvent l’utiliser pour ajouter ensuite mes propres informations de signature aux informations de signature de l’autre partie, puis je peux les diffuser pour punir l’autre partie pour avoir fait le mal. C’est donc une étape pour utiliser les informations de signature dans le Lightning Network. En fait, cela correspond à la première étape d’émission d’une transaction. Ensuite, la deuxième étape signifie en fait que si je veux envoyer une transaction, je diffuserai mes informations de signature. dans le réseau, puis j’autorise d’autres nœuds à le traiter. Ensuite, le nœud effectuera une vérification de légalité après l’avoir reçu, puis le transmettra.
Donc, ce que Luke fait cette fois-ci concerne en fait principalement la deuxième étape, c’est-à-dire que l’ensemble de mon nœud doit effectuer une sorte de filtrage ou de traitement après l’avoir reçu ? Parce qu’il pense que certaines transactions, comme certaines transactions BRC 20, pourraient imposer une charge trop lourde au réseau, il ne souhaite donc pas les transmettre à ce niveau ou au niveau de la bibliothèque mempool.
Jusqu’à présent, cela n’a pas réellement touché le niveau de consensus de l’ensemble du réseau. En fin de compte, si l’intégralité de la transaction est requise, dans certains nœuds miniers, sur la base des informations de l’ensemble du mempool actuel, y compris certaines des informations du bloc précédent. , ce n’est qu’après avoir calculé la valeur de hachage que l’intégralité de la transaction en cours sera regroupée dans le bloc. C’est le niveau de consensus sur l’ensemble du réseau.
Vous pouvez donc effectivement voir que la modification de Luke cette fois n’est qu’une modification au niveau du mempool. En fait, cela n’a rien à voir avec le fork. Oui, et j’ai déjà pensé à un exemple auparavant, comment expliquer cette question de manière plus vivante. Quel est l’exemple auquel j’ai pensé ? Je ne sais tout simplement pas si le professeur Ajian pense que c’est approprié. Je peux parler de mon idée. Dans le passé, il y avait peut-être plus de monde. Certains se rendaient dans les agences bancaires avec beaucoup de monnaie. Je veux économiser de l’argent. Par exemple, j’ai pris un centime d’un million. Si vous souhaitez vous rendre dans une agence bancaire pour déposer de l’argent, alors l’agence bancaire peut naturellement avoir deux pensées : c’est-à-dire que vous ne pouvez rien y faire. Maintenant que vous êtes ici, je dois m’en occuper, n’est-ce pas ? Les billets que vous avez pris sont tous de vrais billets, je vais donc certainement devoir les traiter. Ceci est conforme aux réglementations de l’ensemble de la banque centrale. Je dois les traiter. Ensuite, cela peut me prendre beaucoup de temps. Je peux cela prend Il faut beaucoup de temps pour envoyer une personne dédiée pour le traiter, mettre l’argent un par un dans le détecteur de devises, le compter, puis déposer votre argent à la banque une fois le traitement terminé. Eh bien, c’est une sorte de chose, donc mon agence bancaire est très responsable envers ses utilisateurs. Ensuite, il y a un autre type d’agence bancaire qui sera ennuyé par des clients aussi malveillants. Dites simplement que ce type de client ne devrait pas venir dans mon agence bancaire. Vous pouvez aller dans d’autres agences bancaires. Je n’accepterai pas trop ce genre de choses. En tant que client de petites coupures, si vous ne vous rendez pas dans d’autres agences bancaires, alors le client à ce moment-là peut avoir une idée et dire : pourquoi votre agence bancaire ne respecte-t-elle pas les réglementations de la banque centrale ? Pourquoi ne l’accepte-t-il pas ? Mon client est-il tenu d’économiser de l’argent ? En fait, cette succursale bancaire est peut-être un peu injuste, non ? Je ne dis pas que je veux m’opposer à la banque centrale. C’est juste ma succursale bancaire. Je n’ai vraiment pas plus de personnel pour servir un client de si petites coupures, je peux donc émettre certaines de mes propres réglementations, telles que Je ne traiterai pas les billets d’une valeur inférieure à 100 yuans. Peut-être que je ne m’occuperai que des dépôts et des retraits de billets entiers d’une valeur de 100 yuans. Pour le reste, vous devrez trouver d’autres succursales par vous-même, ou vous pouvez simplement ouvrir une succursale bancaire par vous-même. … Allez vous en occuper.
Donc, si nous revenons à cet exemple, si nous pensons que Luke peut être un hard fork, cela peut en fait être un peu injuste par rapport à son sens original. Il n’est pas comme une succursale bancaire qui veut aller là. Créez une autre banque centrale pour gérer l’authenticité de l’intégralité du billet de banque, ou comment tenir les comptes. Il estime simplement que ce propre nœud ne peut pas dépenser plus de ressources pour traiter des transactions comme BRC 20 ou Inion.
Ajian : La métaphore de Jeffrey est vraiment, vraiment bonne et très vivante. Permettez-moi d’ajouter un peu, c’est-à-dire que si la plupart des gens disent qu’ils ne prêtent pas souvent attention à ces informations techniques, ils ne seront peut-être pas en mesure de distinguer ce que sont les règles de consensus et quels nœuds sont prêts à accepter une transaction dans leur propre transaction. pool et le transmet à d’autres. Un nœud fait référence à ses propres règles pour les autres nœuds qui sont connectés à lui-même. L’une des règles ci-dessus est appelée règles de consensus et l’autre est appelée règles de pool de transactions ou règles de vérification du pool de transactions. Elles sont différent. .
Pourquoi? Parce que vous pouvez considérer une règle de consensus comme une seule, dans une certaine mesure, vous pouvez la considérer comme une chose plus souple, pourquoi ? Parce qu’il détermine uniquement si un bloc est valide et que les règles dites de pool de transactions définies par chaque nœud déterminent uniquement si je souhaite accepter une transaction et transmettre la transaction, des règles plus strictes que les règles de consensus peuvent alors être utilisées.
pourquoi ? Étant donné que la règle de consensus stipule la validité d’un bloc, le nœud peut alors naturellement déléguer une partie du travail de filtrage des transactions invalides aux mineurs. Pourquoi? Parce que vous devez vous assurer que votre blocage est valide, sinon si votre blocage ou votre transaction est rejeté, vous n’obtiendrez aucun avantage.
On peut donc raisonnablement supposer qu’il collectera toutes les transactions valides, et comme il a déjà payé beaucoup de preuves de travail, je vais passer un peu plus de temps à vérifier ce blocage, ce qui est une bonne chose pour moi. abordable et ne présente pas trop d’inconvénients. Mais si une transaction sort de nulle part et suit un chemin incertain dans le réseau pour me parvenir, vous ne savez pas si c’est une transaction valide ou une transaction invalide.
Si vous devez effectuer une vérification complète de chaque transaction que vous recevez, en fait, cette question elle-même prend beaucoup de temps et de ressources, donc l’approche du nœud doit être de confirmer d’abord cette transaction. Certaines caractéristiques de la transaction sont très simple à vérifier, et ensuite ces caractéristiques détermineront si je dois continuer à vérifier davantage la transaction, ou si elle ne répond plus à ces caractéristiques, je ne la vérifierai tout simplement pas. J’attends juste de voir si le mineur est toujours prêt à emballer la transaction. S’il est prêt à l’emballer, je la vérifierai, n’est-ce pas ? C’est un tel processus. La plupart de nos auditeurs ou autres amis ne peuvent pas, ou ne sont pas capables d’y penser, car les réseaux que nous utilisons souvent n’ont pas cette couche. C’est une couche. Ceci est fondamentalement exclusif à l’UTXO ou aux transactions. Ce n’est que lorsque vous utilisez la forme de sortie de transaction pour exprimer une somme de fonds et ses conditions de dépense que vous devez considérer cette question.
pourquoi ? Pour vous donner un exemple, si vous êtes sur Ethereum, tous ses soi-disant contrats intelligents sont une sorte de compte, y compris le vôtre, qui est contrôlé par une clé privée, mais c’est aussi un compte. c’est-à-dire que tous ses objectifs fondamentaux, c’est-à-dire toute la complexité du traitement, doivent être placés dans le contrat, et le code du contrat lui-même peut l’identifier.
Quelles transactions peuvent être traitées et quelles transactions ne peuvent pas être traitées ? Toutes les transactions sur la liste Ethereum sont initiées par un compte externe, n’est-ce pas ? Le numéro de série utilisé par un compte externe est appelé valeur Nonce. Il peut y avoir certaines ambiguïtés, mais vous avez raison de l’appeler un numéro de série, car chaque compte a ce numéro de série, et ce qui suit Ce numéro de série doit être post- traité, donc chaque compte utilise un numéro de série inutilisé pour lancer une transaction, puis lorsqu’il est confirmé par ce bloc, il entre dans le dernier état de l’Ethereum déterminé. Il est traité et vous donne ensuite un résultat, n’est-ce pas ? Ainsi, dans le modèle Ethereum, toute la complexité est placée dans le compte du contrat intelligent, et son nœud tente d’ignorer le résultat final de l’exécution de l’instruction portée par votre transaction.
C’est-à-dire que chacune de vos transactions n’est en réalité qu’une transaction initiée par un certain compte, et ensuite certaines instructions sont transportées dans la transaction, c’est-à-dire quels seront les résultats de ces instructions une fois exécutées. du tout, il ne se soucie que de vous. Avez-vous payé un certain montant de ces frais de transaction ? Donc pour un réseau comme Ethereum, les règles du pool de transactions de ce nœud sont en fait très simples, relativement parlant, elles seront plus simples, car il lui suffit de vérifier, tout d’abord, si votre compte a suffisamment pour payer vos frais de gaz, n’est-ce pas ? Ensuite, cela dépend si votre numéro de série a déjà été utilisé. S’il a été utilisé, il s’agit d’une transaction invalide. En d’autres termes, je devrais choisir une transaction à enregistrer dans mon pool de transactions en comparant les frais d’essence élevés et faibles.
Quant aux informations et instructions attachées à sa transaction, que signifient-elles ? Il s’en fiche, il s’en fiche du tout, donc les règles du pool de transactions de son nœud sont très simples. Mais dans un modèle basé sur la sortie de transactions, comme UTXO comme Bitcoin, la vérification de votre pool de transactions doit être plus compliquée.
Pourquoi? Parce que vous vous demanderez, par exemple, si sa dépense est une dépense valide. Cette dépense invalide ne peut pas entrer dans le bloc. C’est une caractéristique du Bitcoin. Vous produirez donc naturellement une série de Pour économiser ses ressources, nous l’appelons un méthode heuristique, ou certaines mesures et règles de vérification avancées qui sont mises en œuvre avant la vérification de la signature pour protéger autant que possible ce nœud contre l’utilisation d’une attaque DOS.
Laissez-moi vous donner un autre exemple très intéressant. Je me demande si vous avez entendu parler de Nervos Network. Les transactions et les fonds de Nervos Network sont également basés sur le résultat des transactions, mais leur forme s’appelle Cell, n’est-ce pas ? En fait, sa structure est très similaire à UTXO, ils en produiront donc également dans le réseau Nervos, qui consiste à regrouper certaines transactions qui ont été diffusées dans certains réseaux avant les mineurs, à faire une certaine agrégation pour elles, puis à les remettre. aux mineurs. Pour constituer un package complet, une couche d’agrégation intermédiaire sera ajoutée. L’émergence de cette couche d’agrégation est en fait due aux caractéristiques d’UTXO, car les caractéristiques d’UTXO signifient une grande partie de votre transaction elle-même et des instructions qu’elle contient. Ce sera plus clair et ce sera plus complexe.
Ainsi, sur cette base, certaines règles dites de vérification pour le pool de transactions doivent être générées pour aider le nœud à déterminer s’il souhaite autoriser une transaction à entrer dans son propre pool de transactions. Parce que lorsqu’il entre dans votre pool de transactions, vous devez sauvegarder la transaction, et vous la transmettrez également, n’est-ce pas ? C’est quelque chose qui nécessite des ressources, donc c’est probablement de cela qu’il s’agit.