# dBerty - décentraliser pour protéger *Ce document est une note de cadrage préliminaire concernant la sécurisation du protocole Berty à l'aide d'une DAO et d'autres technologies blockchain. D'autres réflexions ont porté en parallèle sur l'utilisation d'une DAO et de tokens pour appuyer la diffusion du protocole ; elles ne sont pas traitées ici. Version du 10 Dec 2019 par PhilH* Berty crée un protocole et des applications destinées à mettre en oeuvre et sécuriser la communication directe entre individus, y compris dans des contextes politiquement hostiles. La mise à disposition de tels outils contrevient aux intérêts et aux politiques d'entités souhaitant contrôler les échanges entre individus, pour toutes sortes de motifs (lutte contre la criminalité et le terrorisme, contrôle ou éradication de l'opposition politique, politique de surveillance massive, marchandisation des échanges, etc). En conséquence, il est à prévoir que certaines de ces entités se livrent à des tentatives de destruction, de censure ou de prise de contrôle des outils proposés par Berty (exemples récents : à la suite de la demande du gouvernement espagnol, [Github supprime](https://euobserver.com/news/146540) l'application Democratic Tsunami de ses serveurs ; [Uniswap bloque](https://thedefiant.substack.com/p/uniswap-website-geo-ban-cant-stop-370) l'accès à son application à la navigation depuis une dizaine de pays, probablement à la suite de pressions du gouvernement américain). Le protocole et les applications sont des moyens techniques relativement robustes ; une protection efficace doit s'étendre non seulement à ces objets techniques, mais aux moyens de les produire et de les diffuser, ainsi qu'aux personnes qui s'en chargent. Afin de constituer cette protection, nous proposons de nous appuyer sur la décentralisation et la transparence, plutôt que sur la clandestinité et le secret. La décentralisation s'entend ici d'une part au niveau de l'infrastructure technique, d'autre part au niveau des processus de décision et d'exécution en matière de maintenance du protocole et des applications. Une infrastructure décentralisée permet d'assurer la disponibilité des données (par exemple, le code source du protocole) et des traitements (par exemple, le build d'une application mobile), en rendant très difficile le blocage des points du réseau où ces données et traitements sont hébergées — nous utilisons le terme de *décentralisation technique* dans la suite de cette note pour désigner les technologies concernées. La décentralisation des processus permet de rendre inutiles des attaques ou des pressions sur un petit groupe de personnes clés, en les faisant reposer sur un groupe large, ouvert, et autorisant l'anonymat — nous utilisons le terme de *décentralisation politique* dans la suite de cette note pour désigner les processus concernés. ## Décentralisation politique ### Opérations du cycle de release à sécuriser - code submission (release candidate, not PR) - pre-validation period (code audit) - deliberation period - voting process - release - independent verification ### Acteurs - core team - council - review teams - users - root key holders (in case of gradual decentralization) ### DAO Processes - RC voted by core team - review/audit teams appointed by council - actual release voted by council - automated build and deployment triggered by votes - core team/council membership controlled by web of trust + on-chain voting ## Décentralisation technique ### Composants - IPFS : décentralisation de l'hébergement des données : code source, builds, documentation, pages du site Web - Pando : décentralisation des commits (git sur IPFS) - ENS : décentralisation des noms de domaine : berty.eth (réservé) - Blockchain publique (Ethereum, Bitcoin...) : authentification décentralisée : signature des releases, des audits... - Blockchain publique (Ethereum, Tezos...) : exécution des smart contracts : DAOs pour les votes, admission de membres, etc ; pilotage de traitements off-chain comme les builds (iExec, Golem) ## Prochaines étapes - échange sur les moyens et objectifs de sécurisation proposés dans cette note - décision éventuelle de poursuivre ce travail en vue de l'écriture d'un light paper portant sur les deux volets, décentralisation technique et politique