Snaps Permissionless Distribution

Snaps Permissionless Distribution

-

Le contexte

Depuis le lancement de la plateforme de MetaMask permettant la création et l’utilisation de "plugins" sur le portefeuille, ces "Snaps" doivent être validés par Consensys. En effet, il s’agit de vérifier qu’ils respectent les règles de sécurité imposées, mais aussi les bonnes pratiques de développement et de marketing poussées par la plateforme.

Cette validation étant par définition totalement centralisée et reposant uniquement sur une entreprise, on peut y voir une opposition à la thèse de décentralisation et de liberté prônée par l’écosystème web3.

C’est ainsi qu’est née l’idée d’expérimenter autour de la distribution décentralisée de ces plugins.

La plateforme

Snaps Permissionless Distribution ("SPD" pour les intimes) repose sur un respect de l’éthos de decentralisation et d’ouverture du web3. N’importe quel développeur doit pouvoir déclarer et présenter son snap sur la plateforme, et n’importe qui doit pouvoir l’installer, mais aussi donner son avis sur la qualité, la sécurité ou l’UX apportée par cet outil.

C’est l’ensemble des avis, pondérés par la qualité de leur émetteur (un auditeur ayant plus de poids qu’un tout nouvel utilisateur de MetaMask, etc.), qui permet de déterminer une note de confiance à accorder au snap, mais aussi à son développeur.

Ce projet consiste donc à imaginer et implémenter une dApp qui réponde aux besoins des développeurs et des utilisateurs finaux, en affichant toutes les informations autour d’un snap. Une partie de la plateforme repose sur l’algorithme de calcul des scores de réputation, sur la base de EigenTrust.

Il convient aussi de stocker la grande quantité de données générées par la plateforme de manière décentralisée, mais off-chain, de manière à ne pas faire reposer les coûts de transaction sur les utilisateurs finaux.

La stack technique

Web3

Hardhdat, Solidity

Côté front

React, Gatsby, TypeScript

Côté back

NestJS, MongoDB

Stockage

Ceramic