Qui décide des transactions a intégrer dans la blockchain du bitcoin ?

… et pas seulement dans le bitcoin, mais dans toutes les blockchains.
J’ai fais mon enquête… et je vois que finalement la blockchain ne résout de loin pas tout et repose de manière forte la question éternelle… Qui décide ?

Contexte: le bitcoin et la blockchain en bref, c’est quoi ?

Je vois que le bitcoin et ses envolées spéculatives fait beaucoup parler de lui.

Puis de nombreuses autre Blockchain sont apparues. Et certains auteurs parlent déjà de la future révolution des blockchain qui vont coloniser le monde et remplacer tout type de base de données que l’on utilise partout. Voir même de remplacer le web et l’internet.

Pour rappel, une blockchain, c’est pas très compliqué. Ce n’est finalement qu’un tableau d’affichage public géant sur lequel ont peut y déposer des post-it. Mais plus jamais les supprimer.

dazibao

Quand on crée une monnaie comme le bitcoin, ce tableau d’affichage sert à y mettre toutes les transactions qui sont faites. Ainsi il est possible de vérifier que personne ne triche et ne dépense plusieurs fois ces bitcoins.

Mais un tableau d’affichage, ça sert à plein de choses. C’est là que certains imaginent appliquer le principe partout. Comme par exemple pour les actes notariés, les testaments, etc.… Tout ce qui a besoin d’une base de donnée qu’il est impossible de falsifier.

Finalement on retombe très vite dans le problème éternel: qui décide !

Qui décide de quoi afficher sur le panneau ? qui vérifie que personne ne triche ?

C’est toute la question de l’autorité qui remise en question ici.

Dans le bitcoin, c’est la loi du plus fort qui décide

Pour bien comprendre ceci, j’ai eu envie de me plonger à fond dans les détails pour vraiment comprendre comment fonctionnent les blockchains.

Je cherchais à comprendre des aspects très technique sur le fonctionnement de la preuve par le travail des blockchain…. et j’ai trouvé.

J’avais déjà joué avec le bitcoin en 2011… quand la blockchain faisait 20Mo… (elle fait maintenant 120Go) c’était facile… mais j’ai pas laisser tourner mon soft assez longtemps…. avec ce que l’on me promettait à l’époque en bitcoin je serai millionnaire si j’avais continué !!! 

Au delà de bitcoin j’observe aussi le développement de Ethereum qui me semble avoir là le potentiel de la fameuse révolution blockchain dont on nous parle tant…

Ethereum est vraiment une plateforme de developpement. D’ailleurs la version électronique de la monnaie locale le Léman est basée sur ethereum.

Et surtout ethereum a annoncé que la blockchain allait passer de la preuve par le travail à la preuve par l’enjeu.. mais ils cherchent encore l’enjeu !!

Donc, question ressources, c’est plutôt bon signe. Car la révolution blockchain, à mon avis, ne peut pas se faire avec un tel gaspillage de ressources comme on le voit avec le principe de la preuve par le travail.

Comment fonctionne la Preuve par le travail (proof of work) ?

Le principe de base, c’est que la chaine de block est unique. (donc centralisée contrairement à beaucoup de gens qui disent qu’une blockchain est décentralisée. Voir à ce propos mon article sur la centralisation du bitcoin)

