On-chain trusted setup ceremony PlatoBlockchain Data Intelligence. Vertical Search. Ai.

On-chain betroet opsætningsceremoni

Den betroede opsætningsceremoni er en af ​​smerterne - og spændingerne - ved kryptofællesskaber. Målet med en ceremoni er at generere pålidelige kryptografiske nøgler til sikring af kryptotegnebøger, blockchain-protokoller eller nul-videnssikre systemer. Disse (til tider flamboyante) procedurer er ofte roden til tillid til et givet projekts sikkerhed, og de er derfor ekstremt vigtige at få rigtigt.

Blockchain-projekter afvikler ceremonier på adskillige kreative måder – der involverer blæselamper, radioaktivt støv og fly – men alle deler noget til fælles: de involverer alle en centraliseret koordinator. Med dette arbejde demonstrerer vi, hvordan man decentraliserer processen ved at erstatte den centraliserede koordinator med en smart kontrakt. Derudover åbner vi et bibliotek, der giver enhver mulighed for at afholde en sådan ceremoni – kendt af kryptopraktikere som en Kate-Zaverucha-Goldberg (KZG) eller "powers-of-tau" ceremoni - på Ethereum-kæden. Alle kan deltage ved blot at betale transaktionsgebyrerne!

Vores decentraliserede tilgang har begrænsninger, men den er stadig nyttig. På grund af nuværende databegrænsninger i kæden skal størrelsen af ​​de kryptografiske parametre holdes korte, dvs. ikke mere end 64 KB. Men antallet af deltagere har ingen loft, og folk kan blive ved med at indsende bidrag til evig tid. Anvendelser til disse korte parametre inkluderer små nul-viden SNARK'er, sampling af datatilgængelighedog Verkle træer.

Historie og mekanik af den pålidelige opsætningsceremoni

I en typisk betroet opsætningsceremoni vil en gruppe deltagere i fællesskab generere et sæt kryptografiske parametre. Hver deltagende part bruger hemmelige oplysninger, genereret lokalt, til at generere data, der hjælper med at skabe disse parametre. Korrekte opsætninger sikrer, at hemmeligheder ikke lækker, at hemmeligheder kun bruges som angivet af protokollen, og at disse hemmeligheder er fuldstændig ødelagt ved afslutningen af ​​ceremonien. Så længe mindst én part i ceremonien opfører sig ærligt, ikke er kompromitteret og ødelægger sin lokale hemmelighed, kan hele opsætningen betragtes som sikker. (Selvfølgelig forudsætter det, at matematikken er korrekt, og at koden ikke har nogen fejl.)

Nogle af de mest fremtrædende ceremonier var drevet af Zcash, et privatlivsorienteret blockchain-projekt. Deltagere i disse ceremonier genererede offentlige parametre designet til at give Zcash-brugere mulighed for at konstruere og verificere private kryptotransaktioner. Seks deltagere gennemførte den første Zcash-ceremoni, Sprout, i 2016. To år senere gennemførte kryptoforsker Ariel Gabizon, nu Chief Scientist ved Aztec, fundet en ødelæggende fejl i udformningen af ​​ceremonien, som blev arvet fra en grundlæggende forskningspapir. Sårbarheden kunne have gjort det muligt for angribere at skabe ubegrænsede Zcash-mønter uden at blive opdaget. Zcash-teamet holdt sårbarheden hemmelig i syv måneder, indtil en systemopgradering, Sapling, hvis ceremoni involverede 90 deltagere, adresserede problemet. Selvom et angreb baseret på sikkerhedshullet ikke ville have påvirket privatlivets fred for brugernes transaktioner, underminerede udsigten til uendelig forfalskning Zcashs sikkerhedsforudsætning. (Det er teoretisk umuligt at vide, om et angreb fandt sted.)

Et andet bemærkelsesværdigt eksempel på en pålidelig opsætning er evig "powers-of-tau" ceremoni designet primært til Semaphore, en privatlivsbevarende teknologi til anonym signalering på Ethereum. Opsætningen brugte en BN254 elliptisk kurve og har indtil videre haft 71 deltagere. Andre prominente projekter brugte senere denne opsætning til at afvikle deres egne ceremonier på toppen, bl.a Tornado. Kontant (for nylig sanktioneret af den amerikanske regering), Hermez netværk og Loopring. Aztec kørte en lignende ceremoni på en BLS12_381 elliptisk kurve med 176 deltagere til zkSync, en "lag to" Ethereum-skaleringsløsning, der bruger nul viden oprulning. Filecoin, en decentraliseret datalagringsprotokol, kørte en ceremoni med 19 og 33 deltagere, i henholdsvis første og anden fase, hvor de forgrenede den oprindelige repo. Celo, en lag-1 blockchain, afviklede også en ceremoni for deres lysklient Plumo.

