Nimiq – Une longueur d’avance : nœuds sur navigateur et consensus instantané

Nimiq – Une longueur d’avance : nœuds sur navigateur et consensus instantané

Avant de débuter les explications il est de bon ton de noter que toutes les notions abordées ici sont disponibles et approfondies dans le whitepaper ou dans la documentation du Nimiq.

Cela étant dit, la majorité des membres de la communauté Nimiq ne sont pas des techniciens et ne sont donc pas nécessairement éduqués sur tout ce qui se passe sous le capot du protocole.  Néanmoins cet état de fait ne devrait ni empêcher d’aborder la question du fonctionnement de Nimiq (de manière simplifiée), ni de comprendre pourquoi il s’agit d’un projet si enthousiasmant. Enfin chacun devrait pouvoir apprécier les efforts produits et l’élégance des solutions développées par Team Nimiq et la communauté.

Commençons par la base commune à chaque cryptomonnaie reposant sur la blockchain : lorsque vous décidez d’envoyer des cryptos d’une adresse à une autre sur une blockchain (comme Nimiq, Bitcoin ou Ethereum), vous créez une transaction authentifiée par votre signature, comme vous le savez probablement déjà.

Cette transaction est ensuite diffusée à d’autres nœuds (qui hébergent chacun une copie similaire du “grand livre” de compte regroupant l’historique des transactions) et finalement minée dans un “bloc” qui est propagé sur le réseau jusqu’à ce que la majorité y consente. Passé ce point, la transaction est dite “validée” et fera partie du grand livre présent donc sur tous les nœuds du réseau.

Crédits : Splunk

 

Pour diffuser des transactions, vous disposez traditionnellement de deux choix : soit télécharger un client et héberger votre propre nœud ce qui implique de passer des heures/jours à télécharger l’ensemble de la blockchain (ou du moins une partie conséquente de celle-ci) pour atteindre un consensus, un processus notoirement lent et assez fastidieux OU faire confiance à un nœud tiers (une méthode nommée SPV – Simplified Payment Verification) pour le faire pour vous, ce qui est rapide mais moins sûr et beaucoup moins résistant à la censure.

Nimiq innove ici en étant la première blockchain à offrir le meilleur des deux mondes. Comment ? Simplement en vous permettant de faire tourner un nœud directement dans votre navigateur, ce dernier se synchronisera avec le reste du réseau en un instant.

Pour accomplir cet exploit, Nimiq s’appuie sur 3 composants principaux :

  1. L’utilisation de WebRTC permettant des connexions de paire-à-paire depuis votre navigateur vers le reste du réseau, c’est ce qui vous permet d’être un pair dans le réseau Nimiq.
  2. Les méthodes de consensus Nano et Pico permettant de se synchroniser en toute sécurité et d’obtenir le dernier état de la blockchain en quelques secondes en téléchargeant quelques ko de données, ces données font office de preuve cryptographique (voir NiPoPoW).
  3. Une base de code javascript (Javascript est à ce jour le “langage du web”) permettant de “lancer” le noeud directement dans le navigateur.

Maintenant, vous vous demandez peut-être : “C’est sympa, mais qu’est-ce que cela apporte?”.
Voici ce que ces trois propriétés de la blockchain Nimiq offrent :

Tout d’abord, c’est une architecture plus sûre, mais surtout beaucoup plus résistante à la censure, car vous ne dépendez pas d’un nœud tiers pour diffuser vos transactions.

Ensuite vous pouvez créer des applications web, des sites web et des jeux directement connectés à la blockchain Nimiq grâce à un simple script web et quelques lignes de javascript. L’intégration dans le “Web 2.0” existant est ainsi facilitée par rapport aux autres cryptomonnaies, Nimiq est effectivement rétrocompatible avec le web d’aujourd’hui.

Si vous êtes développeur web et que vous souhaitez intégrer Nimiq, vous n’avez pas à vous soucier de la sécurité du SPV ou des intermédiaires. Tout fonctionnera directement et de manière décentralisée dans le navigateur web de l’utilisateur, on peut ainsi imaginer des procédés pour le passage en caisse lors de paiements en ligne ou l’identification sans serveurs tiers.

En conclusion la capacité à créer des noeuds directement sur navigateurs pouvant se synchroniser à la blockchain Nimiq sans tiers est, non seulement plus sécurisé et plus facile à utiliser, mais en plus ouvre la porte à l’intégration dans une ribambelle d’applications.