L'EMERsion de la blockchain : découvrir les secrets de l'Emercoin

Publié: 2021-08-09

Dans le premier d'une série d'articles découvrant la gamme d'applications des technologies blockchain activées par Emercoin, nous examinons comment cette crypto-monnaie est née et en quoi elle est différente de tous les autres spécimens de l'industrie en plein essor de la crypto-monnaie.

Les réseaux peer-to-peer gagnent en efficacité et en fiabilité à mesure que le nombre de participants augmente. Cela en fait un outil parfait pour les solutions à l'échelle de l'entreprise et à l'échelle mondiale qui vont bien au-delà des « simples » applications financières. Le monde commence à s'en rendre compte maintenant. Chez Emer, c'est l'idée qui a guidé notre croissance dès le départ.

Noyau d'Emercoin

Historiquement, le noyau Emercoin a été hérité de Peercoin, qui à son tour a émergé de Bitcoin. Peercoin a introduit une innovation essentielle appelée consensus Proof-of-Stake (PoS). Cela a permis d'étendre et d'améliorer l'algorithme de preuve de travail (PoW) alors existant.

Le consensus est un algorithme utilisé dans un réseau décentralisé pour valider une certaine version d'une blockchain en pleine croissance. Un consensus résulte de tous les mineurs » utilisant leurs propres ressources pour « voter » pour une telle validation. Pour cela, ils sont récompensés par des crypto-monnaies nouvellement créées. En d'autres termes, les mineurs vendent leur service de « maintien de la confiance du réseau » en échange de pièces de monnaie.

Alors comment savoir qui a le droit de voter ?

Cela ne peut pas être un portefeuille, car un utilisateur frauduleux pourrait alors créer des millions de portefeuilles et utiliser ces votes fantômes pour valider n'importe quelle version de blockchain qu'il aime.

Cela ne peut pas non plus être une adresse IP, car tout FAI peut simuler un grand réseau, créant également des hordes d'électeurs fantômes.

Le vote nécessite donc une ressource limitée qui ne peut être ni reproduite ni falsifiée.

Pour le système Bitcoin, Satoshi Nakamoto a proposé une solution de preuve de travail, qui implique une validation par la capacité de calcul. En effet, si la capacité de calcul de votre ordinateur est de X, vous pouvez créer N sous-ordinateurs virtuels, mais la capacité de calcul agrégée ne va pas dépasser X. En d'autres termes, le propriétaire de tels sous-ordinateurs virtuels n'aura pas plus de votes qu'un seul utilisateur.

Ensuite, d'autres concepts consensuels ont été proposés, axés sur les ressources informatiques autres que les processeurs. Par exemple, la preuve de capacité était basée sur la capacité du lecteur de disque. Cela provoque une course aux armements dans l'évolution de l'écosystème de la crypto-monnaie. Les mineurs continuent d'investir dans leur matériel jusqu'à ce que les dépenses d'amortissement de leur équipement annulent les revenus générés par l'exploitation minière. Ensuite, ils commencent à se plaindre que « l'exploitation minière ne génère aucun gain » ou que « la crypto-monnaie n'est rien d'autre qu'une escroquerie ».

Le Proof-of-Stake était un concept révolutionnaire introduit par Sunny King à Peercoin. Peercoin a limité la capacité de vote par ses propres pièces. Cela a permis d'éviter la course aux armements en remplaçant les ressources matérielles (processeurs, disques durs) par des ressources virtuelles (pièces de monnaie). En conséquence, les gens ont cessé de gaspiller des ressources matérielles, de l'argent et de l'électricité dans la poursuite d'une plus grande puissance minière.

L'algorithme PoS a aussi ses défauts. Par exemple, il est vulnérable aux attaques internes. Ces derniers sont partiellement empêchés par des outils supplémentaires tels que, par exemple, des points de contrôle dynamiques. En général, le PoS s'est avéré plus sûr que le PoW.

Le protocole de consensus hybride utilisé par Peercoin est considéré comme le plus sécurisé, et c'est pourquoi nous l'avons utilisé comme base pour le projet Emercoin. Pour réussir, un attaquant sur Emer doit posséder 51% de la capacité de calcul globale du réseau et 51% de son stock de pièces. Deux barrières de nature différente protègent largement le réseau du discrédit.

