Connexion
Abonnez-vous

Qu’est-ce qu’une blockchain et à quoi ça sert ?

Alors ça, c'est une bouteille de lait...

Qu'est-ce qu'une blockchain et à quoi ça sert ?

Le 06 décembre 2017 à 09h35

Petit à petit, les blockchains font leurs nids. Entre l'envol du bitcoin, qui a dépassé les 12 000 dollars, les levées de fonds en crypto-monnaie ou les initiatives de banques et d'assurances qui misent sur cette technologie, il nous a semblé utile de faire le point sur ce qu'est une blockchain, et comment cela fonctionne.

Les blockchains font de plus en plus parler d'elles, et leur usage ne se limite plus seulement aux crypto-monnaies. De grandes entreprises y font en effet appel pour résoudre certaines de leurs problématiques en matière de traçabilité. Des banques et assurances y voient un potentiel dans le cadre de transferts d'argent ou l'execution de contrats automatisés.

Des usages pas forcément évidents à cerner, quand on parle d'un outil d'abord présenté comme un moyen de spéculation. Comment cette technologie, jusqu'ici utilisée à des fins financières, peut-elle être exploitée dans d'autres domaines, et surtout comment ça marche ? C'est ce que nous allons tenter de vous expliquer.

Anatomie d'une blockchain

Commençons par décrire le principe général d'une blockchain (ou chaine de blocs). La littérature la décrit généralement comme un registre informatique distribué, réputé infalsifiable.

En clair, c'est un grand livre qui enregistre des faits, des informations et des transactions, de manière sécurisée, grâce à l'utilisation de procédés cryptographiques. Ces données sont réputées inaltérables, et peuvent être partagées à qui on le souhaite. L'ensemble des données de la chaîne sont distribuées par blocs à l'ensemble des nœuds du réseau qui la composent, ce qui permet une certaine résilience des données, et surtout un fonctionnement décentralisé. 

Régulièrement, de nouveaux blocs sont émis sur la blockchain, contenant les changements apportés au registre principal. Chacun des blocs comprend un hash (une empreinte) de la signature du précédent, ce qui permet de remonter simplement l'historique des modifications.

Mais comment peut-on s'assurer que les changements apportés dans chaque bloc sont authentiques ?

La preuve de travail (PoW), comment ça marche ?

Il faut obtenir le consensus de la majorité des acteurs du réseau. Et pour cela, plusieurs méthodes existent. La plus répandue dans le domaine des crypto-monnaies s'appelle la preuve de travail (Proof of Work ou PoW). Ce procédé a été théorisé en 1992, bien avant l'arrivée de Bitcoin et a été mis en œuvre pour la première fois avec HashCash, une solution qui devait limiter la prolifération des spams, mais n'a jamais été adoptée à grande échelle.

Dans le cas des crypto-monnaies, les mineurs, qui mettent à disposition du réseau leur puissance de calcul, doivent réaliser des opérations coûteuses en énergie. Il leur faut « hacher » l'ensemble des transactions à ajouter à un bloc, ainsi que le hash du bloc précédent en respectant diverses contraintes fixées par le niveau de difficulté demandé par le réseau. Le premier à trouver la solution à ce problème la diffuse au reste du réseau, qui la vérifie.

Une fois le consensus du réseau obtenu, le bloc est validé, et les transactions qu'il contient sont considérées comme exécutées. Le calcul de vérification est quant à lui très rapide et peu coûteux. Cela peut s'apparenter à un sudoku : la solution demande beaucoup d'efforts avant d'être trouvée, mais il est aisé de vérifier sa justesse.

Bien évidemment, pour éviter que les blocs ne soient chiffrés trop rapidement (et donc potentiellement falsifiables), la difficulté du chiffrement augmente à intervalles réguliers en fonction du nombre d'acteurs présents dans la chaîne. Il est donc très compliqué, et coûteux, pour un acteur de prendre le contrôle du réseau, puisqu'il aurait besoin pour cela de déployer davantage de puissance de calcul que l'ensemble de tous les autres. 

SHA-256, Scrypt et les autres

La plupart des crypto-monnaies se basent sur ce principe, qu'il s'agisse de Bitcoin, Ethereum, Litecoin... Elles se différencient sur deux points : l'algorithme utilisé pour la preuve de travail et le matériel nécessaire pour le traiter efficacement. 

Plusieurs d'entre eux nécessitent du matériel spécialisé dans leur traitement, c'est notamment le cas de Bitcoin (et de l'ensemble des monnaies basées sur SHA-256) ainsi que Litecoin et ses dérivés s'appuyant sur Scrypt. Pour ces deux algorithmes, il est toujours possible de travailler avec un processeur de PC standard (CPU) ou une carte graphique (GPU), mais des puces dédiées (des ASICs ou application-specific integrated circuits) offriront de meilleurs résultats, avec une efficacité énergétique supérieure. 

Certains ont été conçus pour que leurs solutions ne puissent être trouvées de manière efficiente qu'avec des cartes graphiques. C'est le cas de Dagger Hashimoto, utilisé par Ethereum, ou encore d'Equihash, employé pour zCash. D'autres comme CryptoNight combinent des éléments plus facilement traités par un CPU ou un GPU. 

Controverse sur l'efficacité énergétique

La difficulté évoluant à la hausse en même temps que le réseau, la probabilité d'obtenir une récompense en minant un bloc (c'est-à-dire en trouvant la solution qui répond aux critères requis) dépend de la part de la puissance de calcul que l'on représente dans le réseau.

Ainsi, si vous pesez 1 % du total, vous aurez mathématiquement 1 % de chance de trouver le bon calcul pour un bloc. Pour maintenir leurs revenus, les mineurs doivent donc régulièrement mettre à jour leur matériel pour amener davantage de puissance de calcul et augmenter leurs chances de trouver la solution d'un bloc (ou capter une plus grande part des revenus s'ils font partie d'un « pool »). 

Ce mode de fonctionnement est à la fois un point fort du système, car il limite mécaniquement les risques de prise de contrôle hostile du réseau, mais également un point faible, car il nécessite une dépense énergétique considérable.

Aujourd'hui, la consommation électrique induite par le réseau Ethereum était estimée à 10,8 TWh par an, soit l'équivalent de celle d'un pays comme l'Uruguay, ou 58 kWh pour chaque transaction. De quoi charger plus de la moitié de la batterie d'une Tesla Model S P100D.

Bitcoin consommation
Estimation de la consommation electrique attribuée au réseau Bitcoin- Crédits : Digiconomist

Pour Bitcoin, la note est encore plus salée. Le réseau consommerait à lui seul plus de 30 TWh par an, soit davantage qu'un pays comme le Barhein et à peine moins que le Maroc ou le Danemark. Tout ça pour traiter une moyenne de 7 transactions par seconde (sur un maximum théorique d'environ 11 par seconde), contre 3 300 par seconde pour MasterCard et Visa, en 2015, rien qu'aux États-Unis.

Avec l'énergie consommée pour miner sur le réseau Bitcoin, il serait possible de couvrir plus de 6,5 % de la consommation électrique française. Une seule transaction réclamerait 275 kWh, presque assez pour faire le plein de trois Tesla.

Il est toutefois difficile de se faire une idée de la quantité d'énergie requise pour effectuer une transaction en passant par le système d'American Express, Mastercard ou Visa. ll faudrait en effet tenir compte de la consommation des différents datacenters de chacun d'eux, jusqu'à celle des terminaux utilisés pour le paiement. Une équation avec un trop grand nombre d'inconnues pour être calculée sereinement.

