De «Hello World» à Bitcoin Core – Rajarshi Maitra
Récemment, ma première demande d’extraction à Bitcoin Core a été fusionnée. Il ne s’agissait pas d’un changement critique du protocole, mais d’une petite fonctionnalité ajoutée au cadre de test, qui peut parfois être utile aux développeurs. Cela a achevé l’une de mes étapes personnelles depuis que j’ai commencé mon voyage avec Bitcoin, le 26 octobre 2017. Je me souviens brièvement de la date et même de l’heure exacte à laquelle tout a commencé, simplement en raison de l’impact que cela a eu sur moi. Depuis lors, mon voyage dans le terrier du lapin m’a conduit à explorer des sujets qui n’ont jamais fait partie de mon cheminement de carrière imaginable. Et en chemin, j’ai rencontré des gens incroyables et probablement des amis pour la vie.
Comme je viens d’un milieu non-CS, tout ce qui concerne Bitcoin était tout nouveau pour moi. Des concepts, des idées et des terminologies sont apparus partout que je n’avais jamais entendus auparavant. Les premières semaines ont été écrasantes alors que je découvrais l’intersection de plusieurs disciplines à partir de l’informatique, des mathématiques à l’économie et à la politique. La dissonance cognitive a été difficile et la réalisation inévitable de l’argent est encore plus difficile. Je savais que je marchais sur quelque chose de grand et que je voulais aller le plus profondément possible. Être un développeur n’a jamais fait partie du plan car je ne cherchais pas d’opportunités de carrière. Mais le chemin de la curiosité est fortuit, et honnêtement, c’est le plaisir. La seule raison pour laquelle j’ai commencé à apprendre à coder était d’avoir une compréhension plus intime du Bitcoin. Et il m’a fallu 2 ans 5 mois pour écrire mon premier « Bonjour le monde » programme en Python, pour obtenir mon premier PR fusionné dans Core.
J’ai partagé mon enthousiasme de cette journée dans un tweet et à ma grande surprise, beaucoup de gens m’ont approché en disant que c’est une source d’inspiration pour beaucoup d’autres qui sont à différentes étapes du même voyage.
Dans cet article, je vais essayer d’articuler mon expérience du voyage dans l’espoir que cela puisse être utile pour les personnes qui cherchent un chemin similaire et se demandent si l’effort en vaut la peine. Tl; dr, c’est.
J’aime le décrire comme une «randonnée sur la colline du Bitcoin», par opposition à l’analogie plus courante «tomber dans le terrier du lapin». Bien qu’il y ait certainement une chute au début, mais une fois que vous avez surmonté la dissonance initiale et que vous avez clarifié votre vue, vous réalisez exactement ce que vous regardez. Ensuite, il est temps pour une action, et la «randonnée» commence.
La randonnée
Avant de partir en randonnée, nous essayons de prendre des informations périphériques sur le voyage, l’itinéraire, l’environnement, l’histoire et les histoires du lieu que nous allons visiter. Ces informations nous aident à chérir toute l’étendue du voyage, et elles deviennent une véritable expérience plutôt qu’une simple promenade. Il en va de même pour la «randonnée Bitcoin». On peut très bien devenir un expert de la «Blockchain Technology» sans jamais s’en rendre compte (croyez-moi, ils existent), mais vous ne pouvez jamais être un Bitcoiner sans eux. La randonnée Bitcoin fait finalement partie de la lutte humaine sans fin pour la liberté. La randonnée se termine à un sommet dans un hyperbitcoinisé monde, libre de la tyrannie de l’État et du vol perpétuel du pouvoir d’achat public par le régime actuel de la monnaie fiduciaire.
Beaucoup a été écrit, dit, envisagé et expliqué sur ce qu’est le Bitcoin au cours de la dernière décennie. Pourtant, nous n’avons toujours pas été en mesure de trouver une définition de Bitcoin, et il est probable que nous ne le pourrions jamais. Ce n’est pas seulement parce que le Bitcoin est beaucoup trop multidisciplinaire pour le lier en une seule définition, mais aussi parce qu’il s’agit en fin de compte d’un système de consensus social. Qu’est-ce que le Bitcoin, dépend de ce que tout le monde pense que le Bitcoin est en ce moment. Et ce consensus peut très bien changer dans l’instant suivant. Le bitcoin est différent pour différentes personnes. Selon son domaine d’expertise actuel, sa vision du monde, sa motivation politique et sa situation environnementale, chaque individu la perçoit sous différents angles.
Bitcoin est une colline avec de nombreux chemins de randonnée. Selon l’endroit où quelqu’un commence, il peut tracer différents itinéraires et vivre des expériences différentes. Mais ils atteignent tous finalement le même pic.
Pour quelqu’un qui cherche à commencer l’itinéraire technique le long de la colline, voici ma courte tentative d’expliquer le protocole Bitcoin à partir d’un niveau à vol d’oiseau.
Le Bitcoin est un ensemble de règles de communication. Si vous avez déjà joué au jeu des chiffres dans votre enfance, où vous et vos amis embrouillez les mots lorsque vous communiquez dans une classe de course en passant des notes, Bitcoin est presque comme ça. Seuls vous et vos amis connaissiez les règles pour les effacer, et aucun des autres amis n’a pu lire le message en transit. Le bitcoin est comme une telle règle de communication, mais pour les ordinateurs, et contrairement au jeu de chiffrement, il ne crypte rien. Chaque ordinateur exécutant le logiciel Bitcoin peut parler à d’autres ordinateurs exécutant Bitcoin (alias nœuds) sur Internet. Et ils communiquent entre eux en suivant ces règles, connues sous le nom de Protocole Bitcoin. Ces règles sont spéciales et ont été conçues pour faciliter un objectif particulier. En suivant ces règles, chaque ordinateur peut s’entendre entre eux sur l’état d’une base de données. Cette base de données est canoniquement appelée Blockchain et chaque nœud en conserve une copie locale. Les informations contenues dans cette base de données s’il s’agit d’une « X possède Y bitcoins ». Et comme chaque nœud est d’accord à chaque instant sur l’état de cette base de données, chaque nœud peut répondre à la question du formulaire « Qui possède quoi », à chaque instant. Quel que soit le nœud du réseau que vous demandez, ils donneront tous la même réponse exacte. Ainsi, en suivant ces règles plutôt particulières, le réseau Bitcoin simule un système monétaire mondial, où des accords sur qui possède combien d’argent peuvent être convenus entre tous les nœuds, sans avoir un point central d’autorité.
Cette dernière phrase est d’une importance cruciale. La raison de faire une telle danse de protocole entre ordinateurs est de s’entendre sans avoir besoin d’une autorité centrale. Si vous avez une autorité centrale, vous n’avez plus besoin du protocole, car alors l’autorité ne fait que suivre qui détient quoi, et tout le monde peut simplement demander à l’autorité. Ainsi, le protocole Bitcoin résout essentiellement le problème de Accord sans autorisation.
Ce problème d’accord était assez ancien et a été officiellement décrit pour la première fois en 1982 dans le contexte des systèmes informatiques distribués, connus sous le nom de Problème des généraux byzantins. Mais plus profondément dans l’énoncé, le problème est davantage d’ordre socio-politique que d’informatique.
Comment un groupe d’entités de confiance, vivant dans un environnement accusatoire, peut-il s’entendre sur une déclaration?
Ce problème sévit dans la société humaine depuis le tout début de l’ère de la colonisation, comme vous pouvez facilement deviner que de tels problèmes se poseraient en matière de gouvernance sociale. La seule solution possible que les humains ont pu trouver jusqu’à présent est l’idéation de l ‘«État» (chef de troupeau / monarchie / démocratie). L’État est investi du pouvoir faisant autorité de «décider» des déclarations de vrai et faux au nom de l’ensemble de la société, et tout le monde peut simplement demander à l’État chaque fois qu’il en a besoin. Lorsque le même problème survient dans le contexte de l’argent et des finances, nous l’avons résolu avec Les banques commerciales et Banques centrales. Là où les gens demandent aux banques commerciales et à leur tour, ils demandent à la banque centrale de résoudre ces questions de prise de décision. Des aperçus de ce problème peuvent être trouvés presque partout dans notre société, et dans chacun d’eux, la seule solution que les humains ont est de placer une figure faisant autorité pour dicter les informations nécessaires pour que les individus puissent s’entendre.
C’est jusqu’au 3 janvier 2009. Lorsqu’une entité pseudonyme nommée Satoshi Nakamoto, a ouvertement publié un code C ++ qui semblait décrire un protocole de communication, qui prétendait résoudre le problème des généraux byzantins. Jusqu’à présent, Bitcoin a résolu le problème, pour des milliers de nœuds, sans faute, au cours des 11 dernières années.
Ainsi est née la première instance d’une solution au problème de Accord sans autorisation, et sa première application a été un système monétaire mondial décentralisé, qui ne peut être capturé, contrôlé, nié, gonflé ou arrêté.
Donc, évidemment, Bitcoin Hill est une randonnée sacrément excitante à prendre.
Le sac à dos
Donc, comme on commence une randonnée sur la colline Bitcoin, il y a peu d’éléments essentiels à rassembler. Contrairement à une véritable randonnée, la plupart des outils et des utilitaires doivent être choisis le long de la route. Mais pour commencer, nous avons besoin de quelques primitives de base.
- Cryptographie: Bitcoin est un protocole cryptographique. Même s’il n’utilise aucune forme de cryptage / décryptage (cela peut changer avec BIP324), il existe d’autres constructions cryptographiques largement utilisées à l’intérieur. Les plus importants sont les fonctions de hachage et le Algorithme de signature numérique. Les fonctions de hachage sont utilisées pour simuler engagements et sont la base entière de la Preuve de travail algorithme de consensus qui résout le problème des généraux byzantins parmi les pairs non fiables. L’algorithme de signature numérique est utilisé pour simuler la preuve de propriété sur les actifs numériques (bitcoins) dans le protocole. Alors, suivre un cours de cryptographie 101 aidera certainement. Il y en a beaucoup disponibles en ligne, j’ai pris celui-là.
- Programmation: Bitcoin est un protocole de communication pour les ordinateurs connectés via Internet. Alors naturellement, les règles sont écrites dans un langage que les ordinateurs peuvent comprendre. La première implémentation de référence a été écrite en C ++ par Satoshi Nakamoto, connue sous le nom de Bitcoin Core. Des traductions du même ensemble de règles peuvent être trouvées dans presque tous les autres langages de programmation. Donc, pour parcourir le sentier, il faut absolument avoir des connaissances en programmation. C’est de loin la plus grande courbe d’apprentissage si vous partez de zéro. Il existe diverses ressources pour vous salir les pieds avec les concepts de programmation, et presque tout est accessible gratuitement. Je laisse au lecteur le soin d’explorer par lui-même les formats d’apprentissage appropriés. Si vous êtes nouveau dans la programmation, le langage le plus simple est probablement le python. Il y a un bon article de Pierre Rochard sur le côté technique du bitcoin. Justin Moen luneiversité est une excellente ressource avec des vidéos de tutoriel pour créer un système de type bitcoin à partir de zéro en python. Jimmy Song a écrit Programmation de Bitcoin où vous développez une bibliothèque de python bitcoin factice à partir de zéro, vous donnant un bon aperçu du fonctionnement des différentes parties du système. Christopher Allen a une belle solution de apprendre le bitcoin à partir de la ligne de commande, qui vous permettra de vous familiariser avec Bitcoin RPC et le terminal Linux. Et utilise Maîtriser le Bitcoin par Andreas Antonopoulos comme livre de référence goto. La programmation est une discipline assez vaste et ne se limite pas seulement au Bitcoin. Cela peut parfois sembler effrayant, mais c’est réalisable même sans diplôme en informatique. N’oubliez pas de ne jamais quitter si vous voulez entreprendre cette quête, continuez simplement à marcher.
- Le club: Une fois que vous avez terminé de rassembler les préliminaires dans votre sac à dos, la prochaine chose à faire est de rejoindre un club. Heureusement, il existe un club Bitcoin PR Review, créé par Jhon Newberry l’année dernière. Tous les mercredis, les participants analysent et discutent une demande Pull dans Bitcoin Core. Ce n’est pas seulement le meilleur endroit pour se familiariser avec la base de code, mais un terrain très mûr pour que les nouveaux apprenants saisissent rapidement de nouveaux concepts. Cela peut sembler un peu intimidant au début. Mais rappelez-vous qu’il ne s’agit pas de tout savoir, mais de comprendre ce que vous ne savez pas encore, puis revenez en arrière et apprenez-le. Au fil du temps, vous accumulerez suffisamment de compréhension et de connaissances pour pouvoir participer de manière significative aux conversations ainsi qu’au processus d’examen de GitHub. John Newbery, Jonatack, Jimmy Songet Amiti Uttarwar a créé d’excellents articles expliquant le parcours de contribution à Core. Ce sont d’excellentes ressources pour commencer une fois que vous êtes prêt à vous salir les mains avec la programmation Bitcoin du monde réel.
- Economie / Politique / Théorie des jeux: Enfin, lorsque vous continuez à emballer votre sac à dos, gardez à l’esprit que Bitcoin est bien plus que du code. Au-delà des détails techniques, le Bitcoin est un beau phénomène social. Le système fonctionne selon une conception incitative intelligente où la bonne quantité d’incitations est fournie à chaque participant du réseau, afin que tout le monde soit mieux en soutenant le système au lieu de l’attaquer. Cette conception économique simule une convergence théorique du jeu de l’état de la Blockchain parmi tous ses participants. Une commande émerge des événements apparemment aléatoires de l’opération de hachage SHA256 dans le mécanisme de preuve de travail. Bitcoin est appelé comme la première instance créée par l’homme d’anarchie déterministe. Mais la philosophie derrière cette idée est politique, et la graine a grandi pendant au moins les 30 dernières années dans un activisme connu sous le nom de Mouvement Cypherpunk. Il s’agissait essentiellement d’un activisme universitaire clandestin visant à utiliser les mathématiques et les outils de la cryptographie pour démolir l’empiètement de l’État sur la liberté humaine dans le monde. Le Bitcoin est le fruit du mouvement Cypherpunk. De plus, l’idée se rattache parfaitement à un champ complètement indépendant de contraires dans le domaine de l’économie connu sous le nom de École autrichienne d’économie. Où les universitaires ont démystifié les graves lacunes du régime actuel de la monnaie fiduciaire depuis au moins les années 1920. Beaucoup de choses ont été dites et explorées sur l’Internet ouvert à propos de l’histoire et de la politique de Bitcoin, et il est beaucoup plus important de les connaître que de simplement apprendre à coder. Dan Held a écrit un compte rendu détaillé des principes et de l’activisme derrière Bitcoin dans sa série Planting Bitcoin. Saifedean Ammous a donné un compte rendu complet de l’implication d’une norme monétaire solide sur notre économie, notre société et nos vies personnelles dans son livre La norme Bitcoin. Parker Lewis a expliqué comment l’implication d’une norme de l’argent dur est presque inévitable dans sa série Progressivement, puis soudain. Une liste énorme mais non exhaustive de ressources de diverses disciplines liées au Bitcoin peut être trouvée ici, ici, ici et ici.
Conclusion
La quantité de ressources peut sembler écrasante. Il est facilement possible que ce soit le plus grand voyage intellectuel que vous ayez jamais entrepris. Mais ne soyez pas submergé, car vous n’avez pas à tout apprendre en une seule fois. Si vous êtes ici pour les bonnes raisons, vous saurez que c’est un voyage d’une vie. Le Bitcoin n’est pas un schéma rapide pour devenir riche. C’est une idée rapide gratuite. La première chose – au moins quelques onces des connaissances Bitcoin ci-dessus – fera est de réduire votre préférence de temps radicalement. Et cela en soi est une énorme amélioration personnelle. Apprendre le sujet du Bitcoin, c’est comme manger un éléphant géant, vous ne pouvez pas le manger d’un coup, vous devez prendre une bouchée à la fois.
Et je ne saurais trop insister sur le fait qu’il est encore plus important de comprendre le «pourquoi» du Bitcoin que le «comment». Si vous avez entrevu un monde hyperbitcoinisé, à l’abri de la tyrannie des dictatures, à l’abri de fortes inégalités liées à l’effet Cantillon, à l’abri des banques centrales vous privant régulièrement de votre pouvoir d’achat pour nourrir les Rues Murales du monde, à l’abri de l’exclusion financière , libre de torturer des embargos commerciaux visant à satisfaire l’ego malade de l’État, libre de guerres sans fin et de violations des droits de l’homme partout dans le monde, vous avez déjà emballé votre sac à dos. La seule chose qui reste est de sortir de votre confort et de commencer à marcher. Et si vous y êtes, vous avez déjà obtenu les réponses les plus précieuses de «Pourquoi», et le «Comment» est là, attendant d’être digéré, gratuitement.
Si vous avez atteint jusqu’à présent, c’est le genre de votre devoir moral d’investir toute capacité intellectuelle excessive que vous pouvez épargner dans l’amélioration du Bitcoin, sous quelque forme que ce soit. Participer à ce mouvement volontaire pacifique, créé par le peuple, pour le peuple, pour apporter la liberté non seulement dans votre pays mais dans le monde entier ensemble. Le mouvement ne reconnaît pas la culture, les frontières ou la race, car l’extorsion de la tyrannie n’en reconnaît aucun. Le Bitcoin est peut-être la première étape la plus efficace pour réparer votre monde qui est complètement rompu à tous les aspects d’une société fonctionnelle. Mais le Bitcoin est plus qu’un simple code. C’est un virus d’idée. Et si vous en êtes infecté à fond, vous saurez dans votre instinct ce que vous devez faire pour le répandre parmi les esprits sans méfiance.
Sous ce masque, il y a plus que de la chair, Sous ce masque, il y a une idée, M. Creedy, et les idées sont pare-balles. – V pour Vendetta
Peu importe que vous ne puissiez pas coder ou que vous n’ayez pas la ténacité ou la fascination pour l’apprendre. Même penser et contempler Bitcoin assis dans le coin de votre chambre est une contribution positive à l’idée. Soyez l’ami ennuyeux de votre groupe qui n’arrête pas de parler de Bitcoin. Soyez le facilitateur technique pour vos amis, votre famille et vos voisins qui ne peuvent pas accéder seuls à cette classe d’actifs. Soyez un éducateur Bitcoin. Honnêtement, il n’y a pas d ‘«expert Bitcoin» dans ce monde. Soyez l’expert dont vos gens ont besoin.
J’espère que cette pièce donne des indices utiles sur la façon de commencer votre randonnée sur la colline Bitcoin. Même s’il n’y a pas de piste parfaite à suivre, vous pouvez toujours créer votre propre piste. En fait, c’est la façon la plus correcte de profiter de ce voyage. Faites un détour, perdez-vous pendant quelques mois, puis revenez plus fort. Même si je viens juste de commencer ma randonnée, c’est sûrement l’effort intellectuel le plus gratifiant que j’ai entrepris. J’espère que ce marmonnement avait un certain sens, et je vous verrai au sommet de l’hyperbitcoinisation.
En route pour la lune !!