Attaques de gouvernance DAO et comment les éviter

De nombreux projets Web3 adoptent le vote sans autorisation à l'aide d'un jeton natif fongible et échangeable. Le vote sans autorisation peut offrir de nombreux avantages, allant de la réduction des barrières à l'entrée à l'augmentation de la concurrence. Les détenteurs de jetons peuvent utiliser leurs jetons pour voter sur une série de questions, allant de simples ajustements de paramètres à la refonte du processus de gouvernance lui-même. (Pour un examen de la gouvernance du DAO, voir "Démocratie à la vitesse de la lumière»). Mais le vote sans permission est vulnérable à attaques de gouvernance, dans lequel un attaquant acquiert le droit de vote par des moyens légitimes (par exemple, en achetant des jetons sur le marché libre) mais utilise ce pouvoir de vote pour manipuler le protocole au profit de l'attaquant. Ces attaques sont purement "in-protocol", ce qui signifie qu'elles ne peuvent pas être traitées par cryptographie. À la place, prévention nécessite une conception réfléchie du mécanisme. À cette fin, nous avons développé un cadre pour aider les DAO à évaluer la menace et potentiellement contrer de telles attaques. 

Les attaques contre la gouvernance dans la pratique

Le problème des attaques contre la gouvernance n'est pas seulement théorique. Non seulement ils vous se produisent dans le monde réel, mais ils l'ont déjà fait et continueront de le faire. 

In un exemple marquant, Steemit, une startup construisant un réseau social décentralisé sur leur blockchain, Steem, disposait d'un système de gouvernance en chaîne contrôlé par 20 témoins. Les électeurs ont utilisé leurs jetons STEEM (la monnaie native de la plateforme) pour choisir les témoins. Alors que Steemit et Steem gagnaient du terrain, Justin Sun avait élaboré des plans pour fusionner Steem dans Tron, un protocole de blockchain qu'il avait fondé en 2018. Pour acquérir le pouvoir de vote pour le faire, Sun a approché l'un des fondateurs de Steem et a acheté des jetons équivalents à 30 % de l'offre totale. Une fois que les témoins Steem de l'époque ont découvert son achat, ils ont gelé les jetons de Sun. Ce qui a suivi a été un va-et-vient public entre Sun et Steem pour contrôler suffisamment de jetons pour installer leur liste préférée des 20 meilleurs témoins. Après avoir impliqué des échanges majeurs et dépensé des centaines de milliers de dollars en jetons, Sun a finalement été victorieux et a effectivement régné librement sur le réseau. 

In une autre instance, Beanstalk, un protocole stablecoin, s'est retrouvé vulnérable à une attaque de gouvernance via un prêt flash. Un attaquant a contracté un prêt pour acquérir suffisamment de jetons de gouvernance de Beanstalk pour passer instantanément une proposition malveillante qui leur a permis de saisir 182 millions de dollars des réserves de Beanstalk. Contrairement à l'attaque Steem, celle-ci s'est produite en l'espace d'un seul bloc, ce qui signifiait qu'elle était terminée avant que quiconque ait eu le temps de réagir. 

Bien que ces deux attaques se soient produites au grand jour et sous les yeux du public, les attaques contre la gouvernance peuvent également être menées subrepticement sur une longue période. Un attaquant peut créer de nombreux comptes anonymes et accumuler lentement des jetons de gouvernance, tout en se comportant comme n'importe quel autre détenteur pour éviter les soupçons. En fait, étant donné la faible participation des électeurs dans de nombreux DAO, ces comptes pourraient rester inactifs pendant une longue période sans éveiller les soupçons. Du point de vue du DAO, les comptes anonymes de l'attaquant pourraient contribuer à l'apparition d'un niveau sain de pouvoir de vote décentralisé. Mais à terme, l'attaquant pourrait atteindre un seuil où ces portefeuilles sybil ont le pouvoir de contrôler unilatéralement la gouvernance sans que la communauté ne puisse réagir. De même, des acteurs malveillants peuvent acquérir suffisamment de pouvoir de vote pour contrôler la gouvernance lorsque la participation est suffisamment faible, puis essayer de faire passer des propositions malveillantes lorsque de nombreux autres détenteurs de jetons sont inactifs.

Et bien que nous puissions penser que toutes les actions de gouvernance ne sont que le résultat des forces du marché à l'œuvre, dans la pratique, la gouvernance peut parfois produire des résultats inefficaces en raison de l'échec des incitations ou d'autres vulnérabilités dans la conception d'un protocole. Tout comme l'élaboration des politiques gouvernementales peut être capturée par des groupes d'intérêt ou même par une simple inertie, la gouvernance du DAO peut conduire à des résultats inférieurs si elle n'est pas correctement structurée.

Alors, comment pouvons-nous faire face à de telles attaques grâce à la conception de mécanismes ?

Le défi fondamental : l'indiscernabilité

Les mécanismes de marché pour l'attribution de jetons ne parviennent pas à faire la distinction entre les utilisateurs qui souhaitent faire UNE contributions à un projet et les attaquants qui attachent une grande importance à le perturber ou à le contrôler. Dans un monde où les jetons peuvent être achetés ou vendus sur un marché public, ces deux groupes sont, du point de vue du marché, indiscernables sur le plan comportemental : tous deux sont prêts à acheter de grandes quantités de jetons à des prix de plus en plus élevés. 

Ce problème d'indiscernabilité signifie que la gouvernance décentralisée n'est pas gratuite. Au lieu de cela, les concepteurs de protocoles sont confrontés à des compromis fondamentaux entre la décentralisation ouverte de la gouvernance et la sécurisation de leurs systèmes contre les attaquants cherchant à exploiter les mécanismes de gouvernance. Plus les membres de la communauté sont libres d'acquérir un pouvoir de gouvernance et d'influencer le protocole, plus il est facile pour les attaquants d'utiliser ce même mécanisme pour apporter des modifications malveillantes. 

Ce problème d'indiscernabilité est familier depuis la conception des réseaux blockchain Proof of Stake. Là aussi, un marché très liquide dans le jeton permet aux attaquants d'acquérir plus facilement une participation suffisante pour compromettre les garanties de sécurité du réseau. Néanmoins, un mélange d'incitations symboliques et de conception de liquidité rend les réseaux Proof of Stake possibles. Des stratégies similaires peuvent aider à sécuriser les protocoles DAO.

Un cadre pour évaluer et traiter la vulnérabilité

Pour analyser la vulnérabilité à laquelle sont confrontés différents projets, nous utilisons un cadre défini par l'équation suivante :

Une équation pour évaluer et traiter la vulnérabilité aux attaques de gouvernance DAO

Pour qu'un protocole soit considéré comme sûr contre les attaques de gouvernance, le profit d'un attaquant doit être négatif. Lors de la conception des règles de gouvernance d'un projet, cette équation peut être utilisée comme repère pour évaluer l'impact de différents choix de conception. Pour réduire les incitations à exploiter le protocole, l'équation implique trois choix clairs : diminuer la valeur des attaques, augmenter le coût d'acquisition du droit de voteet augmenter le coût d'exécution des attaques

Diminution de la valeur des attaques 

Limiter la valeur d'une attaque peut être difficile car plus un projet réussit, plus une attaque réussie peut devenir précieuse. Il est clair qu'un projet ne doit pas intentionnellement saboter son propre succès juste pour diminuer la valeur d'une attaque. 

Néanmoins, les concepteurs peuvent limiter la valeur des attaques en limitant la portée de ce que la gouvernance peut faire. Si la gouvernance inclut uniquement le pouvoir de modifier certains paramètres d'un projet (par exemple, les taux d'intérêt sur un protocole de prêt), la portée des attaques potentielles est beaucoup plus étroite que lorsque la gouvernance permet un contrôle général complet du contrat intelligent régissant. 

