Qredo, le nouveau standard pour sécuriser et gérer des actifs numériques

Qredo est à la fois un protocole, un réseau et une plateforme de garde d’actifs numériques, sécurisée et facile à utiliser. L’entreprise propose de nombreux produits et services, tant à destination des particuliers que des entreprises ou des institutions financières.

Qredo répond aux défis structurels auxquels la crypto-économie est confrontée. En effet, entre la fragmentation des liquidités, les points uniques de défaillance dans la gestion de clés privées et des délais de finalisation très longs, l’industrie crypto doit fournir des solutions de niveau institutionnel, en termes de sécurité et de conformité, pour attirer de nouveaux capitaux.

Le protocole de couche secondaire proposé par Qredo fournit une infrastructure robuste pour sécuriser et échanger des actifs numériques dans un univers multichaînes.

Qu’est-ce que Qredo ?

Qredo est avant tout un protocole de garde d’actifs numériques basé sur le calcul multipartite (Multi-Party Computation ou MPC). Il répond aux défis posés par la gestion de clés privées (stockage et contrôle d’accès).

C’est également un réseau de compensation et de règlement pour les cryptoactifs, de qualité institutionnelle. Au-delà de la simple sécurisation d’actifs, son infrastructure permet de réaliser des transferts cross-chain. La plateforme permet ainsi aux organisations de toutes tailles de développer et de réaliser leurs opérations financières sur actifs numériques.

La sécurisation des clés privées et des signatures repose sur l’implémentation spécifique d’un réseau distribué de calcul multipartite, déployé sur des environnements d’exécution sécurisés (TEE).

Calcul multipartite (Multi-Party Computation ou MPC) :

Le calcul multipartite permet aux nœuds d’un réseau de communication de calculer conjointement une fonction sur leurs entrées, afin que les entrées restent privées, et que le résultat soit exact. Cette méthode est différente d’un portefeuille multi-signatures : le processus de signature se déroule hors-chaîne, grâce à un réseau de nœuds possédant chacun un secret – une partie de la clé privée. C’est une solution rapide, peu coûteuse, confidentielle et blockchain-agnostique.

Environnement d’exécution sécurisé (Trusted Execution Environment ou TEE) :

Un TEE est une zone sécurisée et isolée d’un microprocesseur, empêchant des entités non autorisées d’altérer les calculs ou le code déployé. Cet environnement d’exécution est plus sécurisé qu’un système opérationnel, et plus fonctionnel qu’un élément sécurisé (SE, que l’on retrouve par exemple sur les hardware wallets). La solution d’Intel, les enclaves SGX, (Intel Software Guard Extensions) sont bien connues dans l’univers du calcul distribué.

La blockchain de la couche secondaire proposée par Qredo (la QredoChain) assure les transitions d’état et les signatures MPC grâce à son mécanisme de consensus basé sur Tendermint. N’importe quelle organisation peut l’utiliser afin de gérer les clés privées et les signatures pour ses actifs numériques, sans se reposer sur une entité centrale. Son architecture permet en effet aux utilisateurs et aux développeurs de représenter la propriété des actifs, et de définir des politiques de gouvernance et d’accès. Elle élimine donc le risque de contrepartie tout en fournissant le plus haut degré de sécurité possible.

L’équipe de Qredo

Elle est composée de plus de 200 membres répartis dans différents pays. Le projet fut fondé au dernier trimestre 2018 par Anthony Foy et Brian Spector. Tout d’abord, après une ronde de financement de 2,9 millions de dollars en pré-seed, le premier MVP vit le jour fin 2019 : une application de garde de cryptoactifs on-chain. Initialement développé au sein de l’incubateur Apache Milagro, le premier Testnet fut déployé au second trimestre 2020.

Le Mainnet 1.0 apparut quelques mois plus tard. Fin 2020, il permettait d’assurer la garde distribuée de BTC et d’ETH, ainsi que de réaliser des transferts instantanés et des échanges natifs entre les deux cryptomonnaies. Début 2021, l’équipe de Qredo réalisa une levée de fonds en seed de 11 millions de dollars : parmi les investisseurs, on retrouve Deribit, Wintermute, GSR et CMS Holdings.

Durant l’année 2021, HedgeGuard intègra la solution de Qredo, alors que le MVP prenait en charge le top 13 des jetons ERC-20. Le jeton QRDO fut lancé durant la même année, auprès de 32 000 détenteurs. Qredo fit ensuite son apparition au Salvador, en apportant la finance décentralisée auprès de Banco Hipotecario. À la fin de l’année, Deribit commença à utiliser Qredo pour son infrastructure de garde.

