Qu’est-ce qu’une DAO ?

Répondant au besoin d’une startup berlinoise nommée Slock.it, les développeurs du projet TheDAO ont créé un modèle de DAO. Une DAO est une sorte de nouveau statut d’entreprise. Ces trois lettres signifient “Organisations Autonomes Décentralisées” : ce sont des communautés dont les règles de fonctionnement sont fixées par des contrats enregistrés sur une blockchain (celle d’Ethereum dans le cas de TheDAO). Quatre contrats publiés sous licence libre ont été déployés au début du mois de mai 2016. Le 28 mai, plus de 12 millions d’Ethers (167 millions de dollars au moment de la rédaction de ce texte) se sont accumulés sur ces contrats. Même si quelques investisseurs sont cachés dans la foule, c’est un record absolu pour une campagne de financement participatif. Cette concentration d’argent que seul un vote du collectif peut libérer a de quoi impressionner.

Comment ça marche ?

Sur Ethereum, il y a deux formes de comptes : les comptes classiques et les contrats autonomes (“smart contracts”). Avec un compte classique, on peut recevoir et envoyer de l’argent, avec un contrat (écrit en Solidity, en Serpent, ou autre) on peut programmer des transactions en fonction d’événements précis. Par exemple, je peux décider d’envoyer automatiquement 10 euros à ma grand-mère les jours de pluie : le contrat récupère un flux de données publiques (le temps qu’il a fait) et déclenche des transactions du contrat vers le compte de ma grand-mère seulement les jours où il pleut. Vous ne voyez pas l’intérêt d’une telle appli ? C’est normal, il n’y en a aucun ! D’autres contrats basés sur sur ce principe pourraient avoir un impact significatif, y compris dans les mois qui viennent.

Nick Szabo, à qui on attribue la paternité de l’invention des contrats autonomes dans les années 90, fait le parallèle aux distributeurs automatiques :

A canonical real-life example, which we might consider to be the primitive ancestor of smart contracts, is the humble vending machine. Within a limited amount of potential loss (the amount in the till should be less than the cost of breaching the mechanism), the machine takes in coins, and via a simple mechanism, which makes a freshman computer science problem in design with finite automata, dispense change and product according to the displayed price. The vending machine is a contract with bearer: anybody with coins can participate in an exchange with the vendor. The lockbox and other security mechanisms protect the stored coins and contents from attackers, sufficiently to allow profitable deployment of vending machines in a wide variety of areas. (source)

On peut aussi parler “d’applications décentralisées” (ou “dapps”) parce que ces contrats sont enregistrés sur la blockchain. Quelle blockchain ? Excellente question ! Ethereum a été spécifiquement conçu pour héberger ce type d’applis mais on peut proposer exactement la même chose sur Bitcoin, d’ailleurs Counterparty vient de faire une annonce dans ce sens. Vous pouvez aussi déployer vos contrats sur d’autres blockchains mais dans ce cas, il faut impérativement se renseigner en détail sur leurs fonctionnements respectifs. On compte un grand nombre de projets en cours de développement (State of the dapps) mais les vraies applis, celles qui améliorent réellement la vie des gens, se font attendre.

Stéphane Bortzmeyer présente brillamment les subtilités techniques d’Ethereum

Les DAO sont des applis décentralisées. Elles se présentent sous la forme d’une série de contrats (parfois un seul) qui définissent les règles de ces communautés. Imaginez une somme d’argent gelée que seul un vote des participants (au lieu de la météo…) peut débloquer : on a à la fois une plateforme de crowdfunding et un système de vote. Cette double-fonctionnalité peut intéresser aussi bien les associations que les entreprises car cela permet d’impliquer des utilisateurs qui n’étaient pas à leur portée auparavant, notamment parce qu’ils ont la possibilité de voter le financement de tel ou tel projet interne. En pratique, on soumet une proposition à la DAO (“proposal”), si celle-ci mobilise suffisamment de votants, une transaction est déclenchée : la somme demandée est transférée vers l’adresse (c’est-à-dire sur son compte Ethereum) de l’auteur-e de cette proposition. Les échanges lors des discussions peuvent être houleuses et passionnées (débats ouverts en réel ou en ligne), mais il n’est pas possible de modifier ou supprimer les contrats.

