- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menuConsensus
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
Réviser du code est une expérience abrutissante : entretien avec Andrew Chow, responsable de la maintenance de Bitcoin
Il a découvert Bitcoin par hasard au lycée, alors qu'il cherchait des moyens de payer ses jeux vidéo préférés. Aujourd'hui, il gagne sa vie en révisant et en améliorant le code de Bitcoin. C'est parfois ennuyeux et abrutissant, mais il le fait quand même. Quelqu'un doit le faire.
Peu de gens comprennent les principaux problèmes techniques auxquels est actuellement confrontée la Cryptomonnaie dominante mondiale. Andrew Chow en fait ONE .
Chow est ONEun des quatre « mainteneurs » de Bitcoin CORE (ou simplement CORE), le logiciel le plus populaire pour se connecter au réseau Bitcoin .
Les mainteneurs examinent les modifications apportées à Bitcoin CORE , appelées « commits », soumises par leurs collègues développeurs Bitcoin sous forme de « pull requests » ou « PR ». Chow et les autres mainteneurs approuvent ensuite ou « fusionnent » ces modifications dans le code source de Core. Cette « revue de code » est essentielle pour garantir qu'aucun code bogué ne soit fusionné.
Le processus est transparent et, à mesure que Chow passe au peigne fin les commits, ildiffuse en direct le processus sur Twitch.
Chow est un joueur dans l'âme et n'a commencé à utiliser Bitcoin qu'au lycée pour payer des jeux vidéo qu'il T pu s'offrir autrement. Ses parents T de lui donner une carte de crédit, de lui ouvrir un compte bancaire ou même de lui verser une allocation. Il s'est alors retrouvé à travailler en freelance. Forum BitcoinTalk et a commencé à écrire du code en échange de Bitcoin (BTC).
Chow, qui dit avoir maintenant une vingtaine d'années, est payé comme ingénieur dans la société d'infrastructure Bitcoin Blockstream, où, outre quelques tâches d'entreprise, sa principale priorité est de travailler sur Bitcoin CORE.
Il affirme que la revue de code est ONEun des plus grands défis auxquels Bitcoin est confronté aujourd'hui. La plupart des développeurs CORE sont enthousiastes à l'idée d'écrire du code pour de nouvelles fonctionnalités, mais rares sont ceux qui apprécient la tâche plus rébarbative de la revue de code soumise par leurs pairs. Chow affirme que davantage La rédaction doivent se concentrer sur la revue de code pour gérer les plus de 300 PR du Core. Dépôt GitHub. La communauté a unClub d'évaluation des relations publiques Bitcoin CORE qui se réunit chaque semaine pour aider les nouveaux La rédaction à en Guides sur le processus de révision.
Chow a accepté une interview avec CoinDesk à la Faire progresser Bitcoin conférence à Londres. Il a expliqué pourquoi la révision du code est si essentielle, expliqué le travail quotidien La rédaction de Bitcoin CORE et a commenté le débat actuel sur op_vault et Speedy TrialVoici une transcription partielle de cette interview.
CoinDesk: Comment avez-vous découvert Bitcoin?
Andrew Chow : Quand j'étais plus jeune, au lycée, je T de compte bancaire car j'avais moins de 18 ans. Mes parents ne m'en ont T ONE . Je n'avais T de carte de crédit – même supervisée – et je n'avais T d'argent de poche. Mais Vapeur Je vendais des jeux contre des Bitcoin. Si vous jouez sur PC, vous pouvez télécharger Steam et y trouver quasiment tous les jeux PC.
Aussi, surpurse.ioOn pouvait vendre des Bitcoin pour acheter des trucs. Moi, je voulais jouer à des jeux. Je voulais les acheter. Le piratage ne me pose pas de problème, mais pirater des choses, c'est un peu louche. On ne sait T ce qu'on télécharge. Ça pourrait être un malware.
Alors je me suis dit : « Ce truc du Bitcoin est entièrement électronique. Je pourrais peut-être l'utiliser pour acheter des jeux, mais comment obtenir des Bitcoin? » Je pourrais peut-être travailler et être payé en Bitcoin.
Je connais quelques personnes qui ont fait ça. C'est comme ça que j'ai appris la programmation. J'allais sur BitcoinTalk et les gens me disaient : « Je te paierai autant que tu voudras pour m'écrire un script qui fasse ça. »
Eh bien, ça semblait assez simple. J'avais aussi un ami au lycée. Il me disait : « Tiens, tu as entendu parler de ce truc du Bitcoin ? Je pense que ça pourrait te plaire. » Il achetait clairement de la drogue avec des Bitcoin.
C'est comme ça que je me suis lancé dans le Bitcoin. Et finalement, je me suis dit : « J'utilise ce portefeuille et je rencontre des problèmes. Je sais clairement programmer. Je peux peut-être réparer ce portefeuille. » C'est comme ça que je me suis lancé dans le développement.
Je dirigeais ce truc appeléArsenal. Ce qui n'était pratiquement pas entretenu. Enfin, c'est encore plus ou moins entretenu par une ONE personne, donc à peine.
Quand je l'ai utilisé, c'était un peu le bazar et ça ne fonctionnait T toujours. Je me suis rendu compte que certains problèmes survenant dans Armory étaient causés par des actions de Bitcoin CORE . J'ai donc commencé à explorer Bitcoin CORE et à me demander ce que faisait Bitcoin CORE . Oh, Bitcoin CORE a un bug qui nous cause un bug.
Armory faisait quelque chose d'inapproprié : lire les fichiers de blocs directement depuis Bitcoin CORE – ce qui est interdit. Le changement de format a tout cassé.
J'essayais de concilier les deux, puis Armory est tombé dans l'oubli. C'est ainsi que je suis passé à Bitcoin CORE. J'ai finalement arrêté de travailler sur Armory, car j'étais plus productif sur CORE.
Hier, nous avons évoqué le ratio entre La rédaction Bitcoin qui révisent le code et La rédaction qui l'écrivent. Pouvez-vous nous en dire plus à ce sujet ?
Notre principal obstacle dans Bitcoin CORE a été la révision. Nous en avons plus de 300. Relations publiquesIls sont ouverts et doivent être révisés. Que ce soit simplement pour s'assurer de la qualité du code ou simplement pour se demander si ce changement est vraiment nécessaire.
Le problème avec chaque PR, c'est qu'il est généralement rédigé par une ONE personne, mais que plusieurs personnes doivent le relire, l'approuver ou laisser des commentaires. Il faut donc plus de relecteurs que de rédacteurs, mais ce n'est pas ainsi que ça fonctionne.
Personnellement, je trouve la revue de code un BIT ennuyeuse. C'est un peu agaçant et ça peut être un peu abrutissant. Mais je continue à en faire. J'imagine que c'est un mal nécessaire, parce que je ne trouve T ça amusant. Si je le fais trop souvent, j'ai l'impression que je vais m'épuiser, car ce n'est plus agréable.
Il faut donc trouver un équilibre entre l'écriture et la révision de code. C'est un BIT un dilemme. Il faut plus de réviseurs que de codeurs, mais comment devenir suffisamment compétent pour réviser du code si on n'écrit pas de code ? C'est un véritable casse-tête.
Nous traversons un marché baissier et des organisations comme Brink, qui financent le développement de Bitcoin , affirment que leurs financements ont diminué d'environ 50 %. Pourquoi devons-nous rémunérer La rédaction et les développeurs Bitcoin ?
Fondamentalement, chaque logiciel comporte des bugs. Il y aura toujours des bugs à trouver et des bugs à corriger. C'est une simple opération de maintenance logicielle.
Et même dans ce cas, les logiciels existants ne peuvent pas durer éternellement. Les systèmes d'exploitation et les bibliothèques évolueront et changeront. Un jour, les logiciels cesseront tout simplement de compiler sur un ordinateur ; ils pourraient même cesser de fonctionner. Il est donc nécessaire de travailler constamment pour les KEEP à jour.
Il y a donc toujours des choses à mettre à jour, même sans nouvelles fonctionnalités. Mais il y a de nouvelles fonctionnalités et nous voulons vraiment améliorer Bitcoin. Pas seulement les règles de consensus, mais aussi la façon dont nous relayons les transactions, le type de transactions que nous acceptons. pool de mémoireet le protocole peer-to-peer.
Il peut y avoirDoS Des vecteurs que nous souhaitons corriger ou modifier, mais qui n'ont peut-être T encore été découverts. Il y a toujours quelque chose.
Si je suis un nouveau contributeur CORE , quels sont les principaux problèmes que je devrais connaître ?
Il existe actuellement un certain nombre de problèmes, tels queattaques par épinglage, qui sont assez bien documentés. Il semble que ONE ne les exploite, mais ce n'est pas une bonne raison pour ne pas les corriger.
Il y a eu beaucoup de travail sur le mempool : comment et quelles transactions sont acceptées dans le mempool, quelles méthodes existent pourmajoration des frais, et des choses comme ça. C'est pertinent pourFoudreet d’autres réseaux [de couche 2].
Qu'est-ce qu'une « attaque par épinglage » ?
Si nous ouvrons tous les deux un canal Lightning, je peux faire en sorte que les frais de cette transaction ne soient jamais augmentés. Ainsi, je peux maintenir des frais constamment bas et éviter qu'elle ne soit minée, puis essayer de la dépenser deux fois plus tard.
Il existe de nombreuses attaques possibles avec les règles de Juridique de pool de mémoire existantes. Celles-ci sont documentées sur la liste de diffusion et posent clairement problème. Si quelqu'un essayait de les exploiter, ce serait gênant, mais je ne pense T que nous ayons vu quelqu'un tenter de les exploiter.
Nous voulons toujours les corriger et beaucoup de travail a été fait pour apporter des améliorations afin que nous n'ayons T ces attaques d'épinglage, ou du moins, si vous voulez épingler une transaction, cela sera très coûteux.
Nous avons également discuté hier d'op_vault et de Speed Trial. La recommandation de James O’Beirne de déployer op_vault avec Speed Trial a suscité quelques tensions. Avez-vous des commentaires ?
Avec une nouvelle proposition comme celle-là, le déploiement devrait être la dernière chose à laquelle penser.
Certaines idées de déploiement sont, pour une raison ou une autre, controversées. Si vous souhaitez discuter de la proposition, l'inclusion du déploiement risque de la faire dérailler.
Je pense donc que James a probablement fait une erreur en mettant ça là.Racine pivotante La section « Déploiement »T été définie qu'après Taproot. Les modifications de code ont été intégrées à Bitcoin CORE , mais ne sont pas actives. Il n'est pas rare de dire que nous nous occuperons du déploiement après avoir déterminé les modifications souhaitées.
Speedy Trial était une expérience pour Taproot. Nous avons testé différentes méthodes de déploiement au fil des ans, avec plus ou moins de succès.
Frederick Munawa
Frederick Munawa était journaliste spécialisé en Technologies pour CoinDesk. Il couvrait les protocoles blockchain, en particulier le Bitcoin et les réseaux adjacents. Avant de travailler dans le secteur de la blockchain, il a travaillé à la Banque Royale du Canada, chez Fidelity Investments et dans plusieurs autres institutions financières internationales. Il possède une formation en Finance et en droit, avec une spécialisation en Technologies, en investissements et en réglementation des valeurs mobilières. Frederick possède des parts du fonds CI Bitcoin ETF au-dessus du seuil de Déclaration de transparence de 1 000 $ de Coindesk.
