Vote et piquetage depuis la glacière


Coinbase

Par Adam Everspaugh, Ph.D.

Adam Everspaugh, ingénieur en sécurité chez Coinbase, explique en détail ce qui est nécessaire pour démarrer la phase d’utilitaire de crypto-monnaie sans dégrader la sécurité. Il analyse en particulier la manière dont l'équipe de sécurité de Coinbase a conçu un moyen pour les clients qui stockent leurs actifs avec Coinbase Custody de participer au contrôle Maker (MKR) Governance et Tezos (XTZ) à partir de la sécurité du stockage en froid.

Comment les clients sont-ils autorisés à participer aux écosystèmes de crypto-monnaie tout en protégeant les fonds?

Coinbase exploite un système de stockage à froid de classe mondiale pour stocker les clés privées. Ceci est combiné à une cérémonie de génération de clé hors ligne élaborée. Ensemble, ces éléments nous permettent de protéger plus d’un milliard de dollars d’actifs numériques répartis sur plus de 30 types d’actifs différents.

Mais investir, spéculer et se cacher ne suffit pas: nos clients sont participants actifs Pas seulement les investisseurs. Ils investissent parce qu'ils croient en des propriétés intéressantes et inexploitées de l'argent programmable. Ils veulent utiliser Vos ressources numériques: votez, participez aux paris, prêtez, empruntez et plus de verbes.

Pour aider nos clients, les équipes de sécurité et d’ingénierie de Coinbase étaient responsables de la réalisation de certaines de ces actions sans mettre les fonds en péril. Le défi ici est que la participation active exige normalement touches de raccourci (clés privées stockées en mémoire et utilisées plusieurs fois); mais la protection la plus forte et préférable des fonds utilise touches froides (clés privées stockées hors ligne et utilisées une seule fois).

Cette publication analyse les défis et les solutions techniques au travers de deux études de cas: le vote de gouvernance Maker (MKR) et l'implantation Tezos (XTZ). Les solutions présentent un modèle instructif pour les développeurs qui gèrent des fonds et pour les développeurs de protocoles. Ce modèle de conception peut encourager les participants du réseau à participer activement aux protocoles d'un réseau tout en protégeant les fonds avec des clés privées hors connexion, si nécessaire.

Le stockage frigorifique Coinbase protège les clés privées grâce à une stratégie de défense détaillée comprenant le stockage hors ligne, les documents imprimés, la cryptographie à seuil et le cryptage. Les étapes nécessaires au réassemblage des clés exigent que les personnes désignées du monde entier collaborent et accèdent aux informations papier stockées dans des coffres-forts sécurisés; interagir avec les HSM; puis réassemblez et déchiffrez les clés privées dans une enclave sécurisée. Une fois récupérée, une clé de stockage frigorifique privée est valide suffisamment longtemps pour signer et transmettre une transaction. Après la récupération, une clé de stockage à froid est marquée comme "gravée". Dans notre conception, une fois qu'une clé privée froide est récupérée, tous les fonds sont transférés hors de l'adresse, de sorte que la clé privée ne soit jamais réutilisée. Dans le cas d'un retrait partiel, les fonds restants sont envoyés à une nouvelle adresse de stockage frigorifique.

Pour permettre à nos clients de participer au vote gouvernemental régulier (généralement hebdomadaire) avec le jeton MKR, nous avons conçu un système de vote de concert avec MakerDAO. MKR est un jeton ERC20 utilisé pour le vote du gouvernement. Pour voter, les détenteurs de jetons déposent MKR dans un contrat de vote intelligent désigné sur le réseau Ethereum. Les détenteurs de jetons sont crédités pour leurs dépôts et votent dans le contrat de vote. Lorsque les jetons MKR sont supprimés, les votes exprimés sont également retirés.

Vue d'ensemble de la conception du système de vote Coinbase Maker.
1. Jetons MKR envoyés au contrat de représentation.
2. Les jetons MKR déposés ("bloqués") dans le contrat de vote Maker.
3. Code d’administration utilisé pour exprimer des votes via le contrat de représentation.
4. Les fonds MKR sont retournés à l'adresse de stockage réfrigéré précédemment désignée.

Nous avons conçu, en collaboration avec MakerDAO, deux contrats intelligents et des systèmes internes pour permettre à MKR de voter pour les clients de Coinbase Custody. Lorsqu'un client Custody active le vote des fonds MKR, les systèmes internes créent un nouveau contrat VoteProxy intelligent sur le réseau Ethereum. Ce contrat VoteProxy est associé à plusieurs adresses: une adresse d’administration (appuyée par une touche de raccourci) et une adresse froide (correspondant à une nouvelle clé privée non utilisée). Les fonds des clients sont transférés de leur adresse de stockage frigorifique (ce qui provoque la gravure de cette clé) et sont déposés dans le contrat VoteProxy. À l'aide de la clé d'administration (stockée en mémoire dans une enclave sécurisée), les transactions sont signées pour bloquer les fonds MKR dans le contrat de vote. Ensuite, les clients désignent les votes à voter et ces transactions sont signées et transmises à l'aide de la clé d'administration.