La blockchain est centralisée, mais répartie. Chaque noeud a une copie. (il y a actuellement ~ 8000 noeuds https://bitnodes.21.co/  ça grimpe un peu.. ça avait chuté drastiquement jusqu’à ~5000)

Comment faire pour décider de qui a le droit d’ajouter des blocs à la blockchain ? En cas de conflit de version de branche qui décide quelle est la vraie chaine, la juste ?

On suppose que les gentils vont mettre plus de ressources à disposition pour protéger la blockchain. C’est le principe de la preuve par le travail.

Ainsi on fait travailler les gens qui utilisent le système. Et ceux qui travaillent plus que les autres ont le droit de choisir les blocs qu’ils ajoutent à la blockchain.

Concrètement, le travail qui est fait c’est de résoudre des hash sha-256

Le hash est une fonction à sens unique qui est très utilisée en informatique. On utilise, md5, sha1 ou sha256…  mais pour comprendre un simple sinus suffit.

Le sinus de 30° = 1/2 …  mais 1/2 .. c’est le sinus de quel angle ? ….. ça peut être 30°.. mais ça peut aussi être 150° !! et on peut envisager avoir un angle qui fait plusieurs tours du cercle…  donc impossible de savoir quel était la valeur entrée dans la fonction quand on connait seulement le résultat.

C’est ce principe qui est utilisé pour les systèmes de mot de passe. Le système qui vérifie le mot de passe ne connait pas le mot de passe. Il ne connait que le résultat du mot de passe passé à travers une telle fonction.

Ainsi, si la base de données d’un serveur qui vérifie des mots de passe est piratée, ça ne donne toujours pas accès au mot de passe.

Cependant, il y a des gens qui ont fait des dictionnaires de tous les mots et leur correspondance avec le résultat de fonction comme md5…  histoire de faire des attaques dictionnaire !

C’est pour ça que de nos jours, il faut faire des phrases de passe très longues et plus des mots de passe.

Donc pour revenir aux blockchains. Plus particulièrement au bitcoin qui utilise la fonction de hash sha 256. Le but c’est de trouver un hash qui a un résultat qui commence par un certain nombre de 0

Ex: 0000423efa46afc7…

Comme on ne connait pas comment arriver à un résultat voulu. Il faut faire des essais. Il faut arriver à un hash qui correspond à la condition donnée en utilisant les données du bloc et en faisant varier quelques caractères aléatoirement jusqu’à y arriver.

La difficulté s’adapte à la puissance de calcul… (le nombre de 0 qui débutent le hash)

Donc quand il y a une course à la puissance des gens qui gèrent le réseau et reçoivent des bitcoins en échange, et bien on arrive vite aux limites physiques de ce qu’il est possible de faire. Ainsi ce ne sont plus des ordinateurs standards qui sont utilisés pour gérer le bitcoin, comme je le faisait en 2011… mais ce sont des circuits intégrés (ASIC) spécialisés dans le hashage !

Il faut de nos jours en moyenne 200 milliards d’essais pour tomber sur un hash qui correspond au critère qui lui permet d’être accepté.

Ça prend du temps ! et ça consomme beaucoup d’électricité... pour …. rien faire d’utilesauf montrer que l’on est prêt à gaspiller plus d’énergie que les autres pour assurer que le bitcoin fonctionne correctement.

Si un méchant forge un bloc qui lui permet de dépenser plusieurs fois le même bitcoin, il doit être très très rapide. Comme les blocs sont chainés, il doit recalculer tous les blocs depuis sa transaction et les imposer tous de manière plus rapide que le reste du réseau de noeuds. Ainsi il doit mettre exponentiellement plus de ressource que les autres qui suivent l’algorithme gentil.

Comme on est aux limites de ce qu’il est possible de faire en calcul. Avoir exponentiellement plus de ressource est impossible. Tout la fiabilité de la preuve du travail repose là dessus.

Mais si il est impossible par ce moyen de tricher…. ça ne veut pas dire qu’il n’y a pas d’autres moyens…

Que se passe-t-il si un méchant contrôle la majorité de la puissance de calcul des noeuds ?

C’est ce que l’on appelle  l’attaque des 51%.

Si la majorité des gens qui ont la puissance de calcul sont gentils ça marche. Mais si un jour un méchant détient au moins 51% des ressources en calcul des noeuds. Alors là… il peut potentiellement faire ce qu’il veut.

C’est pour cette raison que la mutualisation des ressources de différents noeuds dans des fermes de serveur est souvent observée de près. Il y a la crainte que si beaucoup de gens s’associent, ils risquent d’avoir 51% de la puissance de calcul !

C’est ce que l’on observe avec le cas Ghash.io qui a eu tellement de succès en 2014 que cette ferme de noeuds concentrait 42% de la puissance de calcul du réseau bitcoin. Ils ont donc du faire profile bas et on promis de ne jamais dépasser 40%.

Comment se passer de la preuve par le travail ?

Donc quand je vois le gaspillage de ressources qui est fait. Je me dis que le système de preuve par le travail n’est pas viable à long terme. (proof of work) Ethereum va passer à la preuve par l’enjeu. (proof of stake) Mais quel enjeu choisir ? qui a le droit de décider de valider les blocs ?

Il y a des idées de devoir investir un peu de monnaie. D’avoir une certaine ancienneté, de détenir un certain montant dans le monnaie de la blockchain ce qui prouve que l’on veut que le système fonctionne.

Bref, on retombe dans le classique problème de savoir qui dirige. La preuve par le travail, c’est la loi du plus fort. Et celui qui a le plus de monnaie, c’est le vote censitaire de l’époque.

On peut la remplacer par la noblesse. Donc par des autorités désignées par ce qu’elle est sont désignés autorité avant les autres. C’est le cas avec les certificats SSL, avec les Etats... et c’est justement ce que veulent éviter les blockchains.

Comme il existe le tirage au sort en politique, il y a aussi l’idée de tirer au sort les acteurs qui ont le droit d’ajouter des blocs dans la blockchain, comme dans le système de CICADA.

Il y a plein de pistes. Donc comment faire ?

Ce n’est pas si simple.

La solution est probablement un mélange de tout ça et à adapter à la blockchain en particulier à son utilisation comme monnaie uniquement ou comme plateforme de développement d’application.

Personnellement c’est surtout ce frein qui me fait douter de l’avenir de la révolution Blockchain.

Après, il y a des aberrations comme Macron qui dit qu’il est pour les blockchains, qu’il légifère pour…. et qui veut favoriser la création de blockchain privées. 

je ne comprends pas très bien à quoi ça sert ?

Heu... par définition une blockchain est et doit être publique ! …. sinon ça ne marche pas.

On retombe toujours dans qui décide ! … donc Macron aimerait une blockchain où il peut décider qui y met quoi !?

Pourquoi tout centraliser dans une blockchain ?

La centralisation des transactions dans une seule blockchain me pose aussi des questions. Je ne suis pas trop pour tout centraliser. Est-ce que c’est vraiment utile ?

La base du web est décentralisée, l’idée c’est que chaque personne qui veut publier quelque chose le peut. Sans demander l’avis à personne. Avec une blockchain. Il y a une autorité qui décide de qui va pouvoir publier quoi.

On voit que le qui décide n’est pas clair. Il y a la preuve par le travail et la preuve d’enjeu.

Avec les blockchain privées. C’est juste une base de données privées. Tout à fait classique. Ou alors j’ai mal compris ce que c’est !? le mot désignait autre chose ?
Il me semble que justement ce qui a fait le succès du bitcoin et par là de la blockchain, c’est qu’il n’y a pas d’autorité centrale. Le bitcoin est une monnaie sans banque centrale.

A quoi ça sert d’avoir une base de données dont le contrôle peut se répartir si on veut centraliser le pouvoir ?

Je vois bien arriver les puissants de ce monde qui décident de remplacer le web où toute personnes peut publier quelques chose par une blockchain qui demande une validation. Il seront certainement là pour y mettre un mécanisme qui détermine qu’ils ont leur mot à dire sur le contenu.

On retombe dans les travers, d’avoir un système du même genre qu’un facebook qui sert de principale interface de publication à beaucoup de gens.

Le web, le email, et l’Internet de base sont conçus pour être décentralisés. (et qui se centralisent un peu trop à mon goûts)

Donc on verra de quoi l’avenir sera fait. Si la révolution blockchain aura vraiment lieu ou pas…

Personnellement, je trouve très intéressant les blockchains, mais pas encore franchement abouti, et absolument pas nécessaire dans tous les domaines.

Je pense qu’il y a beaucoup d’autres solutions pour gérer des bases de données. Et aussi beaucoup de solutions tout à fait novatrices pour savoir qui décide dans une organisation….

Les geeks barbus

Les geeks barbus

Il y a un étrange phénomène…. les geeks en informatiques.. ceux qui ont tout inventé sont souvent des barbus !!!

Rien que le fait de regarder cette page, je pense que vous le deveez à au moins une dizaine d’entre eux !
(via internet Merci Vinton Cerf, écrit en texte UTF-8 merci Thompson et Ritchie.. sur un serveur dérivé de UNIX.. et écrit en C.. merci deux fois de plus…  et TCP-IP dans BSD grâce à Bill Joy…  avec du soft sous GPL.. merci Stallmann et Moglen… le serveur qui sert cette page est un mac tout comme l’ordinateur sur lequel j’écris.. merci Jobs et Wozniak… et merci Razkin pour le glisser-déposer que j’ai utiliser pour ajouter les images.. merci Rasmus pour le PHP avec lequel j’ai codé le CMS qui fait tourner ce site.. et merci Jim Wales pour me fournir avec wikipedia un grande base de donnée d’images libres de droits…)

Est ce que la barbe a une influence ??

Ken Thompson et Dennis Ritchie

Nous avons tout d’abord: Ken Thompson et Dennis Ritchie qui à eux deux sont les inventeurs (entre autre) du système d’exploitation UNIX, du langage de programmation C et de l’encodage UTF-8.

2007_07_04_19_00_Ken_n_dennis.jpg

Vinton Cerf

C’est avec son compère Robert kahn (mais qui n’a pas de barbe) le père fondateur de l’internet. En effet, Vinton Cerf à conçu les protocoles TCP/IP.

2007_07_19_21_24_Cerf.jpg

Richard Stallmann et Eben Moglen

Le gourou de l’open source, le père de GNU et de la licence GPL: Richard Stallmann est également un barbu célèbre. Mais ce que l’on ignore souvent c’est qu’il n’a pas rédigé seul sa célèbre licence. Il l’a fait à l’aide d’Eben Moglen éminent professeur de droit et lui aussi barbu !

2007_07_04_19_06_rms.jpg 2007_07_19_21_13_Eben_Moglen.jpg

Bill Joy

C’est certainement sous l’influence de Dennis Ritchie qui fut son professeur que Bill Joy c’est laissé pousser la barbe. Bill Joy a travaillé à l’amélioration constante du Système unix de Berkeley (BSD), il a amélioré l’éditeur de texte de unix, il a écrit le shell csh et surtout à écrit la pile TCP/IP de BSD.

Non content de s’arrêter sur si peu, c’est un des fondateurs de la société SUN et concepteur du langage Java. Mais il semble que le fait de s’éloigner de Dennis Ritchie a été fatal à sa barbe. Sur une photo récente elle a disparue !

2007_07_19_08_45_unixrichiejoy_JPG.jpg 2007_07_19_08_45_BillJoy.gif

James Gosling

En parlant de Java, voici le principal concepteur de ce langage. James Gosling.

Il n’a pas aimé le rachat de SUN par oracle. Il a donc démissionné à ce moment là.

james-gosling tarte.jpg

Niklaus Wirth

Niklaus_Wirth.jpg

Le créateur du langage Pascal.

Steve Wozniak et Steve Jobs

Ensuite, nous pouvons nous attarder sur la paire de steve: Steve Wozniak et Steve Jobs les deux fondateurs de Apple.

Steve Wozniak est le génie qui a conçu l’ordinateur Apple et Steve Jobs est le génie qui a réussi à le vendre.

Il faut tout de même préciser que Steve Jobs n’est qu’un barbu occasionnel… vu que c’est lui qui s’est chargé de faire vendre les produits Apple, il s’est lancé dans une opération charme pour avoir le concours des banques. Il lui a donc fallu se raser la barbe ce qui est mieux vu dans ce milieu de requin de la finance. Cependant, une fois détendu et de retour de le cercle des visionnaires de l’informatique, sa barbe repousse très vite !

2007_07_18_18_34_steve_and_steve.jpg 2007_07_18_18_32_steve_jobs.jpg 2007_07_04_19_16_Stevewozniak.jpg

Jef Raskin

C’est le père de l’interface graphique du Macintosh. C’est l’homme qui a inventé le glisser-déposer.

2007_10_02_17_33_Jef_Raskin_credit_Aza.jpg

John E. Warnock et Charles M. Geschke

Voici encore une paire de barbu qui a influencé le monde de l’informatique. Ce sont le Dr. John E. Warnock et le Dr. Charles M. Geschke.
Ces deux barbus sont les inventeurs du langage postscript. C’est sur cette base qu’ils ont fondés l’entreprise Adobe qui est un des colosses de l’informatique dans tout ce qui est du graphisme.

2007_07_18_18_17_warnockphoto.jpg 2007_07_18_18_17_geschkephoto.jpg

Larry Ellison

En parlant de grand patron des colosses de l’informatique, voici Larry Ellison le créateur de la base de donnée Oracle. Sur cette photo, on remarque que c’est un habitué de la barbe travailée. Ce n’est donc certainement plus qu’une réminiscence de son passé de geek.

2007_07_19_08_04_Ellison_Larry_chair_final.jpg

Philip Walder

Il a contribué aux langage de programmation Haskell et XQuery.

philipwadler.jpg

Phil Zimmermann

Nous voici avec le créateur du logiciel de chiffrement de e-mail…. PGP.

2007_10_22_11_28_Phil_zimmermann.jpg

.. En parlant de cryptographie… voici:

RSA: Rivest Shamir et Adleman

… et oui, RSA, c’est le nom des créateur de cet alorithme de chiffrage des données qui est utilisé partout.

Bon… on voit qu’il n’y a que Shamir qui est un vrai geek à barbe ! 😛 (oui.. il sont pas dans l’ordre RSA.. mais SRA)

RSA Rivest Shamir Adleman.jpg

Alan Cox

Alan Cox est après Linus Torvald, le principal contributeur du noyau linux. Comme on le voit très bien à son chapeau… il travaille chez Red Hat !

2007_07_19_10_10_DSC_7781.jpg

Jon Hall

Dans les linuxiens célèbre, il y a Jon Hall qui est le directeur de Linux international. Une organisation à but non lucratif qui fait la promotion de linux.

2007_07_19_10_15_Jon_hall_berlinux_2004.jpg

Guido van Rossum

Guido van Rossum est le père du langage de programmation Python. En plus d’être un geek barbu, c’est également un dictateur bienveillant à vie. Titre qu’il s’est donné pour diriger les évolutions du langage python.

2007_07_19_21_17_ungood_guido_van_rossum.jpeg

Ward Cunningham

Nous pouvons ensuite nous attarder sur Ward Cunningham, le créateur du wiki et de l’Xtreme programming.

2007_07_18_18_53_WardCunningham2.jpg

Larry Wall

Puis nous avons un geek qui fait les choses à moitié….. il ne lui reste que la moustache !
Il s’agit de Larry Wall, l’inventeur du langage de programmation perl.

2007_07_04_19_03_Larry_Wall.jpg

Rasmus Lerdorf

Le créateur du langage de programmation php, est également un adepte de la barbe (pas intégrale). Cependant, ce natif du groenland semble l’avoir rasée depuis qu’il travaille chez yahoo !

2007_07_19_09_26_Rasmus_Lerdorf.jpg

Yukihiro Matsumoto

Le créateur du langage Ruby…

250px-Yukihiro_Matsumoto.JPG

Jim Weirich

Un geek ruby…

Jim Weirich.jpg


Jimmy Wales

Le fondateur de wikipedia est lui aussi un adepte de la barbe !

398px-WM2006_0060.jpg

Jaron Lanier

Il est à l’origine de l’expression « Réalité virtuelle » en 1985. Je le place juste après Jimmy Wales et wikipedia, car Jaron Lanier n’aime pas wikipedia… il trouve que c’est du « maoïsme numérique »….

C’est un des rares geek barbus avec des dreads que je connais… et quand il parle de réalité virtuelle.. je me demande bien si c’était d’informatique qu’il parlait ?? 😛

Jaron_Lanier.jpg

Jay Miner

Le père de l’ordinateur Amiga.

JayMiner1990.jpeg


 

Paul Allen

bill gates et paul Allen.jpgLe co-fondateur de microsoft a aussi eu un passé de geek barbu avant de tomber dans le monde des imberbes miliardaires.

Le voici ici avec l’imberbe Bill Gates.


Edsger Dijkstra

edsger dijkstra.jpgCe monsieur est à l’origine d’algortihmes qui m’ont beaucoup creusé les méninges durant mes études.

Notamment lorsque l’on utilise des vérous sur un système temps réel. Ou encore le fameux algorithme de Dijkstra, un algorithme qui permet de trouver le chemin le plus court dans un graphe.

Cet algorithme est la base des calculs d’itinéraires routiers.


John McCarthy

John_McCarthy_Stanford.jpegCe pionnier de l’intelligence artificielle est également le père du langage LISP.


Robin Milner

Le créateur du langage ML

Robin-Milner-001.jpg

Kasper Skårhøj

La barbe traditionnelle du geek n’est pas une mode passagère… les geeks la portent toujours bravement de génération en génération à l’instar de Kasper Skårhøj le père fondateur du CMS Typo3.

2007_07_04_19_19_kasper.jpg

Bernhard Rosenkranzer

bero.jpegUn contributeur de nombreux projets libres (KDE, openoffice, etc..) mais surtout spécialiste de l’optimisation de Linux sur processeur ARM.

Ce qui est très très intéressant pour les « intelliphones » tournant sur android.


Anciens geek ?

Qui était les premiers geeks ??? Il semble que depuis toujours il y a eu des petits jeunes créateurs de génie qui ont changé le monde avec leur invention… et déjà certains portaient la barbe !

Voici deux exemples du 19ème siècle: Samuel morse, l’inventeur du télégraphe et Lars Magnus Ericsson le fondateur du géant des télécommunication: Ericsson.

2007_07_19_09_06_Morse.jpg 2007_07_19_09_06_Lars_magnus_ericsson_01.jpg

Voilà… ça ne date pas d’hier cette mode du geek barbus…

En faisant des recherches de photos pour une mise à jour de cette page, j’ai découvert un article, en anglais, sur le dress code des geek… comme l’article n’est pas axé uniquement sur la barbe… vous pouvez y retrouver des geek avec moins de barbe, mais plus de cheveux.. mais aussi des femmes !!

 

Et pour clore… un semi-geek.. un moustachu !! 😛
recette-de-jeux-vidéos-canapés-mario-bross-pixelisé-amuses-gueule-870x400-1.jpgVoici la recette pour réaliser Mario bros en canapés pour l’apéro…