Cerimonia di configurazione affidabile on-chain PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Cerimonia di installazione di fiducia a catena

La cerimonia di installazione affidabile è uno dei dolori - e delle emozioni - delle comunità crittografiche. L'obiettivo di una cerimonia è generare chiavi crittografiche affidabili per proteggere portafogli crittografici, protocolli blockchain o sistemi a prova di conoscenza zero. Queste procedure (a volte appariscenti) sono spesso la radice della fiducia per la sicurezza di un determinato progetto e sono quindi estremamente importanti per essere corrette.

I progetti Blockchain svolgono cerimonie in numerosi modi creativi, coinvolgendo torce ossidriche, polvere radioattiva e aeroplani, ma tutti condividono qualcosa in comune: tutti coinvolgono un coordinatore centralizzato. Con questo lavoro dimostriamo come decentralizzare il processo sostituendo il coordinatore centralizzato con uno smart contract. Inoltre, stiamo rendendo open source una libreria che consente a chiunque di organizzare una cerimonia del genere, nota ai professionisti delle criptovalute come a Kate-Zaverucha-Goldberg (KZG) o cerimonia dei "poteri di tau" - sulla catena di Ethereum. Chiunque può partecipare semplicemente pagando le commissioni di transazione!

Il nostro approccio decentralizzato ha dei limiti, ma è comunque utile. A causa degli attuali vincoli di dati sulla catena, la dimensione dei parametri crittografici deve essere ridotta, ovvero non più di 64 KB. Ma il numero di partecipanti non ha un limite e le persone possono continuare a inviare contributi in perpetuo. Le applicazioni per questi parametri brevi includono piccoli SNARK a conoscenza zero, campionamento della disponibilità dei datie Verkle alberi.

Storia e meccanica della fidata cerimonia di allestimento

In una tipica cerimonia di installazione affidabile, un gruppo di partecipanti genererà in collaborazione una serie di parametri crittografici. Ciascuna parte partecipante utilizza informazioni segrete, generate localmente, per generare dati che aiutano a creare questi parametri. Impostazioni adeguate assicurano che i segreti non trapelano, che i segreti vengano utilizzati solo come indicato dal protocollo e che questi segreti vengano completamente distrutti alla fine della cerimonia. Finché almeno una parte della cerimonia si comporta onestamente, non viene compromessa e distrugge il suo segreto locale, l'intera struttura può essere considerata sicura. (Naturalmente, questo presuppone che la matematica sia corretta e il codice non abbia bug.)

Alcune delle cerimonie più importanti erano gestito da Zcash, un progetto blockchain orientato alla privacy. I partecipanti a queste cerimonie hanno generato parametri pubblici progettati per consentire agli utenti di Zcash di costruire e verificare transazioni crittografiche private. Sei partecipanti hanno effettuato la prima cerimonia Zcash, Sprout, nel 2016. Due anni dopo, il ricercatore di criptovalute Ariel Gabizon, ora Chief Scientist presso azteco, trovato un bug devastante nel disegno della cerimonia che è stato ereditato da a documento di ricerca fondamentale. La vulnerabilità potrebbe aver consentito agli aggressori di creare monete Zcash illimitate senza essere rilevati. Il team di Zcash ha mantenuto segreta la vulnerabilità per sette mesi fino a quando un aggiornamento del sistema, Sapling, la cui cerimonia ha coinvolto 90 partecipanti, ha affrontato il problema. Sebbene un attacco basato sulla falla di sicurezza non avrebbe influito sulla privacy delle transazioni degli utenti, la prospettiva di una contraffazione infinita ha minato le premesse di sicurezza di Zcash. (È teoricamente impossibile sapere se sia avvenuto un attacco.)

Un altro notevole esempio di configurazione affidabile è il cerimonia perpetua dei "poteri di tau". pensato principalmente per Semaforo, una tecnologia di tutela della privacy per la segnalazione anonima su Ethereum. Il setup utilizzava una curva ellittica BN254 e finora ha avuto 71 partecipanti. Altri progetti di spicco in seguito hanno utilizzato questa configurazione per eseguire le proprie cerimonie in cima, incluso Tornado.Contanti (recentemente sanzionato dal governo degli Stati Uniti), Ermez rete, e Loopring. azteco ha organizzato una cerimonia simile su una curva ellittica BLS12_381 con 176 partecipanti per zkSync, una soluzione di ridimensionamento di Ethereum di "livello due" che utilizza rollup di conoscenza zero. Filecoin, un protocollo di archiviazione dati decentralizzato, ha condotto una cerimonia con 19 e 33 partecipanti, rispettivamente nella prima e nella seconda fase, biforcando il repository originale. Zelo, una blockchain di livello 1, ha organizzato una cerimonia anche per il loro cliente di luce Plumo.