La portée de la gouvernance peut être fonction de l'étape d'un projet. Au début de sa vie, un projet peut avoir une gouvernance plus large à mesure qu'il trouve sa place, mais dans la pratique, la gouvernance peut être étroitement contrôlée par l'équipe fondatrice et la communauté. Au fur et à mesure que le projet mûrit et décentralise le contrôle, il peut être judicieux d'introduire un certain degré de friction dans la gouvernance - au minimum, en exigeant de grands quorums pour les décisions les plus importantes.

Augmenter le coût d'acquisition du droit de vote

Un projet peut également prendre des mesures pour rendre plus difficile l'acquisition du pouvoir de vote nécessaire à une attaque. Plus le jeton est liquide, plus il est facile d'exiger ce droit de vote - donc presque paradoxalement, les projets pourraient vouloir réduire la liquidité pour protéger la gouvernance. On pourrait essayer de réduire directement la négociabilité à court terme des jetons, mais cela pourrait être techniquement irréalisable. 

Pour réduire indirectement la liquidité, les projets peuvent fournir des incitations qui rendent les détenteurs de jetons individuels moins disposés à vendre. Cela peut être fait en incitant au jalonnement ou en donnant aux jetons une valeur autonome au-delà de la pure gouvernance. Plus la valeur revient aux détenteurs de jetons, plus ils s'alignent sur le succès du projet. 

