Bitcoin Forum
November 09, 2024, 04:20:35 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Méthodes de consensus de la blockchain] PoW vs PoS vs DPoS  (Read 353 times)
Shitcointalk (OP)
Full Member
***
Offline Offline

Activity: 308
Merit: 110



View Profile
July 12, 2018, 09:59:11 AM
Last edit: July 14, 2018, 02:16:07 AM by Shitcointalk
Merited by qwk (2), Halab (2), dave111223 (2), F2b (1), Becassine (1), JohnUser (1), baba0000000000 (1)
 #1

J'étais un peu surpris de cette réflexion à propos des différentes méthodes de consensus de la blockchain :
Quote
Le projet fait DPOS ça a l'air bien même si j'ai aucune idée de ce que ça veut dire.
Alors voilà une petite mise au point qui pourra peut-être servir à certains. Puis après tout, ça changera un peu de parler de blockchain plutôt que de smerits et d'airdrop.




La technologie de la blockchain permet d'échanger des données (informations, monnaies, ...) de façon décentralisée et sans intermédiaire.
- Décentralisée signifie répartie sur tout le réseau et supportée par chacun (ou au moins une grande partie) des participants.
- Sans intermédiaire signifie que l'on supprime le besoin d'une entreprise, d'une banque centrale, ou d'un État en tant que garant des transactions effectuées.

Mais voilà, puisque l'on supprime l'intermédiaire, comment assurer et garantir la validité et la légitimité des échanges entre les participants ?
C'est ce qu'on appelle le problème des généraux byzantins.

Pour tenter de résoudre ce problème, différentes formes de consensus ont été adoptées. Je vais détailler ici les 2 principales méthodes, plus une variante qu'on retrouve souvent : PoW, PoS, et DPoS. Il en existe d'autres et même certaines méthodes hybrides (PoW + PoS), mais le but n'est pas d'écrire un livre, juste d'éclaircir un peu les fondements de ce qu'est une blockchain.

