De la gouvernance des Automated Market Makers – Les AMM décodés
Dans l’univers de la finance décentralisée (DeFi), comprendre les mécanismes de gouvernance d’un protocole est crucial. En effet, ils déterminent des paramètres très importants, et influencent les aspects économiques du protocole lui-même.
De manière générale, la communauté crypto souhaite aller vers l’idéal de la décentralisation complète et de la gouvernance on-chain. Cependant, c’est plus facile à dire qu’à faire ! La gouvernance décentralisée est au cœur de nombreux débats. Il existe ainsi une multitude d’approches, de possibilités et de méthodes pour les organisations autonomes décentralisées (DAO) :
- Délégation des votes ;
- Pondération des votes – par la mise sous séquestre de jetons, ou l’engagement de l’utilisateur off-chain ;
- Quorums ;
- Comités spécialisés ;
- Vote continuel ;
- Actions on-chain découlant de votes off-chain grâce aux oracles ;
- Délais temporels ;
- Actions d’urgences et pouvoir spéciaux conférés à certaines adresses ;
- Incitation au vote (via les airdrops, par exemple)…
La gouvernance d’un protocole est assurée par les détenteurs du jeton dédié. Posséder des jetons de gouvernance d’un protocole donne donc droit à un pouvoir décisionnel. Le poids de ses votes peut dépendre de la quantité de jetons détenues, mais aussi d’autres paramètres, comme la durée de mise sous séquestre des jetons.
Chaque protocole a ses règles, et sa propre vision de la gouvernance décentralisée. Nous allons passer en revue les principaux modèles, tout en donnant une vue globale des objectifs de la communauté DeFi.
Uniswap
La gouvernance d’Uniswap s’effectue via le jeton dédié, l’UNI, déployé à l’adresse suivante sur le mainnet d’Ethereum :
https://etherscan.io/address/0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984
Chaque détenteur d’UNI peu donc participer à la gouvernance d’Uniswap, à travers 3 places distinctes, qui ont chacune leurs fonctions :
- https://gov.uniswap.org/ : le forum dédié aux discussions relatives à la gouvernance ;
- https://snapshot.page/#/uniswap : une interface de vote simple qui permet aux détenteurs d’UNI de signaler leur sentiment off-chain ;
- https://app.uniswap.org/#/vote : le portail de gouvernance lui-même.
Le jeton de gouvernance UNI
Le jeton UNI est un ERC-20 qui permet de déterminer le poids des droits de vote d’un utilisateur. Ses votes sont ainsi pondérés par la quantité de jetons délégués sur l’adresse dédiée.
Les utilisateurs doivent ainsi déléguer leurs jetons sur une adresse unique – qui peut être la même que l’adresse personnelle du détenteur de jeton. Les jetons ne sont pas verrouillés : ils représentent simplement le pouvoir de vote de l’adresse de délégation.
Les propositions
Un proposal – une proposition – est du code exécutable, qui modifie le contrat de gouvernance d’Uniswap, ou celui qui gère sa trésorerie. Il faut déléguer un minimum de 0,25 % de tous les UNI en circulation sur une adresse pour que son propriétaire puisse faire des propositions.
Le quorum minimum pour qu’une proposition soit acceptée est de 4 % de tous les UNI, soit 40 millions d’UNI. N’importe quel utilisateur ayant délégué des jetons sur une adresse peut alors voter (oui ou non) lorsqu’une proposition est active. Après cette étape, si un proposal est approuvé, commence une période d’attente (timelock) de 2 jours. Lorsque ce délai est écoulé, la proposition est implémentée.
Processus de gouvernance sur Uniswap
Le processus de gouvernance d’Uniswap comporte 3 étapes, et peut changer selon les décisions de la communauté.
La prise de température
Premièrement, il faut déterminer si la communauté désire voir un changement appliqué. On appelle cette étape le Temperature Check. Les propositions sont soumises à l’approbation de la communauté, via le forum de gouvernance. La discussion doit commencer par l’étiquette « Temperature Check – [Titre] ». Ensuite, les votants (détenteurs d’UNI) utilisent Snapshot pour exprimer leur avis. S’il y a suffisamment d’intérêt (au moins 25 000 UNI de votes « oui »), le changement proposé peut ensuite se confronter aux étapes suivantes. Les sondages via Snapshot durent 2 jours.
Le Consensus Check
Le Consensus Check est une phase de discussion plus formelle autour d’une proposition. Après la phase de prise de température, un nouveau sondage est organisé via Snapshot. Durant une période de 5 jours, les utilisateurs d’Uniswap peuvent alors choisir entre l’option « n’effectuer aucun changement » et tous les changements potentiels ayant de la traction.
Un nouveau thread est alors créé dans le forum de gouvernance, étiqueté « Consensus Check – [Titre] ». Les utilisateurs soumettant un Consensus Check doivent gagner l’approbation de la communauté pour leur proposition, et la discuter. L’option recueillant le plus de votes gagne, et peut alors rejoindre la troisième phase. Le Consensus Check nécessite un quorum de 50 000 UNI pour passer cette étape. Si c’est l’option « n’effectuer aucun changement » qui l’emporte, alors le Consensus Check est fermé.
Les propositions de gouvernance
Un proposal inclut le résultat gagnant du Consensus Check et peut consister d’une à 10 actions. Le code proposé est alors audité par des auditeurs professionnels; le coût de l’audit peut être payé ou remboursé par la trésorerie de la communauté.
Le nouveau fil de discussion dans le portail de gouvernance est étiqueté « Governance Proposal – [Titre] ». Il comporte les liens vers les sondages Snapshot, les discussions, ainsi que vers le rapport d’audit du code.
La proposition sera ensuite déployée, en appelant la fonction propose()
du contrat GovernorBravo et une période de vote de 7 jours débute. Si elle est approuvée, un délai supplémentaire de 2 jours (timelock) est requis avant son exécution.
La notion de soft governance
On parle de « soft governance » (gouvernance douce) ou de métagouvernance quant aux processus de gouvernance prenant place off-chain entre les membres de la communauté. Ils concernent les politiques, procédés et stratégies de gouvernance. Mettre à jour ces processus off-chain ne nécessite pas de vote on-chain de la part des utilisateurs.
Une partie de la communauté DeFi considère la gouvernance d’Uniswap peu décentralisée. En effet, l’équipe de développement mis en place une fondation, dont la mission est de soutenir la croissance et la pérennité du protocole, de son écosystème et de sa communauté. Certains jugent que cette fondation a trop de pouvoir.
Balancer
Comme l’ont déclaré les développeurs de Balancer, la gouvernance est le cœur et le cerveau du protocole. N’importe quel détenteur de jetons BAL peut participer à sa gouvernance. Les utilisateurs qui le souhaitent peuvent ainsi utiliser leurs jetons pour voter quant aux décisions importantes concernant le protocole. Il peut s’agir de l’ajout de nouvelles fonctionnalités, ou de la modification de paramètres-clés au sein des smart contracts.
Le jeton de gouvernance BAL
Les jetons BAL garantissent un pouvoir de vote et servent à aligner les intérêts des détenteurs de jetons de gouvernance et les actionnaires – stakeholders – du protocole.
Provision
Le taux d’inflation des BAL était de 145 000 BAL par semaine lors du lancement de Balancer. Un calendrier de halving (réduction de l’émission de moitié) fut ensuite introduit : tous les 4 ans, comme sur Bitcoin. La quantité de jetons finale sera d’environ 94 millions de BAL, tous les détails peuvent être trouvés ici :
https://docs.google.com/spreadsheets/d/1FY0gi596YWBOTeu_mrxhWcdF74SwKMNhmu0qJVgs0KI/edit#gid=0
Distribution
Les jetons BAL sont distribués aux entités suivantes :
- La communauté – via le Liquidity Mining Program, qui peut être modifié par les processus de gouvernance ;
- Les fondateurs de Balancer, conseillers et investisseurs ;
- Le fonds de l’écosystème, pour attirer des partenaires stratégiques et les inciter financièrement. L’utilisation de ce fonds est aussi sujette à la gouvernance du protocole.
- Le fonds d’investissement – Fundraising Fund : il sert à financer les opérations futures de Balancer Labs et soutien sa croissance.
Procédé de gouvernance
Le procédé de gouvernance de Balancer se décompose en 5 étapes. Les propositions de modification ou d’extension du protocole sont appelées Request for Comment (RFC) – une réminiscence des Ethereum Request for Comment (ERC).
Request for comments
Tout d’abord, les propositions sont postées dans la section « Governance » du forum de Balancer avec l’étiquette [RFC] :
https://forum.balancer.fi/c/governance/7
Les RFC doivent respecter un formalisme précis. Ils comportent 5 sections décrivant la proposition :
- Background (le fond) : la description du problème adressé ainsi que toute les informations nécessaire pour comprendre la proposition.
- Core proposal (proposition principale) : la proposition d’amélioration du protocole en elle-même.
- Dependencies (dépendances) : la description de tout ce qui est requis afin d’introduire le changement proposé.
- Risk assessment : l’analyse des risques induits par un tel changement, ainsi que son impact sur le protocole, la communauté Balancer et son écosystème dans son ensemble.
- Open questions : toutes les discussions et les informations complémentaires relatives au RFC.
Discussion
Durant cette étape, la communauté discute autour du RFC. Elle utilise notamment Discord, le forum et d’autres réseaux sociaux. Le débat est ensuite monitoré et retranscrit sur le forum. Durant cette phase, tous les retours sont les bienvenus, le but étant d’attirer l’attention sur le RFC.
Proposition
Après la phase de discussion, qui dure environ deux semaines, si le RFC a reçu suffisamment d’attention et de consensus préliminaire, il sera mis à jour sur le fil de discussion dédié dans le forum. Les diverses suggestions sont également ajoutées au RFC.
Le fil de discussion devient [Proposal]. Les feedbacks additionnels y sont ajoutés, ainsi que les divers conseils, astuces ou avis.
Une période minimale d’une semaine est nécessaire pour obtenir un consensus général.
Snapshot
Il s’agit de la phase de vote. La proposition est soumise à l’approbation de la communauté. Elle est postée sur un espace dédié :
Résultat
La proposition sera donc ensuite acceptée ou rejetée. Dans le cas où une votation échoue, une période minimale d’un mois doit s’écouler avant de réitérer l’opération.
Dans le cas d’une approbation, il est ensuite nécessaire de superviser la correcte exécution des changements proposés. Ces derniers peuvent nécessiter l’action du portefeuille multisignatures de Balancer.
Le portefeuille multisignatures
Le Multisig de Balancer est déployé grâce à Gnosis Safe, le contrat de multisig le plus sécurisé sur Ethereum. Gnosis Safe a bien résisté à l’épreuve du temps.
Le Multisig comporte actuellement 11 adresses, et requiert 6 signatures pour être valide. Ces adresses appartiennent à des membres respectés de la communauté. Cette configuration (n sur m adresses) peut être modifiée – toujours en passant par la gouvernance des détenteurs de BAL.
Il faut noter que le Multisig n’a aucun pouvoir de décision. Son rôle est simplement de transférer on-chain les décisions prises off-chain par les détenteurs de jetons BAL. De même, le Multisig n’a aucun contrôle sur les fonds des fournisseurs de liquidité du protocole.
L’objectif final de la DAO de Balancer est d’opérer entièrement on-chain. Cependant, ses smart contracts peuvent conférer certains pouvoirs à une adresse d’administration, qui est actuellement celle du Multisig :
- Accorder des rôles à certains adresses via le contrat Authorizer ;
- Configurer les frais d’échange ;
- Définir les frais des flash loans ;
- Extraire les frais de protocole collectés et/ou les jetons en excès (pour les airdrops), à partir du Vault, et vers n’importe quelle destination ;
- Définir les adresses de l’oracle ;
- Définir les adresses des relais.
Le Multisig existe aussi sur les couches secondaires où Balancer est déployé : Polygon, Arbitrum et Optimism. Les signataires potentiels sont également nominés, ordonnés et listés par la communauté, pour plus d’efficacité en cas de substitution future.
Un signataire peut être révoqué par décision des signataires restants, dans le cas où il ne se comporte pas correctement :
- Actions contre les décisions prises off-chain par les votants ;
- Ne pas remplir ses devoirs de signataire durant 3 mois ou 2 votes successifs.
Les frais du protocole Balancer
Les frais de protocole sont collectés par le protocole Balancer lui-même, et non par les fournisseurs de liquidité. Les détenteurs de jetons BAL peuvent activer ou non ces frais. Leurs usages peuvent être variés et sont également choisis par les votants :
- Ajout dans un pool ;
- Subventions pour améliorer le protocole ;
- Financement de campagnes publicitaires ;
- Subventions pour attirer des partenaires stratégiques ;
- Assurance décentralisée ;
- Prêts sur des protocoles externes ;
- Paiement direct des gouverneurs de Balancer ;
- Financement des fournisseurs de services de l’écosystème.
Les protocol fees proviennent de deux sources : les frais de trading et les frais prélevés sur les flash loans. La proportion de ces frais est définie par la communauté des détenteurs de jetons BAL.
Évolutions futures
Idéalement, le protocole devrait être gouverné entièrement par les détenteurs de jetons BAL. Bien entendu, c’est un vrai défi, qui est global dans l’univers des plateformes d’échange décentralisées. C’est un sujet brûlant, et pour le moment, il n’y a pas de modèle idéal.
La gouvernance décentralisée peut revêtir différentes formes, et il est nécessaire de trouver les mécanismes qui fonctionnent le mieux. En effet, chacun a ses avantages, mais aussi ses risques et ses failles. Il y a donc de nombreux progrès à faire en termes d’infrastructure, d’interfaces et d’outils.
La communauté de Balancer a pris une approche empirique et précautionneuse. La route vers la décentralisation totale est semée d’embûches…
Curve
La gouvernance de Curve passe par son Organisation Autonome Décentralisée (DAO) :
Les détenteurs de jetons CRV utilisent Aragon pour la gouvernance, et contrôlent ainsi les fonctionnalités d’administration du protocole. L’implémentation modifiée de l’application de vote d’Aragon est disponible ici :
https://github.com/curvefi/curve-aragon-voting
Les jetons CRV et veCRV
Pour voter via la DAO de Curve, les utilisateurs doivent verrouiller leur jetons CRV. Il existe un mécanisme incitatif pour augmenter le taux de participation – le boost de liquidité. Les fournisseurs de liquidité voient ainsi leur récompenses augmenter. N’importe quel détenteur de CRV ayant verrouillé des jetons peut voter quant à une proposition. Afin de créer un nouveau proposal, il lui faut atteindre un pouvoir de vote de 2500 veCRV.
Une fois mis sous séquestre, les CRV deviennent donc des veCRV – Vote-escrowed CRV. La période de verrouillage peut être ajustée entre une semaine et 4 ans : elle impacte ainsi le pouvoir de vote, tout comme le bonus. Plus longtemps un utilisateur verrouille ses jetons, et plus de veCRV il reçoit. Le bonus maximal est un multiplicateur de 2,5 sur ses récompenses de fournisseur de liquidité.
Le ratio de 1 pour 1 entre les CRV et les veCRV s’obtient en mettant sous séquestre les jetons pour la durée maximum de 4 ans. 1000 CRV verrouillés pour un an donnent un poids de 250 veCRV à l’utilisateur.
Processus de vote
Lorsque les CRV sont séquestrés, l’utilisateur peut voter à partir du bloc où une proposition est créée. Avec l’application de vote, c’est très simple :
- Sélection de la proposition ;
- Choix de l’option ;
- Confirmation de la transaction.
Toutes les propositions de la DAO de Curve se trouvent ici :
L’outil Snapshot permet aux utilisateurs de signaler leurs préférences quant aux propositions. Il est très utile, étant donné que les frais de gas sont important sur Ethereum. Le signalement des votes est utilisé pour jauger l’intérêt de la communauté.
Il est également possible d’utiliser l’interface en ligne de commandes de la console Brownie pour interagir avec la DAO :
https://eth-brownie.readthedocs.io/en/stable/interaction.html#using-the-console
Le script Python pour créer de nouveaux votes est disponible sur le dépôt GitHub de la DAO :
https://github.com/curvefi/curve-dao-contracts/blob/master/scripts/voting/new_vote.py
Les votes sont ensuite décodés avec le script correspondant :
https://github.com/curvefi/curve-dao-contracts/blob/master/scripts/voting/new_vote.py
Création d’une proposition
Les propositions doivent être formalisées en créant un nouveau fil de discussion sur le forum de gouvernance. Ensuite, les CIP (Curve Improvment Proposals) sont créés à travers Snapshot : https://signal.curve.fi/#/
Gouvernance décentralisée : modèles et défis
Grâce aux jetons de gouvernance, les protocoles DeFi permettent de décentraliser les prises de décision à travers leurs utilisateurs. La décentralisation de la gouvernance est une propriété activement recherchée, car elle révolutionne la façon d’administrer les marchés financiers.
Le pouvoir de décision n’est ainsi plus concentré entre les mains d’une petite équipe de développeurs ou de gouverneurs. Bien que la DeFi n’en soit qu’à ses balbutiements, plusieurs modèles de gouvernance décentralisée ont déjà vu le jour. Ils présentent tous leurs challenges afin d’en arriver à l’idéal de décentralisation totale.
Au-delà de la modification des paramètres gouvernant un protocole, la gouvernance décentralisée permet de catalyser sa croissance, et de pallier rapidement des failles potentielles. C’est possible, par exemple, en recrutant de nouveaux développeurs, en finançant des opérations marketing, ou encore en créant des fonds d’urgence.
Il y a encore un long chemin à parcourir avant d’en arriver à une pleine décentralisation. Il est possible de combiner différentes incitations économiques pour accroître la participation des utilisateurs de ces plateformes d’échange décentralisées et sans permission.
Les équipes de développement préfèrent adopter une approche prudente quant à la gouvernance décentralisée. En effet, ces protocoles sont expérimentaux; leurs smart contracts peuvent comporter des failles, requérant des actions immédiates. Cela rend donc la prise de décision des seuls utilisateurs délicate en cas d’urgence.
Actuellement, les DAO combinent des procédés de gouvernance on-chain et off-chain, afin de faire évoluer un protocole dans la direction choisie par sa communauté toute entière. Au-dessus du simple aspect technique, c’est aussi une nouvelle forme d’organisation politique, bien plus flexible, accessible et équitable que les standards actuels de la finance traditionnelle.