Une autre raison pour laquelle Peercoin a été choisi était le code Bitcoin classique et mature utilisé dans son noyau. Il a non seulement été examiné par de nombreux experts en sécurité, mais a également fait face à plusieurs attaques infructueuses.

Enfin, nous voulions suivre une approche industrielle des projets, permettant une conformité maximale aux normes et spécifications existantes, et les technologies et API de Bitcoin ont de facto déterminé les normes de l'industrie de la cryptographie.

Emercoin vs Bitcoin : similitudes et différences

PoW+PoS vs PoW

Comme déjà mentionné, Emercoin utilise un protocole de consensus hybride. extrait de Peercoin. Le seul changement que nous avons apporté a été d'augmenter le poids du PoS à environ 80 %. Ainsi, Emer est une crypto-monnaie essentiellement basée sur PoS, avec un outil PoW auxiliaire.

SHA-256

Emercoin ferme les blocs en utilisant la même fonction de hachage SHA-256. Nous l'avons choisi car il s'agit d'un standard officiel et suffisamment sécurisé. En outre, des ASIC spéciaux effectuent déjà du minage SHA-256 depuis un certain temps. ceux qui possèdent un tel nouveau matériel.

En passant, nous sommes contre l'exploitation minière avec des ordinateurs à usage général, car cette approche est potentiellement dangereuse pour les parties non impliquées. Avant l'apparition des ASIC, un certain nombre de virus informatiques utilisaient les capacités de calcul des ordinateurs concernés pour exploiter les Bitcoins. Les ASIC ont rendu ces logiciels malveillants économiquement non viables. Bur d'autres crypto-monnaies extraites via des ordinateurs à usage général sont toujours exposées à ce risque.

Intervalle de bloc de 10 minutes

Tout comme Bitcoin et Peercoin, Emercoin fournit 10 minutes pour fermer un bloc. Un temps plus court par bloc entraînerait plus de collisions avec des blocs orphelins et une perte de fiabilité du réseau.

La probabilité de collision est calculée en divisant le temps de mise à jour du réseau par le temps de fermeture du bloc. Le temps de mise à jour du réseau dépend de la topologie et de la charge du réseau. La mise à jour du réseau Bitcoin prend quelques minutes. D'autres crypto-monnaies (par exemple, Quark) qui ont réduit le temps de fermeture du bloc à moins d'une minute rencontrent une exposition constante à la fourche dès que la charge du réseau devient plus ou moins importante.

On peut objecter en se référant à l'excellent protocole Ghost d'Ethereum, qui n'est pas exposé aux forks. Même si ses blocs orphelins (« oncles ») ne font pas partie de la blockchain résultante, ils participent au vote pour une version en chaîne, de sorte que l'intervalle de bloc peut être réduit à environ 20 secondes.

Mais ce protocole a ses propres vulnérabilités. Par exemple, un réseau Ghost est sujet aux tempêtes réseau, lorsque des quantités extrêmes de trafic se produisent dans les réseaux Ethernet sous une certaine charge. En termes simples, le réseau est vulnérable car son temps de mise à jour est proportionnel à son trafic. Sous une charge critique (trop de transactions par seconde), le temps de mise à jour devient comparable au temps de génération de bloc. Dans ce cas, différents mineurs peuvent générer indépendamment des blocs candidats à inclure dans la blockchain. Et voici une surprise : ces blocs contiendront les mêmes transactions. Ils circuleront donc à nouveau sur le réseau, multipliant le trafic, c'est-à-dire générant plus de charge réseau, plus de retards, et plus d'« oncles ». Le réseau va se comporter comme s'il était exposé à une attaque d'amplification DNS/NTP, les mêmes nœuds du réseau étant à la fois l'attaquant et la victime.

De plus, un seul bloc candidat est inclus dans la blockchain. Comme le réseau utilisait des ressources non seulement pour calculer ce bloc, mais aussi ses homologues, qui ont voté mais n'ont pas été inclus dans la blockchain résultante, la confiance dans la blockchain acceptée diminue considérablement. En conséquence, le réseau peut être attaqué avec moins de 51 % de sa capacité de calcul globale.