La méthode de consensus est le moyen qui permet à tous les acteurs du réseau de reconnaître les transactions comme valides et légitimes. Toutes ces transactions, mises bout à bout (ou bloc à bloc), forment une blockchain. La blockchain en elle-même n'étant jamais qu'un registre distribué (distributed ledger) répertoriant l'ensemble des blocs et donc l'ensemble des transactions, qui ont eu lieu sur cette blockchain.


  • La première et principale forme de consensus est la Proof of Work (PoW), ou Preuve de Travail. (Bitcoin, Ethereum, Litecoin, Monero, …)

    Cette méthode consiste à utiliser une puissance de calcul informatique pour traiter les transactions. Si l'on prend l'exemple de Bitcoin, cela fonctionne plus ou moins de la manière suivante :

    1/ Toutes les dernières transactions effectuées sont regroupées dans un memory pool (le mempool).
    2/ Les mineurs (ceux qui possèdent de la puissance de calcul) vérifient que chaque transaction du mempool est légitime en résolvant un puzzle mathématique.
    3/ Le premier mineur à résoudre ce puzzle est récompensé par un montant en bitcoin (la récompense de bloc) et par les frais de transaction du réseau.
    4/ Le mempool vérifié est désormais appelé bloc. Il est rajouté à la blockchain. Et ainsi de suite.

    La théorie de cette méthode existe depuis une vingtaine d'années. En pratique, elle a fait ses preuves avec bitcoin depuis bientôt 10ans. Elle est de loin la méthode de consensus la plus performante en terme de sécurité de la blockchain. Le principal risque de cette méthode est l'attaque des 51%. Il faudrait que quelqu'un arrive à regrouper plus de 51% de l'ensemble de la puissance de calcul pour pouvoir créer une seconde blockchain. Disposant de la majorité de la puissance de calcul, l'attaquant pourrait légitimer les blocks de lui-même et ainsi falsifier la blockchain à son avantage. Ce risque devient relativement faible dès que le réseau devient suffisamment développé et important.
    Mais la PoW pose également un problème écologique puisqu'elle requiert une quantité d'énergie (électricité) constante pour fonctionner. Et plus le réseau bitcoin se développe, plus la quantité d'énergie requise est importante. En l'état actuel et dans le cas d'une adoption massive de bitcoin, la consommation électrique du réseau est condamnée à augmenter de façon exponentielle. C'est clairement une limite qu'il faudra résoudre pour espérer voir les crypto-monnaies se généraliser.


  • La seconde grande méthode de consensus est la Proof of Stake (PoS) ou la Preuve d'Enjeu. (Waves, stratis, Okcash, …)

    Ici, plus besoin de puissance de calcul informatique. On utilise à la place des Enjeux. Les mineurs de PoS (que j’appellerai stakers à défaut de meilleur nom) doivent détenir un certain montant de crypto-monnaies pour staker. Ces enjeux servent à vérifier et valider les transactions. Les stakers forment les nœuds du réseau. Ce mécanisme repose sur l'idée que plus l'enjeu est gros, plus le staker a intérêt à maintenir la sécurité du réseau. Ici l'attaque des 51% nécessiterait de disposer d'au moins 51% des coins en circulation ce qui représente des montants considérables et rend la chose hautement improbable.

    La méthode PoS est beaucoup plus récente que la PoW. En plus de son avantage écologique évident, elle permet aussi des vitesses de transaction beaucoup plus rapide que la PoW. Mais elle pose encore des problèmes de sécurité. Contrairement à la PoW, les stakers ne sont pas particulièrement dissuadés de "forker" (scinder une blockchain en deux) la blockchain. En cas de fork, les mineurs de PoW doivent diviser leur puissance de calcul, ou bien choisir de ne soutenir qu'une des deux chaînes. Ce n'est pas le cas des stakers, qui eux peuvent soutenir les deux chaînes de manière identique si un fork se produit, puisqu'ils n'ont "rien à y perdre". On parle d'ailleurs de l'attaque "nothing at stake" qui pourrait se traduire par "rien à perdre".

    Une solution propose de bloquer les enjeux pendant une certaine période pour remédier à ce problème. Ainsi, en cas d'attaque, les fonds bloqués seraient automatiquement confisqués. Cela permet d'éviter les tentatives de manipulation de la blockchain puisque cela impliquerait d'y laisser son enjeu. C'est par exemple la solution que prévoit la prochaine mise à jour d'Ethereum : Casper.

    Il est parfois avancé que la PoS serait aussi plus équitable que la PoW puisque tous les participants au réseau peuvent théoriquement devenir des stakers. Mais c'est un point discutable puisque les plus gros holders ont beaucoup plus de poids que les petits porteurs. De même que les grosses fermes de minage face au mineur récréatif.


  • Il existe une variante assez répandue de la PoS: La Delegated Proof of Stake (DPoS) ou la Preuve d'Enjeu Déléguée. (Eos, Ark, Lisk...)

    Je lui accorde une place ici car cette méthode est utilisée par certaines des crypto-monnaies les plus connues. Un peu à la manière d'une démocratie représentative, la DPoS consiste à voter pour élire des délégués / témoins qui vont représenter les participants au réseau. Ils sont en charge de la vérification des transactions sur la blockchain. Bien sûr, étant donné leur grande responsabilité, ils peuvent aussi être démis de leur fonction.

    Certains estiment que cette méthode est la plus décentralisée car tout le monde peut voter même en ne disposant que de petits montants de crypto-monnaies, alors que même si la PoS est théoriquement accessible à tous, il faut, en pratique, détenir des montants conséquents pour staker.

    D'autres considèrent en revanche que la DPoS est beaucoup plus centralisée que la PoS puisqu'elle ne repose que sur quelques délégués, et non sur l'ensemble du réseau.

En somme, on en est encore à une phase d'expérimentation et aucune solution miracle n'a été trouvée. Pour ceux qui cherchent la pépite qui les rendra riche, c'est sûrement une bonne idée d'essayer de dénicher la crypto qui mettra au point LA méthode ultime de consensus et résoudra définitivement le problème des généraux byzantins.

Ajout : Pour les mots chinois, voilà le lien vers le lexique de Becassine.




Voilà un petit résumé incomplet mais que j'espère suffisamment simple pour être accessible à tous. N'hésitez pas à me corriger ou à compléter si besoin.

Becassine
Hero Member
*****
Offline Offline

Activity: 2002
Merit: 816



View Profile WWW
July 12, 2018, 09:10:06 PM
 #2

Intéressant, plutôt bien expliqué. Désolée je n'ai pas de smerits.

Shitcointalk (OP)
Full Member
***
Offline Offline

Activity: 308
Merit: 110



View Profile
July 14, 2018, 02:24:55 AM
 #3

Intéressant, plutôt bien expliqué. Désolée je n'ai pas de smerits.

Merci. Le but n'est pas QUE de gratter des smerits, mais bien d'expliquer un peu comment fonctionne une blockchain ! Je suis surpris de voir que beaucoup de gens investissent dans des cryptos sans même avoir la moindre idée de ce qu'ils achètent. Surtout pour holder. C'est la recette gagnante pour y laisser des plumes.
Becassine
Hero Member
*****
Offline Offline

Activity: 2002
Merit: 816



View Profile WWW
July 14, 2018, 06:46:43 AM
 #4

