Monnaies numériques décentralisées. Partie 2. Blockchain

Dans la partie précédente, nous avons décrit l'idée de base d'une monnaie numérique décentralisée et sa mise en œuvre pratique sous la forme de Bitcoin. Comme tout nouveau concept, Bitcoin a en pratique rencontré de nombreux problèmes liés au protocole d'exploitation du réseau et à la protection de l'intégrité de la base de données. Dans cet article, nous discuterons des limites actuelles du réseau, des monnaies alternatives avec des solutions à l'un ou l'autre problème Bitcoin et pourquoi les grandes entreprises se sont intéressées à la blockchain.



Partie 1. Bitcoin
Partie 2. Autres (pas) types populaires de Bitcoin, blockchain
Partie 3. Ethereum


Blocs


Le bitcoin a montré non seulement la cohérence de l'idée de système de paiement p2p, mais a également proposé une solution au problème du consensus public (décentralisé). Pour le lecteur, au stade initial, l'architecture de Bitcoin peut sembler trop compliquée. Par exemple, s'il existe des règles générales et que nous pouvons simplement ignorer les transactions incorrectes / frauduleuses, alors pourquoi avons-nous besoin de blocs et de minage? Pour ce faire, nous devons comprendre comment la transaction et la prévention des doubles dépenses sont mises en œuvre.


Transaction


Dans Bitcoin, lors de la formation d'une transaction à l'entrée, de nombreuses transactions précédentes sont combinées et à la sortie, des transferts vers d'autres comptes sont effectués (voir figure). Les transferts qui résultent de la sortie sont appelés transactions non dépensées (UTXO) jusqu'à ce qu'ils entrent dans une autre transaction.



Lors de la création d'une nouvelle transaction, UTXO est dépensé dans son ensemble, mais si vous devez dépenser seulement une partie, alors un autre transfert est ajouté avec le reste à votre propre compte.


Si nous n'avons pas confiance dans la validité de la transaction précédente, nous devrons alors revérifier toute la chaîne de transactions à chaque fois, jusqu'au moment de l'émission. Pour éviter cela, les transactions sont regroupées dans un bloc, qui, à son tour, est scellé avec un beau hachage et est lié par d'autres blocs des deux côtés. Cela nous donne une certaine garantie que la transaction qui est tombée dans le bloc est valide et peut déjà être référencée.


Après avoir résumé tous les UTXO adressés à un certain compte, nous pouvons connaître son solde, par conséquent, à tout moment, la somme de tous les UTXO est égale au montant total de l'argent dans le système.


Double dépenses


Dans les systèmes décentralisés, il est difficile de synchroniser les enregistrements de tous les utilisateurs, il y a des problèmes avec la séquence des transactions et les doubles dépenses. Imaginez une situation où un utilisateur lance (presque) simultanément plusieurs transactions en utilisant le même UTXO. En raison de retards sur le réseau, les participants recevront ces messages dans un ordre différent, ou même ils peuvent sauter une partie (voir schéma).



Bien sûr, si nous avions un système qui fournissait à tous les participants l'heure exacte universelle, nous pourrions éviter cette confusion, mais c'est la centralisation arrière, que nous avons initialement refusée. Pour résoudre ce problème, des blocs et du minage ont été inventés, qui déterminent la séquence et la confirmation de ces transactions. Plusieurs branches sont extraites en même temps, mais la complexité de l'extraction est ajustée de sorte que dans les 3-4 blocs, une branche devance, ce qui fixe à jamais toutes les transactions de l'historique.


Preuve de travail


Comme nous le rappelons de l'article précédent, PoW protège l'intégrité de la base de données. Mais qu'est-ce qu'une attaque à 51% et quelles actions en théorie peuvent être effectuées si quelqu'un (appelons-le un attaquant) dispose de ressources impressionnantes.


  1. Un attaquant pourra construire la chaîne plus rapidement que les autres (et prendre la part du lion de la récompense), mais uniquement de manière honnête. L'exactitude du bloc est facile à vérifier et dès qu'une telle activité est détectée, les participants de bonne foi ignoreront ces blocs et transactions.


  2. Un attaquant peut annuler une transaction et retourner son argent (voir schéma).


En général, une telle situation pendant une courte période ne fera pas beaucoup de mal, sauf pour annuler vos propres transactions et en bloquer d'autres. Mais étant donné que la plupart des récompenses seront prises par un participant, d'autres mineurs se disperseront, ce qui signifie également la fin du réseau.