Le cerimonie perpetue non hanno limiti al numero dei partecipanti. In altre parole, invece di affidarsi ad altre persone per eseguire una cerimonia di installazione di fiducia, CHIUNQUE può partecipare a qualsiasi grado di sicurezza soddisfi la sua soddisfazione. Un unico partecipante affidabile garantisce la sicurezza di tutti i parametri risultanti; la catena è forte quanto il suo anello più forte. Le cerimonie perpetue possono svolgersi, come suggerisce il nome, in perpetuo, come era la premessa con la cerimonia originale dei poteri di tau. Detto questo, i progetti spesso decidono un orario di inizio e fine concreto per le loro cerimonie, in questo modo possono incorporare i parametri risultanti nei loro protocolli e non devono preoccuparsi di aggiornarli continuamente.

Ethereum prevede di organizzare una cerimonia di installazione affidabile più piccola per l'imminente ProtoDankSharding ed DankSharding aggiornamenti. Questi due aggiornamenti aumenteranno la quantità di dati che la catena Ethereum fornisce ai client per l'archiviazione. Questi dati avranno una scadenza di suggerito Da 30 a 60 giorni. La cerimonia è in fase di sviluppo attivo, ed è previsto per funzionare per sei settimane all'inizio del prossimo anno. (Vedere kzg-cerimonia-spec per maggiori dettagli.) Si preannuncia la più grande cerimonia di installazione affidabile per blockchain finora eseguita.

La paranoia è una virtù quando si tratta di cerimonie di installazione affidabili. Se l'hardware o il software di una macchina è compromesso, ciò può minare la sicurezza dei segreti che genera. Anche gli attacchi subdoli dei canali laterali che trapelano segreti possono essere difficili da escludere. Un telefono può spiare le operazioni di un computer tramite registrazione delle onde sonore di vibrazioni della CPU, per esempio. In pratica, dal momento che è immensamente difficile eliminare tutti i possibili attacchi dei canali laterali, compresi quelli ancora da scoprire o divulgare, ci sono persino proposte per far volare le macchine nello spazio per condurre cerimonie lì.

Per ora, il playbook per i partecipanti seri alla cerimonia in genere è il seguente. Acquista una nuova macchina (hardware non contaminato). Air-gap rimuovendo tutte le schede di rete (per evitare che i segreti locali lascino la macchina). Esegui la macchina in una gabbia di Faraday in una posizione remota e sconosciuta (per sventare aspiranti ficcanaso). Semina il generatore di segreti pseudo-casuali con molta entropia e dati hard-replicati come sequenze di tasti casuali o file video (per rendere i segreti difficili da decifrare). E infine, distruggi la macchina – insieme a tutte le tracce dei segreti – riducendo tutto in cenere. 😀

Coordinamento di cerimonie di installazione di fiducia

Ecco una divertente selezione di citazioni di alcuni precedenti partecipanti alla cerimonia di installazione di fiducia:

  • "...la fiamma ossidrica è stata utilizzata per riscaldare metodicamente l'elettronica completamente pezzo per pezzo fino a quando tutto è stato annerito..."- Peter Todd sulla distruzione fisica dei segreti locali.
  • "Ho qui un pezzo di tessuto con polvere di grafite [proveniente] dal nucleo del reattore [di Chernobyl]... Conti ogni quattro impulsi [da un contatore Geiger collegato a un microcontrollore] e confronti l'intervallo di tempo tra l'impulso uno e due e l'intervallo di tempo tra l'impulso tre e quattro e se è maggiore ottieni uno zero, se è minore ottieni uno. "... stiamo per salire su questo aereo e generare i nostri numeri casuali..." - Ryan Pierce e Andrew Miller sulla generazione segreta.

