Cérémonie de configuration de confiance en chaîne PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Cérémonie de configuration de confiance en chaîne

La cérémonie d'installation de confiance est l'une des douleurs - et des excitations - des communautés cryptographiques. L'objectif d'une cérémonie est de générer des clés cryptographiques fiables pour sécuriser les portefeuilles cryptographiques, les protocoles de blockchain ou les systèmes de preuve à connaissance nulle. Ces procédures (parfois flamboyantes) sont souvent à la base de la confiance pour la sécurité d'un projet donné, et il est donc extrêmement important de les maîtriser.

Les projets de blockchain organisent des cérémonies de nombreuses manières créatives – impliquant des chalumeaux, de la poussière radioactive et des avions – mais tous partagent quelque chose en commun : ils impliquent tous un coordinateur centralisé. Avec ce travail, nous montrons comment décentraliser le processus en remplaçant le coordinateur centralisé par un contrat intelligent. De plus, nous mettons en open source une bibliothèque qui permet à n'importe qui d'organiser une telle cérémonie - connue des praticiens de la cryptographie sous le nom de Kate-Zaverucha-Goldberg (KZG) ou cérémonie des "pouvoirs du tau" - sur la chaîne Ethereum. Tout le monde peut participer simplement en payant les frais de transaction !

Notre approche décentralisée a des limites, mais elle est toujours utile. En raison des contraintes actuelles de données en chaîne, la taille des paramètres cryptographiques doit être réduite, c'est-à-dire pas plus de 64 Ko. Mais le nombre de participants n'a pas de plafond et les gens peuvent continuer à soumettre des contributions à perpétuité. Les applications pour ces paramètres courts incluent de petits SNARK à connaissance nulle, échantillonnage de la disponibilité des donnéeset arbres Verkle.

Histoire et mécanique de la cérémonie d'installation de confiance

Dans une cérémonie de configuration de confiance typique, un groupe de participants générera en collaboration un ensemble de paramètres cryptographiques. Chaque partie participante utilise des informations secrètes, générées localement, pour générer des données qui aident à créer ces paramètres. Des configurations appropriées garantissent que les secrets ne fuient pas, que les secrets ne sont utilisés que comme indiqué par le protocole et que ces secrets sont complètement détruits à la fin de la cérémonie. Tant qu'au moins une partie de la cérémonie se comporte honnêtement, n'est pas compromise et détruit son secret local, l'ensemble de la configuration peut être considérée comme sécurisée. (Bien sûr, cela suppose que les calculs sont corrects et que le code n'a pas de bogues.)

Certaines des cérémonies les plus importantes ont été géré par Zcash, un projet blockchain axé sur la confidentialité. Les participants à ces cérémonies ont généré des paramètres publics conçus pour permettre aux utilisateurs de Zcash de construire et de vérifier des transactions cryptographiques privées. Six participants ont organisé la première cérémonie Zcash, Sprout, en 2016. Deux ans plus tard, le chercheur en cryptographie Ariel Gabizon, aujourd'hui directeur scientifique chez Aztec, a trouvé un bug dévastateur dans la conception de la cérémonie héritée d'un document de recherche fondamentale. La vulnérabilité aurait pu permettre aux attaquants de créer un nombre illimité de pièces Zcash sans être détectés. L'équipe Zcash a gardé la vulnérabilité secrète pendant sept mois jusqu'à ce qu'une mise à niveau du système, Sapling, dont la cérémonie a impliqué 90 participants, aborde le problème. Alors qu'une attaque basée sur la faille de sécurité n'aurait pas affecté la confidentialité des transactions des utilisateurs, la perspective d'une contrefaçon infinie a sapé les prémisses de sécurité de Zcash. (Il est théoriquement impossible de savoir si une attaque a eu lieu.)