Qredo prit une autre dimension durant l’année 2022. En effet, la série A, menée par 10T Holdings, permit de lever 80 millions, en bénéficiant d’investissements stratégiques de la part de Coinbase Ventures et d’Avalanche. L’équipe atteint les 200 employés et acquit la plateforme de change Xena, puis intègra WalletConnect et l’accès programmatique à la DeFi.

Afin de mieux comprendre Qredo au niveau de son protocole, il nous faut passer en revue un triptyque de concepts.

L’infrastructure de la couche secondaire proposée par Qredo

Qredo repose sur un réseau distribué, où différents objets (documents) permettent d’assurer divers types d’opérations sur actifs numériques, de leur simple conservation sécurisée à des échanges instantanés. Cette architecture élimine les points uniques de défaillance dans la gestion de clé privées. De même, il n’y plus besoin de recourir à une entité centrale pour administrer ses actifs numériques, que l’on soit un individu ou une organisation.

Qredo - Architecture générale
Architecture générale de Qredo : les applications passent par l’API pour communiquer avec le réseau. La jonction avec une blockchain de couche primaire est assurée par un observateur (watcher), qui joue le rôle de relayeur entre le Layer 2 de Qredo et un Layer 1, par exemple Ethereum.

Découvrons les différents composants de Qredo et les services offerts par la plateforme.

Les services réseau

Au niveau de la couche réseau, Qredo s’appuie sur trois types de nœuds.

Les nœuds MPC de Qredo

Ils sont distribués et assurent la génération, le stockage et l’utilisation des clés privées. L’implémentation du MPC de Qredo élimine ainsi les points uniques de défaillance inhérents au stockage traditionnel de clés privées. Ces nœuds MPC opèrent dans un TEE, et sont gouvernés par la QredoChain.

Les validateurs

Ces nœuds sont responsables de la vérification et de la validation des transactions effectuées sur le réseau. Ils participent au mécanisme de consensus (basé sur Tendermint) afin de maintenir l’intégrité du réseau.

Les observateurs (watchers)

Ce sont les oracles du réseau, qui synchronisent l’état des chaînes de Layer 1 (comme la blockchain d’Ethereum) avec celui de la QredoChain. Ils permettent d’identifier et de valider les dépôts, ainsi que le résultat des requêtes de retrait.

Les documents de gouvernance on-chain de Qredo

Trois documents numériques gouvernent la majorité des actions effectuées via le protocole.

Wallet Document

Cet objet gouverne les clés privées et les actifs au sein du protocole de garde. Il établit ainsi un lien on-chain entre une clé (générée par le réseau des nœuds MPC) et l’utilisateur. Ce dernier est identifié par une clé publique BLS (reposant sur le schéma de signature Boneh–Lynn–Shacham) et lié à une ensemble de règles, gouvernant l’accès à la clé (la Policy).

Les documents de portefeuille sont de deux types :

  • Un Web3 Wallet Document a trait à la garde d’une clé ;
  • Un Vault Wallet Document concerne la garde d’un actif.
Qredo - schéma de signature BLS
Le schéma de signature BLS, permettant à plusieurs tiers d’exécuter des opérations sur Qredo

Policy

Il s’agit de l’ensemble des règles gouvernant l’accès et l’usage des clés et des actifs au sein du protocole Qredo. L’utilisateur peut définir et personnaliser les règles, grâce à différents niveaux d’autorisations et des mécanismes de recouvrement de différents degrés. Ces règles peuvent être appliquées aux documents de portefeuille, et déterminent les conditions dans lesquelles les transactions peuvent être approuvées. Elles comprennent généralement plusieurs documents d’identité, dont les validateurs peuvent évaluer la conformité, afin de générer un événement de façon sécurisée.

Identity Documents

Les documents d’identité sont l’enregistrement cryptographique de l’identité d’un utilisateur au sein du protocole. Ce dernier est représenté par une clé publique BLS : cela lui permet d’interagir avec le protocole en toute sécurité ,et sans compromettre sa confidentialité. Ainsi, seuls les tiers autorisés peuvent accéder à ses clés ou à ses actifs.

Les différentes opérations sur la QredoChain

Les opérations on-chain facilitant les mouvements de fonds impliquent les documents de portefeuille. Elles doivent être autorisées via un nombre suffisant de signatures BLS, afin de satisfaire les règles définies précédemment pour le wallet (Policy).

Couche primaire et dépôts

