https://copadelcrypto.com

Développer une DApp en deux semaines : retour d’expérience

Jeremy Serror
BELEM BLOCKCHAIN

--

BELEM développe depuis 2015 des solutions blockchain dans des domaines comme la finance, l’assurance, ou encore le notariat. Ces solutions s’appuient sur la blockchain pour permettre une délégation en toute confiance (vérification de règles, horodatage).

Avec la Coupe du monde de football 2018 en ligne de mire, nous nous sommes lancés un défi : développer en moins de deux semaines une application décentralisée de prédiction des résultats de la Coupe du monde.

Ethereum est une plate-forme blockchain qui permet d’héberger des applications décentralisées (DApp), aussi appelées “smart contracts” (des programmes informatiques qui s’exécutent sur la blockchain). Ces applications sont dites décentralisées dans la mesure où elles permettent de s’affranchir de la supervision d’un opérateur centralisé (type App Store ou Google Play).

Les applications décentralisées permettent de mettre en relation directe, sans intermédiaire, développeurs et utilisateurs, afin d’offrir un service plus transparent, équitable, et robuste que les modèles traditionnels. L’écosystème des applications décentralisées se développe rapidement. Il existe déjà des DApp sociales, qui rémunèrent les producteurs de contenu (les versions décentralisées de Twitter, Medium, YouTube, etc.), des DApp financières (plate-formes de prêt-emprunt ou de trading de pair-à-pair), ou encore des DApp de “collectibles”, des objets digitaux émis en série limitée, qui s’appuient sur une propriété essentielle de la blockchain : la possibilité de créer de la rareté numérique. CryptoKitties, l’application décentralisée qui permet de collectionner et d’élever des chatons à l’ADN unique, a ainsi récemment connu un succès retentissant (la propriété de certains chatons digitaux s’échangeant pour des montants supérieurs à 100 000$..).

Nous avons souhaité développer une application simple, ludique, qui puisse permettre au plus grand nombre de tester ce nouveau type d’applications. Avec la Coupe du monde de football 2018 en ligne de mire, nous avons ainsi décidé de dépoussiérer le traditionnel fichier Excel de pronostics en développant une application décentralisée de prédiction des résultats de la Coupe du monde, qui permet :

  • l’enregistrement irrévocable des grilles de prédictions dans la blockchain Ethereum
  • l’encodage du calcul des scores de chacun des participants, vérifiable par tous
  • la sécurisation des fonds et le versement des gains aux vainqueurs