Evige ceremonier har ingen begrænsning på antallet af deltagere. Med andre ord, i stedet for at stole på, at andre mennesker afvikler en betroet opsætningsceremoni, kan ENHVER deltage i den grad af sikkerhed, der opfylder deres tilfredshed. En enkelt troværdig deltager sikrer sikkerheden for alle de resulterende parametre; kæden er lige så stærk som dens stærkeste led. Evige ceremonier kan, som navnet antyder, foregå i evighed, som det var præmissen med den oprindelige powers-of-tau-ceremoni. Når det er sagt, beslutter projekter ofte et konkret start- og sluttidspunkt for deres ceremonier, på den måde kan de indlejre de resulterende parametre i deres protokoller og behøver ikke at bekymre sig om løbende at opdatere dem.

Ethereum planlægger at afholde en mindre betroet opsætningsceremoni i den kommende tid ProtoDankSharding , DankSharding opgraderinger. Disse to opgraderinger vil øge mængden af ​​data, som Ethereum-kæden leverer til klienter til opbevaring. Disse data vil have et udløb af foreslået 30-60 dage. Ceremonien er under aktiv udvikling, og er planlagt at køre i seks uger tidligt næste år. (Se kzg-ceremoni-specifikationer for flere detaljer.) Det tegner til at blive den hidtil største betroede opsætningsceremoni for blockchains.

Paranoia er en dyd, når det kommer til pålidelige opsætningsceremonier. Hvis maskinens hardware eller software er kompromitteret, kan det underminere sikkerheden for de hemmeligheder, den genererer. Luskede sidekanalangreb, som lækker hemmeligheder, kan også være svære at udelukke. En telefon kan spionere på en computers operationer ved optagelse af lydbølger af CPU-vibrationer, for eksempel. I praksis, da det er uhyre svært at eliminere alle mulige sidekanalangreb – inklusive dem, der stadig mangler at blive opdaget eller afsløret – er der endda forslag om at flyve maskiner til rummet for at udføre ceremonier der.

Indtil videre går spillebogen for seriøse ceremonideltagere typisk som følger. Køb en ny maskine (ublandet hardware). Luft-gab det ved at fjerne alle netværkskortene (for at forhindre lokale hemmeligheder i at forlade maskinen). Kør maskinen i et Faraday-bur på et fjerntliggende, ukendt sted (for at forhindre potentielle snoopere). Sæt den pseudo-tilfældige hemmelighedsgenerator med masser af entropi og hårdt replikerede data såsom tilfældige tastetryk eller videofiler (for at gøre hemmelighederne svære at knække). Og endelig ødelægge maskinen – sammen med eventuelle spor af hemmelighederne – ved at brænde alt til aske. 😀

Koordinering af pålidelige opsætningsceremonier

Her er et sjovt udvalg af citater fra nogle tidligere betroede deltagere i opsætningsceremonien:

  • "…blæsebrænderen blev brugt til metodisk at opvarme elektronikken helt stykke for stykke, indtil alt var sort...”- Peter Todd på fysisk at ødelægge de lokale hemmeligheder.
  • "Jeg har her et stykke stof, der har grafitstøv [fra] kernen af ​​[Tjernobyl]-reaktoren ... Du tæller hver fjerde puls [fra en Geiger-tæller koblet til en mikrocontroller], og du sammenligner tidsintervallet mellem puls en og to og tidsintervallet mellem puls tre og fire, og hvis det er større får du et nul, hvis det er mindre får du et et." "...vi er ved at komme ind i dette fly og generere vores tilfældige tal..." Ryan Pierce og Andrew Miller på hemmelig generation.