Au cas où la clé d'administration serait compromise, un attaquant pourrait libérer des votes ou les modifier. Cependant, le contrat intelligent, de par sa conception, limite la clé de gestion du transfert de fonds à une adresse autre que l'adresse de stockage frigorifique désignée.

Éventuellement, en cas de perte ou de perte de la clé d’administration, elle peut être utilisée pour renvoyer tous les fonds à l’adresse de stockage froid en une seule transaction. Dans ce cas, le contrat VoteProxy et la clé d’administration sont inutilisables.

Dans le cadre de notre processus de sécurité pour créer le vote MKR, nous plaçons notre conception, le code source du contrat intelligent et le code source MakerDAO au moyen d'un audit par un expert. Grâce à cette diligence: les auditeurs ont identifié des vulnérabilités critiques dans le contrat de vote intelligent de Maker; MakerDao a rapidement organisé et mis en œuvre un nouveau contrat de vote sans impact sur les fonds des utilisateurs; et Coinbase met en œuvre le vote MKR en toute confiance, sachant que les fonds des clients sont en sécurité.

Le modèle de conception critique ici est une séparation des préoccupations entre plusieurs clés privées. Les actions (blocage, libération, vote dans le cas de MKR) sont exécutées avec une clé d’administration pouvant être conservée en ligne (active). Mais la clé d'administration je ne peux pas transférer des fonds vers n’importe quel lieu, sauf vers l’adresse de stockage réfrigéré précédemment désignée. Les fonds restent protégés au même niveau de sécurité que notre clé froide. Et l'engagement ou la perte de la touche d'accès rapide ne met pas les fonds en péril. Un contrôle total des fonds est possible dans cette éventualité car la clé privée froide peut être restaurée et utilisée pour signer des transactions. (Coinbase dispose d’une solide récupération après sinistre pour les clés de stockage frigorifique).

Le même schéma se produit lors de la validation du bloc de test de participation au protocole Tezos. En fait, nous avons modelé le vote MKR sur notre expérience de la construction de paris Tezos. Le protocole Tezos prend en charge cette séparation des problèmes de manière native. Pour soutenir l'implantation, les systèmes internes de Coinbase établissent des contrats intelligents dans le réseau Tezos. Le contrat intelligent (adresse KT) est créé à l'aide d'une clé d'administration (raccourci) et est associé à une adresse de gestion (stockage froid) qui délègue les droits d'implantation au nœud d'implantation Coinbase. Cette délégation est enregistrée dans la chaîne. Les fonds sont déposés dans le contrat intelligent (KT) et ne peuvent être transférés qu’à l’aide de la clé de gestion de l’entreposage frigorifique privé.

Une fois les fonds délégués au noeud d'implantation, les délégués (les clients Coinbase dans ce cas) reçoivent des récompenses pour chaque bloc validé et publié par le noeud d'implantation.

Grâce à l'excellente disponibilité de nos ingénieurs, notre nœud d'implantation Tezos a reconsidéré Plus de 100% des possibilités offertes par la loterie pour certains cycles. Des opportunités supplémentaires se présentent lorsqu'un noeud d'implantation Coinbase se trouve en deuxième place et que le noeud désigné ne peut pas terminer ses tâches dans les délais impartis.

Les actifs numériques sont censés être utilisé, mais ils doivent encore être sûrs. Dans de nombreuses situations, le stockage hors ligne sans réutilisation de clé est le moyen privilégié de gérer des fonds importants. Les concepteurs de protocole doivent en tenir compte et permettre l'utilisation de différentes clés pour séparer les problèmes: vote, mise en place, transfert de fonds, délégation et autres actions. Différentes clés permettent aux créateurs de système de gérer les risques individuellement pour chaque activité. Selon le montant des fonds, les considérations d’assurance, les exigences de performance et l’environnement d’exploitation, différentes mesures de sécurité peuvent être nécessaires.

L'autre recommandation essentielle est que le code source soit audité par des auditeurs externes compétents. Idéalement, ces audits ont lieu avant le déploiement en production. Les tests complets sont excellents. Des tests approfondis et une nouvelle paire d'yeux sont les meilleurs. Les audits de sécurité externes sont l’un des critères pris en compte par Coinbase lors de l’évaluation de la sécurité d’un actif numérique.

Ce site Web peut contenir des liens vers des sites Web tiers ou d’autres contenus à des fins d’information uniquement («Sites tiers»). Les sites tiers ne sont pas sous le contrôle de Coinbase, Inc. et de ses sociétés affiliées ("Coinbase"). Coinbase n'est pas responsable du contenu des sites tiers, y compris, sans toutefois s'y limiter, les liens contenus dans des tiers. Site tiers, ou toute modification ou mise à jour d'un site tiers. Coinbase n'est pas responsable de la transmission Internet ou de toute autre forme de transmission reçue d'un site tiers. Coinbase fournit ces liens uniquement pour votre commodité, et l’inclusion de tout lien n’implique aucune approbation, approbation ou recommandation par Coinbase du site ou de l’association de ses opérateurs.

Sauf indication contraire, toutes les images fournies dans ce document proviennent de Coinbase.