Ne brisez pas l'espace utilisateur 

  • Ne brisez pas l'espace utilisateur : Règle d'or de Linus Torvald pour le développement du noyau Linux.
  • Linux et Bitcoin : Importance de maintenir la compatibilité ascendante pour assurer le bon fonctionnement des applications.
  • Dilemme dans l'écosystème Bitcoin : Comment gérer les utilisateurs qui peuvent potentiellement briser l'espace utilisateur d'autres utilisateurs ?

« Mauro, FERME-LA MERDE  ! C'est un bug, ok – dans le noyau. Depuis combien de temps êtes-vous mainteneur ? Et vous n'avez *encore* pas appris la première règle de maintenance du noyau ? Si un changement entraîne la rupture des programmes utilisateur, il s'agit d'un bug dans le noyau. Nous ne blâmons JAMAIS les programmes utilisateur. À quel point cela peut-il être difficile à comprendre ? » -Linus Torvalds

Ne brisez pas l'espace utilisateur. C'est la règle d'or de Linus Torvald pour le développement du noyau Linux. Pour ceux d'entre vous qui lisent ceci et qui ne connaissent pas la nature de Linux ou des systèmes d'exploitation en général, le noyau est le cœur et l'âme d'un système d'exploitation. Le noyau est ce qui gère réellement le matériel, déplaçant les bits entre le stockage et la RAM, entre la RAM et le CPU au fur et à mesure que les choses sont calculées, ainsi que tous les petits périphériques et éléments de l'ordinateur réel qui doivent être contrôlés au niveau matériel.

Chaque application ou programme écrit pour un système d'exploitation doit interagir avec le noyau. Lorsque vous téléchargez Photoshop ou Telegram, tout ce que fait ce programme se résume essentiellement à appeler le noyau. « Hé noyau, prends ce que je viens de taper, traite-le et envoie-le via une connexion réseau au serveur. » « Hé noyau, prends le changement de couleur que j'ai apporté à ce pitch, sors-le de la RAM et envoie-le au CPU pour le modifier, puis remets-le dans la RAM. »

Ne brisez pas l'espace utilisateur 

Lorsque le noyau est modifié, d'une manière quelque peu similaire à Bitcoin, l'objectif principal des développeurs est de garantir que les applications existantes qui supposent une manière spécifique d'interagir avec le noyau ne soient pas interrompues en raison d'une modification du noyau. Cela semble très familier au Bitcoin et à la nécessité de maintenir une compatibilité ascendante pour les mises à niveau consensuelles du réseau, n'est-ce pas ?

et le patch qui a cassé les choses était évidemment de la merde. Tout le patch est une merde incroyablement cassée. Il ajoute un code d'erreur insensé (ENOENT), puis parce que c'est tellement insensé, il ajoute quelques endroits pour le corriger (« ret == -ENOENT ? -EINVAL : ret »).

Réparez votre putain d' »outil de conformité », car il est visiblement cassé. Et corrigez votre approche de la programmation du noyau. -Linus Torvalds

Linux est l’un des projets open source les plus importants, sinon le plus important, au monde. Android fonctionne sous Linux, la moitié de l'infrastructure backend (sinon bien plus) fonctionne sous Linux. Des systèmes embarqués contrôlant toutes sortes de choses informatisées en arrière-plan de votre vie que vous n'envisageriez même pas de fonctionner sous Linux. Le monde fonctionne littéralement sous Linux. Il n’a peut-être pas envahi le bureau comme de nombreux utilisateurs autistes de Linux voulaient le voir, mais il a tranquillement mangé presque tout le reste en arrière-plan sans que personne ne s’en aperçoive.

Toutes ces applications et programmes que les gens utilisent au cours de leur vie quotidienne reposent sur l'hypothèse que les développeurs du noyau Linux ne rompront pas la compatibilité ascendante dans les nouvelles versions du noyau pour permettre à leurs applications de continuer à fonctionner. Sinon, toutes les applications en cours d'exécution doivent continuer à utiliser les anciennes versions du noyau ou assumer la charge de modifier leurs applications pour interagir avec une modification radicale du noyau.

