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 !!

Edit le 20 mai 2019... Ethereum n'est toujours pas en mode proof of stake... mais ça bouge. Récemment une version proof of stake de Ethereum a été mise en mode test.... 

Pour en savoir plus, je laisse la parole à Antoine et ses bons tuyaux à propos de l'Ethereum. Il a fait un très bon guide complet à propos de l'Ethereum.

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 qui demande le gaspillage d'une énergie colossale !

A mon avis, Holochain est aussi un très très bon candidat à vraiment réaliser cette révolution blockchain. Holochain fonctionne totalement différemment. Enfin on en fini avec la version jeton-valeur de la monnaie et on passe au crédit mutuel. Avec ça on peut virer toute forme de contrôle via la preuve of...  n'importe quoi.

On a plus besoin de sécuriser des jetons. C'est surtout l'identité des gens qui doit être connue. La fondation Mozilla s'intéresse beaucoup à Holochain, ceci pour son volet hébergement dans un cloud décentralisé dans chaque ordinateur utilisant holochain. C'est un peu à l'image du réseau bittorent. Un très grand potentiel. Et les personnes qui mettent à disposition de l'hébergement sont récompensée. Ainsi on va récompenser les gens qui économise de l'énergie... et pas ceux qui en grillent un max pour rien !! ... comme c'est le cas avec le bitcoin...

Voici à quoi ressemble une ferme de bitcoin en Islande... pays intéressant car il y fait froid (donc moins besoin de refroidir les ordinateurs) et l'électricité n'est pas chère à cause de sa production en géothermie...

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'utile... sauf montrer que l'on est prêt à gaspiller plus d'énergie que les autres pour assurer que le bitcoin fonctionne correctement.

Voici à quoi ressemble une ferme de minage de bitcoin en chine...  moi ça me fait peur !

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.

Dans le cas du FairCoin, qui veut faire la promotion de la coopération, en juillet 2017 le système vient de passer à la ProofOfCooperation...  les noeuds qui décident sont ceux qui coopèrent le plus ! ... mais ça ressemble beaucoup à une aristocratie entre pairs qui se certifient entre eux selon des règles consensuelles...  donc pas simple. Mais ça existe.

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 !?

Petite explication en vidéo si tu n'as pas compris cette importante subtilité....

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....

Migration de picasa à google photos

Picasa est en voie d'abandon. Google photo a maintnant aussi un logiciel de synchronisation. Donc je vais voir que faire pour lancer la migration de picasa à google photos.

Il me manque de la documentation. Donc je fais des essais.

Mon organisation habituelle est d'avoir un dossier photos par année.

  • 2014
  • 2015
  • 2016

Puis j'ajoute des dossiers avec "l'événement" du moment ou des dossiers de tris particuliers.

 

Picasa observe tout mon dossier photos et son arborescence.

Je synchronise au cas par cas le dossier de "l'évenment".

=> picasa me crée un album photo par dossier.

 

Comment je fais la migration vers "google photos" ?

Par défaut, il veut synchoniser tout mon dossier images ! … non….

J'ai quelques questions auxquelles la documentation ne répond pas.

=> Est-ce que si je synchronise mon dossier "2016" google photos va envoyer à nouveau toutes les photos des dossiers qui sont là dedans ?

Est-ce qu'il est capable de voir que ce sont des photos déjà synchronisées ?

J'aimerai éviter de devoir envoyer à nouveau 35 Go de photos faites dans l'année…

=> J'ai fait un test. J'ai synchronisé quelques dossiers.. et je vois que l'envoi se fait à nouveau ! … Et aussi que le ça décompte mon quota d'espace ! Donc je vois que google photos ne détecte pas les photos déjà synchronisées.

Je peux voir les photos synchronisées avec l'url suivante:

https://photos.google.com/search/_tra_?referrer=GPU

 

=> Je vais donc devoir synchroniser au cas par cas mes dossiers photos. Au lieu de cocher la case "synchroniser" sur picasa. J'ajouterai un dossier à synchroniser dans les préférences de l'uploader de google photos.

 

Quand à la question des albums. Je fais un test.

Après upload des albums nouvellement synchronisé, je ne vois pas de nouveaux albums dans ma liste:

https://photos.google.com/albums

Par contre je vois que certains ont été rems en avant, comme quand on ajoute une photo à un ancien album.

J'ai créé un dossier "test" dans lequel j'ai ajouté plusieurs sous dossier avec des photos diverse et variée dedans. Des vidéos aussi, qui étrangement ne passaient pas avec picasa.

J'y ai mis des photos qui était déjà sur mon compte et d'autre toutes neuves.

 

Je constate qu'il n'y a aucun album qui est créé automatiquement à partir d'un dossier ! ;-(

Les vidéos qui ne passaient pas avec picasa ont été envoyée avec succès.

J'ai un dossier qui est le doublon d'un autre dossier. Je ne vois aucune indication qu'il a été synchronisé.

Donc il semble que rien ne s'est passé.

J'ai changé le nom du dossier. J'ai vu l'icone de synchronisation bouger. Mais rien de plus.

 

Comment ajouter des photos à un album ?

Le moyen que je vois, c'est de récupérer à chaque fois la liste des photos fraichement ajoutées:

https://photos.google.com/search/_tra_?referrer=GPU

… et de les cochers une à une, puis de globalement dire que j'aimerai les ajouter dans un album existant. (ou de créer un album)