Un autre exemple notable d'une configuration de confiance est le cérémonie perpétuelle des « pouvoirs du tau » conçu principalement pour Sémaphore, une technologie de préservation de la vie privée pour la signalisation anonyme sur Ethereum. La configuration a utilisé une courbe elliptique BN254 et a eu 71 participants jusqu'à présent. D'autres projets importants ont ensuite utilisé cette configuration pour organiser leurs propres cérémonies, notamment Tornade. (récemment sanctionné par le gouvernement américain), Hermez réseau, et Loopring. Aztec a organisé une cérémonie similaire sur une courbe elliptique BLS12_381 avec 176 participants pour zkSync, une solution de mise à l'échelle Ethereum "couche deux" qui utilise zéro cumul de connaissances. Filecoin, un protocole de stockage de données décentralisé, a organisé une cérémonie avec 19 et 33 participants, respectivement en première et deuxième phases, forgeant le repo original. Zèle, une blockchain de couche 1, a également organisé une cérémonie pour son client léger Plumo.

Les cérémonies perpétuelles n'ont pas de limite quant au nombre de participants. En d'autres termes, au lieu de faire confiance à d'autres personnes pour organiser une cérémonie d'installation de confiance, TOUT LE MONDE peut participer au degré de sécurité qui lui convient. Un seul intervenant de confiance assure la sécurité de l'ensemble des paramètres résultants ; la chaîne est aussi solide que son maillon le plus solide. Les cérémonies perpétuelles peuvent se dérouler, comme leur nom l'indique, à perpétuité, comme c'était le cas avec la cérémonie originale des pouvoirs de tau. Cela dit, les projets décident souvent d'une heure de début et de fin concrète pour leurs cérémonies, de cette façon ils peuvent intégrer les paramètres résultants dans leurs protocoles et n'ont pas à se soucier de les mettre à jour en permanence.

Ethereum prévoit d'organiser une petite cérémonie de configuration de confiance pour les prochains ProtoDankSharding ainsi que DankSharding mises à niveau. Ces deux mises à niveau augmenteront la quantité de données que la chaîne Ethereum fournit aux clients pour le stockage. Ces données auront une date d'expiration suggérée 30 à 60 jours. La cérémonie est en cours de développement actif, et est prévu durer six semaines au début de l'année prochaine. (Voir kzg-ceremony-specs pour plus de détails.) Cela s'annonce comme la plus grande cérémonie de configuration de confiance pour les blockchains à ce jour.

La paranoïa est une vertu lorsqu'il s'agit de cérémonies d'installation de confiance. Si le matériel ou le logiciel d'une machine est compromis, cela peut compromettre la sécurité des secrets qu'il génère. Les attaques sournoises par canal latéral qui divulguent des secrets peuvent également être difficiles à exclure. Un téléphone peut espionner les opérations d'un ordinateur en enregistrer des ondes sonores des vibrations du processeur, par exemple. Dans la pratique, comme il est extrêmement difficile d'éliminer toutes les attaques par canal latéral possibles - y compris celles qui restent à découvrir ou à divulguer - il existe même des propositions pour faire voler des machines dans l'espace pour mener cérémonies là-bas.

Pour l'instant, le manuel pour les participants à une cérémonie sérieuse se déroule généralement comme suit. Achetez une nouvelle machine (matériel non contaminé). Videz-le en retirant toutes les cartes réseau (pour éviter que les secrets locaux ne sortent de la machine). Faites fonctionner la machine dans une cage de Faraday à un endroit éloigné non divulgué (pour déjouer les fouineurs potentiels). Amorcez le générateur de secrets pseudo-aléatoires avec beaucoup d'entropie et de données répliquées telles que des frappes aléatoires ou des fichiers vidéo (pour rendre les secrets difficiles à déchiffrer). Et enfin, détruisez la machine - ainsi que toutes les traces des secrets - en réduisant tout en cendres. 😀

Coordonner les cérémonies d'installation de confiance