Il round 41 della cerimonia dei poteri di tau di Zcash ha coinvolto un aeroplano. Schermata: video di YouTube

  • "Il venditore ha detto che avevano 13 [computer]. Ho chiesto se potevamo sceglierne uno dei 13. Ha chiesto se c'era qualcosa che stavo cercando in particolare (confuso perché sono tutti uguali) e ho detto che volevo solo sceglierne uno a caso. Ha detto che non poteva farci entrare nel magazzino sul retro. Ho chiesto se ne avrebbe portati fuori due in modo da poterne scegliere uno. Ne ha tirati fuori due su un carretto. Jerry ha selezionato uno dei due computer e l'abbiamo portato alla cassa per il check-out."- Peter Van Valkenburgh sull'acquisto di una nuova macchina.
  • "Le prime ore della cerimonia si sono svolte in una gabbia improvvisata di Faraday fatta di carta stagnola e pellicola trasparente. Ho spostato il laptop fuori dalla gabbia di Faraday perché aveva una scarsa ventilazione e si stava surriscaldando al tatto"- Ko Wei Jie sulla protezione del canale laterale.
  • ".. ha eseguito una parte della cerimonia in montagna senza vicini."- Michele Lapinski sulla protezione del canale laterale.
  • "Ho scelto di utilizzare il video dell'ambiente circostante per generare entropia sufficiente"- Muhd Amrullah sulla generazione di valori casuali.
Cerimonia di configurazione affidabile on-chain PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Za Wilcox, fratello del cofondatore di Zcash Zooko Wilcox, ha distrutto un computer utilizzato per generare numeri casuali per una cerimonia di fiducia nel 2016. Foto: Morgen Peck

Tutte queste cerimonie facevano affidamento su un coordinatore centralizzato. Il coordinatore è un server individuale o privato o un'altra entità a cui è affidato il compito di registrare e ordinare i partecipanti, di fungere da staffetta inoltrando le informazioni dal partecipante precedente a quello successivo e di mantenere un registro centralizzato di tutte le comunicazioni a fini di verificabilità. Il coordinatore è tipicamente anche incaricato di mettere a disposizione del pubblico il registro in perpetuo; Certamente ioÈ sempre possibile con un sistema centralizzato che i dati vadano persi o gestiti male. (Perpetual-powers-of-tau, ad esempio, è archiviato su Microsoft Azure e Github.)

Ci è sembrato ironico che i progetti crittografici debbano fare affidamento su cerimonie di installazione centralizzate affidabili quando il decentramento è un principio fondamentale dell'etica crittografica. Quindi abbiamo deciso di dimostrare la fattibilità di organizzare una piccola cerimonia per i poteri perpetui di tau direttamente sulla blockchain di Ethereum! L'installazione è completamente decentralizzata, senza autorizzazione, resistente alla censura ed è sicura purché uno qualsiasi dei partecipanti sia onesto [vedi disclaimer]. Partecipare alla cerimonia costa solo da 292,600 a 17,760,000 di gas (da circa $ 7 a $ 400 ai prezzi attuali), a seconda della dimensione dei parametri risultanti desiderati (in questo caso tra 8 e 1024 poteri di tau). (Vedi la tabella seguente per i costi concreti: approfondiremo questi calcoli più avanti nel post.)

Cerimonia di configurazione affidabile on-chain PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Per il momento, consigliamo di non utilizzare il codice per scopi diversi da quelli sperimentali! Apprezzeremmo molto se chiunque riscontrasse problemi con il codice ce lo segnalasse. Ci piacerebbe raccogliere feedback e audit del nostro approccio.

Comprendere il KZG o cerimonia dei poteri di tau

Esploriamo una delle più popolari configurazioni di fiducia, nota come cerimonia KZG, o "powers-of-tau". Merito del cofondatore di Ethereum Vitalik Buterin, il cui post sul blog su configurazioni affidabili informato le nostre idee in questa sezione. Il setup genera le codifiche dei poteri di tau, così chiamati perché “tau” risulta essere la variabile usata per esprimere i segreti generati dai partecipanti:

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