Lors de sa création, un portefeuille Qredo est toujours associé avec une cryptomonnaie de Layer 1 (BTC, ETH, etc.) Il est associé à une adresse publique sur le Layer 1, générée grâce au calcul multipartite. L’Observateur surveille l’adresse sur le Layer 1, et lorsqu’un dépôt est détecté, une transaction sous-jacente est diffusée sur le Layer 2. Cette transaction crédite alors le solde du portefeuille Qredo de l’utilisateur des fonds correspondants.

Qredo - Dépôts
Les différentes étapes d’un dépôt

Couche primaire et retraits

Lorsqu’un utilisateur initie un retrait, et si la requête respecte bien les règles fixées, un Validateur crée la transaction correspondante (non-signée). Le validateur a un mappage complet entre les actifs de la couche 1 et de la couche 2 : on parle de cristallisation. L’observateur va alors router cette transaction aux nœuds MPC (ce qui assure que la transaction existe bien on-chain). Elle est ensuite signée et renvoyée à l’observateur pour être diffusée et l’utilisateur obtient un reçu confirmant le succès de son opération.

Requêtes de portefeuilles externes

Il s’agit de mises à jour du portefeuille contenant des données brutes, fournies par les propriétaires de ce dernier. Cela permet à l’utilisateur de contrôler directement son adresse sur le Layer 1, et de signer des transactions ou autres données. La blockchain de Qredo applique les règles prédéfinies (Policy), et conserve un enregistrement immuable de l’historique des requêtes d’un portefeuille, ainsi que les signatures générées via le calcul multipartite. Cette fonctionnalité est utilisée par les extensions de type MetaMask Institutionnal ou WalletConnect, ainsi que par les API Web3 compatibles, afin de faciliter la signature des transactions.

La couche secondaire (Qredo) et les transferts

Les transferts s’effectuant sur entre portefeuilles du Layer 2, en incluant les atomic swaps, sont effectués par les validateurs, sans passer par les nœuds MPC ou l’observateur. Ils doivent respecter les règles prédéfinies pour être autorisés.

Qredo - Transferts
Échanges atomiques via Qredo

Le fonctionnement général de Qredo

Nous n’entrerons pas dans la technique pure dans cet article de présentation. Nous nous contenterons de décrire le fonctionnement global du système. Pour cela, il faut passer en revue différents composants et processus.

Comptes et clés API sur Qredo

Pour utiliser l’application Qredo, tout utilisateur doit premièrement créer un compte personnel. Les comptes personnels peuvent être liés à un ou plusieurs comptes d’organisation. Toute organisation peut posséder de multiples fonds ou portefeuilles. Cela permet donc à plusieurs comptes personnels de partager la gestion d’un compte d’organisation.

Chaque membre d’une organisation peut avoir un ou plusieurs rôles :

L’Administrateur a le plus haut niveau d’accès. Il contrôle donc l’Organisation, et peut accéder aux Fonds et aux Portefeuilles. Il peut ajouter ou supprimer des membres, soumettre, approuver ou rejeter des transactions. L’Administrateur est aussi le seul à pouvoir créer des clés API et des paires secrètes pour l’Organisation.

Un Organisateur de Fonds (Fund Organizer) a le contrôle des Fonds et des Portefeuilles pour lesquels il est désigné. Il peut créer autant de portefeuilles qu’il le souhaite, au sein d’un Fonds duquel il a le contrôle.

L’Approbateur (Approver) a le contrôle sur les transferts, les atomic swaps, et les retraits au sein des portefeuilles auxquels il est affecté. Il exécute ses tâches via l’application de signature Qredo.

Le Trader peut initier des transferts, des atomic swaps et des retraits pour n’importe quel portefeuille, lorsque ses règles prédéfinies lui en confèrent le droit.

L’administrateur peut donc effectuer n’importe laquelle des actions possibles pour les autres rôles. Les clés API font partie de la couche de garde (custody layer) et sont créées et configurées par l’administrateur. Elles peuvent fournir des accès au niveau d’un compte (personnel ou d’organisation) et également au niveau d’un portefeuille.

Approbations

Les règles de garde (Policies) nécessitent approbation pour toute transaction créée, et pour toute requête transférant des actifs hors d’un portefeuille Qredo (les retraits), avant qu’elles ne puissent être effectives.

Les approbateurs sont donc toutes les entités ayant créé un compte personnel sur Qredo endossant un rôle de garde. Ils sont désignés via l’application mobile et opèrent via l’application de signature. Il peut aussi s’agir d’agents de signature automatique, programmés afin d’approuver ou de rejeter des requêtes en fonctions de contraintes spécifiées.