Intéressant, plutôt bien expliqué. Désolée je n'ai pas de smerits.

Merci. Le but n'est pas QUE de gratter des smerits, mais bien d'expliquer un peu comment fonctionne une blockchain ! Je suis surpris de voir que beaucoup de gens investissent dans des cryptos sans même avoir la moindre idée de ce qu'ils achètent. Surtout pour holder. C'est la recette gagnante pour y laisser des plumes.

Ce n'est pas vraiment surprenant, beaucoup de gens sont cupides et s'en fichent complètement du fonctionnement de la blockchain, ils regardent plus les courbes et les graphiques. En tout cas même moi j'ai à peu près tout compris, c'est que c'est bien expliqué.

F2b
Hero Member
*****
Offline Offline

Activity: 2135
Merit: 926


View Profile
July 14, 2018, 08:05:32 PM
Last edit: August 07, 2018, 04:18:00 PM by F2b
 #5

Ce n'est pas vraiment surprenant, beaucoup de gens sont cupides et s'en fichent complètement du fonctionnement de la blockchain, ils regardent plus les courbes et les graphiques.
Et c'est tout à fait regrettable... Car ces gens ne font que profiter de l'évolution des cours mais occultent complètement ce pourquoi les cryptos (Bitcoin en premier lieu) existent. Bitcoin n'a pas été créé pour augmenter notre compte en banque mais pour le réduire à néant.
Malheureusement (on ne peut pas le nier), la majorité de la valeur actuelle de Bitcoin vient de gens qui n'ont pas pour but de changer le monde. Non, leur but est bien plus bas (edit : à prendre avec des pincettes, vous emballez pas, je me suis un peu emporté) : nous avons tellement été habitués au système bancaire actuel qu'il est malheureusement impossible pour certains d'en sortir, voire même uniquement d'en prendre conscience.
Du coup, effectivement une petite piqûre de rappel de temps en temps ça ne fait pas de mal.  Smiley
(bon, à la relecture, comme souvent, je constate que je me suis un peu emporté... au moins ça a le mérite d'être franc)

npub1zc4r69x9nxg7h0qcs705k6c5yt7xaydtjrlsthk99vmgg2t2xgssd7mdde
JohnUser
Hero Member
*****
Offline Offline

Activity: 1022
Merit: 725


View Profile WWW
July 14, 2018, 11:44:59 PM
Last edit: July 15, 2018, 01:35:11 AM by JohnUser
 #6

Merci, ça fait du bien de lire autre chose que des questions sur le merit, les bounties et blablabla

La blockchain 2D de TON sera du PoS, mais modifié ? : https://drive.google.com/file/d/1l4Km8scm6oIjfOl4_jCxAEg_8IZrOEKC/view

Quote
2.1.15. Generation of new blocks by validators; cf. 2.6. The TON Blockchain uses a Proof-of-Stake (PoS) approach for generating new blocks in the shardchains and the masterchain. This means that there is a set of, say, up to a few hundred validators—special nodes that have deposited stakes (large amounts of TON coins) by a special masterchain transaction to be eligible for new block generation and validation.
Shitcointalk (OP)
Full Member
***
Offline Offline

Activity: 308
Merit: 110



View Profile
July 15, 2018, 06:24:00 AM
Last edit: July 19, 2018, 02:39:50 PM by Shitcointalk
 #7

@F2b : Tu as bien raison de te lâcher ! C'est ça qui fait vivre le forum. Personnellement, l'idée que les cryptos puissent remplacer le système bancaire me semble utopique. Je suis convaincu que les cryptos ne représentent absolument pas la moindre menace pour les banques. Au contraire, je crois que les banques migreront vers la blockchain quand la technologie sera suffisamment abouti. Sinon le développement des cryptos n'aurait jamais été toléré. J'espère me tromper.
En tout cas, une bonne partie des gens qui sont arrivés juste pour profiter de la vague de spéculation (fin 2017 par exemple) se sont bien cassés les dents ces derniers mois ! Autant avec la folie de 2017, tu pouvais bien investir dans n'importe quoi, tu avais des beaux gains assurés. Autant cette fois quand le marché repartira, je pense qu'un gros tri sera fait et que seul les projets solides qui apportent réellement quelque chose décolleront. Autrement dit, il est peut-être pas idiot de savoir un peu dans quoi on investit !

@JU: Oui c'est du PoS de toute façon pour annoncer un nombre de TPS (Transactions Par Seconde) aussi élevé. Ça a l'air d'être du DPoS, ils parlent de quelques centaines de validateurs qui constituent les nœuds. C'est une blockchain appelée masterchain qui est constituée de sous-blockchains appelées shardchains. La technologie du sharding, c'est encore une autre histoire, et ça mériterait un nouveau topic. (j'essaierai de m'y coller si ça intéresse des gens).
JohnUser
Hero Member
*****
Offline Offline

Activity: 1022
Merit: 725


View Profile WWW
July 15, 2018, 06:30:24 AM
Last edit: July 15, 2018, 09:12:02 PM by JohnUser
 #8

"La technologie du sharding, c'est encore une autre histoire, et ça mériterait un nouveau topic. "

Moi j'suis preneur à 10 000% en tout cas.

Y a même un topic si tu veux (tout le monde le boude donc j'ai arrêté, d'autant que pas un n'a lu le technical wp, ça se voit directe aux commentaires) : https://bitcointalk.org/index.php?topic=2636382.0;all

Et puisque vous parlez de remplacer les banques, justement, c'est bien la que TON est supposé commencer à montrer l'exemple.
Shitcointalk (OP)
Full Member
***
Offline Offline

Activity: 308
Merit: 110



View Profile
July 19, 2018, 02:39:03 PM
Last edit: August 02, 2018, 02:25:08 PM by Shitcointalk
 #9

"La technologie du sharding, c'est encore une autre histoire, et ça mériterait un nouveau topic. "

Moi j'suis preneur à 10 000% en tout cas.
On va pas dire que ce soit unanime, mais ton enthousiasme m'a suffit >> La technologie du sharding.
dave111223
Legendary
*
Offline Offline

Activity: 1190
Merit: 1001


View Profile WWW
August 22, 2018, 09:28:40 AM
 #10

"La technologie du sharding, c'est encore une autre histoire, et ça mériterait un nouveau topic. "

Moi j'suis preneur à 10 000% en tout cas.
On va pas dire que ce soit unanime, mais ton enthousiasme m'a suffit >> La technologie du sharding.


Très sympa de ta part ce rappel aux fondamentaux pour les personnes qui arrivent et ne maitrisent pas forcément l’anglais.
Shitcointalk (OP)
Full Member
***
Offline Offline

Activity: 308
Merit: 110



View Profile
August 23, 2018, 01:32:10 AM
 #11

Très sympa de ta part ce rappel aux fondamentaux pour les personnes qui arrivent et ne maitrisent pas forcément l’anglais.

Merci. Content de voir que des gens lisent mon pavé ! On voit beaucoup d'infos sur les bounty et la spéculation en général, mais pas tellement sur la technologie de la blockchain en elle-même. C'est dommage car c'est ça la véritable révolution des cryptos.
Becassine
Hero Member
*****
Offline Offline

Activity: 2002
Merit: 816



View Profile WWW
August 23, 2018, 02:58:09 PM
 #12

Très sympa de ta part ce rappel aux fondamentaux pour les personnes qui arrivent et ne maitrisent pas forcément l’anglais.

Merci. Content de voir que des gens lisent mon pavé ! On voit beaucoup d'infos sur les bounty et la spéculation en général, mais pas tellement sur la technologie de la blockchain en elle-même. C'est dommage car c'est ça la véritable révolution des cryptos.


J'ai dû distribuer quelques Jesuscoin quand même pour attirer les gens  Tongue

registrio
Newbie
*
Offline Offline

Activity: 28
Merit: 21


View Profile
September 16, 2018, 07:26:53 PM
 #13

Tu as l'air de dire que la méthode du consensus résout le problème des généraux byzantins. En fait, il existe deux problèmes : Le problème du consensus et le problème des généraux byzantins. Le premier cherche à trouver un consensus (comme son nom l'indique) entre différents nœuds qui peuvent éventuellement tomber en panne, dans le second cas, on ajoute la contrainte des acteurs malintentionnés (ou bugs qui dévient du protocole). Le second problème n'est donc qu'une hypothèse en plus. On peut donc avoir un algo qui résout le problème du consensus mais pas celui des généraux byzantins ! (C'est pour ça que je n'aime pas l'appellation consensus dans le cas des preuves, mais bon je t'avoue que je l'utilise aussi ce petit abus du langage Smiley )

https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_consensus
https://fr.wikipedia.org/wiki/Probl%C3%A8me_des_g%C3%A9n%C3%A9raux_byzantins
Shitcointalk (OP)
Full Member
***
Offline Offline

Activity: 308
Merit: 110



View Profile
September 17, 2018, 11:06:45 AM
 #14

Bonne précision. Effectivement, il y a un petit raccourci. Mais par soucis de simplicité, je n'ai pas voulu rentrer dans des détails qui me semblent superficiels. L'idée était surtout de faire un petit récapitulatif général sur les principales méthodes de consensus rencontrées.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!