Quelques-uns se sont risqués à une première estimation, forcément approximative, selon laquelle une transaction avec une carte Visa nécessiterait en moyenne 5 000 à 7 000 fois moins d'énergie. Une chose est sûre, le sujet devrait encore faire l'objet de débats dans les mois à venir.

La preuve d'enjeu et ses alternatives

Des alternatives à la preuve de travail ont ainsi été mises au point, et expérimentées avec un certain succès. À commencer par le principe de la preuve d'enjeu/temps (PoMAS ou Proof of Minimum Aged Stake), utilisé par exemple par la crypto-monnaie Nxt.

Ici, point de mineurs et nul besoin de fermes de serveurs. La probabilité pour un utilisateur de signer un bloc dépend uniquement de la quantité de pièces dont il dispose. À chaque nouveau bloc, une pièce existante est sélectionnée aléatoirement et c'est son propriétaire qui signe la transaction, forgeant une nouvelle pièce au passage.

Quelques conditions sont évidemment à remplir pour être capable de forger de nouvelles pièces. Dans le cas de Nxt, l'utilisateur doit disposer d'un minimum de 1 000 pièces sur son portefeuille, et ce depuis au moins 1 440 blocs (soit environ 24 heures) afin d'être sélectionnable.

Pour prendre le contrôle du réseau, il faut ici disposer de plus de la moitié de sa masse monétaire totale, ce qui dans le cas de Nxt nécessite 390 millions de dollars environ ou 75 millions pour Peercoin. De coquettes sommes qui rendent la moindre attaque coûteuse et en limitent l'intérêt.

Plusieurs variantes de ce principe, qui se veut plus économe en énergie (peu ou pas de calculs étant requis) ont ainsi émergé. On retiendra par exemple la preuve de possession (Proof of Hold ou PoH), où cette fois-ci le poids du vote de chaque pièce dépend du temps pendant lequel elle a été conservée. Le problème de cette méthode est qu'elle incite les utilisateurs à ne pas effectuer de transactions, afin de maximiser les chances d'être choisis pour générer les prochaines pièces. Autrement dit, les épargnants sont récompensés.

À l'extrême opposé, le principe de la preuve d'utilisation (Proof of Use ou PoU), donne davantage de droits de vote aux pièces fraîchement dépensées. Le problème posé est alors à l'inverse de celui de la PoH : les utilisateurs sont incités à spammer le réseau de transactions entre plusieurs adresses leur appartenant, afin de garder des droits de vote maximaux. 

Ethereum, la blockchain abritant l'une des crypto-monnaies les plus utilisées, doit d'ailleurs passer à moyen terme d'un système de preuve de travail, à un autre basé sur la preuve d'enjeu, qui lui ne réclamera aucun calcul compliqué pour le maintien du réseau.

Les premières briques de cette transition ont été posées il y a peu, mais les travaux se poursuivront encore l'an prochain.

Comment se déroule une transaction sur une blockchain ?

Une transaction inscrite sur une blockchain ressemble à ceci :

Blockchain transaction

On y trouve plusieurs éléments. Tout en haut et démarrant par « c4bd », on retrouve l'identifiant de la transaction. Il est unique et permet de la retracer dans la blockchain. À gauche, on trouve une adresse (ici Bitcoin) commençant par « 14j5 ». C'est d'elle que sont partis les fonds. Il s'agit de la partie publique d'une paire de clés cryptographique.

À droite, on retrouve deux opérations. L'un de 200 BTC destiné à l'adresse « 1L6d », l'autre d'environ 14 BTC vers « 1PJU ». Cela tient à une particularité du protocole Bitcoin. Lorsqu'on y effectue une transaction, la totalité des fonds présents sur une adresse sont obligatoirement déplacés.

Dans l'échange ci-dessus, les 200 BTC sont en réalité envoyés dans une adresse dite de retour, qui appartient au propriétaire du compte de départ. Ce point est géré automatiquement par les portefeuilles Bitcoin.

Ici, la véritable transaction est donc l'envoi d'environ 14 BTC à l'adresse « 1PJU ». Il faut également s'attarder sur les lignes « total des entrées » et « total des sorties ». On remarque qu'il y a 0,001 BTC (1 mBTC) de plus dans les entrées que dans les sorties. Ce millibitcoin de différence correspond aux frais de transaction que l'expéditeur a décidé de payer, pour que son opération passe dans la blockchain.

Ce millibitcoin sera ajouté à la récompense de base offerte aux mineurs lors de l'ouverture d'un bloc. Par exemple, le bloc numéro 496492, d'où l'on a extrait la transaction décrite plus haut, renfermait 2 052 transactions pour lesquelles au total 1,05 BTC de frais ont été payés par les émetteurs, qui se sont additionnés aux 12,5 BTC crées par le bloc. 

Théoriquement, il est possible de ne pas verser de frais de transaction, mais la priorité de passage dans le bloc suivant dépend du montant accordé pour les frais. Si vous n'en prévoyez pas assez, votre transaction ne sera pas prioritaire et devra attendre le passage de plusieurs (dizaines ?) de blocs avant d'avoir sa place. Au contraire, des frais plus généreux vous accorderont un coupe-file pour la prochaine série de validation.

Des sites comme Bitcoinfees permettent d'avoir une idée des frais à dépenser pour figurer en bonne position.

Ethereum : smart contracts et dApps

La blockchain Ethereum est particulière à plus d'un titre. Sa conception même permet l'exécution de ce que l'on appelle des smart contracts, ou contrats intelligents. Il s'agit de petits morceaux de code stockés dans la blockchain qui automatisent certaines actions. 

Ces mini programmes sont écrits dans un langage spécifique : Solidity. Chacune des opérations effectuées au sein des contrats a un coût, exprimé en gas. La liste complète des coûts pour chaque opération est accessible à partir de la page 20 de ce document. Une transaction classique (qui n'est finalement qu'une forme élémentaire de smart contract) coûte ainsi 21 000 gas pour être exécutée.

Le gas se paye à l'aide d'Ether, la crypto-monnaie liée à la blockchain Ethereum, et son prix est variable. Plus un utilisateur paie cher son gas, plus l'opération qu'il souhaite réaliser s'exécutera prioritairement (par rapport aux autres utilisateurs). Ce code est exécuté dans ce qui est appelé l'EVM, pour Ethereum Virtual Machine.

Il devient ainsi possible de lier la validation de transactions à l'exécution de certaines conditions. Par exemple, déclencher un paiement en crypto-monnaie si le suivi d'un colis indique qu'il a été reçu par son destinataire. Il est bien évidemment possible de faire exactement la même chose plus simplement sans utiliser de blockchain. L'intérêt de la technologie tient ici dans la traçabilité des opérations, ainsi qu'à l'ouverture et l'inviolabilité du registre qui les recense. 

Il est possible d'aller encore plus loin en développant des « dApps » ou applications distribuées. Nous avions ainsi relayé en août le cas d'une plateforme permettant de casser des mots de passe entièrement décentralisée et s'appuyant sur des smart contracts Ethereum.  

Son principe : un internaute envoie une empreinte (hash) de mot de passe dont il veut retrouver l'original. Si quelqu'un envoie la bonne réponse et que le réseau le vérifie, le contrat se déclenche et paie la récompense choisie par l'émetteur du hash. Le tout en assurant la traçabilité de l'opération. 

Et en dehors des crypto-monnaies ?

Si dans l'inconscient collectif la blockchain est associée aux crypto-monnaies, son principe n'est pas seulement applicable à ce domaine. Les banquiers, les assureurs et même les constructeurs automobiles s'y intéressent de très près, tout comme certains gouvernements. 