Les approbateurs, aussi appelés trusted parties, forment un réseau de confiance (trusted network). Chaque entreprise ou organisation comporte donc un ou plusieurs approbateurs, ayant le contrôle des transactions relatives aux fonds ou aux portefeuilles concernés.

Les groupes d’approbateurs et les règles de garde peuvent être personnalisés.

Les transactions avec Qredo

Une transaction doit être signée afin de pouvoir être diffusée. Avec Qredo, seules les transactions qui remplissent des critères prédéfinis peuvent être signées. C’est grâce au calcul multipartite que Qredo élimine le point unique de défaillance des systèmes à clé privée classique. De plus, un autre point unique de défaillance (le recours à un seul signataire) est éliminé, grâce aux règles de garde et aux multiples approbateurs.

Lors de la création d’une transaction, Qredo se charge de trois tâches :

  • La collecte des approbations requises ;
  • La signature de la transaction ;
  • Le renvoi de la transaction, signée et prête à être diffusée.

Le schéma ci-dessous résume le cycle de vie d’une transaction :

Qredo - Cycle de vie d'une transaction

Le flux de l’API de Qredo prend donc fin lorsque la transaction est approuvée, signée, et prête à être diffusée. L’API permet de réaliser des transactions legacy (classiques) et EIP-1559 (incluant le pourboire des validateurs d’Ethereum), au choix.

Les transferts

Les transactions sortantes (transfer out) sont soumises à approbation. Il s’agit des types suivants :

  • Les transactions sur le Layer 2, d’un portefeuille Qredo vers un autre portefeuille Qredo ;
  • Les transaction depuis Qredo vers le Layer 1 (retraits) en utilisant la cristallisation ;
  • Les échanges atomiques (atomic swaps) sur Qredo (par exemple, des swaps qETH/qBTC).

Les transactions entrantes sur Qredo (transfer in) comme les dépôts ne nécessitent quant à elles aucune approbation de la part du réseau de confiance.

Les Portefeuilles et les Fonds

Un portefeuille Qredo détient des actifs numériques et/ou en fournit la garde. Chaque type d’actif est associé à son propre wallet. L’utilisateur peut créer une infinité de portefeuilles. Chaque groupement de portefeuilles est appelé Fonds.

Il existe trois classes de portefeuilles : connecté, standard et vested. Dans le cas d’un portefeuille connecté, les actifs se trouvent sur le Layer 1 correspondant, et Qredo sert alors de couche sécurisée pour assurer la garde de ces actifs. Les transactions sont soumises à approbation via le Layer 2, mais le portefeuille Qredo ne détient pas les actifs.

En utilisant un portefeuille standard, les actifs sont à la fois sur le Layer 1 et sur le Layer 2. Quant aux portefeuilles vested, c’est à dire un portefeuille dépositaire, les actifs sont sur le Layer 2.

Les 6 types d’utilisateurs de Qredo

On dénombre six types d’acteurs sur le réseau.

Les Market Makers

Les faiseurs de marché fournissent continuellement la cotation des actifs pour les traders, à l’achat et à la vente. Afin de devenir market maker, il faut déposer une quantité minimale d’actifs, et verrouiller des jetons QRDO dans un portefeuille de staking. La quantité de QRDO à verrouiller est fonction de l’activité économique du réseau.

Les Validateurs

Les validateurs doivent déposer des jetons QRDO dans un portefeuille de staking spécial afin de participer. Ces derniers sont récompensés directement par le protocole Qredo pour leur travail de vérification.

Les Traders

Ce sont les utilisateurs individuels ou les organisations qui utilisent le Layer 2 de Qredo pour échanger des actifs avec une tierce partie. Ils utilisent la couche tertiaire du réseau pour de communiquer de façon chiffrée et décentralisée et produisent des RFQ. Ces demandes de cotation (Requests for Quote) sont envoyées aux Market Makers afin de finaliser un atomic swap sur le layer 2.

Les Dépositaires

Les Custody Users utilisent Qredo pour assurer la garde sécurisée de leurs actifs. Ils peuvent donc aussi devenir des traders, s’ils le souhaitent.

Les fournisseurs de liquidité

Les Liquidity Providers déposent des actifs dans les pools de Qredo (les réserves de liquidité du protocole) et génèrent des intérêts lorsque d’autres utilisateurs empruntent ces fonds, grâce aux frais.

Les Emprunteurs