Zcash powers-of-tau ceremoni runde 41 involverede et fly. Skærmbillede: YouTube-video

  • "Sælgeren sagde, at de havde 13 [computere]. Jeg spurgte, om vi kunne vælge en af ​​de 13. Han spurgte, om der var noget, jeg ledte efter specielt (forvirret, fordi de alle er ens), og jeg sagde, at jeg bare ville vælge en tilfældig. Han sagde, at han ikke kunne lukke os ind i det bagerste lager. Jeg spurgte, om han ville tage to af dem med ud, så vi kunne vælge en af ​​de to. Han bragte to ud på en håndkærre. Jerry valgte en af ​​de to computere, og vi tog den med til registret for at tjekke ud.”- Peter Van Valkenburgh på at få en ny maskine.
  • "De første par timer af ceremonien blev udført i et provisorisk Faraday-bur lavet af aluminiumsfolie og cling wrap. Jeg flyttede den bærbare computer ud af Faraday-buret, da den havde dårlig ventilation og var ved at blive varm at røre ved”- Koh Wei Jie på sidekanalbeskyttelse.
  • ".. udførte en del af ceremonien i bjergene uden naboer.”- Micheal Lapinski på sidekanalbeskyttelse.
  • "Jeg valgte at bruge video af omgivelserne til at generere tilstrækkelig entropi”- Muhd Amrullah om generering af tilfældige værdier.
On-chain trusted setup ceremony PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Za Wilcox, bror til Zcash medstifter Zooko Wilcox, ødelægger en computer, der blev brugt til at generere tilfældige tal til en betroet ceremoni i 2016. Foto: Morgen Peck

Alle disse ceremonier var afhængige af en centraliseret koordinator. Koordinatoren er en individuel eller privat server eller en anden enhed, som er betroet til at registrere og bestille deltagere, til at fungere som et relæ ved at videresende information fra den tidligere deltager til den næste, og til at føre en centraliseret log over al kommunikation med henblik på revision. Koordinatoren er typisk også ansvarlig for at gøre loggen tilgængelig for offentligheden i al evighed; selvfølgelig, jegDet er altid en mulighed med et centraliseret system, så data kan gå tabt eller forvaltes forkert. (Perpetual-powers-of-tau er f.eks. gemt på Microsoft Azure og Github.)

Det slog os som ironisk, at kryptoprojekter skal stole på centraliserede betroede opsætningsceremonier, når decentralisering er sådan en kerne af kryptoetosen. Så vi besluttede at demonstrere gennemførligheden af ​​at afholde en lille ceremoni for perpetual-powers-of-tau direkte på Ethereum blockchain! Opsætningen er fuldt decentraliseret, tilladelsesfri, censurresistent og er sikker, så længe en enkelt af deltagerne er ærlige [se ansvarsfraskrivelser]. Deltagelse i ceremonien koster kun 292,600 til 17,760,000 gas (ca. $7 til $400 i aktuelle priser), afhængigt af størrelsen af ​​de ønskede resulterende parametre (i dette tilfælde mellem 8 og 1024 powers-of-tau). (Se tabellen nedenfor for konkrete omkostninger – vi kommer nærmere ind på disse beregninger senere i indlægget.)

On-chain trusted setup ceremony PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Indtil videre råder vi til ikke at bruge koden til andet end eksperimentelle formål! Vi ville sætte stor pris på det, hvis nogen, der finder problemer med koden, rapporterer dem til os. Vi vil meget gerne indsamle feedback om og revisioner af vores tilgang.

Forståelse af KZG eller 'powers-of-tau'-ceremonien

Lad os udforske en af ​​de mest populære betroede opsætninger, som er kendt som KZG, eller "powers-of-tau", ceremoni. Kredit til Ethereums medstifter Vitalik Buterin, hvis blogindlæg om pålidelige opsætninger informeret om vores ideer i dette afsnit. Opsætningen genererer kodningerne af powers-of-tau, så navngivet, fordi "tau" tilfældigvis er den variabel, der bruges til at udtrykke hemmeligheder genereret af deltagere:

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