Voici une sélection amusante de citations de certains participants précédents à la cérémonie d'installation de confiance :

  • "…le chalumeau a été utilisé pour chauffer méthodiquement l'électronique complètement pièce par pièce jusqu'à ce que tout soit noirci…”- Peter Todd sur la destruction physique des secrets locaux.
  • "J'ai ici un morceau de tissu qui contient de la poussière de graphite [provenant] du cœur du réacteur [de Tchernobyl]... Vous comptez toutes les quatre impulsions [d'un compteur Geiger connecté à un microcontrôleur] et vous comparez l'intervalle de temps entre l'impulsion une et deux et l'intervalle de temps entre les impulsions trois et quatre et s'il est supérieur, vous obtenez un zéro, s'il est inférieur, vous obtenez un un. "... nous sommes sur le point de monter dans cet avion et de générer nos nombres aléatoires..." - Ryan Pierce et Andrew Miller sur la génération secrète.

La cérémonie des pouvoirs de Zcash du tau autour de 41 impliquait un avion. Capture d'écran : vidéo YouTube

  • "Le vendeur a dit qu'ils avaient 13 [ordinateurs]. J'ai demandé si nous pouvions en choisir un parmi les 13. Il a demandé s'il y avait quelque chose que je cherchais en particulier (confus car ils sont tous pareils) et j'ai dit que je voulais juste en choisir un au hasard. Il a dit qu'il ne pouvait pas nous laisser entrer dans l'arrière-entrepôt. J'ai demandé s'il en apporterait deux pour que nous puissions en choisir un. Il en a amené deux sur une charrette à bras. Jerry a sélectionné l'un des deux ordinateurs et nous l'avons apporté au registre pour vérifier.”- Pierre Van Valkenburgh sur l'achat d'une nouvelle machine.
  • "Les premières heures de la cérémonie se sont déroulées dans une cage de Faraday de fortune faite de papier d'aluminium et de film alimentaire. J'ai sorti l'ordinateur portable de la cage de Faraday car il avait une mauvaise ventilation et devenait chaud au toucher”- Koh Wei Jie sur la protection du canal latéral.
  • ".. effectué une partie de la cérémonie dans les montagnes sans voisins.”- Michel Lapinski sur la protection du canal latéral.
  • »J'ai choisi d'utiliser la vidéo de l'environnement pour générer suffisamment d'entropie”- Mouhd Amrallah sur la génération de valeurs aléatoires.
Cérémonie de configuration de confiance en chaîne PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Za Wilcox, frère du cofondateur de Zcash Zooko Wilcox, détruisant un ordinateur utilisé pour générer des nombres aléatoires pour une cérémonie de confiance en 2016. Photo : Morgen Peck

Toutes ces cérémonies reposaient sur un coordinateur centralisé. Le coordinateur est un serveur individuel ou privé ou une autre entité chargée d'enregistrer et de commander les participants, d'agir comme un relais en transmettant les informations du participant précédent au suivant et de tenir un journal centralisé de toutes les communications à des fins d'auditabilité. Le coordinateur est généralement également chargé de mettre le journal à la disposition du public à perpétuité ; Bien sûr jeC'est toujours possible avec un système centralisé que les données soient perdues ou mal gérées. (Perpetual-powers-of-tau par exemple est stocké sur Microsoft Azure et Github.)

Il nous a semblé ironique que les projets de cryptographie doivent s'appuyer sur des cérémonies de configuration de confiance centralisées alors que la décentralisation est un principe fondamental de la philosophie de la cryptographie. Nous avons donc décidé de démontrer la faisabilité d'organiser une petite cérémonie pour les pouvoirs perpétuels du tau directement sur la blockchain Ethereum ! La configuration est entièrement décentralisée, sans autorisation, résistante à la censure et sécurisée tant que l'un des participants est honnête [voir avertissements]. Participer à la cérémonie ne coûte que 292,600 17,760,000 à 7 400 8 gaz (environ 1024 $ à XNUMX $ aux prix actuels), selon la taille des paramètres résultants souhaités (dans ce cas entre XNUMX et XNUMX puissances de tau). (Voir le tableau ci-dessous pour les coûts concrets - nous détaillons ces calculs plus loin dans le post.)

Cérémonie de configuration de confiance en chaîne PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Pour l'instant, nous vous conseillons de ne pas utiliser le code à des fins autres qu'expérimentales ! Nous apprécierions grandement si quelqu'un qui trouve des problèmes avec le code nous les signale. Nous aimerions recueillir des commentaires et des audits sur notre approche.