Les avantages symboliques autonomes peuvent inclure l'accès à des événements en personne ou à des expériences sociales. Fondamentalement, des avantages comme ceux-ci sont de grande valeur pour les personnes alignées sur le projet, mais sont inutiles pour un attaquant. Fournir ces types d'avantages augmente le prix effectif auquel un attaquant est confronté lors de l'acquisition de jetons : les détenteurs actuels seront moins disposés à vendre en raison des avantages autonomes, ce qui devrait augmenter le prix du marché ; pourtant, alors que l'attaquant doit payer le prix le plus élevé, la présence des fonctionnalités autonomes n'augmente pas la valeur de l'attaquant de l'acquisition du jeton. 

Augmentation du coût d'exécution des attaques

En plus d'augmenter le coût du pouvoir de vote, il est possible d'introduire des frictions qui rendent plus difficile pour un attaquant d'exercer le pouvoir de vote même une fois qu'il a acquis des jetons. Par exemple, les concepteurs peuvent exiger une sorte d'authentification de l'utilisateur pour participer aux votes, comme une vérification KYC (connaissez votre client) ou un seuil de score de réputation. On pourrait même limiter la capacité d'un acteur non authentifié à acquérir des jetons de vote en premier lieu, nécessitant peut-être un ensemble de validateurs existants pour attester de la légitimité des nouveaux partis. 

Dans un certain sens, c'est exactement la façon dont de nombreux projets distribuent leurs jetons initiaux, en s'assurant que les parties de confiance contrôlent une fraction importante du pouvoir de vote. (De nombreuses solutions Proof of Stake utilisent des techniques similaires pour défendre leur sécurité - en contrôlant étroitement qui a accès à la mise précoce, puis en se décentralisant progressivement à partir de là.) 

Alternativement, les projets peuvent faire en sorte que même si un attaquant contrôle une quantité substantielle de pouvoir de vote, il rencontre toujours des difficultés à faire passer des propositions malveillantes. Par exemple, certains projets ont des verrous horaires afin qu'une pièce ne puisse pas être utilisée pour voter pendant un certain temps après avoir été échangée. Ainsi, un attaquant qui cherche à acheter ou à emprunter une grande quantité de jetons ferait face à des coûts supplémentaires en attendant de pouvoir voter - ainsi qu'au risque que les membres votants remarquent et contrecarrent leur attaque potentielle dans l'intervalle. Délégation peut aussi être utile ici. En donnant aux participants actifs, mais non malveillants, le droit de voter en leur nom, les personnes qui ne souhaitent pas jouer un rôle particulièrement actif dans la gouvernance peuvent quand même contribuer leur pouvoir de vote à la protection du système.

Certains projets utilisent des pouvoirs de veto qui permettent de retarder un vote pendant un certain temps pour alerter les électeurs inactifs d'une proposition potentiellement dangereuse. Dans un tel schéma, même si un attaquant fait une proposition malveillante, les électeurs ont la possibilité de répondre et de la fermer. L'idée derrière ces conceptions et d'autres similaires est d'empêcher un attaquant de se faufiler dans une proposition malveillante et de donner à la communauté d'un projet le temps de formuler une réponse. Idéalement, les propositions qui s'alignent clairement sur le bien du protocole n'auront pas à faire face à ces obstacles. 

At Noms DAO, par exemple, le droit de veto est détenu par la Nouns Foundation jusqu'à ce que le DAO lui-même est prêt à implémenter un schéma alternatif. Comme ils l'ont écrit sur leur site Web, "La Nouns Foundation opposera son veto aux propositions qui introduisent des risques juridiques ou existentiels non négligeables pour le Nouns DAO ou la Nouns Foundation."

* * *

Les projets doivent trouver un équilibre pour permettre un certain niveau d'ouverture aux changements de la communauté (qui peuvent parfois être impopulaires), tout en empêchant les propositions malveillantes de passer entre les mailles du filet. Il suffit souvent d'une seule proposition malveillante pour faire tomber un protocole, il est donc crucial d'avoir une compréhension claire du compromis entre les risques d'accepter et de rejeter des propositions. Et bien sûr, un compromis de haut niveau existe entre assurer la sécurité de la gouvernance et rendre la gouvernance possible - tout mécanisme qui introduit des frictions pour bloquer un attaquant potentiel rend également le processus de gouvernance plus difficile à utiliser. 