Pour comprendre cela, il faut revenir sur le concept de départ d'une blockchain. Ce n'est ni plus ni moins qu'un registre distribué au sein d'un réseau, librement consultable, mais nécessitant un vote de ses acteurs avant de valider le moindre changement dans son contenu. Le poids de ces votes étant lié à la possession préalable d'un jeton (Proof of Stake) ou à la fourniture de puissance de calcul (Proof of Work), le registre ne peut être que très difficilement falsifié (le risque zéro n'étant pas de ce monde). 

Ce registre peut contenir absolument n'importe quoi. Dans le cas des crypto-monnaies il est utilisé comme un livre de comptes, mais il pourrait aussi bien être mis à contribution pour contrôler les stocks d'un entrepôt, suivre des colis ou n'importe quel autre usage où la traçabilité est un facteur clé.

Que faire avec un outil pareil ? Chez Renault par exemple, l'idée retenue est celle d'un carnet d'entretien numérique pour les véhicules de la marque en partenariat avec Microsoft et Viseo. À chaque passage dans un garage, les différentes interventions effectuées sur le véhicule y seraient inscrites par le chef d'atelier, ainsi que son kilométrage.

Lors de la revente, le propriétaire pourrait ouvrir aux acheteurs potentiels l'accès au carnet en ligne afin qu'ils puissent le consulter et s'assurer que l'entretien de la voiture a été mené dans les règles, ou bien que son kilométrage correspond bien à la réalité. Air France y songe également pour suivre les opérations de maintenance de ses avions.

Du côté des assureurs, Axa propose par exemple des contrats permettant de toucher automatiquement une indemnité forfaitaire si votre vol transatlantique au départ de Paris subit un retard de deux heures (voir notre analyse). Une solution qui s'appuie sur la blockchain d'Ethereum et permet de déclencher des paiements immédiats, sans avoir à tergiverser avec le service client. 

Bref, les possibilités sont multiples, et quel que soit l'avenir des crypto-monnaies, qui commencent à se faire une place chez les néo-banques et dans les contrats à termes, la blockchain est sans doute une technologie dont on va entendre parler de manière croissante dans les années à venir.

Son évolution sera intéressante à suivre, certains défauts du concept devant être corrigés ou adaptés selon les cas, mais les prémices de la révolution qu'elle porte sont déjà là. Ne reste plus qu'à les exploiter.

Commentaires (96)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

Très bon article.



Mais comme je suis chiant, une remarque :



Certains ont été conçus pour que leurs solutions ne puissent être trouvées de manière efficiente qu’avec des cartes graphiques.



Qu’est-ce que c’est anglicisme vient faire ici ? <img data-src=" />

Un bon français dira “efficace” <img data-src=" />

votre avatar

275kWh par transaction sur BitCoin ?! À 15 centimes le kWh, ça fait 41€ la transaction…

&nbsp;

votre avatar

Sur la question énergétique, il faut savoir comment est produite cette énergie. En chine les fermes sont à proximité des centrales hydroélectrique.



Et il est possible de se servir de cette puissance de calcul pour mettre Bitcoin au centre d’une nouvelle économie : recycler cette énergie pour notarier d’autres blockchains peu énergivores tel le que le fait Komodo. La sécurité serait identique à celle du Bitcoin sans devoir déployer d’immenses structures.

Cette solution peut couvrir énormément de secteurs et renforcer la valeur du protocole Bitcoin.

votre avatar

&nbsp;Si Ethereum permet d’écrire du code dans la blockchain, ça veut dire que ce code est exécuté tout le temps par tout le monde ? Je comprends pas bien. <img data-src=" />

Si Renaut pose un “if…then…else” par exemple, qui fait tourner ce code, il est exécuté combien de fois par jour ?

Et au fil du temps, ça fait un nombre de lignes de code monstrueux à maintenir !!

votre avatar

Il n’est executé que quand tu l’appelles.

votre avatar

Si un acteur, vrai ou faux, est n’améliore pas la puissance de calcul du réseau, alors son influence sur la difficulté de minage est nulle. Si un “faux” acteur l’améliore, il a sans doute meilleur compte à être réglo et collecter ses gains.

votre avatar







yope7 a écrit :



Il y a une chose (parmi tant d’autres) que je n’ai pas trop compris :



“Il leur faut « hacher » l’ensemble des transactions à ajouter à un bloc, ainsi que le hash du bloc précédent en respectant diverses contraintes fixées par le niveau de difficulté demandé par le réseau. Le premier à trouver la solution à ce problème la diffuse au reste du réseau, qui la vérifie.“ Le réseau vérifie que ces calculs cryptographiques sont corrects par rapport au contenu du bloc qu’il soumet. Mais comment s’assurer de la pertinence du contenu ? (genre il invente des transactions vers ses propres comptes)





Il faut bien séparer 2 choses :

La blockchain n’est qu’un registre, une sorte de base de données, partagé dont l’intégrité est assuré. On ne peut pas la modifier à postériori. Cependant, on peut écrire ce que l’on veux dessus dans les nouveaux blocs.

C’est là qu’intervient une autre partie de la cryptomonnaie, la transaction et sa validité de la transaction qui elle est faite en amont, avant d’être écrite dans la blockchain. C’est toute la partie “crypto” de la cryptomonnaie, tu as un jeu de clé public/privé pour assurer tes transactions.


votre avatar

J’ai lu dans le&nbsp; Canard PC Hardware n °34, où est présent un dossier sur le minage, qu’en Chine il possédait des fermes pour avoir plus de 50 % d’un réseau de cryptomonnaie.

Ils ont la possibilité d’avoir tous les bons résultats et donc de récupérer tous l’argent des récompenses



Note

Je n’ai pas le magazine sous la main (il est à la maison et je suis au boulot) donc je n’ai pas de nom à donner sur quelle cryptomonnaie c’est réalisée. Je rechercherai aussi la source de leur information.

votre avatar

En fait on pourrait résumer les systèmes de crypto-monnaies en trois couches :




  • la couche base de donnée qui s’appuie sur le blockchain

  • la couche cryptographique avec des algorithme spécifiques selon les monnaies

  • la couche supplémentaire de sécurité avec le type de preuve

votre avatar

Sans chercher très loin, du côté de Bitcoin, au moment de l’annonce de la mise en place de SegWit, il y avait 58 signataires dans une salle. Ils représentaient 83 % de la puissance de calcul du réseau.

votre avatar

Je poste pas souvent mais là je vais ajouter plusieurs points…




  • Mettre une ferme de serveur à côté d’une centrale hydroélectrique en se disant que ça ne pollue pas, je ne suis pas d’accord : déjà, pour faire cette centrale, on a probablement détruit un écosystème ou deux ; ensuite, cette énergie pourrait être utilisée à autre chose ailleurs, ce qui permettrait d’avoir moins d’autres centrales qui fument et font grésiller les compteurs Geiger

  • Il est possible d’avoir une blockchain avec preuve de travail qui ne demande pas tant d’énergie (en contrepartie on est un peu moins sécurisé peut-être, et pas tant que ça a priori) avec un truc tout simple : ne pas refiler la monnaie créée au moment du calcul à la clé du calculateur. C’est par exemple le cas de la Monnaie Libre générée avec Duniter, l’intégralité de la monnaie créée est distribuée aux membres humains de la toile de confiance intégrée dans la blockchain. Et paf, ça fait un cousin du revenu de base ! Oh et en plus, une machine qui a calculé un bloc se met en veille pour les deux ou trois blocs suivants histoire que ça soit pas toujours les mêmes qui calculent même s’ils ont une puissance de calcul de fou qui doublerait systématiquement les autres machines du réseau.

    Voilà voilà… En tout cas Merci Nxi pour ce bel article, bien complet et synthétique, beau boulot !