Concrètement comment se déroule le vote ? Il y a un logiciel (libre) à installer : Mist. Il faut indiquer les références de la proposition que vous souhaitez voter et valider. Techniquement, il s’agit d’une transaction entre votre compte et la DAO. Vous exécutez une fonction du contrat qui modifie l’état d’au moins deux variables : (1) vous avez voté et (2) vous avez voté “oui” ! Il existe également un wallet (un “portefeuille”) en ligne (MyEtherWallet) qui permet de voter sans rien installer du tout. Il y a fort à parier qu’on voit toutes sortes de wallets Ethereum se multiplier comme les gremlins dans les mois qui viennent. Pour info, il y a un petit frais de transaction : j’ai payé l’équivalent de 2 centimes d’euros pour voter une proposition sur TheDAO.

Comment voter des propositions sur TheDAO en utilisant Mist

Côté légal, ça dépend de chaque législation locale. Une des bonnes pratiques consiste à prévoir les éventuelles taxes qui s’appliquent dans l’ancien système de façon à anticiper les questions que poserait l’administration. Hors de question d’attendre que nos amis législateurs aient fini de débattre pour créer et tester les choses, surtout quand les montants en jeu sont faibles. Slock.it s’apprête également à déployer une autre série de contrats (DAO-link) pour faire le lien entre entre les deux mondes. Les avocats sont basés en Suisse où la législation semblent plus propices qu’ailleurs. Pour résumer, chaque activité (crowdfunding, notarisation, jeux d’argent, etc) a ses propres règles qu’il convient de respecter. En France, certains s’inquiètent à juste titre des risques d’évasion fiscale. Ils sont évidents mais les solutions sont nombreuses et variées.

Comment calibrer le vote ?

Vous l’avez compris : le code du contrat porte toute la logique de votre DAO qu’elle soit orientée business ou qu’elle soit à but non-lucratif. On dispose d’une très grande marge de manoeuvre car on peut décider de la moindre subtilité du système de vote.

Extrait du contrat principal de TheDAO

Revenons un instant sur TheDAO : plus vous possédez de tokens (titres numériques correspondant à un droit de vote), plus vous avez le droit de voter. On peut presque parler de suffrage “censitaire”, mais pour un projet orienté business cela se justifie tout-à-fait. C’est déjà beaucoup mieux que le modèle pyramidalo-centralisé des entreprises de l’ancien système. Dans d’autres contextes, le principe 1 personne = 1 voix sera plus pertinent.

Donc pour configurer votre propre DAO, le but du jeu consiste à mettre en place un système de vote suffisamment facile d’utilisation afin que le taux minimal de participation (“quorum”) soit atteint : un trop grand nombre d’actions à effectuer (inscription, installation de logiciels dédiés, etc) décourage les gens à voter, ce qui peut bloquer le vote et ainsi empêcher la réalisation d’un projet décrit dans une proposition. À ce propos, TheDAO pourrait bien implémenter la démocratie liquide qui permettrait de booster la participation.

En bon alchimiste de la gouvernance, il faut doser chaque étape de la validation d’une proposition, les unes dépendant des autres. Voici les leviers d’actions les plus évidents dont on dispose :

  • Ajout de votants. Qui vote ? Qui a le pouvoir d’ajouter des votants ? A-t-on besoin de connaître leur identité réelle ?
  • Filtre des propositions. Qui a le droit de soumettre une proposition ? Sont-elles directement votées ou faut-il les filtrer ? Si oui, de quelle manière ? Sur quels critères ?
  • Vote de la communauté. Quel est le timing du vote ? Est-ce un vote à la majorité ? Quel est le quorum ? Que se passe-t-il si le quorum n’est pas atteint ? Les règles du scrutin (par exemple le pourcentage de votants pour atteindre le quorum) peut varier en fonction d’événements déterminés.
  • Période de “grâce” post-vote. Quelle serait la durée de cette période ? Quelles actions sont permises pendant cette période ?
  • Définition de rôles. Des participants disposent-ils d’un droit de véto ? Si oui, à quelles conditions peuvent-ils l’utiliser ? Comment ces participants obtiennent-ils ce droit ?
  • Responsabilités. Une fois la proposition votée, le destinataire a-t-il des comptes à rendre au collectif ? Sous quelle forme ?

Cette liste n’est pas exhaustive. On peut atteindre des degrés de subtilités parfois difficilement imaginables. Les débats sont intenses et les suggestions nombreuses. À nous de redoubler d’inventivité pour trouver le bon équilibre pour chaque projet.

Certains vont jusqu’à proposer des ensembles de contrats qui fixent les règles d’un régime politique complet : constitution, ministères, ambassades, etc. Cela peut paraître utopique mais il est évident que seule une minorité de citoyens s’estime satisfaite du statu quo.