Les solutions que nous avons esquissées ici se situent sur un spectre entre une gouvernance entièrement décentralisée et le sacrifice partiel de certains idéaux de décentralisation pour la santé globale du protocole. Notre cadre met en évidence différentes voies que les projets peuvent choisir lorsqu'ils cherchent à s'assurer que les attaques de gouvernance ne seront pas rentables. Nous espérons que la communauté utilisera le cadre pour développer davantage ces mécanismes grâce à sa propre expérimentation afin de rendre les DAO encore plus sûrs à l'avenir. 

***

Pranav Garimidi est un junior montant à l'Université de Columbia et un stagiaire de recherche d'été à crypto a16z

Scott Duc Kominers est professeur d'administration des affaires à la Harvard Business School, membre du corps professoral du département d'économie de Harvard et partenaire de recherche à crypto a16z.

Tim Roughgarden est professeur d'informatique et membre du Data Science Institute de l'Université de Columbia, et directeur de la recherche à crypto a16z.

***

Remerciements : Nous apprécions les commentaires et suggestions utiles de Andy Hall. Remerciements particuliers également à notre éditeur, Tim Sullivan.

***

Divulgations : Kominers détient un certain nombre de jetons cryptographiques et fait partie de nombreuses communautés NFT ; il conseille diverses entreprises de marché, startups et projets de cryptographie; et il sert également d'expert sur les questions liées au NFT.

Les opinions exprimées ici sont celles du personnel individuel d'AH Capital Management, LLC (« a16z ») cité et ne sont pas les opinions d'a16z ou de ses sociétés affiliées. Certaines informations contenues ici ont été obtenues de sources tierces, y compris de sociétés de portefeuille de fonds gérés par a16z. Bien qu'elles proviennent de sources considérées comme fiables, a16z n'a pas vérifié ces informations de manière indépendante et ne fait aucune déclaration quant à l'exactitude durable des informations ou à leur pertinence dans une situation donnée. De plus, ce contenu peut inclure des publicités de tiers ; a16z n'a pas examiné ces publicités et n'approuve aucun contenu publicitaire qu'elles contiennent.

Ce contenu est fourni à titre informatif uniquement et ne doit pas être considéré comme un conseil juridique, commercial, d'investissement ou fiscal. Vous devriez consulter vos propres conseillers sur ces questions. Les références à des titres ou à des actifs numériques sont uniquement à des fins d'illustration et ne constituent pas une recommandation d'investissement ou une offre de fournir des services de conseil en investissement. En outre, ce contenu n'est ni destiné ni destiné à être utilisé par des investisseurs ou des investisseurs potentiels, et ne peut en aucun cas être invoqué pour prendre une décision d'investir dans un fonds géré par a16z. (Une offre d'investissement dans un fonds a16z ne sera faite que par le mémorandum de placement privé, le contrat de souscription et toute autre documentation pertinente de ce fonds et doit être lu dans son intégralité.) Tous les investissements ou sociétés de portefeuille mentionnés, référencés ou décrits ne sont pas représentatifs de tous les investissements dans des véhicules gérés par a16z, et rien ne garantit que les investissements seront rentables ou que d'autres investissements réalisés à l'avenir auront des caractéristiques ou des résultats similaires. Une liste des investissements effectués par des fonds gérés par Andreessen Horowitz (à l'exclusion des investissements pour lesquels l'émetteur n'a pas autorisé a16z à divulguer publiquement ainsi que des investissements non annoncés dans des actifs numériques cotés en bourse) est disponible sur https://a16z.com/investments /.

Les tableaux et graphiques fournis ici sont uniquement à des fins d'information et ne doivent pas être utilisés pour prendre une décision d'investissement. Les performances passées ne représentent pas les résultats futurs. Le contenu ne parle qu'à la date indiquée. Toutes les projections, estimations, prévisions, objectifs, perspectives et/ou opinions exprimées dans ces documents sont susceptibles d'être modifiées sans préavis et peuvent différer ou être contraires aux opinions exprimées par d'autres. Veuillez consulter https://a16z.com/disclosures pour des informations supplémentaires importantes.

Horodatage:

Plus de Andreessen Horowitz