Comprendre le KZG ou la cérémonie des "pouvoirs du tau"

Explorons l'une des configurations de confiance les plus populaires, connue sous le nom de cérémonie KZG, ou «pouvoirs de tau». Crédit au cofondateur d'Ethereum Vitalik Buterin, dont article de blog sur les configurations de confiance éclairé nos idées dans cette section. La configuration génère les encodages des pouvoirs de tau, ainsi nommés parce que "tau" se trouve être la variable utilisée pour exprimer les secrets générés par les participants :

pp = [[𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2, [𝜏2]2, …, [𝜏k]2]

Pour certaines applications (par exemple Groth16, un schéma de preuve zkSNARK populaire conçu par Jens Groth en 2016), cette première phase de la configuration est suivie d'une deuxième phase, une cérémonie de calcul multipartite (MPC), qui génère des paramètres pour un circuit SNARK spécifique . Cependant, notre travail se concentre uniquement sur la première phase. Cette première phase - la génération des pouvoirs de tau - est déjà utile comme élément de base pour les SNARK universels (par exemple PLONK et SONIC), ainsi que pour d'autres applications de cryptographie, telles que Engagements KZG, arbres Verkle ainsi que échantillonnage de la disponibilité des données (DAS). En règle générale, les paramètres SNARK universels doivent être très volumineux afin de pouvoir prendre en charge des circuits volumineux et utiles. Les circuits qui contiennent plus de portes sont généralement plus utiles car ils peuvent capturer de gros calculs ; le nombre de puissances de tau correspond approximativement au nombre de portes dans le circuit. Ainsi, une configuration typique sera de taille |pp| = ~40 Go et capable de prendre en charge des circuits avec ~228 portes. Compte tenu des contraintes actuelles d'Ethereum, il serait impossible de mettre des paramètres aussi importants sur la chaîne, mais une cérémonie de configuration de confiance plus petite utile pour les petits circuits SNARK, les arbres Verkle ou le DAS peut être exécutée en chaîne.

La Fondation Ethereum prévoit d'exécuter plusieurs petits cérémonies pour les puissances de tau de taille 200 Ko à 1.5 Mo. Bien que de plus grandes cérémonies puissent sembler meilleures, étant donné que des paramètres plus importants peuvent créer des circuits SNARK plus utiles, plus gros n'est en fait pas toujours meilleur. Certaines applications, comme le DAS, en ont spécifiquement besoin d'un plus petit ! [La raison est très technique, mais si vous êtes curieux, c'est qu'un montage à n puissances (en G1) n'autorise les engagements KZG qu'aux polynômes de degré ≤ n, ce qui est crucial pour s'assurer que le polynôme sous l'engagement KZG peut être reconstruit à partir de n évaluations. Cette propriété permet l'échantillonnage de la disponibilité des données : chaque fois que t évaluations aléatoires du polynôme sont obtenues (échantillonnées) avec succès, cela donne l'assurance que le polynôme peut être entièrement reconstruit avec une probabilité t/n. Si vous voulez en savoir plus sur DAS, consultez cet article de Buterin sur le forum Ethereum Research.]

Nous avons conçu un contrat intelligent qui peut être déployé sur la blockchain Ethereum pour organiser une cérémonie d'installation de confiance. Le contrat stocke les paramètres publics – les pouvoirs de tau – entièrement en chaîne et recueille la participation par le biais des transactions des utilisateurs.

Un nouveau participant lit d'abord ces paramètres :

pp0 = ([𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2, [𝜏2]2, …, [𝜏k]2),

puis échantillonne un secret aléatoire 𝜏' et calcule les paramètres mis à jour :

pp1 = ([𝜏𝜏']1, [(𝜏𝜏')2]1, [(𝜏𝜏')3]1, …, [(𝜏𝜏')n]1; [𝜏𝜏']2, [(𝜏𝜏')2]2, …, [(𝜏𝜏')k]2),

et les publie en chaîne avec une preuve qui démontre trois choses :

  1. Connaissance du log discret: le participant sait 𝜏'. (Une preuve que la dernière contribution à la cérémonie d'installation de confiance s'appuie sur le travail de tous les participants précédents.)
  2. Bien formé du pp1: les éléments encodent en effet des pouvoirs incrémentaux. (Une validation de la bonne formation de la contribution d'un nouveau participant à la cérémonie.)
  3. La mise à jour ne s'efface pas: 𝜏' ≠ 0. (Une défense contre les attaquants essayant de saper le système en supprimant le travail passé de tous les participants.)

Le smart contract vérifie la preuve et si elle est correcte, il met à jour les paramètres publics qu'il stocke. Vous pouvez trouver plus de détails sur les calculs et le raisonnement sous-jacent dans le repo.

Calcul des frais de gaz

Le principal défi de l'exécution de la configuration en chaîne est de rendre la cérémonie de configuration de confiance aussi économe en gaz que possible. Idéalement, soumettre une contribution ne coûterait pas plus de ~ 50 $. (Les grands projets pourraient être en mesure de subventionner le gaz pour les contributeurs, auquel cas avoir des centaines de participants dépensant chacun 100 $ est plus facile à imaginer). Ci-dessous, nous donnons plus de détails sur les parties les plus chères de la configuration. Des coûts de gaz inférieurs réduiraient le coût des contributions et permettraient la construction de paramètres plus longs (plus de puissances tau et de plus gros circuits SNARK) !

Notre configuration fonctionne pour la courbe elliptique BN254 (également appelée BN256, BN128 et alt_bn128), qui prend en charge les contrats précompilés suivants sur Ethereum:

  • ECADD permet d'ajouter deux points de courbe elliptique, c'est-à-dire de calculer [𝛼+𝛽]1 de [𝛼]1 et [𝛽]1: coût du gaz 150
  • ECMULT permet de multiplier les points de la courbe elliptique par un scalaire, c'est-à-dire de calculer [a*𝛼]1 de a et [𝛼]1: coût du gaz 6,000
  • ECPAIR permet de vérifier un produit d'appariements de courbes elliptiques, c'est-à-dire de calculer e([𝛼1]1, [𝛽1]2)* … *e([𝛼1]1, [𝛽1]2) = 1 ce qui revient à vérifier que 𝛼1*𝛽1+ … + 𝛼k*𝛽k = 0 : coût du gaz 34,000 45,000 * k + XNUMX XNUMX

Ethereum pourrait-il activer BLS12_381 (comme proposé dans EIP-2537), notre contrat de configuration pourrait également être facilement adapté à cette autre courbe.

Estimons le coût du gaz pour mettre à jour la configuration à ([𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2):

  1. Coût du gaz pour vérifier la preuve. Chaque participant met à jour la configuration et soumet une preuve avec trois composants comme décrit ci-dessus. Les composantes 1 et 3 de la preuve – « connaissance du log discret » et « mise à jour non effaçable » – sont très peu coûteuses à vérifier. Le défi consiste à vérifier le composant 2, "la bonne formation du pp1”, sur chaîne. Il nécessite une grande multiplication multi-scalaire (MSM) et deux appariements :
    e(𝝆0 1 + 𝝆1[𝜏]1 + 𝝆2[𝜏2]1 + … + 𝝆n-1[𝜏n-2]1, [𝜏]2) = e([𝜏]1 + 𝝆1[𝜏2]1 + … + 𝝆n-1[𝜏n-1]1, [1]2),
    où 𝝆0,…,𝝆n-1 sont des scalaires échantillonnés pseudo-aléatoirement. En termes de contrats intelligents précompilés, il faudrait :
    (2n-4) x ECADD + (2n-4) x ECMULT + ECPAIRk = 2 = (2n-4) x 6,150 113,000 + XNUMX XNUMX gaz.
  2. Coût en gaz du stockage des données. Chaque participant stocke également la mise à jour sur la chaîne sous forme de données d'appel (68 gaz par octet) comptabilisant n*64*68 gaz. (Remarque pour ceux qui sont familiers avec la cryptographie à courbe elliptique : le stockage de points compressés ferait que la décompression dominerait le coût global selon nos mesures pour n = 256.)

Cela nous amène au tableau suivant estimant les coûts du gaz qui devrait éclairer les futures optimisations :

Cérémonie de configuration de confiance en chaîne PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Nous explorons des solutions pour réduire le coût de l'essence, alors restez à l'écoute !

Bibliothèque open source : evm-powers-of-tau

Nous avons ouvert notre référentiel de cérémonie des pouvoirs de tau basé sur EVM sur github.com/a16z/evm-powers-of-tau. Organiser une cérémonie avec notre stratégie est simple et transparent :

  1. Déployer le contrat de stockage et de vérification (contrats/KZG.sol)
  2. Un contributeur lit les paramètres de la cérémonie à partir des données d'appel de la transaction précédente
  3. Le contributeur génère un secret localement, calcule les paramètres mis à jour
  4. Le contributeur génère sa preuve : pi1, pi2
  5. Le contributeur soumet les paramètres mis à jour via KZG.potUpdate() au contrat intelligent déployé sur la blockchain publique
  6. Le contrat intelligent vérifiera la validité de la mise à jour, revenant en cas de soumission malformée
  7. Plusieurs contributeurs peuvent exécuter les étapes 2 à 5 à perpétuité, chacune augmentant la sécurité de la cérémonie
  8. Chaque fois qu'un développeur est sûr du nombre et de la qualité des soumissions, il peut interroger la blockchain pour les paramètres actuels et utiliser ces valeurs comme clés cryptographiques.

Notre dépôt utilise arkworks-rs pour calculer les étapes deux et trois (le calcul de la rouille se trouve dans src/pot_update.rs), mais les utilisateurs peuvent vouloir écrire les leurs. L'intégralité du flux de soumission de mise à jour de bout en bout se trouve dans le test d'intégration de tests/integration_test.rs.

Notez que nous avons choisi d'utiliser calldata pour stocker les paramètres de puissances de tau mis à jour sur la chaîne, car cela coûte plusieurs ordres de grandeur moins cher que le stockage. Une requête basée sur ethers-rs pour ces données peut être trouvée dans src/query.rs.

Enfin, des preuves et des équations détaillées peuvent être trouvées dans le rapport technique en rapport technique/main.pdf.

Travail futur

Avant que cette cérémonie de configuration de confiance puisse être utilisée en production, nous vous recommandons d'avoir d'abord un audit complet des preuves mathématiques et de l'implémentation de l'échantillon.

Tel qu'il est mis en œuvre, le coût de transaction de la mise à jour de la cérémonie augmente de manière linéaire avec la taille de la configuration. Pour la plupart des applications (SNARK, DAS), nous voudrions une configuration de n >= 256, coûtant actuellement 73 $ par mise à jour. 

Nous pourrions être en mesure d'obtenir une croissance des coûts de vérification sous-linéaire avec une preuve STARK du calcul de mise à jour valide et un engagement vectoriel sur les valeurs mises à jour. Cette construction supprimerait également la dépendance aux précompilations Ethereum L1 BN254, permettant l'utilisation de la courbe BLS12-381 plus populaire.

Toutes les stratégies de cérémonie ont des compromis. Nous pensons que cette construction est solide et possède de grandes propriétés vérifiables de résistance à la censure. Mais encore une fois, nous mettrons en garde contre l'utilisation de cette méthode jusqu'à ce que davantage de travail soit fait pour vérifier la solidité de notre approche.

Remerciements

  • Dan Boneh – pour ses commentaires utiles aux premières étapes de ce travail
  • Joe Bonneau - pour avoir clarifié l'exposition dans la première version du rapport technique
  • William Borgeaud - pour une discussion sur BLS au sein de TurboPlonk / Plonky2
  • Mary Maller - pour des réflexions sur la mécanique générale de l'approche

Éditeur : Robert Hackett @rhhackett

***

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 actuelle ou 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