Per alcune applicazioni (ad esempio Groth16, un popolare schema di prova zkSNARK progettato da Jens Groth nel 2016), questa prima fase della configurazione è seguita da una seconda fase, una cerimonia di calcolo multipartitico (MPC), che genera parametri per uno specifico circuito SNARK . Tuttavia, il nostro lavoro si concentra esclusivamente sulla fase uno. Questa prima fase – la generazione dei poteri di tau – è già utile come elemento fondamentale per gli SNARK universali (ad es. PLONK e SONIC), così come per altre applicazioni di crittografia, come impegni KZG, Verkle alberi ed campionamento della disponibilità dei dati (DAS). In generale, i parametri SNARK universali dovrebbero essere molto grandi in modo da poter supportare circuiti grandi e utili. I circuiti che contengono più porte sono generalmente più utili in quanto possono acquisire calcoli di grandi dimensioni; il numero di potenze di tau corrisponde all'incirca al numero di porte nel circuito. Quindi, una configurazione tipica sarà di dimensioni |pp| = ~40 GB e in grado di supportare circuiti con ~228 cancelli. Dati gli attuali vincoli di Ethereum, sarebbe impossibile inserire parametri così grandi sulla catena, ma una cerimonia di configurazione affidabile più piccola utile per piccoli circuiti SNARK, alberi Verkle o DAS può essere eseguita in modo fattibile sulla catena.

La Ethereum Foundation ha in programma di gestirne diverse più piccole cerimonie per potenze di tau di dimensioni da 200 KB a 1.5 MB. Mentre le cerimonie più grandi possono sembrare migliori, dato che parametri più grandi possono creare circuiti SNARK più utili, più grandi, infatti, non sono sempre migliori. Alcune applicazioni, come DAS, richiedono specificamente una più piccola! [Il motivo è molto tecnico, ma se sei curioso è perché un setup con n potenze (in G1) abilita solo gli impegni KZG a polinomi di grado ≤ n, che è fondamentale per assicurarsi che il polinomio sotto l'impegno KZG possa essere ricostruito da qualsiasi n valutazioni. Questa proprietà consente il campionamento della disponibilità dei dati: ogni volta che vengono ottenute (campionate) t valutazioni casuali del polinomio, si garantisce che il polinomio può essere completamente ricostruito con probabilità t/n. Se vuoi saperne di più su DAS, dai un'occhiata a questo post di Buterin sul forum di ricerca di Ethereum.]

Abbiamo progettato uno smart contract che può essere distribuito sulla blockchain di Ethereum per eseguire una cerimonia di installazione affidabile. Il contratto memorizza i parametri pubblici – i poteri di tau – completamente on-chain e raccoglie la partecipazione attraverso le transazioni degli utenti.

Un nuovo partecipante legge prima quei parametri:

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

quindi campiona un segreto casuale 𝜏' e calcola i parametri aggiornati:

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

e li pubblica on-chain con una dimostrazione che dimostra tre cose:

  1. Conoscenza del log discreto: il partecipante sa 𝜏'. (Una prova che l'ultimo contributo alla cerimonia di installazione di fiducia si basa sul lavoro di tutti i partecipanti precedenti.)
  2. Ben formata delle pp1: gli elementi codificano infatti poteri incrementali.(Una convalida della buona formazione del contributo di un nuovo partecipante alla cerimonia.)
  3. L'aggiornamento non è cancellabile: 𝜏' ≠ 0. (Una difesa contro gli aggressori che cercano di minare il sistema cancellando il lavoro passato di tutti i partecipanti.)

Lo smart contract verifica la prova e se è corretta aggiorna i parametri pubblici che memorizza. Puoi trovare maggiori dettagli sulla matematica e il ragionamento alla base nel pronti contro termine.

Calcolo dei costi del gas

La sfida principale dell'esecuzione dell'installazione sulla catena è rendere la cerimonia di installazione affidabile il più efficiente possibile in termini di gas. Idealmente, inviare un contributo non costerebbe più di ~ $ 50. (I grandi progetti potrebbero essere in grado di sovvenzionare il gas per i contributori, nel qual caso è più facile immaginare che centinaia di partecipanti spendano $ 100 ciascuno). Di seguito, diamo maggiori dettagli sulle parti più costose della configurazione. Minori costi del gas ridurrebbero il costo dei contributi e consentirebbero la costruzione di parametri più lunghi (più potenze tau e circuiti SNARK più grandi)!

La nostra configurazione funziona per la curva ellittica BN254 (nota anche come BN256, BN128 e alt_bn128), che supporta i seguenti contratti precompilati su Ethereum:

  • ECADD consente di aggiungere due punti di curva ellittica, ovvero calcolare [𝛼+𝛽]1 da [𝛼]1 e [𝛽]1: costo gas 150
  • ECMULT consente di moltiplicare i punti della curva ellittica per uno scalare, ovvero calcolare [a*𝛼]1 da a e [𝛼]1: costo gas 6,000
  • ECPAIR consente di controllare un prodotto di accoppiamenti di curve ellittiche, ad esempio calcolare e([𝛼1]1, [𝛽1]2)* … *e([𝛼1]1, [𝛽1]2) = 1 che equivale a verificare che 𝛼1*𝛽1+ … + 𝛼k*𝛽k = 0 : costo del gas 34,000 * k + 45,000