C’est ainsi qu’est née notre DApp : Copa Del Crypto (https://copadelcrypto.com/). Une application gratuite qui distribue le rôle tiers de confiance, et ne stocke aucune donnée sur ses utilisateurs.

Nous vous proposons ici un retour d’expérience sur les promesses des applications décentralisées comme la transparence, leur fonctionnement, et ce en quoi elles se différencient des applications traditionnelles.

À la différence d’une application centralisée, une DApp ne vous demande pas de lui faire confiance, mais doit prouver sa validité à travers une logique informatique vérifiable par n’importe qui.

Transparence

Une DApp n’est pas soumise à la validation d’un tiers (par exemple Apple Store ou Android Play) pour fonctionner. On peut ainsi voir Copa Del Crypto comme une application résistante à la censure, dans le sens où elle s’appuie sur une infrastructure décentralisée (ici Ethereum) pour fonctionner.

Sur cette infrastructure, l’ensemble des transactions et des contrats déployés sont publics. N’importe qui peut donc vérifier en temps réel, en téléchargeant l’ensemble du registre ou via à un explorateur de blockchain, l’ensemble des transactions réalisées pour une application donnée. Le code du “smart contrat” est également auditable. A la différence d’une application centralisée, une DApp ne vous demande pas de lui faire confiance, mais doit prouver sa validité à travers une logique informatique vérifiable par n’importe qui.

Le code du contrat développé pour Copa Del Crypto est accessible sur Etherscan. Le service effectue une vérification indépendante du code et garantit que le code source publié correspond bien au smart contrat officiellement déployé sur la blockchain.

Le code du smart contract publié et vérifié sur Etherscan

Il n’en reste pas moins que cette transparence a également un coût. Comme de nombreux bugs (certains aux conséquences lourdes) l’ont montré, auditer la sécurité d’un “smart contract” n’est pas une chose aisée. Même dans le cas d’une application simple comme Copa Del Crypto, notre contrat fait près de 400 lignes. Comprendre sa logique métier nécessite des compétences et un investissement conséquent.

Barrières à l’entrée

Pour tous ceux qui ne sont pas familiers du monde des blockchains, qui ne possèdent pas de crypto-actifs comme l’Ether, et qui n’ont jamais manipulé de “wallet” (la grande majorité d’entre nous), le parcours utilisateur d’une application décentralisée n’est pas forcément linéaire..

La participation à une application décentralisée passe en effet par l’envoi de transactions vers le “smart contract” qui encode ses règles. Pour participer à Copa Del Crypto, les participants doivent enregistrer leurs prédictions, via une transaction Ethereum, dans le “smart contract” qui gère les règles du jeu.

Nous avons choisi d’utiliser Metamask, une extension qui s’intègre facilement à certains navigateurs comme Chrome, pour permettre aux participants d’interagir avec la blockchain Ethereum. Concrètement, Metamask est un wallet (un portefeuille digital) Ethereum, qui va permettre aux participants d’enregistrer leurs prédictions, et de récupérer leurs gains à l’issue de la Coupe du monde.

Pour participer à une application décentralisée, les participants doivent donc :

  • Posséder ou se procurer de l’Ether
  • Installer Metamask sur leur navigateur
  • Transférer une certaine quantitée d’Ether de leur wallet vers Metamask

Si ces étapes peuvent sembler naturelles aux personnes déjà familières des DApp, ce parcours reste loin d’être limpide pour un utilisateur néophyte. Un des objectifs de Copa Del Crypto est de permettre au plus grand nombre de se familiariser avec le maniement des applications décentralisées. Nous avons donc cherché à simplifier au maximum ce parcours.

Les participants se connectent sur un environnement de test (Rinkeby test network), une blockchain alternative sur laquelle les jetons utilisés n’ont aucune valeur. Une fois leur prédiction remplie, ils peuvent nous communiquer l’adresse de leur wallet Metamask, et nous leur envoyons directement des jetons qui leur permettront d’enregistrer leur prédictions et de participer au concours.

Envoi de la transaction vers Ethereum par l’extension Metamask

Un réel effort de pédagogie est donc nécessaire pour accompagner ceux qui souhaitent découvrir les applications décentralisées. Mais une fois ces étapes préliminaires passées, les DApp offrent de nouvelles possibilités intéressantes.

Un nouveau type d’applications

Les applications décentralisées offrent de nouvelles perspectives par rapport aux applications traditionnelles, au-delà de leur caractère inarrêtable.

Tout d’abord, un utilisateur n’a plus besoin de s’authentifier pour chaque application. En effet, au lieu d’un système traditionnel identifiant / mot de passe, l’authentification se fait grâce aux clés stockées dans le wallet Metamask. Les utilisateurs ont ainsi un contrôle total sur leurs données. Et une fois leur wallet Metamask configuré, ils peuvent très simplement utiliser une grande variété d’applications.

Les derniers pronotostics enregistrés sur la blockchain

Par ailleurs, la solution de paiement d’une application décentralisée est directement intégrée, puisque les échanges se font par le jeton intrinsèque à la blockchain, l’Ether dans le cas de la blockchain Ethereum.

Enfin, la blockchain permet de développer des applications sans se préoccuper du back-end. En effet, pour Copa Del Crypto, nous avons simplement développé un front-end, la page web qui permet de remplir ses prédictions et d’interagir avec la blockchain Ethereum, et un “smart contract” qui implémente la logique métier du concours de prédiction. Ce type d’architecture est beaucoup plus léger et transparent qu’une application traditionnelle.

Aucune triche n’est possible car tous les échanges de valeur sont conditionnés à des règles prédéfinies et vérifiables.

Retour d’expérience

L’expérience utilisateur des applications décentralisées doit encore s’améliorer pour toucher un public plus large que celui des convertis.

Une fois les barrières à l’entrée levées, les applications décentralisées séduisent par leur fluidité d’utilisation et la réelle possibilité de sécurisation des échanges qu’elles représentent.

Copa Del Crypto apporte par exemple à ses utilisateurs la garantie qu’aucune triche n’est possible car tous les échanges de valeur sont conditionnés à des règles prédéfinies et vérifiables.

Nous vous invitons à faire l’expérience par vous-même en participant au concours Copa Del Crypto : https://copadelcrypto.com/, vos retours seront plus que bienvenus !

Avertissement : la participation au pari mutuel avec des crypto-monnaies réelles (ayant une valeur) est soumis à réglementation. Pour Copa Del Crypto, nous utilisons le Test Network d’Ethereum où les Ether échangés sont sans valeur.

BELEM (https://belem.io/) permet aux entreprises de capitaliser sur la technologie Blockchain à travers une offre verticale qui inclut formation, idéation, développement de prototypes et industrialisation de projets innovants. Nos partenaires incluent Société Générale, Crédit Agricole, BNPP, Natixis, Amundi, la Caisse des Dépôts et Consignations, Vinci, CNP Assurances, etc.

--

--