votre avatar

Excellent article, très bons apports théoriques !

votre avatar

Les chercheurs de bitcoin se goinfrent en énergie, et pendant ce temps là, les gens en Amazonie se font empoisonner par le mercure des chercheurs d’or…

votre avatar

Très bon article, GG Kevin&nbsp;<img data-src=" />

votre avatar

J’ai lu que la taille totale de la blockchain du Bitcoin faisait environ 170 GB. Est-ce qu’on est obligé de la stocker en entier sur son ordinateur pour miner ou faire des transactions ?

votre avatar

super l’article.





Le seul côté que je trouve intéressant dans les crypto monnaie <img data-src=" />&nbsp;

votre avatar

Merci pour cet article, Ellierys <img data-src=" />

votre avatar







Skas a écrit :



Le mineur “gagnant”, il a calculé quoi exactement pour être déterminé gagnant ?





Pour miner il faut trouver un block avec un hash ayant un certain nombre de ‘0’ en premier. Pour se faire il y a un champs dans le block qu’on peut changer (le nonce). Et donc tu changes de nonce jusqu’à ce que le hash du block produise un nombre suffisant de 0 en début. Par exemple :https://blockchain.info/block/0000000000000000005dc3390405564ae006f0ce658f096967…



Le truc c’est que comme la fonction de hash a un fonctionnement pseudo-aléatoire, tu ne peux pas prédire si tu t’approches où tu t’éloignes à chaque nouveau nonce.

C’est donc assez aléatoire comme sélection. Le premier qui trouve un bon block gagne.



L’avantage, c’est que c’est très facile pour tout le monde de vérifier que la solution est bonne. Mais c’est tendu de trouver une bonne solution (il y en a pleins en vrai)


votre avatar







skankhunt42 a écrit :



J’aurais tellement voulu savoir combien consomment à peu près les banques avec leur 3300 transaction par seconde par rapport au bitcoin et ces 7 transaction par seconde avec 11 max. Quelqu’un sait combien dégage de saloperies 1 datacenter “vert” par rapport à des pc de “kevin” qui minent toute la journée ?





Je me pose aussi la question. Je suis dans un petit service financier, et on a au moins 25 serveurs, multiplier par 4 environnement (quasiment identique) et héberger sur 2 datacenter pour la redondance.

Tout ça pour 40 flux de paiement par jour…



Les datacenter doivent etre mutualisés mais quand même..


votre avatar







skankhunt42 a écrit :



par rapport à des pc de “kevin” qui minent









Ellierys a écrit :



P.S : dans le cas de Bitcoin ce n’est pas le “PC de Kevin” qui mine.





J’avoue que j’ai un peu rigolé quand j’ai vu le commentaire de skankhunt, vu le nom de l’auteur de l’article. <img data-src=" />







skankhunt42 a écrit :



J’ai l’impression que ça existe déjà depuis un paquet d’année, je pense qu’il y à une redondance chez les banque au niveau du stockage + calcul des transactions. La blockchain n’est qu’un mot marketing comme le cloud qui n’est qu’une version marketing d’un serveur ( ftp / http / ect ). Et que le fait d’utiliser des mineurs permet de décentraliser les calculs un peu comme du P2P, dans le but d’économiser de l’argent.





Ça n’a rien à voir. <img data-src=" />



(et sinon le cloud c’est un peu marketing mais pas seulement, ça correspond à une évolution technique, en bonne partie liée à la virtualisation qui permet d’avoir une forme d’abstraction du matériel)


votre avatar







Squallinou a écrit :



Je me pose aussi la question. Je suis dans un petit service financier, et on a au moins 25 serveurs, multiplier par 4 environnement (quasiment identique) et héberger sur 2 datacenter pour la redondance.

Tout ça pour 40 flux de paiement par jour…





Je suppose que tous ces moyens ne sont pas là pour 40 transactions par jour, sinon un Raspberry Pi suffirait. Sais-tu combien de transactions sont gérées ?

En 1999 j’ai installé un serveur de transactions bancaires et autorisations, c’était plusieurs milliers par jour (ça recevait les transactions des appareils à carte bancaire) avec un simple “PC”, dont les autorisations en temps réel (en pratique tout compris plutôt 10 s par autorisation, de mémoire).


votre avatar

Passionnant !&nbsp; merci NextInpact, vos articles sur ces technos vraiment velus et passionnantes, sont indispensables, moi-même j’essai d’apporter une modeste contribution à Ethereum et pour l’instant le concept de blockchain reste abstrait. Cet article m’aide à y voir plus clair.

votre avatar

<img data-src=" />C’est pour ce genre d’article que je viens de repartir pour un an !&nbsp;

votre avatar



Il faut obtenir le consensus de la majorité des acteurs du réseau





Je n’ai pas compris qui étaient ces acteurs <img data-src=" /> De là difficile de leur faire confiance. Que se passe-t-il si “la majorité” donne un consensus à un truc faux ? Le bloc est émis, c’est gravé dans le marbre, donc on diffuse à jamais une info fausse ?

votre avatar







Jarodd a écrit :



Je n’ai pas compris qui étaient ces acteurs <img data-src=" /> De là difficile de leur faire confiance. Que se passe-t-il si “la majorité” donne un consensus à un truc faux ? Le bloc est émis, c’est gravé dans le marbre, donc on diffuse à jamais une info fausse ?





Pour les blockchains publiques ça peut-être n’importe qui. Le problème de la preuve de travail c’est qu’elle a tendance à concentrer la puissance de calcul. Mais effectivement si la majorité dit n’importe quoi alors c’est n’importe quoi qui sera conservée à vie.



C’est pour ça que c’est important d’avoir un nombre important d’acteurs avec différents intérêts et chacun travaillant pour leur propre bénéfice (d’où l’intérêt de les rémunérer avec une monnaie qui dépend directement du réseau que tu veux sécuriser). Mais après on entre dans les questions de cryptoéconomie, théorie des jeux & co qui sont intéressantes mais peut-être un peu hors sujet ici.

Mais pour résumer : si tu as suffisamment d’acteurs agissant individuellement dans leur intérêt, le réseau est sécurisé.&nbsp;



Après il existe aussi des Blockchains privées ou chaque acteur est identifié et est donc devient responsable. On revient donc dans un modèle de confiance classique.


votre avatar

On* compte sur le fait que la majorité des acteurs (= CPUs en train de miner) veulent valider des trucs vrais. Pour un nombre important d’acteur, y a pas de raisons de penser qu’au même moment la majorité veuille valider une transaction mal signée ou une double dépense de bitcoin ou un numéro de bitcoin non-référencé.



Pour tenir un livre de compte public, ça semble fiable.



* : pronom impersonnel, je ne mine pas.

votre avatar

C’est clair un immense merci pour ce super travail, je n’ai jamais lu un article aussi clair, bien synthétisé et agréable à lire \o/ !

&nbsp;

votre avatar

Excellent article de synthese : une reference du genre

<img data-src=" />



<img data-src=" />

votre avatar

Je dis peut-être une énorme connerie, mais imaginons des acteurs russes, nombreux, qui “prouvent” quelque chose de faux concernant les stazunis. C’est pas possible ça ?

votre avatar







Jarodd a écrit :



Je dis peut-être une énorme connerie, mais imaginons des acteurs russes, nombreux, qui “prouvent” quelque chose de faux concernant les stazunis. C’est pas possible ça ?





Il faut être vraiment très nombreux. Mais oui effectivement en étant suffisamment gros, tu peux pousser de fausses affirmation.