Potrebbe Ethereum abilitare BLS12_381 (come proposto in EIP-2537), il nostro contratto di installazione potrebbe essere facilmente fatto funzionare anche per quest'altra curva.

Stimiamo il costo del gas per aggiornare la configurazione a ([𝜏]1, [𝜏2]1, [𝜏3]1, …, [𝜏n]1; [𝜏]2):

  1. Costo del gas per la verifica della prova. Ogni partecipante aggiorna l'impostazione e invia una prova con tre componenti come descritto sopra. I componenti 1 e 3 della dimostrazione - "conoscenza del registro discreto" e "aggiornamento non cancellabile" - sono molto economici da verificare. La sfida sta nel verificare la componente 2, “la buona forma delle pp1”, a catena. Richiede una grande moltiplicazione multiscalare (MSM) e due accoppiamenti:
    e(0,1 + 𝆆1[𝜏]1 + 𝆆2[𝜏2]1 + … + 𝆆n-1[𝜏n-2]1, [𝜏]2) = e([𝜏]1 + 𝆆1[𝜏2]1 + … + 𝆆n-1[𝜏n-1]1, [Due]2),
    dove 𝆆0,…,n-1 sono scalari pseudo-campionati casualmente. In termini di smart-contratti precompilati, ci vorrebbero:
    (2n-4) x ECADD + (2n-4) x ECMULT + ECPAIRk = 2 = (2n-4) x 6,150 + 113,000 gas.
  2. Costo del gas per la memorizzazione dei dati. Ogni partecipante memorizza anche l'aggiornamento on-chain come calldata (68 gas per byte) contabilizzando n*64*68 gas. (Una nota per chi ha familiarità con la crittografia a curva ellittica: la memorizzazione di punti compressi farebbe sì che la decompressione domini il costo complessivo secondo le nostre misurazioni per n = 256.)

Questo ci porta alla tabella seguente che stima i costi del gas che dovrebbero informare le ottimizzazioni future:

Cerimonia di configurazione affidabile on-chain PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Stiamo esplorando soluzioni per ridurre il costo del gas, quindi rimanete sintonizzati!

Libreria open source: evm-powers-of-tau

Abbiamo reso open source il nostro repository per la cerimonia dei poteri di tau basato su EVM in github.com/a16z/evm-powers-of-tau. Condurre una cerimonia con la nostra strategia è facile e trasparente:

  1. Distribuire il contratto di archiviazione e verifica (contratti/KZG.sol)
  2. Un collaboratore legge i parametri della cerimonia da calldata della transazione precedente
  3. Il contributore genera un segreto localmente, calcola i parametri aggiornati
  4. Il contributore genera la loro dimostrazione: pi1, pi2
  5. Il contributore invia i parametri aggiornati tramite KZG.potUpdate() allo smart contract distribuito sulla blockchain pubblica
  6. Lo smart contract verificherà la validità dell'aggiornamento, ripristinandolo in caso di invio non corretto
  7. Più contributori possono eseguire i passaggi 2-5 in perpetuo, ciascuno aumentando la sicurezza della cerimonia
  8. Ogni volta che uno sviluppatore è sicuro del numero e della qualità degli invii, può interrogare la blockchain per i parametri correnti e utilizzare questi valori come chiavi crittografiche

Il nostro repository utilizza arkworks-rs per calcolare i passaggi due e tre (il calcolo della ruggine può essere trovato in src/pot_update.rs), ma gli utenti potrebbero voler scriverne uno proprio. L'intero flusso end-to-end di invio degli aggiornamenti è disponibile nel test di integrazione in test/integration_test.rs.

Si noti che abbiamo scelto di utilizzare calldata per memorizzare i parametri di potenza di tau aggiornati sulla catena poiché è di diversi ordini di grandezza più economico dello storage. È possibile trovare una query basata su ethers-rs per questi dati in src/query.rs.

Infine, le dimostrazioni e le equazioni dettagliate si trovano nella relazione tecnica in rapporto tecnico/main.pdf.

Lavoro futuro