For nogle applikationer (f.eks. Groth16, et populært zkSNARK-prøveskema designet af Jens Groth i 2016), efterfølges denne første fase af opsætningen af ​​en anden fase, en multiparty computation (MPC) ceremoni, der genererer parametre for et specifikt SNARK-kredsløb . Vores arbejde fokuserer dog udelukkende på fase et. Denne første fase – genereringen af ​​powers-of-tau – er allerede nyttig som en grundlæggende byggesten til universelle SNARK'er (f.eks. PLONK og SONIC), såvel som andre kryptografiske applikationer, som f.eks. KZG forpligtelser, Verkle træer , sampling af datatilgængelighed (DAS). Generelt bør universelle SNARK-parametre være meget store, så de kan understøtte store og nyttige kredsløb. Kredsløb, der indeholder flere porte, er generelt mere nyttige, da de kan fange store beregninger; antallet af powers-of-tau svarer nogenlunde til antallet af porte i kredsløbet. Så en typisk opsætning vil være af størrelsen |pp| = ~40 GB og i stand til at understøtte kredsløb med ~228 porte. I betragtning af Ethereums nuværende begrænsninger ville det være umuligt at sætte så store parametre på kæden, men en mindre betroet opsætningsceremoni, der er nyttig til små SNARK-kredsløb, Verkle-træer eller DAS, kan sagtens køres på kæden.

Ethereum Foundation planlægger at drive flere mindre ceremonier for power-of-tau af størrelse 200 KB til 1.5 MB. Selvom større ceremonier kan virke bedre, i betragtning af at større parametre kan skabe mere nyttige SNARK-kredsløb, er større faktisk ikke altid bedre. Visse applikationer, såsom DAS, har specifikt brug for en mindre! [Årsagen er meget teknisk, men hvis du er nysgerrig, er det fordi en opsætning med n potenser (i G1) muliggør kun KZG-forpligtelser til polynomier af grad ≤ n, hvilket er afgørende for at sikre, at polynomiet under KZG-forpligtelsen kan rekonstrueres ud fra enhver n evalueringer. Denne egenskab muliggør data-tilgængelighed-sampling: hver gang t tilfældige evalueringer af polynomiet opnås (samplet) giver det en sikkerhed for, at polynomiet kan rekonstrueres fuldt ud med sandsynlighed t/n. Hvis du vil lære mere om DAS, så tjek dette indlæg af Buterin på Ethereum Research-forum.]

Vi designede en smart kontrakt, der kan implementeres på Ethereum blockchain for at afvikle en pålidelig opsætningsceremoni. Kontrakten gemmer de offentlige parametre – powers-of-tau – fuldt ud i kæden og indsamler deltagelse gennem brugernes transaktioner.

En ny deltager læser først disse parametre:

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

prøver derefter en tilfældig hemmelighed 𝜏' og beregner opdaterede parametre:

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

og udgiver dem på kæden med et bevis, der viser tre ting:

  1. Kendskab til diskret-log: deltageren ved 𝜏'. (Et bevis på, at det seneste bidrag til den betroede opsætningsceremoni bygger på arbejdet fra alle tidligere deltagere.)
  2. Velformethed af pp1: elementerne koder faktisk for inkrementelle beføjelser.(En validering af velformen af ​​en ny deltagers bidrag til ceremonien.)
  3. Opdateringen slettes ikke: 𝜏' ≠ 0. (Et forsvar mod angribere, der forsøger at underminere systemet ved at slette alle deltageres tidligere arbejde.)

Den smarte kontrakt verificerer beviset, og hvis det er korrekt, opdaterer det de offentlige parametre, som det gemmer. Du kan finde flere detaljer om matematikken og ræsonnementet bag det i repo.

Beregning af gasomkostninger

Den største udfordring ved at køre opsætningen på kæden er at gøre den betroede opsætningsceremoni så gaseffektiv som muligt. Ideelt set ville det ikke koste mere end ~$50 at indsende et bidrag. (Store projekter kan muligvis subsidiere gas til bidragydere, i hvilket tilfælde det er lettere at forestille sig at have hundredvis af deltagere, der hver bruger $100). Nedenfor giver vi flere detaljer om de dyreste dele af opsætningen. Lavere gasomkostninger ville reducere omkostningerne ved bidrag og give mulighed for konstruktion af længere parametre (flere tau-kræfter og større SNARK-kredsløb)!

Vores opsætning fungerer til den elliptiske kurve BN254 (også kendt som BN256, BN128 og alt_bn128), der understøtter følgende prækompilerede kontrakter på Ethereum:

  • ECADD gør det muligt at tilføje to elliptiske kurvepunkter, dvs. beregne [𝛼+𝛽]1 fra [𝛼]1 og [𝛽]1: gaspris 150,-
  • ECMULT tillader, at elliptiske kurvepunkter ganges med en skalar, dvs. beregne [a*𝛼]1 fra en og [𝛼]1: gaspris 6,000,-
  • ECPAIR gør det muligt at kontrollere et produkt af elliptiske kurveparringer, dvs. beregne e([𝛼1]1, [𝛽1]2)* … *e([𝛼1]1, [𝛽1]2) = 1, hvilket svarer til at tjekke det 𝛼1*𝛽1+ … + 𝛼k*𝛽k = 0 : gaspris 34,000 * k + 45,000