Si les Blockchains se développent réellement au point de devenir une source de vérité sur les actions des états, ça veut aussi dire que les états participeront à sa sécurité. i.e. si les Russes veulent pousser un faux block, ils seront en compétition avec les US, l’amérique latine, l’europe, les pays d’asie, l’australie, etc.

En théorie la sécurité de la Blockchain devrait être proportionnelle à l’importance des informations qui y sont stockées.


votre avatar

Ben oui, quelqu’un qui contrôle plus de 50% de la puissance de calcul consacrée au minage peut établir le consensus tout seul (il peut faire valider ses blocs quand il obtient la preuve de travail, même s’ils sont faussé, et faire rejeter les blocs prouver pas d’autres noeuds que les siens.).



Mais comme dit plus haut, le coût pour ça est très élevé. Dans ton scénario particulier, je ne vois pas comment un état pourrait nuire à un autre en passant par une blockchain de cryptomonnaie sans passer par un gros montage financier en amont, mais c’est une autre histoire.

votre avatar

J’ajoute que si on veut utiliser une blockchain pour distribuer et valider des archives (par exemples des actes notariés, des dépôts de brevets ou des décisions de justice) on ne pourra pas empêcher des entrées frauduleuses (l’antidatage est rendu quasiment impossible, néanmoins). Mais ça ne rendrait pas la fraude plus discrète, et si la retirer des registres est impossible, on peut toujours la déclarer nulle dans un bloc ultérieur.

votre avatar

Article très interessant, merci ! <img data-src=" />

Il devait être dans les cartons depuis un moment.



&nbsp;Personnellement, je ne savais pas qu’autant d’acteurs (Renault, Axa, …) comptait exploiter ce système.

votre avatar







Tydher a écrit :



Article très interessant, merci ! <img data-src=" />

Il devait être dans les cartons depuis un moment.





Ouais, y’a pas mal d’heures de boulot <img data-src=" />


votre avatar

Merci d’avoir expliqué simplement ce qu’est une blockchain et les principes de fonctionnement des crypto-monnaies.

votre avatar

<img data-src=" />

votre avatar

Merci d’avoir parlé de l’aberration écologique du système par preuve de travail du bitcoin dont tous les chercheurs d’or se foutent allégrement.

Si on peut se mettre de l’argent dans les poches sans bouger son cl, fck la planète !

votre avatar

Yep, impressionnant quand même cette consommation d’énergie.



On pourrait y voir un complot du lobby du nucléaire pour plus de centrale et discréditer les faibles performances des eoliennes, incapables d’alimenter le réseau électrique au risque de provoquer un crash monétaire mondial.



En tout cas, chapeau bas pour l’article.

votre avatar

+1



Merci pour l’article ^^



C’est clair qu’à cette vitesse, à un moment les états devront mettre le holà s’ils ne veulent pas que le réseau électrique se retrouve à genou. Si encore on parlait de quelque chose qui servait l’humanité, ça se discuterait, mais actuellement c’est clairement de l’énergie foutue en l’air pour rien.



Maintenant que la preuve de concept est faite, il faut passer à la suite et tenir compte de ces différents problèmes.

votre avatar

Si je comprends bien, si le nombre “d’acteurs” de la blockchain venait a grimper fortement, le minage deviendrait beaucoup plus couteux en temps et en énergie.



Qu’est ce qui empêcherait&nbsp; un petit malin de créer plein de faux acteurs “virtuels” pour ralentir/bloquer le minage?



&nbsp;

&nbsp;

votre avatar

Il y a une chose (parmi tant d’autres) que je n’ai pas trop compris :



“Il leur faut « hacher »&nbsp;l’ensemble des transactions à ajouter à un bloc, ainsi que le hash du bloc précédent en respectant diverses contraintes fixées par le niveau de difficulté demandé par le réseau. Le premier à trouver la solution à ce problème la diffuse au reste du réseau, qui la vérifie.”&nbsp;Le réseau vérifie que ces calculs cryptographiques sont corrects par rapport au contenu du bloc qu’il soumet. Mais comment s’assurer de la pertinence du contenu ? (genre il invente des transactions vers ses propres comptes)

votre avatar

C’est pas le nombre d’acteurs qui compte, c’est la puissance de calcul qu’ils déploient. Bon courage pour créer de la fausse puissance de calcul :)

votre avatar

C’est pour ca que de plus en plus de&nbsp;Blockchain&nbsp;utilise&nbsp;la&nbsp;POS&nbsp;(proof&nbsp;of&nbsp;stack), plus tu en as plus tu as de poids dans la&nbsp;décision.Après la&nbsp;blockchain, c’est déjà dépassé, faut regarder du côté de&nbsp;hashgraph&nbsp;(250 000 transactions/s)

votre avatar

Les transactions sont signées, tu ne peux pas en forger correctement à moins d’avoir la clé privée de l’emetteur.

votre avatar

Très bon article, merci Kevin

votre avatar

Merci pour cette précision ;)

J’en profite pour vous remercier pour cet article très intéressant. J’avais bien aimé également les dossiers sur la cryptologie. Ce fut une des nombreuses raisons qui m’ont poussé à m’abonner à votre site ;)

votre avatar

Merci du compliment <img data-src=" />

votre avatar

