Nano, une nouvelle technologie de cryptomonnaie
Le Bitcoin est une cryptomonnaie particulièrement sûre, des plus stables, qui mérite bien d’être surnommée « or virtuel ». Mais lorsqu’il s’agit de transactions de tous les jours, il est bien trop lent, ne peut traiter qu’environ 10 transactions par seconde et souffre de frais élevés. Il y a beaucoup d’autres monnaies qui proposent des transactions plus rapides, qui peuvent traiter plus de transactions par seconde, mais aucune jusqu’à présent ne pouvait remplacer PayPal ou les cartes de crédit. C’était avant Nano (anciennement RaiBlocks).
Comment le Bitcoin fonctionne
Voici un schéma des étapes qu’une transaction doit franchir pour faire officiellement partie de la chaîne de blocs :
- Les gens font des transactions qu’ils signent de leur clé privée.
- Les transactions sont placées dans la zone de mémoire (Mempool).
- Les mineurs construisent un bloc avec autant de transactions en attente que possible (selon la taille du bloc).
- Les mineurs rivalisent pour trouver le “nonce” qui fera que leur bloc aura un SHA-256 qui commence par un nombre spécifique de zéros.
- Le premier mineur ayant trouvé le nonce diffuse son bloc.
- D’autres mineurs acceptent le bloc et passent au bloc suivant, ou continuent d’essayer de trouver le nonce pour leur bloc dans l’espoir que 51 % des mineurs seront d’accord pour dire que le bloc actuel est invalide.
Ce design pose plusieurs problèmes :
- Les transactions doivent d’abord attendre dans le Mempool pour faire partie du bloc suivant.
- Les blocs doivent respecter une taille maximale alors que le nombre de transactions peut varier beaucoup toutes les minutes, empêchant parfois un bloc d’inclure toutes les transactions en attente.
- Il doit y avoir un délai entre chaque bloc, imposé par le réseau, pour donner une chance à tout le monde de générer le SHA-256 et de diffuser son bloc s’ils trouvent la solution en premier.
- Les mineurs doivent être récompensés, avec des frais de transaction ou des “pièces” gratuites.
- La concurrence entre mineurs peut être très rude.
- Les mineurs consomment beaucoup d’électricité, ce qui n’est pas très bon pour l’environnement.
- Un bloc n’est initialement approuvé que par un seul mineur et on ne devrait pas lui faire confiance a priori. Un marchand doit ainsi attendre que quelques blocs (environ 6) soient ajoutés sur le bloc qui inclut la transaction pour s’assurer que tous les mineurs l’ont bien approuvée.
Comment Nano fonctionne
- Vous créez vous-même le “bloc d’envoi” et vous le diffusez.
- Le receveur crée un “bloc de réception” et le diffuse.
- Si un bloc est en conflit avec un autre bloc (ils ont le même prédécesseur), les représentants déterminent par un vote lequel doit être conservé.
Au lieu d’avoir une seule chaîne de blocs synchrone, le registre (Ledger) de Nano comporte une chaîne pour chaque compte. Chaque bloc d’une chaîne n’est pas constitué d’un “grand nombre de transactions”, mais d’une action unique. Il y a actuellement 4 types d’actions : 1) ouvrir, pour créer un compte ; 2) modifier, pour définir votre représentant ; 3) envoyer, pour transférer des jetons Nano (XRB) vers un autre compte ; 4) recevoir, pour accepter un transfert précédemment envoyé à votre compte. Les blocs sont créés par le propriétaire du compte. Si quelqu’un essaie de dépenser deux fois ses pièces, cela créera des blocs conflictuels dans le réseau : des blocs différents avec un même prédécesseur. Dans ce cas, les représentants voteront sur le bloc à garder. Un représentant est toute personne qui fait tourner un serveur de nœud complet. Les représentants ont un nombre de voix égal au nombre de jetons XRB qu’ils représentent : il est possible pour quelqu’un qui ne veut pas faire tourner de serveur, d’assigner un représentant pour son compte.
La puissance de Nano
1. Transactions asynchrones
Une chaîne de blocs est synchrone. Vous ne pouvez y ajouter qu’un seul bloc à la fois et vous devez attendre qu’il soit diffusé avant de pouvoir ajouter un autre bloc. La même chose s’applique à Nano, mais comme il y a beaucoup de chaînes de blocs, si une chaîne reçoit beaucoup de trafic et comporte de nombreuses transactions en attente, n’importe qui d’autre peut encore faire ses affaires normalement. Cela permet à Nano d’évoluer presque à l’infini, le goulot d’étranglement étant le réseau.
2. Vous seul pouvez construire votre chaîne
Contrairement à d’autres monnaies où c’est n’importe quel mineur ou traqueur (Stalker) qui construit le bloc suivant, choisissant la transaction suivant la priorité et l’ordre qu’ils veulent, les blocs Nano ne sont créés que par le propriétaire du compte Blockchain. Cela allège beaucoup le protocole : les représentants ne sont nécessaires que lorsque quelqu’un essaie de tricher. Cela facilite également le suivi de vos transactions, car elles sont dans un ordre auquel vous vous attendez. Avec d’autres monnaies, vous pouvez recevoir une transaction dont vous ne vous souvenez pas parce qu’elle était en attente depuis 2 jours en raison de frais trop faibles qui y étaient rattachés.
3. Un registre léger et clair
Le registre des transactions de Bitcoin (ledger) fait maintenant près de 200 Go et ce sera difficile de tailler dedans. Mais dans le registre Nano, vous pouvez par exemple facilement supprimer des comptes avec un solde vide. De plus, comme les blocs sont minimes et d’une taille connue, le grand livre Nano est actuellement très petit compte tenu du nombre de transactions qu’il comprend. Voici comment le bloc d’envoi est sérialisé :
void rai::send_block::serialize (rai::stream & stream_a) const
{
write (stream_a, hashables.previous.bytes);
write (stream_a, hashables.destination.bytes);
write (stream_a, hashables.balance.bytes);
write (stream_a, signature.bytes);
write (stream_a, work);
}
Juste des données binaires packagées. J’aime l’efficacité et la simplicité de Nano !
4. Les représentants n’ont pas besoin d’être payés
Le simple fait que les représentants peuvent être « délégués », d’une certaine façon, à « prendre soin de l’argent de quelqu’un » et de manière décentralisée rend ce rôle très précieux. Toutes les entreprises informatiques ont besoin de reconnaissance comme avec les « Facebook likes » ; ce « vote de confiance décentralisé » est tout simplement plus réel. De plus, ces entreprises ont déjà l’architecture en place et cela ne leur coûtera rien. Ceci permet à Nano de n’avoir aucuns frais et aucune inflation.
Faut-il que Nano remplace Bitcoin ?
Je crois que tous les gros problèmes de Bitcoin vont être résolus : les frais énormes, la vitesse de transaction et le réseau saturé. Mais je ne pense pas que ce sera suffisant pour attirer le grand public. Nous avons besoin d’une cryptomonnaie qui attirera l’attention des plus réticents à cette invention, en proposant par exemple :
- Aucuns frais de transaction.
- Aucune inflation.
- Transactions instantanées.
- Nombre illimité de transactions par seconde.
Je pense que Nano sera en mesure de répondre à ces attentes. Il a cependant encore beaucoup de choses à faire,par exemple, il n’y a actuellement pas de portefeuille léger (Light Wallet), et l’actuel portefeuille est plus à destination des développeurs. Mais cela va changer très bientôt, un portefeuille léger est actuellement disponible pour certains bêta-testeurs.
Le principal obstacle auquel l’équipe NANO est actuellement confrontée concerne le risque que quelqu’un attaque le réseau en le spammant avec plus de transactions qu’il ne peut gérer. Chaque transaction nécessite une « preuve de travail » et le réseau NANO peut gérer facilement des milliers de transactions, mais il est toujours possible que quelqu’un soit prêt à dépenser quelques millions pour ça. Il y a beaucoup de solutions qui sont à considérer, comme un algorithme de « preuve de travail » qui serait plus complexe, mais je pense de plus en plus qu’ils devront abandonner l’idée de fournir des transactions complètement gratuites. Chaque transaction pourrait exiger une très petite quantité de monnaie, comme 0,01 cent, et ce montant pourrait être détruit, c’est à dire enlevé de la masse monétaire totale qui est limitée, afin que tout le monde soit en quelque sorte récompensé lorsque les transactions se produisent.