
Quelles sont les caractéristiques les plus importantes du Bitcoin ?
TechFlow SélectionTechFlow Sélection

Quelles sont les caractéristiques les plus importantes du Bitcoin ?
Qu'est-ce que le bitcoin ? Et en quoi devrait-il s'efforcer de devenir ?
Par : Jameson Lopp
Traduction : BTC Study
Qu'est-ce que Bitcoin ? De nombreuses personnes ont déjà tenté d'y répondre, mais je crois que notre quête de réponse est destinée à être sans fin. Qu'est-ce que Bitcoin ? Vers quoi devrait-il tendre ? Les recherches et discussions les plus avancées détermineront la direction future du protocole Bitcoin.
Il peut être difficile pour un nouveau venu de distinguer quelles propositions sont le plus susceptibles d'être adoptées, car il existe de nombreuses règles informelles entourant les modifications du protocole Bitcoin. Certaines sont davantage philosophiques, d'autres techniques ou liées à la sécurité, et certaines combinent ces aspects.
Le consensus n’est pas une commande centralisée
Aucune autorité centrale n'existe dans le système Bitcoin, et même les principes exposés ici n'ont aucune valeur officielle — ils proviennent simplement de mes observations personnelles ainsi que celles d'autres participants à l'écosystème.
-
Bitcoin est un système qui découvre automatiquement et continuellement le consensus entre ses participants. Il applique le consensus humain via le consensus machine.
-
Un échec du consensus entraînerait une perte de confiance des participants dans le système, ce qui pourrait le détruire.
-
Les modifications du code de consensus doivent être évitées autant que possible.
-
Les utilisateurs ne devraient jamais être contraints d'accepter un changement de protocole sans leur consentement. Autrement dit, ceux qui veulent rejoindre devraient pouvoir le faire librement, plutôt que d'obliger ceux qui ne veulent pas à sortir.
-
Les clients logiciels ne devraient donc pas se mettre à jour automatiquement, car cela transformerait un droit des utilisateurs en un pouvoir détenu par les développeurs.
-
Étant donné que Bitcoin est fondamentalement un réseau distribué, on ne peut supposer que chaque utilisateur surveille en permanence les changements de protocole.
Comment modifier le système Bitcoin ? Avant toute modification du code de consensus, nous devons d’abord parvenir à un consensus humain sur le contenu du changement. Ce document décrit le processus formel des propositions d'amélioration de Bitcoin (BIP). Ce processus n’est pas parfait, car la formation du consensus est extrêmement complexe.
Johnson Lau a publié un article détaillant les différents types de fork (mécanismes de modification du consensus machine), et Paul Sztorc a approfondi les différences de caractère obligatoire entre les divers types de fork.
Quelles méthodes ont été utilisées historiquement pour modifier le protocole Bitcoin ?
-
Sur demande de Satoshi Nakamoto
-
Vote en chaîne par les mineurs (BIP 16)
-
Mise à niveau par date marquée (BIP 30)
-
Mécanisme IsSuperMajority (basculement à double seuil) (BIP 34, BIP 65, BIP 66)
-
Bits de version (BIP 9)
Qui a le droit d’accepter ou de rejeter une proposition de modification ? L’objectif des développeurs est d’atteindre un « consensus approximatif », c’est-à-dire que la proposition n’a pas besoin d’être approuvée par 100 % des participants, mais elle doit être suffisamment développée.
Comment mesurer le soutien de l’écosystème Bitcoin à une proposition ? Les développeurs discutent avec les participants potentiellement affectés. Toute personne suivant le développement peut contribuer via les listes de diffusion, les dépôts de code, les réseaux sociaux, etc.
Enfin, la gouvernance du protocole ne s’exerce pas de manière descendante selon un modèle prédéfini. Contrairement aux modèles traditionnels de gouvernance, celle de Bitcoin est ascendante.
Minimisation de la confiance
« Bitcoin est une monnaie électronique pair-à-pair ayant plus de valeur que les systèmes traditionnels parce qu’il donne aux utilisateurs le contrôle monétaire grâce à la décentralisation. Bitcoin vise à résoudre le problème fondamental des monnaies traditionnelles : leur dépendance à la confiance. Cela ne signifie pas que la confiance soit mauvaise, mais elle rend les systèmes vulnérables, opaques et coûteux à exploiter. Lorsque la confiance échoue, le système s’effondre ; lorsqu’elle est sélective, elle crée des inégalités, des monopoles fermés et des goulets d’étranglement qui entravent l’accès légitime. »
« Grâce aux preuves cryptographiques et au réseau décentralisé, Bitcoin minimise et remplace autant que possible le coût de la confiance. Fondamentalement, avec les technologies actuelles, nous devons encore arbitrer entre extensibilité et décentralisation. Si le coût d’exécution du système est trop élevé, les individus ne peuvent plus appliquer eux-mêmes les règles et doivent faire confiance à des tiers. Si la blockchain Bitcoin consomme bien plus de ressources que ce que permet la technologie actuelle, elle perdrait en compétitivité face aux systèmes traditionnels, car un coût de vérification excessif (au-delà de la capacité de nombreux utilisateurs) ramènerait inévitablement la confiance dans le système. Si le débit est trop faible et les modes de transaction inefficaces, recourir à la blockchain pour régler un litige deviendrait trop cher, ce qui ramènerait aussi la confiance. »
— Greg Maxwell
Le développeur Bitcoin Matt Corallo souligne également l’importance cruciale de la minimisation de la confiance :
« Parmi les nombreuses caractéristiques de Bitcoin, la non-confiance (les utilisateurs n’ont besoin de faire confiance à personne ou rien d’autre qu’un logiciel open source en fonctionnement) reste la plus importante. Plus précisément, l’intérêt pour Bitcoin provient largement d’un désir commun : ne plus jamais avoir à faire confiance à un tiers ou à une alliance de tiers. Cela est probablement bien connu, mais comprendre pourquoi la non-confiance est si importante (et sous quelles formes elle se manifeste) est essentiel au développement et à l’amélioration de la technologie Bitcoin. »
Beaucoup des autres principes de Bitcoin présentés ici reposent sur le besoin de minimiser la confiance. Ces principes découlent de cette exigence et y contribuent. Nous ne pourrons jamais atteindre une absence totale de confiance, car personne n’a les ressources nécessaires pour auditer tous les logiciels et matériels qu’il utilise pour interagir avec le réseau. Mais nous pouvons nous en approcher très près. Ainsi, nous pouvons raisonnablement croire que des participants transparents et alignés sur leurs intérêts ne conspireront pas contre l’écosystème.
Décentralisation
Un système ouvert comme Bitcoin, s’il devenait trop centralisé au point d’être contrôlé par un individu ou un cartel monopolistique, perdrait toutes les autres propriétés souhaitables mentionnées ici. La décentralisation est un moyen, pas une fin. En répartissant le pouvoir aussi largement que possible, nous minimisons la nécessité de faire confiance à une entité spécifique, sachant qu’aucune ne peut interférer avec notre utilisation du système.
« Beaucoup pensent que les monnaies électroniques sont vouées à l’échec, car toutes les entreprises qui ont essayé depuis les années 1990 ont échoué. Je tiens à préciser que la seule cause de cet échec est le contrôle centralisé. Je pense que c’est la première fois que nous tentons de créer un système décentralisé qui ne repose pas sur la confiance. »
Voici quelques dimensions potentielles de mesure de la centralisation, qui sont difficiles à quantifier :
-
Les bourses
-
Les développeurs
-
Les clients logiciels
-
Les pools miniers
-
Les logiciels miniers
-
Les nœuds à revenus élevés
-
La distribution générale de la propriété de valeur
-
La proportion d’utilisateurs contrôlant leurs propres clés privées
-
La proportion d’utilisateurs exécutant leurs propres nœuds pour auditer le grand livre
Le fait que l’un de ces indicateurs soit fortement centralisé n’implique pas nécessairement que tout le système l’est. Toutefois, nous devons garder à l’esprit que la force d’un système dépend de son maillon le plus faible. Par conséquent, avant toute modification du système, nous devrions soigneusement considérer les risques de concentration du pouvoir dans l’une de ces dimensions.
Résistance à la censure
Personne ne devrait pouvoir empêcher autrui d’interagir avec le réseau Bitcoin, ni retarder indéfiniment la confirmation d’une transaction valide. Bien que les mineurs puissent choisir librement quelles transactions inclure, toute transaction valide accompagnée de frais élevats sera confirmée tôt ou tard par des mineurs rationnels.
Pseudo-anonymat
Nul n’a besoin de fournir une pièce d’identité officielle pour détenir ou utiliser Bitcoin. Ce principe renforce la résistance à la censure et l’homogénéité du système, car il devient plus difficile d’identifier des « UTXO souillés » lorsque le système lui-même ne suit pas les utilisateurs. On peut étendre ce principe : le système ne requiert pas que ses utilisateurs soient des êtres humains.
Open source
Le code source des clients Bitcoin doit rester ouvert, consultable, modifiable, copiable et partageable par tous. La valeur de Bitcoin repose sur la transparence et l’auditabilité du système. C’est parce que nous pouvons examiner intégralement le système que nous n’avons pas besoin de faire confiance à une entité. Sous l’effet d’incitations économiques, les participants agissent honnêtement, sachant que la malhonnêteté serait punie. À quoi bon disposer d’une fonctionnalité d’audit si le code utilisé pour interagir avec le système ne peut pas être audité par l’utilisateur ?
Collaboration ouverte
Bien que chacun puisse effectuer des recherches et développements en privé, toute tentative de modification du protocole, surtout incompatible avec les versions antérieures, devrait être menée publiquement, et non en secret. Bitcoin appartient à l’humanité, donc toute proposition d’amélioration devrait être soumise à l’examen public. Le processus BIP est la méthode recommandée, mais non obligatoire, car aucune autorité ne peut l’imposer.
Les dynamiques de pouvoir issues de l’organisation spontanée peuvent donner l’illusion que certains individus ou groupes détiennent le pouvoir, mais c’est une illusion.
Permissionless
Aucun portier ne peut empêcher quiconque (en tant que trader, nœud, mineur, etc.) de participer au réseau. C’est grâce à la minimisation de la confiance, à la résistance à la censure et au pseudo-anonymat.
Neutralité juridique
Le développement de Bitcoin ne tient compte d’aucune loi nationale ou régionale, tout comme les autres protocoles Internet. Bitcoin ne s’adapte pas aux régulateurs ; ce sont les régulateurs qui doivent s’adapter aux fonctionnalités permises par la technologie Bitcoin.
Homogénéité
L’homogénéité est une caractéristique essentielle d’une monnaie saine. Si chaque utilisateur devait analyser si les bitcoins reçus sont « souillés », l’utilité du système serait gravement compromise.
Tous les UTXO devraient être égaux lorsqu’ils sont dépensés. Malheureusement, ce n’est pas le cas aujourd’hui : des services existent pour tracer les UTXO « souillés » associés à des activités criminelles. Cette discrimination a pour effet secondaire que des utilisateurs innocents peuvent être arrêtés s’ils dépensent un UTXO provenant indirectement d’un UTXO souillé.
L’homogénéité nécessite la confidentialité. La confidentialité signifie qu’un observateur externe ne peut pas identifier le propriétaire d’une transaction au sein d’une grande population d’utilisateurs. Or, la vie privée des utilisateurs Bitcoin fait face à nombreuses menaces connues. Par conséquent, Bitcoin actuel est loin d’être pleinement homogène.
Compatibilité ascendante
Bitcoin permet de signer des transactions sans les diffuser immédiatement. Ainsi, toute transaction signée mais non diffusée reste valide et peut être diffusée ultérieurement. Les transactions avec verrou temporel en sont un excellent exemple : elles ne peuvent être confirmées qu’après une date donnée, utile pour des scénarios comme la succession ou tout autre usage nécessitant un délai. Modifier cette règle aurait des conséquences graves : un nombre inconnu de transactions non diffusées deviendraient invalides. Personne ne voudrait endosser la responsabilité de briser une règle sur laquelle les utilisateurs comptaient auparavant, au risque de pertes financières.
En réalité, c’est justement parce que Bitcoin respecte le principe de compatibilité ascendante que les utilisateurs ont confiance dans le protocole. Chacun peut concevoir et déployer librement des mesures pour protéger ses bitcoins, sans demander d’autorisation. Tant que les utilisateurs respectent les règles du protocole, le pire qui puisse arriver est que les nœuds cessent par défaut de relayer certaines transactions.
Minimisation de l'utilisation des ressources
Pour maintenir un coût de validation faible, l’espace dans les blocs est une ressource rare. Par conséquent, occuper beaucoup d’espace dans les blocs est coûteux pour tout le monde. Un principe important est d’encourager la dépense (consommation) d’UTXO plutôt que leur création. Ce principe pourrait changer si un accumulateur UTXO réussissait à résoudre le problème de l’inflation UTXO.
La validation doit être peu coûteuse, afin que davantage d’utilisateurs puissent se permettre d’auditer le système, renforçant ainsi la minimisation de la confiance. Un faible coût de validation augmente aussi considérablement le coût des attaques par épuisement de ressources. Bitcoin propose un mécanisme permettant de rejeter rapidement les blocs invalides à faible coût. C’est le principe de base du hashcash : l’attaquant doit payer cher pour envoyer des spams. Avant de synchroniser les transactions d’un bloc, les nœuds peuvent télécharger un en-tête de 80 octets, obtenir la preuve de travail et effectuer une vérification rapide et précise.
En outre, nous devrions privilégier une utilisation efficace de l’espace dans les blocs, en stockant uniquement les données minimales nécessaires à la validation d’opérations complexes, plutôt que d’exécuter directement ces opérations sur la chaîne.
Vérification > Calcul
Cela relève du principe de minimisation des ressources. Idéalement, aussi peu de personnes que possible devraient avoir à exécuter une logique complexe. Les autres participants exécutant un nœud de validation complète ne devraient pas avoir à suivre chaque étape du calcul, mais simplement s’assurer que la logique a été correctement exécutée. La correction prime sur l’intégralité.
« Utilisons la blockchain là où elle excelle. »
— Andrew Poelstra
Pour tout système, la meilleure optimisation consiste à éviter d’effectuer des calculs. La force de la blockchain réside dans le stockage de données horodatées pour audit. Plutôt que d’exiger que tous les participants calculent la logique de transactions qui ne les concernent pas, il suffit de stocker une preuve de calcul vérifiable par les parties concernées.
Convergence
Deux clients Bitcoin connectés à un même nœud honnête devraient finir par converger vers la même tête de chaîne. À titre d’exemple inverse, la règle proposée par Bitcoin ABC limitant les réorganisations à 10 blocs maximum viole ce principe. Résultat : en cas de partition ou de blocage du réseau, les mineurs affectés continueront à miner sur une autre chaîne. Après la fusion du réseau, les deux chaînes ne convergeront pas vers celle ayant la preuve de travail cumulée la plus élevée.
Toutes les opérations de transaction doivent être déterministes. Si l’état du système est identique, la transaction ne doit pouvoir s’exécuter que d’une seule manière, sans influence de facteurs externes. De même, un script ne devrait pas fonctionner différemment sur deux machines distinctes. La solution unique est l’isolement : les contrats intelligents et les transactions doivent être indépendants des facteurs non déterministes.
Les modifications de protocole ne devraient pas exposer les transactions au risque d’invalidation suite à une réorganisation de chaîne. Les opérations de transaction devraient non seulement être déterministes, mais aussi sans état.Par exemple, la proposition OP_BLOCKNUMBER de 2010.
Certaines personnes ont proposé des opcodes qui pourraient invalider une transaction après une réorganisation. Ces propositions sont généralement invitées à être redessinées avec OP_CLTV pour garantir la compatibilité ascendante. Mais parfois, cela peut être superflu ou irréaliste. Une suggestion consiste à introduire un opcode empêchant une transaction d’être incluse dans les 100 prochains blocs, similaire à une transaction coinbase ou à un verrou temporel OP_CSV de 100 blocs.
Immuabilité des transactions
Étant donné un bloc, plus il y a de blocs suivants, plus la probabilité que ce bloc devienne orphelin à cause d’une réorganisation diminue. Bien que le protocole Bitcoin autorise théoriquement des réorganisations de n’importe quelle longueur, des réorganisations trop longues pourraient causer des dommages, car certains logiciels ou nœuds ne sauraient pas les gérer correctement. De plus, une réorganisation de plus de 100 blocs serait particulièrement destructrice, car elle annulerait des transactions coinbase déjà dépensées, détruisant ainsi cette valeur.
Bien qu’il soit techniquement impossible de garantir l’immuabilité, nous pouvons nous assurer qu’avec une preuve de travail cumulée suffisante, le coût de retour arrière sur une transaction devient prohibitivement élevé.
Résistance aux attaques DoS
Un nœud distant ne devrait pas pouvoir envoyer à un nœud local des messages qui consommeraient excessivement ses ressources. Cependant, l’apparition des filtres Bloom SPV a violé ce principe. Un attaquant peut exploiter cette fonctionnalité pour forcer un nœud cible à scanner de grandes quantités de données de blocs, saturant ainsi l’E/S disque. Recherchez "misbehav" pour voir de nombreuses règles anti-DoS. Les comportements nuisibles reçoivent des points, et si un nœud distant accumule trop de points, votre nœud le déconnectera pour éviter davantage de dommages.
Éviter les conditions de course
Si le comportement du système dépend de l’ordre ou du moment d’événements incontrôlables, des conditions de course apparaissent. Dans un système distribué et permissionless comme Bitcoin, les événements sont souvent imprévisibles. Le modèle UTXO nous aide à éviter ces situations, car une sortie ne peut être dépensée qu’une seule fois — l’état d’une sortie de transaction est binaire (dépensée ou non).
C’est aussi une autre raison pour laquelle les transactions ne devraient pas dépendre de l’état du système : si cet état change pendant une réorganisation, cela pourrait créer des conditions de course et de la complexité.
Robustesse
-
À long terme, la monnaie doit être stable.
-
Nous devons adopter une attitude conservatrice face au changement, afin de minimiser les risques pour le système tout en permettant aux utilisateurs de continuer à l’utiliser comme ils l’entendent.
-
Ne comptez pas sur les utilisateurs pour réagir activement aux problèmes du système. Nous devons donc être prudents et anticiper ces problèmes !
Que signifie concrètement la robustesse ? Elle contribue à la scalabilité sociale.
Le secret du succès de Bitcoin est qu’il échange une haute consommation d’énergie et une faible scalabilité computationnelle contre une propriété plus précieuse : la scalabilité sociale.
Beaucoup de systèmes gérés par des humains souffrent d’un problème inhérent : l’application des règles est trop arbitraire ou sujette aux caprices individuels, ce qui nuit à la fiabilité du système.
Si nous pouvons remplacer les comptables, régulateurs, enquêteurs, policiers et avocats traditionnels par l’informatique pour protéger les systèmes financiers, nous pouvons transformer des systèmes locaux faiblement sécurisés, manuels, en systèmes globaux fortement sécurisés, automatisés.
Alignement des incitations
Bitcoin fonctionne parce que les règles du système incitent les participants à être honnêtes. Par exemple, théoriquement, un mineur pourrait lancer une attaque de double dépense via une réorganisation, mais ce serait contre-productif : il investirait massivement en matériel et électricité pour subir de lourdes pertes. Pour un mineur, il est plus rentable d’investir dans la protection de la blockchain.
Fossilisation
On pense couramment que, plus l’écosystème grandit, plus il devient difficile de modifier le protocole de base. Car à mesure que les positions et motivations des utilisateurs se diversifient, moins il reste de changements inoffensifs. Ainsi, les améliorations auront plus de chances de se produire sur des couches construites au-dessus de Bitcoin.
Consensus immuable
-
Émettre plus de 21 millions de bitcoins. Bien que la précision/divisibilité puisse augmenter, la répartition de propriété doit rester inchangée.
-
Introduire toute règle qui accroîtrait nécessairement la centralisation. Par exemple, exiger que tous les blocs soient signés par une organisation centralisée.
-
L’obsolescence programmée (suppression ou redistribution des bitcoins jugés « perdus » ou « jamais utilisés »). Objectivement, on ne peut pas affirmer qu’une clé privée est perdue juste parce qu’un UTXO n’a pas été dépensé pendant une période donnée. À la date de publication, bien que plus d’un million de BTC soient soupçonnés perdus, environ 5 000 seulement ont été confirmés comme tels.
Principes conflictuels
Améliorer l’homogénéité (via la confidentialité) au point de rendre l’offre non vérifiable est impossible, tout comme améliorer l’homogénéité au détriment de l’auditabilité est controversé.
Parfois, nous pourrions souhaiter, pour protéger le réseau, que certains UTXO ne puissent plus être dépensés — par exemple, les bitcoins P2PK vulnérables aux attaques quantiques. De telles propositions sont controversées, mais pourraient être acceptées si les bénéfices l’emportent largement sur les inconvénients.
La validité fournie par Bitcoin n’est pas permanente, car une réorganisation peut survenir avant une transaction coinbase, c’est-à-dire avant que de nouveaux bitcoins ne soient créés. La règle des 100 blocs de confirmation pour les transactions coinbase aide à prévenir cela. À ce jour, les réorganisations sur le réseau principal de Bitcoin dépassant une profondeur de 1 bloc sont extrêmement rares.
Enfin, l’un des principaux motifs de conflits au sein de l’écosystème Bitcoin est qu’il ne peut pas satisfaire tous les besoins simultanément. Sinon, il sombrerait, car plusieurs principes importants sont incompatibles, par exemple :
-
Assurer à la fois un faible coût global de validation et un faible coût des transactions
-
Utiliser un langage de programmation riche tout en maintenant une petite surface d’attaque
Avancement collectif
Pour que les utilisateurs continuent à faire confiance à Bitcoin et à l’utiliser pour leurs transactions, la communauté Bitcoin doit s’engager à ne procéder à des changements qu’avec un large consensus. Inversement, pour éviter que Bitcoin ne stagne, la communauté doit être prête à s’entendre sur des changements qui profitent au système sans nuire à autrui, quelles que soient les formes que prennent ces changements basés sur le consensus. L’essentiel est que, dès que possible, tout changement apportant un bénéfice sans nuire à l’utilité de Bitcoin dans ses divers cas d’usage devrait être mis en œuvre.
— Matt Corallo
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News