Ok merci pour l’explication. Et créer/trouver un nouveau bloc, ça donne la possibilité d’effectuer une nouvelle transaction c’est ça ? (désolé je suis un galérien <img data-src=" />)

votre avatar

trs bon article, qui vient compléter ma lecture en ce moment

“tout savoir sur les Blockchain” (notre article tombe-à-pic) !!!

votre avatar

AMHA dans le contexte international actuel, les moyens sont illimités pour arriver à ses fins et déstabiliser les autres pays. Regardez les budgets et les efforts pour faire élire Trump, faire passer des fake news pour la vérité, ou les moyens de la NSA pour faire son espionnage de masse. Ils passent outre les règles internationales, alors je doute qu’une question de budget les empêche de mener leurs actions à bien s’ils le veulent vraiment.

votre avatar

Que devient l’enregistrement antérieur si un enregistrement est déclaré nul plus tard ? Reste-t-il lisible ? A-t-il une référence vers sa mise à jour ?

votre avatar







Skas a écrit :



Ok merci pour l’explication. Et créer/trouver un nouveau bloc, ça donne la possibilité d’effectuer une nouvelle transaction c’est ça ? (désolé je suis un galérien <img data-src=" />)





Non, n’importe qui peut envoyer une transaction sur le réseau, ça crée donc une liste de transactions à processer (on appelle cela la mempool pour bitcoin, à ne pas confondre avec la memepool qu’est r/bitcoin). Les mineurs vont piocher dans cette mempool les transactions en attentes, les regrouper ensemble et essayer de trouver un block avec ces transactions. Une fois le bloc trouvé, il est rajouté à la suite des autres blocs précédemment trouvé, diffusé au reste du réseau et donc considéré comme faisant partie de la blockchain. Les transactions présentes dans ce bloc sont considérées comme validées et le mineur qui a trouvé le bloc se voit attribué la récompense pour avoir trouvé le bloc, à savoir, les 12,5BTC + les fees ajoutées par les personnes ayant émis les transactions.

Les fees jouent un rôle important parce que ça donne un intérêt à un mineur d’ajouter des transactions dans un bloc, et ça permet de privilégier les transactions avec les plus hautes fees (puisque le mineur va gagner plus en incorporant les transactions avec les plus hautes fees).


votre avatar







Jarodd a écrit :



Que devient l’enregistrement antérieur si un enregistrement est déclaré nul plus tard ? Reste-t-il lisible ? A-t-il une référence vers sa mise à jour ?





La blockchain c’est une système d’historisation d’évènements. Donc l’entrée précédent reste lisible, et il n’y a pas de référence vers sa mise à jour (sauf si ça a été prévu via smart-contract par exemple).



Si tu veux connaître l’état des informations historisées sur une Blockchain telle que Bitcoin, il faut absolument parcourir toute la chaîne. D’ailleurs bitcoin ne stocke que les transactions, il ne stocke pas&nbsp; combien chaque compte possède. Si tu veux connaître le solde d’un compte, tu te retapes toute la chaîne et tu fais les additions et soustractions qui vont bien.

&nbsp; Pour faire une analogie c’est comme si au lieu d’accéder à un document word, tu accèdes à son historique de modifications. Si tu veux connaître à quoi ressemble la version finale, tu rejoues toutes les modifications et ça te crée le document final.



Quand on utilise une blockchain dans le monde réel, on a toujours une base de donnée à côté qui représente le dernier état dans lequel se trouvent les données après que toutes les modifications aient été appliquées. La Blockchain permet surtout de s’assurer que tout le monde possède bien le même historique d’évènements et que donc le document final est identique pour tous.


votre avatar

Grand bravo et merci pour cet article et le travail de synthèse réalisé&nbsp;<img data-src=" />

votre avatar

Pour compléter khalev, l’intérêt de la blockchain est l’archivage et surtout son infalsifiabilité (si le mot existe). Plus un bloc est ancien, plus il est difficile à modifier, y compris légitimement. Si on découvre une erreur dans un ancien bloc, il faudrait re-prouver ce bloc et tous les suivants.



Mon cas de blockchain pour des actes notariés ou autre est théorique, si un tel système est mis en place, il faudra sans doute prévoir de quoi gérer le scénario que j’avance.

votre avatar







OlivierJ a écrit :



(et sinon le cloud c’est un peu marketing mais pas seulement, ça correspond à une évolution technique, en bonne partie liée à la virtualisation qui permet d’avoir une forme d’abstraction du matériel)





Tout ça existait avant non ?


votre avatar

Ben non.

Personnellement j’ai vécu l’arrivée de tout ça, mais c’est progressif.

votre avatar

Merci pour les précisions c’est plus clair !

votre avatar

Enfin ! j’ai compris pourquoi tout le monde parle de la blochain comme étant la solutions à tout !

Merci Nextinpact.

votre avatar

Moi qui croyais comme Guillaume MEURICE que la blockchain s’était pour faire de l’innovation pour pouvoir dire “je fais de l’innovation dans la blockhain” au salon de la startup en calbut qui cherche une levée de fonds <img data-src=" />

votre avatar

(dans le Futur) on pourra, même, vendre sa maison SANS passer

par une Banque NI un Notaire ! <img data-src=" />

votre avatar

Que ceux qui posent des questions pour comprendre ne s’excusent pas, bien au contraire:

Ils prouvent leur intérêt pour le sujet, et bien souvent ils rendent service à tous ceux qui n’ont rien compris mais qui n’osent pas le dire.

votre avatar







digital-jedi a écrit :



Merci d’avoir parlé de l’aberration écologique du système par preuve de travail du bitcoin dont tous les chercheurs d’or se foutent allégrement.

Si on peut se mettre de l’argent dans les poches sans bouger son cl, fck la planète !





la plupart des mineurs chauffent leur appart en hiver grâce a ça

c’est en été que ça craint <img data-src=" />


votre avatar

On est autour de 140 Go actuellement pour l’intégralité de la blockchain bitcoin.

Il y a moyen d’utiliser des clients légers qui (grossièrement) ne téléchargent qu’une fraction de la blockchain pour fonctionner. C’est quelque chose qui est prévu dans le protocole d’origine rédigé par Satoshi Nakamoto.

votre avatar

“Théoriquement, il est possible de ne pas verser de frais de transaction, mais la priorité de passage dans le bloc suivant dépend du montant accordé pour les frais. Si vous n’en prévoyez pas assez, votre transaction ne sera pas prioritaire et devra attendre le passage de plusieurs (dizaines ?) de blocs avant d’avoir sa place. Au contraire, des frais plus généreux vous accorderont un coupe-file pour la prochaine série de validation.”

&nbsp;

c’est pas un peu antinomique avec la neutralité du net ?

votre avatar

Salut Nxi.



&nbsp;Ca serait possible d’avoir une option pour désactiver l’affichage et le chargement de la zone de commentaire ?

votre avatar

Quel est le rapport entre le traitement d’une transaction et la neutralité du net O_o” ?

votre avatar

C’est le fait de prioriser un flux, qu’il soit de données génériques, ou, ici, de données de transaction, enfin je le comprends comme ça

votre avatar

Merci pour cet article !



J’aurais tellement voulu savoir combien consomment à peu près les banques avec leur 3300 transaction par seconde par rapport au bitcoin et ces 7 transaction par seconde avec 11 max. Quelqu’un sait combien dégage de saloperies 1 datacenter “vert” par rapport à des pc de “kevin” qui minent toute la journée ? Sinon vous n’avez pas également parlé de la bande passante avec la blockchain de plusieurs go.



Ma vision des choses à propos de la blockchain en faisant une analogie “informatique” :



J’ai l’impression que ça existe déjà depuis un paquet d’année, je pense qu’il y à une redondance chez les banque au niveau du stockage + calcul des transactions. La blockchain n’est qu’un mot marketing comme le cloud qui n’est qu’une version marketing d’un serveur ( ftp / http / ect ). Et que le fait d’utiliser des mineurs permet de décentraliser les calculs un peu comme du P2P, dans le but d’économiser de l’argent.



&nbsp;





Ellierys a écrit :



C’est pas le nombre d’acteurs qui compte, c’est la puissance de calcul qu’ils déploient. Bon courage pour créer de la fausse puissance de calcul :)





C’est juste une question d’argent… imagines demain je lache 100.000€ pour générer des faux calcul en bitcoin, quel répercutions ? Si avec ça c’est suffisant pour faire tomber le bitcoin, d’autre pourrais investir dans des cryptos alternatives et si j’investis dans celle la avant mon attaque c’est bingo sur moi.


votre avatar

Superbe boulot, bravo Kevin.

votre avatar

Allez, faisons le calcul avec 100 000 dollars !

On part du principe que tu vas acheter pour ce prix 50 AntMiner S9 (sans leur infra ni leur alimentation). Ils ont un output théorique de 13,5 Th/s chacun, soit 675 Th/s au total. Disons 600 Th/s en pratique pour faire simple.

Le Hashrate moyen hier était de 12 000 000 de Th/s en moyenne.



Avec 100 000 dollars, tu pèses 0,005 % de la puissance de calcul total. Autant te dire qu’il va falloir un peu plus que ça pour faire tomber le Bitcoin. Avec 10 000 fois cet investissement (donc un milliard de dollars) tu pèserais pour un tiers du hashrate. Et encore, là t’as pas le local, t’as pas l’infrastructure pour relier tout le bordel au réseau l’alimenter, et le maintenir.



P.S : dans le cas de Bitcoin ce n’est pas le “PC de Kevin” qui mine. Ce sont des fermes de machines spécialisées qui n’ont rien de commun avec un PC.

votre avatar

Merci pour l’explication <img data-src=" />

<img data-src=" /><img data-src=" /><img data-src=" />

votre avatar

?? Mais ca n’a rien à voir avec la neutralité du Net !

Les blocs d’une blockchain n’ont rien à voir avec les paquets réseaux (tcp/ip par exemple) <img data-src=" />

votre avatar

Merci beaucoup pour l’article <img data-src=" />

votre avatar







skankhunt42 a écrit :



Merci pour cet article !



J’aurais tellement voulu savoir combien consomment à peu près les banques avec leur 3300 transaction par seconde par rapport au bitcoin et ces 7 transaction par seconde avec 11 max. Quelqu’un sait combien dégage de saloperies 1 datacenter “vert” par rapport à des pc de “kevin” qui minent toute la journée ? Sinon vous n’avez pas également parlé de la bande passante avec la blockchain de plusieurs go.





Les PC de Kevin ressemblent à ça :http://csef.ru/media/articles/7921/9207.jpg



&nbsp;





skankhunt42 a écrit :



J’ai l’impression que ça existe déjà depuis un paquet d’année, je pense qu’il y à une redondance chez les banque au niveau du stockage + calcul des transactions. La blockchain n’est qu’un mot marketing comme le cloud qui n’est qu’une version marketing d’un serveur ( ftp / http / ect ). Et que le fait d’utiliser des mineurs permet de décentraliser les calculs un peu comme du P2P, dans le but d’économiser de l’argent.&nbsp;



&nbsp;

&nbsp;La redondance de données isolées est différente d’un consensus quasi-instantanné sur un réseau. Ce qui coûte chère aux banques et autres entreprises c’est la réconciliation des données. Là c’est fait nativement à travers tout le réseau.Les mineurs sont là pour garantir l’intégrité des données dans la mesure où la seule façon de générer des blocs valide c’est de dépenser de l’énergie pour trouver un bon hash. Si demain tu veux pouvoir changer la valeur d’une transaction dans un bloc déjà miné tu devras retrouver le hash de ce block ainsi que tous les suivants. Et pendant ce temps le reste du réseau travaille à trouver des blocs aussi. Donc tu feras une course contre eux, et à moins d’avoir une majorité de la puissance de calcul du réseau, tu ne les rattraperas jamais et donc personne ne fera confiance à ta version



&nbsp;





skankhunt42 a écrit :



C’est juste une question d’argent… imagines demain je lache 100.000€ pour générer des faux calcul en bitcoin, quel répercutions ? Si avec ça c’est suffisant pour faire tomber le bitcoin, d’autre pourrais investir dans des cryptos alternatives et si j’investis dans celle la avant mon attaque c’est bingo sur moi.





Tu lâches 100,000€ tu représenteras pas grand chose. Un bloc rémunère 12,5 Bitcoin, à 10k€ le bitcoin ça représente plus que ton investissement. Et un block est créé en moyenne toutes les 10 minutes. Avec tes 100,00€ tu trouveras peut-être un block tous les 6 mois (j’ai pas le temps de faire les calculs précis désolé). Et voilà, tu auras miné un block ou tu auras pu mettre toutes les transactions que tu voulais. Mais c’est tout, ça ne veut pas dire que les transactions sont valides et seront considérées comme valides, il faut qu’elles aient la bonne signature et tout. Donc tu auras généré un block, avec des transactions non valides et voilà. Mais c’est pas avec ça que tu vas faire tomber le réseau.


votre avatar

Très bon article qui s’inscrit bien dans les commentaires de l’autre article de cette semaine&nbsp;<img data-src=" />



&nbsp;







skankhunt42 a écrit :



par rapport à des pc de “kevin” qui minent toute la journée ?&nbsp;





Sur les articles de Ellierys, le “Kevin” est pas autorisé, fait attention&nbsp; :x !


votre avatar

La neutralité du net s’applique au net, c’est-à-dire aux paquets qui circulent dessus, pas aux traitements informatiques que font les ordinateurs qui sont reliés au net.



Un lecteur de longue date de NXI devrait savoir cela.

votre avatar

Merci Kevin pour l’article.



J’ai l’impression que la qualité des articles de NXI est en nette croissance ces derniers temps!



Mais ça demande trop d’effort à mon petit cerveau. Capacité de concentration trop faible. Du coup, je les lis pas.&nbsp;<img data-src=" />



On veut plus de putàclic et moins de réflexion SVP.&nbsp;<img data-src=" />

votre avatar

J’ai compris (je crois) la technique, mais je ne comprends pas le but (concernant les crypto monnaies).

On fait des calculs et on les valide, mais pourquoi ? Je comprends bien l’intérêt énoncé dans le dernier paragraphe, mais concernant la crypto-monnaie, un truc m’échappe.



“- Hey les mecs ! Il faut vérifier 2 + 2 = 4 !”

… les mecs vérifient …

“Ok, c’est bon !”



Et alors ? Je ne comprends pas comment on peut en faire de la monnaie.

votre avatar

L’intérêt de rendre difficile la validation d’un bloc est d’éviter que plusieurs versions d’un bloc ne coexistent : quand les noeuds préparent un bloc, ils peuvent collecter des transactions différentes et si tous les noeuds sont en mesure de soumettre leurs blocs en même temps, ça foutrait un certains bazar.



Les noeuds pourraient évidemment voter pour choisir le bloc à retenir, mais cela impliquerait qu’un attaquant disposant de plus de 50% des connexions pourrait décider tout seul.



En rendant la validation difficile, on diminue grandement le risque que plusieurs blocs différents soient soumis au même moment (je n’entre pas dans les détails, mais le risque demeure, il est cependant géré). Quelqu’un qui voudrait alors forcer sa version du bloc est obligé de le résoudre avant les autres et c’est pour ça que quelqu’un qui veut devenir maître de la blockchain ne peut pas en ayant la majorité des connexions : il lui faut la majorité de la puissance de calcul.

votre avatar

Excellent article, merci infiniment.

votre avatar







Ellierys a écrit :



Il n’est executé que quand tu l’appelles.





Ok alors dans quels cas il est appelé ?

Puisque c’est un test “if…then…else” il doit bien être fait de façon régulière. Comme un genre de démon sur linux, non ?

A chaque atterissage d’avion, pour reprendre l’exemple de l’assurance retard, un algo extérieur à la blockchain va appeler à faire le test ? Et quel noeud du réseau l’exécute ?


votre avatar

exactement.

votre avatar



A chaque atterissage d’avion, pour reprendre l’exemple de l’assurance retard, un algo extérieur à la blockchain va appeler à faire le test ? Et quel noeud du réseau l’exécute ?





Pour être très franc, j’ai pas encore poussé à fond mon apprentissage sur les smart contracts.

De ma compréhension actuelle de la chose, les réponses sont dans l’ordre : oui, un algo externe va aller interroger le contrat régulièrement, tous les nœuds l’exécutent.

votre avatar







t1nt1n a écrit :



On veut plus de putàclic et moins de réflexion SVP. <img data-src=" />





J’avais hésité à titrer “Les blockchains, qui sont-elles, quelles sont leurs réseaux”. Guénaël peut en témoigner <img data-src=" />


votre avatar







Ellierys a écrit :



Pour être très franc, j’ai pas encore poussé à fond mon apprentissage sur les smart contracts.

De ma compréhension actuelle de la chose, les réponses sont dans l’ordre : oui, un algo externe va aller interroger le contrat régulièrement, tous les nœuds l’exécutent.





Si ça dépend d’un algo extérieur à la blockchain, c’est donc pas fiable !

C’est vraiment ça les smart contract ?

Et si tous les noeuds exécutent le smart contract, comment faire pour ne rembourser qu’une fois ?


votre avatar

Pour faire court, y’a des débuts de réponse ici :http://sebfor.com/what-are-smart-contracts-and-how-do-they-work-examples/

votre avatar







empty a écrit :



Ok alors dans quels cas il est appelé ?

Puisque c’est un test “if…then…else” il doit bien être fait de façon régulière. Comme un genre de démon sur linux, non ?

A chaque atterissage d’avion, pour reprendre l’exemple de l’assurance retard, un algo extérieur à la blockchain va appeler à faire le test ? Et quel noeud du réseau l’exécute ?





Chaque appel de fonction est en fait une transaction envoyée à un smart-contract. L’appel de fonction est donc envoyé à tout le réseau, tout le réseau exécute la fonction et tout le réseau se met d’accord sur le résultat de l’exécution qui sera aussi le résultat de la transaction (je schématise un peu pour simplifier).



Pour initier des appels de fonctions, il faut forcément un déclencheur extérieur à la Blockchain (pour l’instant en tout cas). Une fonction peut appeler une autre fonction d’un autre contract par contre, mais le déclenchement de la première fonction est extérieur.



En général, quand on veut planifier des appels de fonctions on utilise un service extérieur qui va appeler la fonction à l’instant donné. Par exemple oraclize propose un service d’appel de fonction à une heure donnée. Pour le cas de l’atterrissage de l’avion, dans la mesure où l’information d’atterrissage de l’avion n’est pas stocké sur la Blockchain, on doit de toute façon passer par un système d’oracle pour récupérer l’information.

Si l’information était entrée dans la blockchain par contre on pourrait très bien imaginer un système de trigger qui fait en sorte d’appeler automatiquement les contrats enregistrés à l’évènement au moment de la dépose de l’heure d’atterrissage d’un vol.



Pour l’explication de l’oracle: pour que l’exécution d’un smart-contract soit acceptée il faut que “tous” les noeuds trouvent le même résultat, et ce quelque soit l’endroit où ils se trouvent sur le globe et le moment où ils font la demande. Or à une même requête un serveur web peut répondre blanc un moment et vert 2 secondes plus tard, ou changer sa réponse en fonction de la géographie. Ont donc été créés des système d’“oracle” pour récupérer des données non stockées sur la Blockchain. Quand un smart-contract a besoin d’une information, il peut demander à l’oracle d’aller la récupérer pour lui. L’oracle va la récupérer, l’horodater et la stocker. Ainsi chaque autre exécution du smart-contract va accéder l’information stockée par l’oracle au lieu de devoir demander au serveur initial, et donc tout le monde exécutera le smart-contract avec les même informations.


votre avatar

Si tu sais élever des chats (cryptokitties), tu sais déjà assez bien ce qu’est un smart contract…

votre avatar

Regarde la colonne de droite <img data-src=" />

votre avatar







empty a écrit :



Si ça dépend d’un algo extérieur à la blockchain, c’est donc pas fiable !

C’est vraiment ça les smart contract ?

Et si tous les noeuds exécutent le smart contract, comment faire pour ne rembourser qu’une fois ?





Les smart-contracts ne garantissent que le résultat de l’exécution de la fonction, pas le moment de l’exécution. Vu que c’est une transaction, l’exécution n’aura lieu qu’au moment où la transaction n’est ajoutée dans un block,&nbsp; et il n’y a aucune garantie pour ça actuellement, d’où le principe des fees et du fait qu’elles augmentent quand le réseau commence à saturer. Les fees reviennent aux mineurs qui vont donc prioriser les fees les plus grandes.



Tous les nœuds exécutent le smart-contract et se mettent d’accord sur le résultat de l’exécution. Ce qui compte c’est le résultat de l’exécution, pas l’exécution elle-même. Le papier technique d’ethereum décrit le fonctionnement des smart-contract comme une machine à état et les smart-contracts comme les fonctions de transfert d’un état à un autre. Tous les noeuds se mettent donc d’accord sur l’état à la suite de l’exécution de la fonction, mais la fonction n’est réellement exécutée qu’une fois.

&nbsp;

En language un poil plus formel (si ça peut aider): soit T1 un état initial, F une fonction de transition et T2 l’état après l’application de la fonction de transition F à l’état T1:

&nbsp; alors T2 = F(T1)

Ce que vérifie chaque noeud du réseau c’est que , en partant du même T1 et en appliquant F, ils arrivent bien à T2, si tu as 5 noeuds, chaque noeud vérifie que T2=F(T1), ils ne font pas T2 =&nbsp; F(F(F(F(F(T1)))))


votre avatar

Ah oui, effectivement.

Merci

votre avatar







Fueg a écrit :



la plupart des mineurs chauffent leur appart en hiver grâce a ça

c’est en été que ça craint <img data-src=" />







Il faudrait donc instaurer un roulement entre hémisphère nord et hémisphère sud.







skankhunt42 a écrit :



J’aurais tellement voulu savoir combien consomment à peu près les banques avec leur 3300 transaction par seconde par rapport au bitcoin et ces 7 transaction par seconde avec 11 max. Quelqu’un sait combien dégage de saloperies 1 datacenter “vert” par rapport à des pc de “kevin” qui minent toute la journée ? Sinon vous n’avez pas également parlé de la bande passante avec la blockchain de plusieurs go.





Je crois que d’un point de vu consommation électrique, de par son concept même, l’entretien d’une blockchain sera toujours plus énergivore qu’un système semi centralisé. En effet, le principe de base de l’actuel bitcoin que c’est celui qui a le plus de moyen de calcule et donc qui consomme le plus qui a le plus de chance de gagner le pactole. Au contraire, les banques, leur système informatique leur coute de l’argent, ça ne leur rapporte rien, elle vont plutôt chercher à optimiser leur coût et donc l’efficacité de leur système.



Pire, le minage demande d’avoir toujours du matos de dernière technologie, les anciens ayant un rapport puissance calcule/puissance électrique trop faible pour être rentable est juste bon la poubelle car il ne peut rien faire d’autre, c’est du matos hyper-spécialisé.

Je me rappelais déjà que dès les premiers articles sur les bitcoin sur nxi/pci, il y avait déjà des personnes qui disaient que ce n’était déjà plus rentable de miner avec son PC, le gain était trop faible pour l’électricité consommée (et on ne parle même pas de rembourser le matos).


votre avatar

Le mineur “gagnant”, il a calculé quoi exactement pour être déterminé gagnant ?

votre avatar

42 <img data-src=" />

votre avatar







digital-jedi a écrit :



Merci d’avoir parlé de l’aberration écologique du système par preuve de travail du bitcoin dont tous les chercheurs d’or se foutent allégrement.

Si on peut se mettre de l’argent dans les poches sans bouger son cl, fck la planète !





Moi c’est exactement l’aspect qui m’a fait arrêter de jouer avec le bitcoin.&nbsp;



Quand ce n’était qu’un jouet pour geek, et qu’on&nbsp; pouvais “tipper” avec , ok.

Quand il a été possible de convertir en monnaie fiduciaire, la course à l’échalote a commencée, et ce fut le début de la fin.&nbsp;

(J’avoue que j’avais craqué , j’ai un joli cube “Butterfly Labs” qui sert absolument à rien mais qui est une jolie relique d’un passé tout proche :) Mais j’ai jamais gagné 1 seul mBTC avec, comparé à ce que j’avais miné tout au début avec un simple P4…)


Qu’est-ce qu’une blockchain et à quoi ça sert ?

  • Anatomie d'une blockchain

  • La preuve de travail (PoW), comment ça marche ?

  • SHA-256, Scrypt et les autres

  • Controverse sur l'efficacité énergétique

  • La preuve d'enjeu et ses alternatives

  • Comment se déroule une transaction sur une blockchain ?

  • Ethereum : smart contracts et dApps

  • Et en dehors des crypto-monnaies ?

Fermer