Le chemin le plus probable vers le succès de Bitcoin est un chemin très similaire, devenant simplement une plate-forme sur laquelle les applications et outils financiers sont construits de telle manière que la plupart des gens qui les utilisent ne réalisent même pas ou ne considèrent pas que « Bitcoin a mangé le monde ». Dans la même veine que Linux, cette règle d'or de « Ne pas briser l'espace utilisateur » s'applique décuplé. Le problème est que la nature du Bitcoin en tant que système de consensus distribué, plutôt que comme un seul noyau local fonctionnant sur la machine d'une seule personne, change radicalement ce que signifie « briser l'espace utilisateur ».

Ce ne sont pas seulement les développeurs qui peuvent briser l'espace utilisateur, les utilisateurs eux-mêmes peuvent briser l'espace utilisateur. Toute la dernière année d’Ordinaux, d’Inscriptions et de jetons BRC-20 devrait le démontrer définitivement. Cela pose un très sérieux dilemme lorsque l'on considère le mantra « Ne brisez pas l'espace utilisateur » du point de vue des développeurs. Même si de nombreux Bitcoiners dans cet espace n'aiment pas les ordinaux et sont contrariés par le fait que leurs propres cas d'utilisation soient perturbés par le trafic réseau que les utilisateurs des ordinaux créent, les deux groupes sont des utilisateurs.

Alors, comment les développeurs font-ils face à ce problème ? Un groupe d'utilisateurs brise l'espace utilisateur d'un autre groupe d'utilisateurs. Adopter un changement qui empêche l'utilisation d'ordinaux ou d'inscriptions viole explicitement les mandats de ne pas casser l'espace utilisateur. Je suis sûr que les gens veulent dire « Taproot a cassé l'espace utilisateur  !  » en réponse à ce dilemme, mais ce n’est pas le cas. L’activation de Taproot et la possibilité que les données des témoins soient aussi volumineuses que la taille totale du bloc n’ont brisé aucune application ou utilisation préexistante construite sur Bitcoin. Cela n’a fait qu’ouvrir la porte à de nouvelles applications et cas d’utilisation.

Alors qu'est-ce qu'on fait ici ? Essayer de filtrer, ou de rompre avec un changement consensuel, les personnes qui créent des inscriptions ou échangent des ordinaux, c'est violer fondamentalement la maxime de « ne pas briser l'espace utilisateur ». Ne rien faire permet à une classe d’utilisateurs de briser l’espace utilisateur d’une autre classe d’utilisateurs. Il n'y a fondamentalement aucune solution à ce problème, sauf violer la règle d'or, ou implémenter une fonctionnalité qui permet à la classe d'utilisateurs dont l'espace utilisateur est actuellement brisé de s'adapter aux nouvelles réalités du réseau et de maintenir une version viable de leurs applications et de leur utilisation. cas.

Ne pas briser l’espace utilisateur de Bitcoin est d’une importance cruciale pour son succès et ses fonctionnalités continus, mais ce n’est pas aussi simple que « ne rien changer ». Les changements dynamiques dans le comportement des utilisateurs, qui ne nécessitent aucune modification du protocole lui-même, peuvent avoir le même effet en fin de compte qu'une modification radicale du protocole. Les développeurs sont-ils censés choisir quelles applications l'espace utilisateur est interrompu pour conserver celui d'une autre application ? Je dirais non, et j'irais plus loin en disant que quiconque préconise un tel comportement de la part des développeurs leur demande d'agir de manière irresponsable et d'une manière qui nuit aux utilisateurs du système. Alors, quelle est la réponse ici ?

Il n'y a pas de réponse sauf d'aller de l'avant et de continuer à ajouter des améliorations au protocole qui permettent aux applications brisées par le comportement de certains utilisateurs de fonctionner en présence de changements émergents dans le comportement des utilisateurs. Sinon, vous demandez aux développeurs d’abandonner la règle d’or et de jouer efficacement le rôle des faiseurs de rois en ce qui concerne les cas d’utilisation qu’il est possible de construire sur Bitcoin.

que faisons-nous réellement ici mais je peux vous dire qu'il ne s'agit plus de construire un système distribué et neutre.