Dans l'ensemble, nous pensons que l'approche proposée par Satoshi Nakamoto est toujours la meilleure disponible.

Recalculer la complexité après chaque bloc

Contrairement à Bitcoin, qui recalcule sa complexité de minage tous les blocs de 2016 (c'est-à-dire environ toutes les deux semaines), les réseaux Emer et Peercoin le font après chaque nouveau bloc, contribuant ainsi à la fiabilité du réseau. Voici un exemple:

Supposons qu'après un recalcul de complexité programmé, 50% des mineurs de Bitcoin cessent de travailler. Soit dit en passant, cette situation n'est pas aussi improbable qu'il y paraît. Cela pourrait se produire si les gouvernements des pays qui hébergent de grands pools miniers promulguaient des lois à cette fin – ce qui pourrait bien être le cas bientôt en Chine. En conséquence, les intervalles de fermeture des blocs doubleront à 20 minutes, et la taille des blocs doublera également. Étant donné que de nombreux blocs ont aujourd'hui atteint la limite de 1 Mo, il est probable que de nombreuses transactions restent non confirmées pendant des jours. Cela pourrait provoquer la panique et davantage de transactions de la part de ceux qui souhaitent vendre au prix actuel, aggravant encore la situation. Il faudrait des semaines pour que le système se rétablisse.

Un réseau qui recalcule sa complexité après chaque nouveau bloc n'est pas exposé à un tel risque, car il s'adapte instantanément à la capacité de calcul globale des nouveaux mineurs. De plus, étant principalement une crypto-monnaie PoS, Emercoin n'est pas très affecté par le minage et/ou les pools. Même si toutes les piscines cessent de fonctionner en même temps, l'ajout d'un bloc ne prendrait que 20 % de temps en plus, et le système d'ajustement réglerait ce problème en seulement 24 heures.

Réévaluer le nombre de blocs de PoW attribués

Emercoin dispose d'un mécanisme supplémentaire pour maintenir sa capacité de mineur plus fiable, une boucle de rétroaction négative qui utilise le taux de hachage du réseau (capacité de mineur agrégée). Le fait est que la récompense du mineur n'est pas fixe (comme dans le cas du Bitcoin), mais inversement proportionnelle à la 4ème racine de la complexité du réseau.

Si la valeur fiduciaire d'Emercoin augmente, c'est-à-dire que plus d'utilisateurs commencent à l'exploiter, cela contribue à la complexité du réseau et réduit ainsi la récompense pour chaque bloc. En conséquence, le réseau est protégé contre une inflation forcée élevée. Inversement, si les mineurs se désintéressent d'Emercoin pour une raison quelconque, le système devient beaucoup moins compliqué et retient les mineurs en offrant des récompenses plus élevées.

En théorie, la stratégie d'exploitation minière Emercoin la plus efficace consiste à coopérer et à exploiter en utilisant une capacité minimale et en partageant un revenu maximal. Cependant, cela est improbable, car les mineurs seront confrontés à une variation du dilemme du prisonnier .

Rendement annuel en pourcentage de 6 % pour les points de vente

Comme Emercoin est une crypto-monnaie PoS, un mineur peut générer des revenus à la fois avec du matériel minier et des pièces dans son portefeuille. Nous avons choisi de payer des bonus PoS au taux de 6% par an. En d'autres termes, si les pièces utilisées pour clôturer une transaction restent intactes pendant plus d'un mois, il est probable qu'elles puissent être utilisées pour clôturer un bloc, générant un APY de 6% pour le propriétaire. Une fois les pièces utilisées, la période d'inactivité « s'épuise » et une nouvelle période d'inactivité commence pour le nouveau propriétaire. En d'autres termes, 6% APY est la récompense PoS maximale, qui ne peut être reçue que si les pièces restent intactes. Actuellement, l'augmentation réelle de la masse monétaire via PoS APY est d'environ 4 à 5 % par an. Au fur et à mesure que l'Emercoin se répand et que les transactions sont plus nombreuses, cette valeur diminuera pour correspondre aux taux typiques des monnaies fiduciaires fortes, bien que jamais complètement annulées.

On peut objecter que cet APY de 6% génère de l'inflation, mais il convient de mentionner qu'Emercoin a une tendance déflationniste, c'est-à-dire que la valeur de la pièce augmente, et assez rapidement. Cela se voit dans son taux de change, qui a presque quadruplé depuis le début de l'année. Cette inadéquation avec le modèle naïf est due au fait que la valeur de la pièce est liée à la valeur économique correspondante. La croissance économique entraîne une augmentation de la valeur de la pièce, de sorte que le PoS a une contribution négligeable à la croissance globale de la masse monétaire, par rapport à d'autres facteurs.

Émission et annulation d'Emercoins

On peut conclure de ce qui précède que la masse monétaire Emercoin pourrait croître perpétuellement. Cela semble vrai en première approximation. En effet, les participants qui maintiennent le consensus vendent leurs services au réseau et sont récompensés par des pièces nouvellement créées. Cependant, Emercoin dispose d'un mécanisme qui annule les pièces, équilibrant ainsi l'émission de pièces. Il le fait en prélevant des frais pour les services de blockchain tels que l'envoi de pièces ou l'achat de comptes avec le NVS. En d'autres termes, contrairement au Bitcoin, qui a des limites pour l'émission de pièces et n'a aucun outil pour les annuler, Emercoin permet de les émettre indéfiniment, mais a également un processus inverse pour l'équilibrer. Les participants qui vendent leurs services au réseau sont récompensés et ceux qui achètent des services du réseau paient pour eux.

Selon une estimation approximative et compte tenu des facteurs actuellement disponibles, un total d'environ 1 milliard de CEM sera généré d'ici 80 ans.

Révéler les adresses IP externes

La première innovation unique mise en œuvre par Emercoin était le protocole RFC5389, un outil STUN pour révéler les adresses IP externes. Après NAT, le logiciel de portefeuille doit connaître l'adresse IP externe pour fonctionner correctement. Bitcoin le recevait, et d'autres le font encore, en s'adressant à un serveur centralisé ( http://checkip.dyndns.org ). Il est ensuite passé aux paramètres de configuration UPNP et manuels. Nous avons rejeté cette approche pour plusieurs raisons, telles que l'échec de l'UPNP à fonctionner après un NAT multicouche. En fin de compte, nous avons décidé de ne pas utiliser du tout de serveur centralisé, mais d'appliquer la norme STUN, qui est utilisée à des fins similaires en VoIP. À l'heure actuelle, nous gérons la liste la plus complète de serveurs STUN publics disponibles et utilisons ces serveurs au sein de notre sous-système STUN pour identifier les adresses IP externes.

Optimiseur de transactions

L'optimiseur de transaction est une autre innovation unique mise en œuvre dans Emercoin.

Les crypto-monnaies avec des blockchains contenant des transactions vous obligent à sélectionner un sous-ensemble à dépenser lors de la création d'une nouvelle transaction. Bitcoin et d'autres crypto-monnaies utilisent un algorithme stochastique qui prend 1 000 échantillons aléatoires pour sélectionner un sous-ensemble contenant un montant aussi proche que possible de celui requis. Cependant, même si le portefeuille contient un sous-ensemble correspondant à la somme exacte, l'algorithme standard l'ignorerait presque toujours, créant une nouvelle transaction de paiement et conservant la différence. Cela se traduit par la création de transactions surdimensionnées et la génération d'une transaction future pour dépenser la différence.

Cet algorithme conduit également au problème de la « poussière d'or », entraînant un nombre élevé de transactions de faible valeur.

Emercoin applique une approche de programmation dynamique pour sélectionner le sous-ensemble de transactions. Cet algorithme est assuré de trouver un sous-ensemble parfaitement adapté, s'il existe. Nos évaluations montrent que le montant moyen des transactions a ainsi diminué de 5%, ralentissant la croissance de la blockchain.

Points de contrôle dynamiques distribués

Les crypto-monnaies PoS sont vulnérables à certaines attaques exotiques spécifiques aux PoS. L'une des plus dangereuses d'entre elles est l'« attaque d'initié ». Si un acteur frauduleux prend le contrôle de portefeuilles contenant des pièces déjà dépensées, il peut imiter un retour à une époque où ces portefeuilles contenaient réellement des pièces. Ainsi, l'acteur prendrait le contrôle de 51% des pièces, construirait une blockchain alternative plus longue que la principale et modifierait rétrospectivement le contenu de la blockchain.

Ces attaques peuvent être prévenues grâce à des points de contrôle qui limitent la restructuration de la blockchain à un certain niveau de profondeur. Bitcoin n'utilise que des points de contrôle durs intégrés dans le code du portefeuille ; ces points de contrôle sont mis à jour à chaque mise à jour du portefeuille. Peercoin et Emercoin, quant à eux, utilisent des points de contrôle dynamiques avec des données de point de contrôle envoyées en ligne. Cela ne nécessite aucune mise à jour du code du côté du client et permet une mise à jour constante de la structure des points de contrôle.

Peercoin ne prévoit qu'un seul nœud pour envoyer les données du point de contrôle. Si elles sont envoyées par plusieurs nœuds, ces données généreraient un conflit de réseau. Par conséquent, la défaillance de ce nœud empêcherait la mise à jour des données du point de contrôle dynamique.

Emer, d'autre part, a mis en œuvre un algorithme de point de contrôle dynamique distribué, qui empêche plusieurs nœuds indépendants d'envoyer des données de point de contrôle en double. Cela contribue à la fiabilité du réseau, car les points de contrôle sont toujours mis à jour même si certains nœuds tombent en panne.

Pas de contrats intelligents de style Ethereum

Emercoin ne prévoit pas de tels contrats et n'a pas l'intention de les introduire. Nous sommes totalement contre de tels contrats pour des raisons de sécurité. Nous avons toujours pensé que le téléchargement non autorisé de code dépendant de l'opération complète de Turing était extrêmement dangereux, et le récent vol d'Ether d'une valeur de 31 millions de dollars nous a donné raison.

Stockage nom-valeur (NVS)

Le sous-système Name-Value Storage (NVS) est notre innovation principale avec une valeur pratique externe, inspirée de la crypto-monnaie DNS distribuée Namecoin.

Contrairement à une structure similaire dans Namecoin, qui se concentrait fortement sur le DNS distribué, Emercoin NVS est un système de stockage à usage général distribué de confiance avec un contrôle partagé.

En termes simples, ce sous-système peut stocker n'importe quelle donnée binaire jusqu'à 20 Ko. Ces points de données sont liés à une clé de recherche jusqu'à 512 octets, unique pour l'ensemble du réseau. Chaque enregistrement est associé à une adresse de paiement appartenant au propriétaire du portefeuille correspondant.

Le propriétaire de l'adresse de paiement est la seule et unique personne habilitée à gérer le dossier. Gérer un enregistrement signifie créer un nouvel enregistrement pour remplacer l'ancien ou transférer la propriété à une autre adresse de paiement. Les anciens enregistrements ne sont jamais effacés et restent accessibles depuis la blockchain concernée. Ainsi, chaque enregistrement a l'historique complet des changements de propriété.

Techniquement, un enregistrement dans la blockchain est le résultat d'une transaction 0,01 EMC (bientôt réduite à 0,0001 EMC), attribuée à l'adresse de paiement du propriétaire de l'enregistrement. En tant que tel, ce résultat contient le contenu NVS. Le propriétaire de l'enregistrement est la seule personne autorisée à dépenser ce résultat, car la clé privée pour autoriser la sortie ne peut être trouvée que dans son portefeuille. Dépenser ce montant nécessite de modifier la valeur de l'enregistrement ou d'autres attributs, y compris l'adresse de paiement. Dans ce dernier cas, l'enregistrement est transféré dans le portefeuille qui contient l'adresse du bénéficiaire.

Le sous-système NVS peut être adressé via une API JSON (similaire à celle de Bitcoin) ou via l'interface graphique du portefeuille.

Le système Emercoin NVS est ce qui alimente tous les services basés sur Emercoin que nous décrirons dans nos prochains articles, de 2017 à 2018 - alors restez à l'écoute.