Heureusement, il est possible de maintenir la touche "majuscule" enfoncé pour sélectionner une grande quantité de photos.

Donc c'est ainsi que je vais gérer mes photos.

 

Ça marche pas trop mal.

Trouver un service de cloud libre

Le monde de l'informatique évolue toujours très vite.

Ces dernières années, il évolue toujours plus vers le "cloud computing", l'informatique dans les nuages....

Finalement, on peut se dire que l'on reprend le concept en vigueur dans les années 1970. Il y a des gros ordinateurs, et chaque utilisateur se connecte dessus avec un terminal.

La différence, c'est que de nos jours les terminaux sont plus véloces et puissants que les gros ordinateurs de l'époque. Un iPhone est quand même une sacré machine de course qui tient dans la poche.

L'avantage de ce modèle du nuage, c'est que l'on a des capacités de stockage et de calcul encore plus puissantes dans des gros ordinateurs qui, à l'image de leur ancêtres, tiennent dans des bâtiments entiers. On parle alors de "data center".

Mais comme on ne sait pas très bien où sont ces data center, et que surtout on a pas besoin de le savoir pour les utiliser. On dit qu'ils sont dans le nuage !

C'est souvent sous cette forme de nuage que l'on représente l'Internet quand on présente des schémas de réseau. Donc mes données sont dans le nuage de l'Internet.

En effet, ce site n'est que mon bloc note dans le nuage. J'ai une application web qui me permet d'accéder à mon bloc note. Du coup, il est accessible de partout dès que j'ai une connexion internet. Mais du coup, quand je n'ai pas de connexion internet, je suis un peu coincé pour accéder à mon bloc note !

Actuellement, la connexion réseau tend à être toujours plus indispensable pour pouvoir en permanence se connecter à ses données.

Quand j'achète un mac, un iPhone, un iPad, en fait, j'adhère à un système de "cloud". Je n'ai plus un ordinateur avec toutes mes données. Mais j'ai un terminal qui accède à un compte utilisateur sur un nuage.

En fait, on s'oriente de plus en plus dans ce mode de fonctionnement, car on multiplie les terminaux. Et il est de plus en plus difficile de synchroniser ses données, donc souvent on délègue se travail a un système d'informatique en nuage très complexe.

Du coup, ça pose aussi des questions de base où sont mes données ? Qui y a accès ? Est-ce que je peux perdre mes données ?

Si je prends l'exemple du cloud d'Apple, il est très bien fait et totalement transparent, tellement, que finalement je suis passé de l'époque du "Personnal Computer" à celui du "cloud" sans m'en rendre compte. Avec l'ère du PC, j'avais une boite et tout était dedans. J'étais maître de la machine. Avec l'ère du cloud... je ne sais plus trop !

... Apple se charge de synchroniser mes données, musique, livres, films entre mon mac et mon iPhone ce que je trouve pratique. Mais Apple propose aussi des services pour effacer son ordinateur à distance si on se le fait voler. C'est chouette. Mais si j'y réfléchi... si moi je peux demander à Apple d'effacer mon ordinateur... ça veut dire que chez Apple, il doit bien y avoir des gens qui ont le pouvoir d'effacer les ordinateurs qu'ils veulent.....

Du coup, dans un contexte où je suis un consommateur insignifiant, pas de soucis, je ne risque rien. Mais si un jour je deviens l'ennemi public numéro 1 (pour une bonne ou une mauvaises raison ! .... Edward Snowden par exemple..) qui me dit que l'on ne va pas tenter d'effacer mon ordinateur à distance ?

De plus, grâce à Edward Snowden on sait maintenant qu'il y existe plusieurs programmes de services de renseignement qui se branchent sur les services de cloud les plus courants.... (avec le programme PRISM par exemple)

Bref, au moment où les logiciels libres commencent à émerger dans le monde des micro-ordinateurs pour pouvoir maitriser le code qui s'exécute sur sa propre machine, voilà que la tendance va à l'utilisation de machine dans un nuages... on ne sait même pas où elles sont, alors comment savoir comment elles fonctionnent et surtout si elles fonctionnent pour nous... ou contre nous.

Quand un service est gratuit, ce qui est de plus en plus souvent le cas, il est important de se demander qui est le produit ! .... en général.. c'est vous !

Comment profiter des avantages du cloud, du travail collaboratif sur Internet sans être le produit ?

Voici une liste des quelques logiciels du framaCloud, le nuage de services proposés par l'association framasoft:

 

  • http://framapad.org/ => pour écrire des textes collaboratifs (testé jusqu'à 40 en même temps !) et un mini chat pour discuter. Document accessible en ligne via un lien, ou exportable en html, text, word, pdf, odf, ou dokuWiki. 🙂
  • http://framavectoriel.org/ => pour faire du dessin vectoriel en svg.. à republier sur openclipart.org
  • http://framacalc.org/_start => pour gérer de manière collaborative une feuille de calcul
  • http://framindmap.org/ => pour faire un mindmap collaboratif.  http://mindmup.com est aussi une alternative
  • http://www.framadate.org/ => marre de la pub sur doodle ?? … sondage et trouver une date !  export l'événement au format ical (vcalendar)

 

 

Pour trouver des softs dans tous les domaines..

http://forum.framasoft.org/viewforum.php?f=3&sid=102cde871ca60837908a8bc50cf75c5a

Voici encore un tutoriel pour installer son propre cloud chez soi... OwnCloud

Navigation au sein des articles

1 2 3 4 5 6 7
Remonter