Prima che questa cerimonia di configurazione affidabile possa essere utilizzata in produzione, consigliamo di eseguire un audit completo sia delle dimostrazioni matematiche che dell'implementazione del campione.

Come implementato, il costo di transazione per l'aggiornamento della cerimonia cresce linearmente con le dimensioni dell'allestimento. Per la maggior parte delle applicazioni (SNARK, DAS) vorremmo una configurazione di n >= 256, che attualmente costa $ 73 per aggiornamento. 

Potremmo essere in grado di ottenere una crescita dei costi di verifica sublineare con una prova STARK del calcolo dell'aggiornamento valido e un impegno vettoriale per i valori aggiornati. Questa costruzione eliminerebbe anche la dipendenza dai precompilatori Ethereum L1 BN254, consentendo l'utilizzo della più popolare curva BLS12-381.

Tutte le strategie della cerimonia hanno dei compromessi. Pensiamo che questa costruzione sia solida e abbia grandi proprietà verificabili di resistenza alla censura. Ma ancora una volta, vorremmo mettere in guardia dall'utilizzare questo metodo fino a quando non verrà svolto altro lavoro per verificare la solidità del nostro approccio.

Ringraziamenti

  • Dan Boneh – per un utile feedback nelle prime fasi di questo lavoro
  • Joe Bonneau – per aver chiarito l'esposizione nella prima versione della relazione tecnica
  • William Borgeaud – per la discussione su BLS all'interno di TurboPlonk / Plonky2
  • Mary Maller – per riflessioni sulla meccanica generale dell'approccio

Editore: Robert Hackett @rhhackett

***

Le opinioni qui espresse sono quelle del personale di AH Capital Management, LLC ("a16z") citato e non sono le opinioni di a16z o delle sue affiliate. Alcune informazioni qui contenute sono state ottenute da fonti di terze parti, incluse società in portafoglio di fondi gestiti da a16z. Sebbene tratti da fonti ritenute affidabili, a16z non ha verificato in modo indipendente tali informazioni e non fornisce dichiarazioni sull'accuratezza attuale o duratura delle informazioni o sulla sua adeguatezza per una determinata situazione. Inoltre, questo contenuto può includere pubblicità di terze parti; a16z non ha esaminato tali annunci pubblicitari e non approva alcun contenuto pubblicitario in essi contenuto.

Questo contenuto viene fornito solo a scopo informativo e non deve essere considerato come consulenza legale, commerciale, di investimento o fiscale. Dovresti consultare i tuoi consulenti in merito a tali questioni. I riferimenti a qualsiasi titolo o risorsa digitale sono solo a scopo illustrativo e non costituiscono una raccomandazione di investimento o un'offerta per fornire servizi di consulenza in materia di investimenti. Inoltre, questo contenuto non è diretto né destinato all'uso da parte di investitori o potenziali investitori e non può in alcun caso essere invocato quando si decide di investire in qualsiasi fondo gestito da a16z. (Un'offerta per investire in un fondo a16z sarà fatta solo dal memorandum di collocamento privato, dal contratto di sottoscrizione e da altra documentazione pertinente di tale fondo e dovrebbe essere letta nella sua interezza.) Eventuali investimenti o società in portafoglio menzionati, citati o descritti non sono rappresentativi di tutti gli investimenti in veicoli gestiti da a16z, e non si può garantire che gli investimenti saranno redditizi o che altri investimenti effettuati in futuro avranno caratteristiche o risultati simili. Un elenco degli investimenti effettuati da fondi gestiti da Andreessen Horowitz (esclusi gli investimenti per i quali l'emittente non ha autorizzato a16z a divulgare pubblicamente e gli investimenti non annunciati in asset digitali quotati in borsa) è disponibile all'indirizzo https://a16z.com/investments /.

Grafici e grafici forniti all'interno sono esclusivamente a scopo informativo e non dovrebbero essere presi in considerazione quando si prende una decisione di investimento. I rendimenti passati non sono indicativi di risultati futuri. Il contenuto parla solo a partire dalla data indicata. Eventuali proiezioni, stime, previsioni, obiettivi, prospettive e/o opinioni espresse in questi materiali sono soggette a modifiche senza preavviso e possono differire o essere contrarie alle opinioni espresse da altri. Si prega di consultare https://a16z.com/disclosures per ulteriori informazioni importanti.

Timestamp:

Di più da Andreessen Horowitz