La version 2.0 du protocole Qredo permet d’emprunter des liquidités au sein des Loan Pools. Il peut s’agir de faire du trading avec levier, de contracter des prêts instantanés (flash loans), ou encore de générer des revenus passifs grâce à ses liquidités (yield farming).

La couche tertiaire : le système RFQ

Ce système (Request for Quote ou requête de cotation) permet aux utilisateurs de communiquer avec les market makers via une couche dédiée, le Layer 3. Cette méthode est asymétrique :

  • Premièrement, le Trader soumet une demande (request for quote) ;
  • Ensuite, un ensemble de market makers fournit la cotation pour l’actif échangé (offre et demande) ;
  • Enfin, le protocole offre à l’utilisateur la meilleure cotation du marché.

Le jeton QRDO et ses tokenomics

Le modèle économique du jeton utilitaire de Qredo (QRDO) est centré sur l’utilisateur, autour des axes suivants :

  • Tout d’abord, un ensemble d’incitations économiques aligne les intérêts des dépositaires, des traders et des market makers ;
  • Ensuite, la participation active de ces trois types d’utilisateurs génère un revenu pour les validateurs et les market makers ;
  • En conséquence, cela renforce la sécurité du réseau. En effet, plus la valeur des dépôts des utilisateurs augmente, et plus de validateurs peuvent participer au consensus. Les attaques (pouvant provenir de validateurs malicieux) deviennent donc de plus en plus coûteuses.

L’idée de ce modèle provient du fait que les incitations économiques pour les acteurs d’un Layer 1 ne sont pas adaptées à un Layer 2. Sur une couche primaire, les validateurs ou mineurs bénéficient de l’inflation du jeton natif, déterminée par le protocole. Cependant, un Layer 2 est une forme de middleware, un pont assurant la garde et l’échange des actifs du Layer 1, de façon décentralisée et sans tiers de confiance.

Le modèle de Qredo est donc conçu pour récompenser à la fois les utilisateurs et les validateurs, de manière symbiotique. Les market makers bénéficient quant à eux de l’activité économique prenant place sur le réseau, grâce aux frais. Ce modèle permet donc deux choses :

  • Premièrement, les validateurs reçoivent la récompense maximale pour leur travail ;
  • Deuxièmement, les market makers font face à une demande croissant avec la base d’utilisateurs. Ils sont indemnisés pour le risque de subir une baisse de la valeur d’un actif, après qu’il a été acheté auprès d’un vendeur, et avant qu’il ne soit vendu à un acheteur.

Allocation du jeton QRDO

Le nombre total d’unités émises est plafonné à 2 milliards. Une moitié est réservée aux investisseurs (contributeurs, équipe, trésorerie, fonds de lancement pour les validateurs, vente privée et publique).

Distribution du jeton QRDO

Un milliard de QRDO seront distribués en fonction de différentes périodes de verrouillage variant selon les allocations.

Qredo - QRDO distribution du token
Distribution des QRDO au cours du temps

Le QRDO peut être utilisé pour payer les frais d’utilisation des services de Qredo. Les QRDO correspondant au stake minimal des validateurs ne peuvent pas être revendus, et sont brûlés. Cela assure donc un modèle déflationniste pour le jeton.

Qredo : une architecture tendant vers la décentralisation

Initialement, Qredo ne comptait que 6 nœuds MPC centralisés. La feuille de route est bien sûr conçue pour achever une décentralisation totale, et permettre ainsi à tout un chacun de déployer un nœud MPC.

Centralisation, fédération et décentralisation

Les nœuds MPC reposent sur l’implémentation de l’algorithme de Gennaro et Goldfeder (MPC-GG18). Dans sa version centralisée, la sécurité de Credo repose sur l’éloignement géographique des nœuds MPC et les enclaves sécurisées (les TEE). Aucun des membres de l’équipe de Qredo n’a accès simultanément aux nœuds MPC et à la blockchain.

Utiliser Qredo

Vous l’aurez compris, si vous êtes une entreprise ou une organisation gérant des cryptoactifs, et nécessitant une solution de grade institutionnel en termes de sécurité et de conformité, tout en restant décentralisée et non-custodial, Qredo est le nouveau standard de l’industrie !

En attendant une revue plus technique du protocole et de ses différents composants, il est très facile d’utiliser la plateforme : Il suffit de créer un compte personnel. Grâce à l’application mobile, assigner un rôle aux membres d’une organisation et configurer ses Policies est très simple.

Ressources

Morgan Phuc

Cofounder @ 8Decimals & Partner @ Node Guardians - Making crypto great again - Journal du Coin / BitConseil