En 2014, le pool Ghash.io a accumulé 51% de la puissance pendant plusieurs heures, et certains mineurs ont quitté le pool par eux-mêmes afin de ne pas saper la confiance en Bitcoin.


Autres mécanismes de consensus décentralisés


L'un des principaux inconvénients du PoW est le coût de l'énergie. En tant qu'alternative économe en énergie, le protocole de consensus Proof-of-Stake a été développé, où le participant avec une part plus élevée est plus susceptible de créer le bloc suivant. Ce mécanisme et d'autres types de consensus sont très bien décrits ici .


Problèmes actuels de Bitcoin


Selon les règles du réseau, en moyenne, 1 bloc est créé en 10 minutes. Il est conseillé d'attendre environ six blocs pour que la transaction soit considérée comme explicitement fixée dans la blockchain, et cela fait déjà une heure. Comparé aux virements interbancaires, c'est bien sûr très rapide, mais toujours pas adapté aux petites entreprises.


La taille du bloc est limitée à un mégaoctet, étant donné le moment où le bloc a été créé, il est plus rentable pour les mineurs d'effectuer des transactions avec une commission élevée. Récemment, il y a eu une tentative de mise à jour du protocole en modifiant la structure et la taille du bloc, ce qui a finalement conduit à la ramification du réseau en Bitcoin (BTC) et BitcoinCache (BCH) classiques.


Un autre inconvénient est le seuil d'entrée élevé pour les mineurs, cela n'a aucun sens de s'engager dans l'exploitation minière sans machines ASIC. En plus de cela, les mineurs se regroupent pour un profit stable, et c'est de retour une sorte de centralisation.


Variétés


Namecoin est le tout premier fork de Bitcoin, qui vous permet d'enregistrer des noms en les écrivant dans la blockchain. Il existe des espaces d / pour les noms de domaine dans la zone .bit et id / pour enregistrer un nom avec des informations connexes. Grâce au consensus public, au sein du réseau, vous avez la garantie de posséder un nom spécifique, pendant que vous le payez régulièrement. Un tel modèle est une alternative valable au système actuel de l'ICANN et, en théorie, éliminera les problèmes avec les bureaux d'enregistrement.
Litecoin est l'une des fourchettes populaires. La transaction est 4 fois plus rapide et à faible commission que Bitcoin. De plus, un algorithme a été choisi pour PoW qui devait compliquer l'extraction sur les cartes GPU et les machines ASIC.
PeerCoin est la première monnaie avec un modèle hybride PoW et PoS.
Le Zerocoin est une monnaie totalement anonyme qui vous permet de suivre les mouvements d'argent.
Ethereum est une plateforme qui sert de machine virtuelle pour les applications décentralisées. Par exemple, une sorte de contrat intelligent est en cours d'élaboration, ils le font le plein avec de l'argent (comme une commission, ici on l'appelle du carburant) et envoyé au réseau. Les mineurs, à leur tour, traitent les blocs exécutent le bytecode de ces applications et retirent le carburant de ces applications en paiement du travail.


Et la blockchain?


La façon dont Bitcoin stocke les données, couplée à des méthodes consensuelles, est devenue un sujet indépendant. Les perspectives de mise en œuvre peuvent être dans n'importe quel domaine où un consensus et une base transparente sont nécessaires:


  • Finance, commerce;
  • Assurances, paris commerciaux;
  • Bases de données publiques, registres;
  • Vote, e-gouvernement.

Chaque domaine a ses propres exigences en matière de modèle de sécurité, de confidentialité des données, de mécanismes de consensus en fonction des participants et de la nature des objets circulant dans la blockchain.


Un exemple est une blockchain interbancaire privée, où l'anonymat est exclu et les participants se font initialement confiance. En conséquence, les mécanismes de protection du réseau sont simplifiés et les banques disposeront simplement d'un outil de synchronisation de la base et de la gestion conjointe de certains actifs. D'autres exigences nécessaires peuvent être l'échange de données privées entre les participants, la connexion des autorités de contrôle, etc.


Initialement, la blockchain a abordé la question des actifs numériques à double dépense, mais dans des domaines tels que le suivi des produits et l'assurance, il existe un besoin d'une méthode efficace de sérialisation des objets physiques qui empêche divers types de fraude.


Ici, vous pouvez en savoir plus sur l'aperçu des plateformes de blockchain.


La partie suivante décrira la plate-forme Ethereum et examinera des exemples de contrats intelligents.

Source: https://habr.com/ru/post/fr405907/


All Articles