Kan Ethereum aktivere BLS12_381 (som foreslået i EIP-2537), kan vores opsætningskontrakt også nemt fås til at fungere for denne anden kurve.

Lad os anslå gasomkostningerne for at opdatere opsætningen til ([𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2):

  1. Gasomkostninger ved at verificere beviset. Hver deltager opdaterer opsætningen og indsender et bevis med tre komponenter som beskrevet ovenfor. Komponenterne 1 og 3 i beviset - "kendskab til diskret log" og "opdatering, der ikke slettes" - er meget billige at verificere. Udfordringen ligger i at verificere komponent 2, "well-formedness of the pp1”, på kæde. Det kræver en stor multi-skalar-multiplikation (MSM) og to parringer:
    e(𝝆0[1]1 + 𝆆1[𝜏]1 + 𝆆2[𝜏2]1 + … + 𝝆n-1[𝜏n-2]1, [𝜏]2) = e([𝜏]1 + 𝆆1[𝜏2]1 + … + 𝝆n-1[𝜏n-1]1, [to]2),
    hvor 𝆆0,…,𝝆n-1 er pseudo-tilfældigt-samplede skalarer. Med hensyn til prækompilerede smarte kontrakter ville det tage:
    (2n-4) x ECADD + (2n-4) x ECMULT + ECPAIRk = 2 = (2n-4) x 6,150 + 113,000 gas.
  2. Gasomkostninger ved lagring af data. Hver deltager gemmer også opdateringen på kæden som opkaldsdata (68 gas pr. byte), der svarer til n*64*68 gas. (En bemærkning til dem, der er bekendt med elliptisk kurvekryptografi: lagring af komprimerede punkter ville få dekompression til at dominere de samlede omkostninger i henhold til vores målinger for n=256.)

Dette bringer os til følgende tabel, der estimerer gasomkostninger, som bør informere fremtidige optimeringer:

On-chain trusted setup ceremony PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Vi udforsker løsninger for at få gasomkostningerne ned, så følg med!

Open source bibliotek: evm-powers-of-tau

Vi har open source vores EVM-baserede powers-of-tau ceremoni repo kl github.com/a16z/evm-powers-of-tau. At gennemføre en ceremoni med vores strategi er let og gennemsigtigt:

  1. Implementer lager- og verifikationskontrakten (contracts/KZG.sol)
  2. En bidragyder læser ceremoniparametre fra tidligere transaktionsopkaldsdata
  3. Bidragyderen genererer en hemmelighed lokalt, beregner de opdaterede parametre
  4. Bidragyderen genererer deres bevis: pi1, pi2
  5. Bidragyderen sender de opdaterede parametre via KZG.potUpdate() til den installerede smarte kontrakt på den offentlige blockchain
  6. Den smarte kontrakt vil bekræfte gyldigheden af ​​opdateringen og vende tilbage i tilfælde af en forkert udformet indsendelse
  7. Flere bidragydere kan udføre trin 2-5 til evig tid, hvilket hver især øger sikkerheden ved ceremonien
  8. Når en udvikler er sikker på antallet og kvaliteten af ​​indsendelser, kan de forespørge blockchain for de aktuelle parametre og bruge disse værdier som deres kryptografiske nøgler

Vores repo bruger arkværks-rs at beregne trin to og tre (rustberegningen kan findes i src/pot_update.rs), men brugere ønsker måske at skrive deres egen. Hele ende-til-ende flowet af opdateringsindsendelse kan findes i integrationstesten i tests/integration_test.rs.

Bemærk, at vi har valgt at bruge calldata til at gemme opdaterede powers-of-tau-parametre på kæden, da det er flere størrelsesordener billigere end storage. En ethers-rs-baseret forespørgsel efter disse data kan findes i src/query.rs.

Endelig kan beviser og detaljerede ligninger findes i den tekniske rapport i techreport/main.pdf.

Fremtidigt arbejde

Før denne pålidelige opsætningsceremoni kan bruges i produktionen, vil vi anbefale, at der først foretages en omfattende revision af både de matematiske beviser og prøveimplementeringen.

Som implementeret vokser transaktionsomkostningerne ved opdatering af ceremonien lineært med opsætningsstørrelsen. For de fleste applikationer (SNARK'er, DAS) ønsker vi en opsætning på n >= 256, som i øjeblikket koster $73 pr. opdatering. 

Vi kan muligvis opnå vækst i sublineær verifikationsomkostninger med et STARK-bevis på den gyldige opdateringsberegning og en vektorforpligtelse til de opdaterede værdier. Denne konstruktion ville også fjerne afhængigheden af ​​Ethereum L1 BN254-prækompilerne, hvilket muliggør brugen af ​​den mere populære BLS12-381-kurve.

Alle ceremonistrategier har afvejninger. Vi mener, at denne konstruktion er solid og har store verificerbare censurmodstandsegenskaber. Men igen, vi vil advare mod at bruge denne metode, indtil der er gjort mere arbejde for at verificere vores tilgangs forsvarlighed.

Tak

  • Dan Boneh – for nyttig feedback på de tidlige stadier af dette arbejde
  • Joe Bonneau – for at præcisere redegørelsen i den tidlige version af den tekniske rapport
  • William Borgeaud – til diskussion om BLS inden for TurboPlonk / Plonky2
  • Mary Maller – for tanker om tilgangens generelle mekanik

Redaktør: Robert Hackett @rhhackett

***

De synspunkter, der er udtrykt her, er dem fra det enkelte AH Capital Management, LLC ("a16z") personale, der er citeret, og er ikke synspunkter fra a16z eller dets tilknyttede selskaber. Visse oplysninger indeholdt heri er indhentet fra tredjepartskilder, herunder fra porteføljeselskaber af fonde forvaltet af a16z. Selvom det er taget fra kilder, der menes at være pålidelige, har a16z ikke uafhængigt verificeret sådanne oplysninger og fremsætter ingen repræsentationer om den aktuelle eller vedvarende nøjagtighed af oplysningerne eller dens passende for en given situation. Derudover kan dette indhold omfatte tredjepartsreklamer; a16z har ikke gennemgået sådanne annoncer og støtter ikke noget reklameindhold indeholdt deri.

Dette indhold er kun givet til informationsformål og bør ikke påberåbes som juridisk, forretningsmæssig, investerings- eller skatterådgivning. Du bør rådføre dig med dine egne rådgivere om disse spørgsmål. Henvisninger til værdipapirer eller digitale aktiver er kun til illustrationsformål og udgør ikke en investeringsanbefaling eller tilbud om at levere investeringsrådgivningstjenester. Ydermere er dette indhold ikke rettet mod eller beregnet til brug af nogen investorer eller potentielle investorer og kan under ingen omstændigheder stoles på, når der træffes en beslutning om at investere i en fond, der administreres af a16z. (Et tilbud om at investere i en a16z-fond vil kun blive givet af private placement-memorandummet, tegningsaftalen og anden relevant dokumentation for en sådan fond og bør læses i deres helhed.) Eventuelle investeringer eller porteføljeselskaber nævnt, refereret til eller beskrevne er ikke repræsentative for alle investeringer i køretøjer, der administreres af a16z, og der kan ikke gives sikkerhed for, at investeringerne vil være rentable, eller at andre investeringer foretaget i fremtiden vil have lignende karakteristika eller resultater. En liste over investeringer foretaget af fonde forvaltet af Andreessen Horowitz (undtagen investeringer, hvortil udstederen ikke har givet tilladelse til, at a16z offentliggør såvel som uanmeldte investeringer i offentligt handlede digitale aktiver) er tilgængelig på https://a16z.com/investments /.

Diagrammer og grafer, der er angivet i, er udelukkende til informationsformål og bør ikke stoles på, når der træffes nogen investeringsbeslutning. Tidligere resultater er ikke vejledende for fremtidige resultater. Indholdet taler kun fra den angivne dato. Alle fremskrivninger, estimater, prognoser, mål, udsigter og/eller meninger udtrykt i disse materialer kan ændres uden varsel og kan afvige fra eller være i modstrid med andres meninger. Se venligst https://a16z.com/disclosures for yderligere vigtige oplysninger.

Tidsstempel:

Mere fra Andreessen Horowitz