Di Xinwei, MT Capital

TL;DR

  • La necessità di Parallel EVM risiede nella sua soluzione ai problemi di efficienza dell’elaborazione sequenziale delle transazioni EVM tradizionale. Consentendo l'esecuzione simultanea di più operazioni, migliora significativamente il throughput e le prestazioni della rete.

  • Le implementazioni di Parallel EVM includono elaborazione simultanea basata su scheduler, istanze EVM multi-thread e sharding a livello di sistema, affrontando sfide tecniche come timestamp inaffidabili, determinismo blockchain e orientamento al profitto del validatore.

  • Monad Labs, attraverso il suo progetto Layer 1 Monad, mira a migliorare in modo significativo la scalabilità della blockchain e la velocità delle transazioni con caratteristiche tecnologiche uniche. Questi includono l'elaborazione fino a 10.000 transazioni al secondo, tempo di blocco di 1 secondo, capacità di esecuzione parallela e il meccanismo di consenso MonadBFT.

  • Sei V2, un importante aggiornamento della Rete Sei, mira a diventare il primo EVM completamente parallelizzato. Offre contratti intelligenti EVM retrocompatibili, parallelizzazione ottimistica, una nuova struttura dati SeiDB e interoperabilità con le catene esistenti, con l'obiettivo di migliorare notevolmente la velocità di elaborazione delle transazioni e la scalabilità della rete.

  • Neon EVM, una piattaforma su Solana, mira a fornire un ambiente efficiente, sicuro e decentralizzato per le dApp di Ethereum. Consente agli sviluppatori di distribuire ed eseguire facilmente le dApp sfruttando l'elevato throughput e i vantaggi a basso costo di Solana.

  • Lumio, sviluppata da Pontem Network, è una soluzione Layer 2 che affronta in modo innovativo le sfide di scalabilità di Ethereum supportando in modo univoco sia l'EVM che il Move VM utilizzati da Aptos, elevando l'esperienza Web3 più vicina ai livelli Web2.

  • Eclipse è una soluzione Ethereum Layer 2 che accelera l'elaborazione delle transazioni utilizzando SVM. Adotta un'architettura rollup modulare, integrando il regolamento di Ethereum, i contratti intelligenti SVM, la disponibilità dei dati di Celestia e le prove di frode RISC Zero.

  • Solana utilizza la sua tecnologia Sealevel per l'elaborazione parallela dei contratti intelligenti. Sui migliora la produttività con i componenti Narwhal e Bullshark. Fuel raggiunge l'esecuzione parallela delle transazioni attraverso il modello UTXO e Aptos utilizza il motore Block-STM per migliorare le capacità di elaborazione delle transazioni. Tutti dimostrano diverse implementazioni e vantaggi della tecnologia parallela nel campo blockchain.

  • Le principali sfide legate all’adozione del parallelismo includono la risoluzione delle gare di dati e dei conflitti di lettura-scrittura, la garanzia della compatibilità con gli standard esistenti, l’adattamento a nuovi modelli di interazione dell’ecosistema e la gestione della maggiore complessità del sistema, soprattutto in termini di sicurezza e allocazione delle risorse.

  • Parallel EVM dimostra un enorme potenziale nel migliorare la scalabilità e l’efficienza della blockchain, segnando un cambiamento significativo nella tecnologia blockchain. Migliora la capacità di elaborazione delle transazioni eseguendo transazioni simultaneamente su più processori, liberandosi dai vincoli della tradizionale elaborazione delle transazioni sequenziali. Sebbene Parallel EVM offra un potenziale immenso, la sua implementazione di successo richiede il superamento di complesse sfide tecniche e la garanzia di un’adozione diffusa nell’ecosistema.

Concetti di base dell'EVM parallelo

Introduzione all'EVM

L'Ethereum Virtual Machine (EVM) è un componente fondamentale della blockchain di Ethereum, che funge da motore computazionale. È una macchina quasi completa di Turing che fornisce un ambiente di esecuzione per contratti intelligenti sulla rete Ethereum, fondamentale per mantenere la fiducia e la coerenza nell'intero ecosistema Ethereum.

L'EVM esegue contratti intelligenti elaborando bytecode, una forma più elementare di codice di contratto intelligente tipicamente scritta in linguaggi di programmazione di alto livello come Solidity. Questo bytecode è costituito da una serie di codici operativi (codici operativi) utilizzati per eseguire varie funzioni, comprese le operazioni aritmetiche e la memorizzazione/recupero dei dati. L'EVM funziona come una macchina stack, elaborando le operazioni in modalità last-in, first-out e ciascuna operazione nell'EVM ha un costo del gas associato. Questo sistema di gas misura il lavoro computazionale necessario per eseguire un’operazione, garantendo un’equa allocazione delle risorse e prevenendo gli abusi della rete.

In Ethereum, le transazioni svolgono un ruolo vitale all'interno della funzionalità dell'EVM. Esistono due tipi di transazioni: una che porta alle chiamate di messaggi e un'altra che porta alla creazione di un contratto. La creazione del contratto si traduce in un nuovo account di contratto contenente il bytecode del contratto intelligente compilato, che viene eseguito quando un altro account effettua una chiamata di messaggio al contratto.

L'architettura dell'EVM include componenti come bytecode, stack, memoria e archiviazione. Dispone di uno spazio di memoria dedicato per l'archiviazione temporanea dei dati durante l'esecuzione e di uno spazio di archiviazione persistente sulla blockchain per la conservazione dei dati a tempo indeterminato. Il design dell’EVM garantisce un ambiente di esecuzione sicuro per i contratti intelligenti, isolandoli per prevenire attacchi di rientro e incorpora varie misure di sicurezza, come limiti di gas e profondità dello stack.

Inoltre, l’influenza dell’EVM si estende oltre Ethereum, raggiungendo un ambito più ampio attraverso catene compatibili con EVM. Sebbene queste catene differiscano, mantengono la compatibilità con le applicazioni basate su Ethereum, consentendo un'interazione perfetta con le applicazioni fondamentali di Ethereum. Queste catene svolgono un ruolo chiave in vari settori come soluzioni aziendali, GameFi e DeFi.


La necessità dell'EVM parallelo

La necessità di Parallel EVM (Ethereum Virtual Machine) deriva dalla sua capacità di migliorare significativamente le prestazioni e l'efficienza delle reti blockchain. L'EVM tradizionale elabora le transazioni in sequenza, il che non solo richiede un elevato consumo di energia, ma impone anche un pesante fardello ai validatori della rete. Questo metodo di elaborazione porta spesso a costi di transazione elevati e a inefficienza, considerati uno dei principali ostacoli all’adozione diffusa della tecnologia blockchain.

Parallel EVM rivoluziona il processo di consenso consentendo l'esecuzione simultanea di più operazioni. La capacità di eseguire in parallelo aumenta notevolmente il throughput della rete, migliorando così le prestazioni e la scalabilità dell’intera blockchain. Con Parallel EVM, le reti blockchain possono elaborare più transazioni in un periodo di tempo più breve, affrontando in modo efficace i comuni problemi di congestione e i tempi di elaborazione lenti dei tradizionali sistemi blockchain.

L'EVM parallelo ha impatti significativi su vari aspetti della tecnologia blockchain:

  • Fornisce un metodo più efficiente dal punto di vista energetico ed efficace per l'elaborazione delle transazioni. Riducendo il carico di lavoro dei validatori e della rete nel suo insieme, Parallel EVM contribuisce a costruire un ecosistema blockchain più sostenibile.

  • La maggiore scalabilità e il throughput aggiunto portano direttamente a commissioni di transazione ridotte. Gli utenti potranno godere di un’esperienza più economica, rendendo le piattaforme blockchain più attraenti per un pubblico più ampio.

  • Elaborare più transazioni simultaneamente anziché in sequenza significa che le dApp possono funzionare in modo più fluido, anche durante i periodi di elevata domanda di rete.

Metodi di implementazione di Parallel EVM (accreditato a Siyuan H.)

Nell'attuale architettura EVM, le operazioni di lettura e scrittura più granulari sono sload e sstore, utilizzate rispettivamente per leggere e scrivere nello stato trie. Pertanto, garantire che thread diversi non entrino in conflitto su queste due operazioni è un punto di ingresso semplice per l'implementazione di EVM parallela/concorrente. In Ethereum, infatti, esiste un tipo speciale di transazione che include una struttura speciale chiamata "lista di accesso", che consente alle transazioni di portare con sé gli indirizzi di archiviazione che leggeranno e modificheranno. Pertanto, ciò fornisce un buon punto di partenza per implementare un approccio simultaneo basato sullo scheduler.

Per quanto riguarda l'implementazione del sistema, esistono tre forme comuni di EVM parallelo/concorrente:

  1. Multithreading di una singola istanza EVM.

  2. Multithreading di più istanze EVM su un singolo nodo.

  3. Multithreading di più istanze EVM su più nodi (essenzialmente sharding a livello di sistema).

Le differenze nell'elaborazione parallela/concorrente nella blockchain rispetto ai sistemi di database includono:

  • I timestamp inaffidabili rendono i metodi di concorrenza basati sul timestamp difficili da implementare nel mondo blockchain.

  • Determinismo assoluto sui sistemi blockchain per garantire che le transazioni rieseguite da diversi validatori siano identiche.

  • L’obiettivo finale dei validatori è l’aumento delle entrate, non un’esecuzione più rapida delle transazioni.

Quindi di cosa abbiamo bisogno?

  • È necessario un consenso a livello di sistema laddove un’esecuzione più rapida porta a ricompense più elevate.

  • Un algoritmo di pianificazione multivariabile che considera le limitazioni dei blocchi, in grado di acquisire maggiori entrate completando le esecuzioni più rapidamente.

  • Operazioni sui dati più granulari, incluso il blocco dei dati a livello di codice operativo, livelli di memorizzazione nella cache della memoria, ecc.

Grandi progetti e loro tecnologie

Monad Labs

Monad è un EVM Layer 1, volto a migliorare significativamente la scalabilità e la velocità delle transazioni della blockchain attraverso le sue caratteristiche tecnologiche uniche. Un vantaggio chiave di Monad è la sua capacità di elaborare fino a 10.000 transazioni al secondo con un tempo di blocco di appena 1 secondo. Ciò è reso possibile dal meccanismo di consenso MonadBFT e dalla compatibilità con EVM, che consente di elaborare le transazioni in modo efficiente e rapido.

Una delle caratteristiche più importanti di Monad è la sua capacità di esecuzione parallela, che gli consente di elaborare più transazioni contemporaneamente. Rispetto al metodo di elaborazione sequenziale nei tradizionali sistemi blockchain, ciò aumenta notevolmente l’efficienza e la produttività della rete.

Lo sviluppo di Monad è guidato da Monad Labs, co-fondato da Keone Hon, Eunice Giarta e James Hunsaker. Il progetto ha raccolto con successo 19 milioni di dollari in finanziamenti iniziali e prevede di lanciare la sua testnet a metà del primo trimestre del 2024, seguita dal lancio della mainnet.

Monad è stata ottimizzata nelle seguenti quattro aree principali, rendendola una blockchain ad alte prestazioni:

  1. MonadeBFT:

MonadBFT è il meccanismo di consenso ad alte prestazioni della blockchain Monad, utilizzato per ottenere coerenza nell'ordinamento delle transazioni in condizioni parzialmente sincrone in presenza di attori bizantini. Si tratta di una versione migliorata basata su HotStuff, che utilizza un algoritmo BFT a due fasi, caratterizzato da reattività ottimistica, costi di comunicazione lineari nei casi comuni e costi di comunicazione quadratici in scenari di timeout. In MonadBFT, il leader invia un nuovo blocco e il QC (Quorum Certificate) o TC (Timeout Certificate) del round precedente ai validatori ad ogni round. I validatori esaminano il blocco e inviano un voto “sì” firmato al leader del turno successivo se è d’accordo. Questo processo aggrega i voti "sì" dei validatori 2f+1 in un QC tramite firme di soglia. Nei casi di comunicazione comuni, il leader invia il blocco ai validatori che poi inviano i voti direttamente al leader del turno successivo. MonadBFT utilizza anche firme BLS basate sull'accoppiamento per risolvere problemi di scalabilità, consentendo l'aggregazione incrementale delle firme in un'unica firma, dimostrando che le condivisioni associate alle chiavi pubbliche hanno firmato il messaggio. Per considerazioni sulle prestazioni, MonadBFT adotta uno schema di firma ibrido, in cui le firme BLS vengono utilizzate solo per tipi di messaggi aggregabili (voti e timeout). L'integrità e l'autenticità dei messaggi sono ancora garantite dalle firme ECDSA. Grazie a queste caratteristiche, MonadBFT può ottenere un consenso blockchain efficiente e robusto.

2. Esecuzione differita:

Questa è un’innovazione chiave che disaccoppia il processo di esecuzione dal processo di consenso. In questa architettura, il processo di consenso coinvolge i nodi che concordano sull’ordine ufficiale delle transazioni, mentre l’esecuzione è il processo vero e proprio di esecuzione di queste transazioni e di aggiornamento dello stato. In questo progetto, il nodo principale propone un ordine di transazione ma non conosce la radice dello stato finale quando propone l'ordine; i validatori inoltre non sanno se tutte le transazioni nel blocco verranno eseguite con successo quando votano sulla sua validità.

Questo design consente a Monad di ottenere miglioramenti significativi in ​​termini di velocità, consentendo a una blockchain a singolo frammento di adattarsi a milioni di utenti. In Monad, ogni nodo esegue indipendentemente le transazioni nel blocco N raggiungendo il consenso sul blocco N+1. Questo metodo consente un budget di gas più ampio, poiché l’esecuzione deve solo tenere il passo con il ritmo del consenso. Inoltre, poiché l’esecuzione deve solo raggiungere la media del ritmo del consenso, questo metodo è più tollerante nei confronti di variazioni specifiche nel tempo di calcolo.

Per garantire ulteriormente la replica della macchina a stati, Monad include una radice Merkle ritardata dai blocchi D nella proposta di blocco. Questa radice Merkle ritardata garantisce la coerenza nell'intera rete, anche in caso di errori di esecuzione del nodo o comportamenti dannosi.

In MonadBFT, la finalità è a slot singolo (1 secondo) e i risultati dell'esecuzione in genere ritardano meno di 1 secondo sui nodi completi. Questa finalità a slot singolo significa che dopo aver inviato una transazione, gli utenti vedranno l'ordine ufficiale della transazione dopo un singolo blocco. Non esiste alcuna possibilità di riordino a meno che una maggioranza assoluta della rete non si comporti in modo dannoso. Per gli utenti che hanno bisogno di conoscere rapidamente i risultati delle transazioni (ad esempio, i trader ad alta frequenza), l'esecuzione di un nodo completo può ridurre al minimo i ritardi.

3. Esecuzione parallela:

Consente a Monad di eseguire più transazioni contemporaneamente. Questo approccio potrebbe inizialmente sembrare diverso dalla semantica di esecuzione di Ethereum, ma non lo è. I blocchi in Monad sono gli stessi di Ethereum, essendo entrambi insiemi di transazioni ordinati linearmente. I risultati dell’esecuzione di queste transazioni sono gli stessi tra Monad ed Ethereum.

Nel processo di esecuzione parallela, Monad utilizza un metodo di esecuzione ottimistico, ovvero avvia l'esecuzione delle transazioni successive prima che le transazioni precedenti nel blocco vengano completate. Ciò a volte porta a risultati di esecuzione errati. Per risolvere questo problema, Monad tiene traccia degli input utilizzati nell'esecuzione delle transazioni e li confronta con gli output delle transazioni precedenti. Se vengono rilevate differenze, indica che la transazione deve essere rieseguita con i dati corretti.

Inoltre, Monad utilizza un analizzatore di codice statico per prevedere le dipendenze tra le transazioni durante l'esecuzione, evitando esecuzioni parallele non valide. Nella migliore delle ipotesi, Monad può prevedere in anticipo molte dipendenze; nel peggiore dei casi, ritorna alla modalità di esecuzione semplice.

La tecnologia di esecuzione parallela di Monad non solo migliora l’efficienza e il throughput della rete, ma riduce anche il verificarsi di errori di transazione dovuti all’esecuzione parallela ottimizzando le strategie di esecuzione.

Progetti ecosistemici

Scambio

TayaSwap è un AMM DEX basato su Monad, supportato da SubLabs, che consente la negoziazione di asset senza registri o intermediari tradizionali. Gli AMM si basano su formule matematiche e contratti intelligenti per facilitare gli scambi di token, determinare i prezzi e consentire transazioni peer-to-peer utilizzando contratti intelligenti.

Finanza ambientale

Ambient (precedentemente CrocSwap) è un protocollo di trading decentralizzato che consente una liquidità combinata centralizzata e costante del prodotto su qualsiasi coppia di asset blockchain attraverso un AMM bilaterale. Ambient gestisce l'intero DEX all'interno di un singolo contratto intelligente, in cui i singoli pool AMM sono strutture dati leggere, non contratti intelligenti separati.

Protocollo Gamberetti

Shrimp è un DEX (3,3) con un'economia di token volano, che supporta risorse del mondo reale, destinato a essere lanciato su Monad.

Catalizzatore

Catalyst è una soluzione di liquidità senza autorizzazione tra blockchain modulari, costruita per connettere tutte le catene, con l'obiettivo di consentire l'accesso a qualsiasi risorsa ovunque. Catalyst consente agli sviluppatori di connettersi automaticamente a tutte le catene, ottenendo l'accesso agli utenti in un ecosistema unificato, mentre il suo design semplice, decentralizzato e auto-custodiale garantisce un accesso sicuro e senza interruzioni alla liquidità.

Scambio

Swaap è un Market Maker automatizzato (AMM) neutrale rispetto al mercato. Combina oracoli e spread dinamici per fornire rendimenti sostenibili ai fornitori di liquidità e prezzi più convenienti per i trader. Il protocollo riduce significativamente le perdite temporanee e offre pool multi-asset.

Elisir

Elixir è un protocollo di market-making decentralizzato che interagisce con gli scambi centralizzati utilizzando algoritmi di market-making tramite chiamate API, portando liquidità alle risorse crittografiche a coda lunga.

Scambio temporale

Timeswap è un protocollo del mercato monetario decentralizzato basato su AMM che opera senza oracoli o liquidatori. A differenza di Uniswap, che consente lo scambio di asset in tempo reale, l’assunzione di prestiti su Timeswap prevede lo scambio di token fino al rimborso. I finanziatori forniscono l’Attività A per i prestiti, “assicurando” contemporaneamente un certo importo dell’Attività B utilizzata come garanzia dai mutuatari. Gli utenti possono adeguare il proprio profilo di rischio, ottenendo tassi più elevati con rapporti di garanzia inferiori e viceversa.

Poply

Poply è un mercato NFT basato sulla comunità, specifico per la catena Monad, che mostra e potenzia le collezioni NFT create appositamente per questa catena. Attira le persone interessate a NFT unici per lo scambio di token ERC-721 attraverso grafica generata dall'intelligenza artificiale e interfacce intuitive.

Centralino

Switchboard è un protocollo Oracle multicatena senza autorizzazione, personalizzabile per feed di dati generali e casualità verificabile. Consentendo a chiunque di inviare qualsiasi forma di dati, indipendentemente dal tipo, offre una soluzione unica per gli utenti e aiuta a guidare lo sviluppo della prossima generazione di applicazioni decentralizzate.

Rete Pyth

Pyth Network, sviluppato da Douro Labs, è una soluzione di oracolo dei prezzi di prossima generazione che mira a fornire preziosi dati sui mercati finanziari on-chain a progetti, protocolli e al pubblico, comprese criptovalute, azioni, forex e materie prime. La rete aggrega i dati sui prezzi di prima parte provenienti da oltre 70 fornitori di dati affidabili e li pubblica per essere utilizzati da contratti intelligenti e altre applicazioni on-chain o off-chain.

Protocollo AIT

Il protocollo AIT è un'infrastruttura di dati di intelligenza artificiale che offre soluzioni AI Web3. Il mercato decentralizzato di AIT offre un'opportunità unica ed estesa a milioni di utenti di criptovaluta di impegnarsi in attività di "train-to-earn", un concetto che consente loro di guadagnare premi contribuendo attivamente allo sviluppo e al progresso dei modelli di intelligenza artificiale.

Avviso

Notifi offre un livello di comunicazione universale per tutti i progetti Web3, pianificando di incorporare funzionalità di notifica e messaggistica in applicazioni decentralizzate per l'interazione con gli utenti attraverso canali digitali e on-chain. L'API Notifi consente agli sviluppatori di sbloccare complesse infrastrutture di comunicazione attraverso semplici API, fornendo esperienze utente native per applicazioni in tutto il mondo; Notifi Center offre agli utenti un'esperienza di notifica personalizzata, consentendo loro di visualizzare e gestire tutti i messaggi nel mondo Web3 da endpoint mobili e web; Notifi Push consente agli esperti di marketing di creare impegni multicanale coesi, favorendo la crescita del business e fidelizzando la propria base di utenti.

ACryptoS

ACryptoS è una piattaforma avanzata di strategia crittografica, un ottimizzatore di aggregazione di rendimento multi-catena e DEX, che offre una gamma di prodotti unici tra cui depositi di token singoli a composizione automatizzata, depositi di LP a doppio token, depositi di liquidità unici, DEX del ramo Balancer-V2 e scambio di stablecoin . Lanciato inizialmente sulla catena BNB nel novembre 2020, ACryptoS si è ora espanso a 11 catene, distribuendo oltre 100 casseforti, con l'obiettivo di supportare utenti e protocolli DeFi.

MagmaDAO

MagmaDAO è un protocollo di staking di liquidità controllato da DAO che mira a un'equa distribuzione dei token attraverso lanci competitivi dell'ecosistema. È il primo validatore distribuito al di fuori di Ethereum, costruito sulla monade EVM L1 più veloce, più economica e più resistente alla censura.

Scambio di vombati

Wombat Exchange è uno swap di stablecoin multicatena con pool di liquidità aperti, basso slippage e puntata unilaterale.

Wormhole

Wormhole è un protocollo di messaggistica universale decentralizzato, che consente agli sviluppatori e agli utenti di applicazioni cross-chain di sfruttare i vantaggi di più ecosistemi.

DeMask Finanza

DeMask Finance è un protocollo AMM on-chain per lo scambio tra NFT e token ERC20. DeMask Finance supporta la creazione di raccolte NFT e launchpad NFT: abbinati a ETH e altri token. Scambio decentralizzato NFT: supporta NFT ERC-1155 o altri token abbinati a token ETH e ERC-20. Il protocollo DeMask mira ad aumentare la liquidità nel mercato NFT, fornendo un'interfaccia per scambi continui tra token ERC20 o token nativi e raccolte NFT. DeMask è un sistema interconnesso di contratti intelligenti in cui tutti gli utenti possono creare e possedere pool di liquidità e fare trading in modo completamente automatizzato. Ogni pool contiene una coppia di asset, inclusi un token e un NFT, che forniscono prezzi fissi per il trading istantaneo. Ciò consente anche ad altri contratti di stimare il prezzo medio di entrambi gli asset nel tempo. Gli utenti che possiedono pool di liquidità vengono ricompensati quando scambiano coppie di asset.

Sei V2

Sei V2 rappresenta un aggiornamento significativo della rete Sei, con l'obiettivo di diventare il primo EVM completamente parallelizzato. Questo aggiornamento doterà Sei delle seguenti funzionalità:

  1. Compatibilità con le versioni precedenti con i contratti intelligenti EVM:

Ciò significa che gli sviluppatori possono implementare contratti intelligenti già verificati e compatibili con EVM su Sei senza alcuna modifica del codice. Ciò è estremamente importante per gli sviluppatori in quanto semplifica il processo di spostamento dei contratti intelligenti esistenti da altre blockchain come Ethereum a Sei.

Tecnicamente, i nodi Sei importeranno automaticamente Geth, l'implementazione Go della macchina virtuale Ethereum. Geth verrà utilizzato per elaborare le transazioni Ethereum e tutti gli aggiornamenti risultanti (inclusi aggiornamenti di stato o chiamate a contratti non correlati a EVM) passeranno attraverso un'interfaccia speciale creata da Sei per EVM.

2. Parallelizzazione ottimistica:

Consente alla blockchain di supportare la parallelizzazione senza la necessità che gli sviluppatori definiscano alcuna dipendenza. Ciò significa che tutte le transazioni possono essere eseguite in parallelo e quando sorgono conflitti (ad esempio, transazioni che toccano lo stesso stato), la catena traccerà le parti di archiviazione toccate da ciascuna transazione e rieseguirà queste transazioni in ordine. Questo processo continuerà in modo ricorsivo finché tutti i conflitti irrisolti non saranno risolti. Poiché le transazioni vengono ordinate all'interno di un blocco, questo processo è deterministico e semplifica il flusso di lavoro dello sviluppatore mantenendo il parallelismo a livello di catena.

3. SeiDB:

Introdurrà una nuova struttura dati chiamata SeiDB per ottimizzare il livello di archiviazione della piattaforma. L'obiettivo principale di SeiDB è prevenire il rigonfiamento dello stato, il problema della rete che diventa pesante di dati e semplificare il processo di sincronizzazione dello stato per i nuovi nodi. Questo progetto mira a migliorare le prestazioni complessive e la scalabilità della blockchain Sei.

Sei V2 raggiunge questo obiettivo trasformando il tradizionale albero IAVL in un sistema a doppia componente: archiviazione statale e impegno statale. Questa modifica riduce significativamente la latenza e l'utilizzo del disco e Sei V2 prevede inoltre di passare all'utilizzo di PebbleDB per migliorare le prestazioni di lettura-scrittura per l'accesso multi-thread.

Dal punto di vista delle prestazioni, Sei V2 offrirà un throughput di 28.300 transazioni batch al secondo, insieme a un tempo di blocco di 390 millisecondi e una finalità di 390 millisecondi. Ciò consente a Sei di supportare più utenti, fornire una migliore esperienza di interazione e offrire costi di transazione per transazione più economici rispetto alle blockchain esistenti.

Il principale progresso dell'aggiornamento di Sei V2 è attualmente in fase di completamento del codice. Una volta completata la revisione, questo aggiornamento verrà rilasciato nella testnet pubblica nel primo trimestre del 2024 e distribuito nella rete principale nella prima metà del 2024.

Neon

Neon EVM sfrutta le capacità della blockchain di Solana per fornire un ambiente efficiente per le dApp di Ethereum. Funziona come un contratto intelligente all'interno di Solana, consentendo agli sviluppatori di distribuire dApp Ethereum con modifiche minime o nulle al codice e di beneficiare delle funzionalità avanzate di Solana. L'architettura e le operazioni di Neon EVM si concentrano su sicurezza, decentralizzazione e sostenibilità, offrendo agli sviluppatori di Ethereum una transizione senza soluzione di continuità all'ambiente Solana. Sfruttando i vantaggi delle tariffe basse e dell'elevata velocità delle transazioni di Solana, consente l'esecuzione parallela delle transazioni, un throughput elevato e costi ridotti. I componenti chiave dell'ecosistema Neon EVM includono:

  1. Programma EVM al neon:

È un EVM compilato nel bytecode di Berkeley Packet Filter, in esecuzione su Solana. Elabora transazioni simili a Ethereum (transazioni Neon) su Solana, seguendo le regole di Ethereum. Neon EVM è configurato tramite un account EVM multi-firma decentralizzato, con i partecipanti in grado di modificare il codice Neon EVM e impostare i parametri.

Il processo di gestione delle transazioni di Neon EVM prevede diversi passaggi chiave. In primo luogo, gli utenti avviano transazioni simili a Ethereum (N-tx) tramite portafogli compatibili con Ethereum. Queste transazioni vengono incapsulate nelle transazioni Solana (S-tx) tramite Neon Proxy e quindi passate al programma Neon EVM ospitato su Solana. Il programma Neon EVM decapsula le transazioni, verifica le firme degli utenti, carica lo stato EVM (compresi i dati dell'account e il codice del contratto intelligente), esegue la transazione nell'ambiente Solana BPF (Berkeley Packet Filter) e aggiorna lo stato di Solana per riflettere il nuovo Neon EVM stato.

2. Neon Proxy: consente il porting delle dApp Ethereum su Neon con una riconfigurazione minima. Neon Proxy confeziona le transazioni EVM in transazioni Solana, offerte come soluzione containerizzata per facilità d'uso. Gli operatori che utilizzano server Neon Proxy facilitano l'esecuzione di transazioni simili a Ethereum su Solana, accettando token NEON come tariffe del gas e altri pagamenti all'interno dell'ecosistema Solana.

3. Neon DAO: il DAO fornisce servizi di custodia per la Neon Foundation e guida la ricerca e lo sviluppo futuri. Funziona come una serie di contratti su Solana, fornendo un livello di governance per controllare le funzioni di Neon EVM. I possessori di token NEON possono partecipare alle attività DAO, inclusa la proposta e il voto sulle decisioni.

4. Token NEON: questo token di utilità ha due scopi principali: pagare le tariffe del gas e partecipare alla governance attraverso il DAO.

5. Integrazioni e strumenti: Neon EVM supporta varie integrazioni e strumenti per lo sviluppo e l'analisi. Questi includono block explorer come NeonScan, wrapper ERC-20 SPL per trasferimenti di token, NeonPass per il trasferimento di token ERC-20 tra Solana e Neon EVM, NeonFaucet per token di prova e compatibilità con portafogli compatibili con EVM come MetaMask.


Eclisse

Eclipse è una soluzione Layer 2 per Ethereum che accelera significativamente l'elaborazione delle transazioni sfruttando la Solana Virtual Machine (SVM). Progettato per velocità e scalabilità, Eclipse adotta un'architettura rollup modulare e integra tecnologie chiave come il regolamento di Ethereum, i contratti intelligenti SVM, la disponibilità dei dati di Celestia e la sicurezza RISC Zero.

Nello specifico, Eclipse Mainnet combina i migliori componenti dello stack modulare:

  • Livello di insediamento – Ethereum: Eclipse utilizza Ethereum come livello di insediamento. A questo livello, le transazioni vengono finalizzate e protette. Utilizzare Ethereum significa non solo sfruttare la sua solida sicurezza e liquidità, ma anche utilizzare ETH come token del gas per pagare le commissioni di transazione. Questa configurazione consente a Eclipse di ereditare le potenti funzionalità di sicurezza di Ethereum.

  • Livello di esecuzione — SVM: per l'esecuzione del contratto intelligente, Eclipse utilizza SVM. Ciò contrasta con l’elaborazione delle transazioni sequenziali dell’EVM, poiché SVM può gestire l’elaborazione delle transazioni parallele. La sua funzionalità di runtime Sealevel consente l'elaborazione parallela di transazioni che non coinvolgono stati sovrapposti, consentendo a Eclipse di scalare orizzontalmente e aumentare il throughput.

  • Disponibilità dei dati — Celestia: per garantire una disponibilità dei dati tempestiva e verificabile, Eclipse adotta Celestia. Celestia fornisce una piattaforma scalabile e sicura per la pubblicazione dei dati, supportando l'elevato throughput di Eclipse.

  • Prove di frode - RISC Zero: Eclipse integra RISC Zero per prove di frode a conoscenza zero, eliminando la necessità di serializzazione dello stato intermedio, migliorando così l'efficienza e la sicurezza del sistema.

L’obiettivo progettuale di Eclipse è fornire una soluzione Layer 2 realmente scalabile e generica per Ethereum. Mira ad affrontare le limitazioni e il conseguente isolamento e complessità portati da specifici rollup di applicazioni, che potrebbero peggiorare l'esperienza degli utenti e degli sviluppatori. Attraverso il suo sistema di rollup modulare e componenti tecnologici integrati, Eclipse offre un'opzione interessante per creare dApp scalabili e ad alte prestazioni su Ethereum.

Lumio

Lumio è una soluzione Layer 2 sviluppata da Pontem Network, progettata per affrontare le sfide di scalabilità di Ethereum e portare un'esperienza simile a Web2 su Web3. Si distingue come un rollup unico nello spazio blockchain perché supporta sia EVM che Move VM utilizzati da Aptos. Questa doppia compatibilità consente a Lumio di elaborare transazioni su Aptos stabilendosi su Ethereum, fornendo una soluzione versatile ed efficiente per sviluppatori e utenti di dApp. Le sue caratteristiche principali includono:

  1. Compatibilità con la doppia macchina virtuale: Lumio supporta in modo univoco sia EVM che Move VM di Aptos. Questa doppia compatibilità consente a Lumio di integrare perfettamente le funzionalità di Ethereum e Aptos, migliorando la flessibilità e l'efficienza nello sviluppo e nell'esecuzione delle dApp.

  2. Elevata produttività e bassa latenza: sfruttando catene ad alte prestazioni come Aptos per l'ordinazione delle transazioni, Lumio migliora significativamente la larghezza di banda delle transazioni. Questa integrazione garantisce che Lumio possa gestire in modo efficiente un grande volume di transazioni mantenendo le caratteristiche di sicurezza e liquidità di Ethereum.

  3. Tecnologia di rollup ottimista: Lumio utilizza lo stack OP open source e adotta la tecnologia di rollup ottimistica. I rollup ottimistici sono noti per la loro efficiente elaborazione delle transazioni e costi inferiori, adatti per scalare applicazioni basate su Ethereum.

  4. Modello economico flessibile per le tariffe del gas: Lumio introduce un modello economico per le tariffe del gas incentrato sull'applicazione. Questo modello consente agli sviluppatori di app di trarre vantaggio direttamente dall’utilizzo della rete, incentivando potenzialmente lo sviluppo di dApp più innovative e facili da usare.

  5. Interoperabilità e integrazione: la capacità di Lumio di elaborare transazioni su Aptos e stabilirsi su Ethereum dimostra un alto grado di interoperabilità tra diversi ecosistemi blockchain. Questa funzionalità consente agli sviluppatori di sfruttare appieno i punti di forza sia di Ethereum che di Aptos nelle loro applicazioni.

  6. Equilibrio tra sicurezza e scalabilità: la combinazione della solida sicurezza di Ethereum e della scalabilità di Aptos offre agli sviluppatori una soluzione interessante per creare dApp sicure e ad alte prestazioni. L’architettura di Lumio è progettata per bilanciare efficacemente questi due aspetti chiave.

Lumio è attualmente in una fase di test chiusa, con l'intenzione di distribuirlo gradualmente ad utenti selezionati. Questo approccio consente test completi e miglioramenti alla piattaforma in base al feedback degli utenti, garantendo una piattaforma solida e facile da usare quando rilasciata su un livello più ampio.

Altri progetti paralleli nel settore

Solana

La tecnologia Sealevel di Solana è un componente chiave della sua architettura blockchain, progettata per migliorare le prestazioni dei contratti intelligenti attraverso la tecnologia di elaborazione parallela. Questo approccio differisce in modo significativo dall’elaborazione a thread singolo di altre piattaforme blockchain, come il runtime basato su WASM di EVM e EOS, che gestiscono un contratto alla volta e modificano lo stato della blockchain in sequenza.

Sealevel consente al runtime Solana di elaborare decine di migliaia di contratti in parallelo, utilizzando tutti i core a disposizione dei validatori. Questa capacità di elaborazione parallela è possibile perché le transazioni Solana descrivono esplicitamente tutti gli stati che verranno letti o scritti durante l'esecuzione, consentendo l'esecuzione simultanea di transazioni non sovrapposte e di transazioni che leggono solo lo stesso stato.

La funzionalità principale di Sealevel si basa sull'architettura unica di Solana, inclusi componenti come il database degli account Cloudbreak e il meccanismo di consenso Proof of History (PoH). Cloudbreak mappa le chiavi pubbliche sui conti, con i conti che mantengono saldi e dati, mentre i programmi (codice senza stato) gestiscono le transizioni di stato di questi conti.

Le transazioni in Solana specificano un vettore di istruzioni, ciascuna istruzione contenente un programma, istruzioni di programma e un elenco di conti che la transazione desidera leggere e scrivere. Questa interfaccia si ispira alle interfacce di basso livello del sistema operativo ai dispositivi, consentendo alla SVM di ordinare milioni di transazioni in sospeso e pianificare tutte le transazioni non sovrapposte per l'elaborazione parallela. Inoltre, Sealevel può ordinare tutte le istruzioni per ID programma ed eseguire lo stesso programma simultaneamente su tutti gli account, un processo simile alle ottimizzazioni SIMD (Single Instruction, Multiple Data) utilizzate nelle GPU.

Sealevel in Solana offre numerosi vantaggi, tra cui maggiore scalabilità, latenza ridotta, efficienza dei costi e maggiore sicurezza. Consente alla rete Solana di gestire un numero significativamente più elevato di transazioni al secondo, fornire una finalità di transazione quasi istantanea e ridurre le commissioni di transazione. Anche durante l’elaborazione parallela, la sicurezza del contratto intelligente viene mantenuta attraverso i robusti protocolli di sicurezza di Solana.

Ottenendo un'elaborazione parallela ad alta velocità e una maggiore velocità di transazione, Sealevel rende Solana una potente piattaforma per applicazioni decentralizzate.

Sui

Le caratteristiche della tecnologia parallela di Sui la rendono una piattaforma blockchain altamente efficiente e ad alto rendimento, adatta a varie applicazioni e casi d'uso Web3. Queste caratteristiche significative lavorano insieme per migliorare l'efficienza e il rendimento della rete:

  1. Componenti Narwhal e Bullshark: questi due componenti sono cruciali per il meccanismo di consenso di Sui. Narwhal, agendo come mempool, è responsabile dell'accelerazione dell'elaborazione delle transazioni e del miglioramento dell'efficienza della rete, garantendo la disponibilità dei dati quando inviati a Bullshark (il motore di consenso). Bullshark ha il compito di ordinare i dati forniti da Narwhal, utilizzando i meccanismi di tolleranza agli errori bizantini per convalidare le transazioni e distribuirle attraverso la rete.

  2. Modello di proprietà delle risorse: nella rete Sui, le risorse possono essere di proprietà di un singolo proprietario o condivise tra più proprietari. Gli asset posseduti da un singolo proprietario possono muoversi rapidamente e liberamente all'interno della rete, mentre gli asset condivisi richiedono la convalida attraverso il sistema di consenso. Questo sistema di proprietà delle risorse non solo migliora l'efficienza dell'elaborazione delle transazioni, ma consente anche agli sviluppatori di creare vari tipi di risorse per le loro applicazioni.

  3. Elaborazione distribuita: il design di Sui consente alla rete di scalare le risorse in base alle necessità, funzionando in modo simile ai servizi cloud. Ciò significa che con l’aumento della domanda per la rete Sui, i validatori della rete possono aggiungere più potenza di elaborazione, mantenendo la stabilità della rete e mantenendo basse le tariffe del gas.

  4. Linguaggio di programmazione Sui Move: Sui Move è il linguaggio di programmazione nativo di Sui, progettato specificamente per la creazione di applicazioni ad alte prestazioni, sicure e ricche di funzionalità. Basato sul linguaggio Move, mira a colmare le carenze dei linguaggi di programmazione dei contratti intelligenti, migliorando la sicurezza dei contratti intelligenti e l’efficienza dei programmatori.

  5. Blocchi di transazione programmabili (PTB): i PTB in Sui sono sequenze di transazioni complesse e componibili che possono accedere a qualsiasi funzione Move pubblica sulla catena in tutti i contratti intelligenti. Questo design offre forti garanzie per applicazioni orientate ai pagamenti o alla finanza.

  6. Scalabilità orizzontale: la scalabilità di Sui si estende oltre la semplice elaborazione delle transazioni per includere l'archiviazione. Ciò consente agli sviluppatori di definire asset complessi con attributi ricchi e di archiviarli direttamente sulla catena, senza ricorrere allo stoccaggio indiretto fuori catena per risparmiare sui costi del gas.

Carburante

Nella rete Fuel, “l’esecuzione parallela delle transazioni” è una tecnologia chiave che consente alla rete di elaborare in modo efficiente un grande volume di transazioni. Questa esecuzione parallela viene ottenuta fondamentalmente attraverso l'uso di rigorose liste di accesso statali basate sul modello UTXO (Unspent Transaction Output), un elemento base in Bitcoin e molte altre criptovalute.

Fuel introduce la capacità di esecuzione di transazioni parallele all'interno del modello UTXO. Utilizzando rigorosi elenchi di accesso statali, Fuel può elaborare le transazioni in parallelo, sfruttando così più thread e core della CPU che sono generalmente inattivi nei sistemi blockchain a thread singolo. Di conseguenza, Fuel può offrire maggiore potenza computazionale, accesso statale e throughput delle transazioni rispetto alle blockchain a thread singolo.

Fuel risolve i problemi di concorrenza nel modello UTXO. In Fuel, gli utenti non firmano direttamente gli UTXO, ma firmano invece gli ID del contratto, indicando la loro intenzione di interagire con un contratto. Pertanto, gli utenti non alterano direttamente lo stato, portando al consumo di UTXO. Invece, i produttori di blocchi sono responsabili dell’elaborazione del modo in cui le varie transazioni in un blocco influenzano lo stato generale, che a sua volta influisce sugli UTXO del contratto. Gli UTXO contrattuali consumati creano nuovi UTXO con le stesse caratteristiche principali ma storage e saldi aggiornati.

Per facilitare l'esecuzione delle transazioni parallele, Fuel ha sviluppato una macchina virtuale specifica: FuelVM. Il design di FuelVM si concentra sulla riduzione degli sprechi di elaborazione riscontrabili nelle tradizionali architetture di macchine virtuali blockchain, offrendo allo stesso tempo agli sviluppatori un maggiore spazio di progettazione potenziale. Incorpora lezioni apprese e miglioramenti da anni nell'ecosistema Ethereum, miglioramenti che non è stato possibile implementare in Ethereum a causa della necessità di compatibilità con le versioni precedenti.

Appartamenti

La blockchain di Aptos utilizza un motore di esecuzione parallela noto come Block-STM (Software Transactional Memory) per migliorare le sue capacità di elaborazione delle transazioni. Questa tecnologia consente ad Aptos di eseguire transazioni in un ordine predeterminato all'interno di ciascun blocco e di allocare le transazioni a diversi thread del processore durante l'esecuzione. L'idea centrale di questo metodo è registrare le posizioni di memoria modificate dalle transazioni eseguendo tutte le transazioni contemporaneamente. Dopo che tutti i risultati della transazione sono stati verificati, se si scopre che una transazione ha avuto accesso a una posizione di memoria modificata da una transazione precedente, tale transazione verrà invalidata. La transazione interrotta viene quindi rieseguita e questo processo viene ripetuto fino al completamento di tutte le transazioni.

A differenza di altri motori di esecuzione parallela, Block-STM mantiene l'atomicità delle transazioni senza la necessità di conoscere in anticipo i dati da leggere/scrivere. Ciò rende più semplice per gli sviluppatori creare applicazioni altamente parallelizzate. Block-STM supporta un'atomicità più ricca rispetto ad altri ambienti di esecuzione parallela, che spesso richiedono la suddivisione delle operazioni in più transazioni (interruzione dell'atomicità logica). Riducendo la latenza e aumentando l'efficienza dei costi, Block-STM migliora l'esperienza dell'utente.

Inoltre, Aptos utilizza un meccanismo di consenso noto come AptosBFTv4, un protocollo BFT blockchain di produzione corretto rigorosamente dimostrato. Questo protocollo ottimizza la reattività, in grado di fornire bassa latenza e throughput elevato, sfruttando appieno i vantaggi della rete sottostante. AptosBFTv4 utilizza un design della pipeline simile ai processori, garantendo il massimo utilizzo delle risorse in ogni fase. Pertanto, un singolo nodo potrebbe partecipare a molti aspetti del consenso, dalla selezione delle transazioni da includere in un blocco, all'esecuzione di un altro insieme di transazioni, alla scrittura dell'output di un altro insieme di transazioni nell'archivio e alla certificazione dell'output di un altro insieme di transazioni. . Ciò significa che la produttività è limitata solo dalla fase più lenta, piuttosto che dalla combinazione sequenziale di tutte le fasi.

Sfide

Difficoltà tecniche

In generale, la sfida principale legata all’adozione di approcci paralleli o concorrenti è la questione delle corse dei dati, dei conflitti di lettura-scrittura o dei rischi legati ai dati. Tutti questi termini descrivono lo stesso problema: thread o operazioni diversi che tentano di leggere e modificare gli stessi dati contemporaneamente. L’implementazione di un sistema parallelo efficiente e affidabile richiede la risoluzione di problemi tecnici complessi, in particolare la garanzia di un’esecuzione prevedibile e senza conflitti di operazioni parallele su migliaia di nodi decentralizzati. Inoltre, la sfida della compatibilità tecnica risiede nel garantire che i nuovi metodi di elaborazione parallela siano compatibili con gli standard EVM esistenti e il codice del contratto intelligente.

Adattabilità dell'ecosistema

Gli sviluppatori potrebbero aver bisogno di apprendere nuovi strumenti e metodologie per massimizzare i vantaggi degli EVM paralleli. Inoltre, gli utenti potrebbero dover adattarsi a potenziali nuovi modelli di interazione e caratteristiche prestazionali. Ciò richiede un certo livello di comprensione e adattabilità alle nuove tecnologie da parte di tutti i partecipanti all’ecosistema, inclusi sviluppatori, utenti e fornitori di servizi. Inoltre, un robusto ecosistema blockchain si basa non solo sulle sue caratteristiche tecniche ma anche su un ampio supporto per gli sviluppatori e su una ricca gamma di applicazioni. Le nuove tecnologie come gli EVM paralleli devono stabilire effetti di rete sufficienti per attirare la partecipazione di sviluppatori e utenti per il successo sul mercato.

Maggiore complessità del sistema

Gli EVM paralleli richiedono una comunicazione di rete efficiente per supportare la sincronizzazione dei dati su più nodi. La latenza della rete o gli errori di sincronizzazione possono portare a un'elaborazione delle transazioni incoerente, aumentando la complessità della progettazione del sistema. Per sfruttare in modo efficace i vantaggi dell'elaborazione parallela, il sistema deve gestire e allocare le risorse di elaborazione in modo più intelligente. Ciò potrebbe comportare la distribuzione dinamica del carico tra diversi nodi e l’ottimizzazione dell’uso della memoria e dello storage. Lo sviluppo di contratti intelligenti e applicazioni che supportano l’elaborazione parallela è più complesso rispetto ai tradizionali modelli di esecuzione sequenziale. Gli sviluppatori devono considerare le caratteristiche e i limiti dell'esecuzione parallela, che possono rendere più impegnativo il processo di codifica e debug. In un ambiente di esecuzione parallela, le vulnerabilità della sicurezza potrebbero essere amplificate, poiché un problema di sicurezza potrebbe influenzare più transazioni eseguite in parallelo. Pertanto, sono necessari controlli di sicurezza e processi di test più rigorosi.

Prospettive future

Gli EVM paralleli dimostrano un enorme potenziale nel migliorare la scalabilità e l’efficienza delle blockchain. Gli EVM paralleli menzionati rappresentano un cambiamento significativo nella tecnologia blockchain, con l'obiettivo di migliorare le capacità di elaborazione delle transazioni eseguendo transazioni simultaneamente su più processori. Questo approccio si libera dal tradizionale metodo di elaborazione delle transazioni sequenziali, consentendo un throughput più elevato e una latenza inferiore, che sono cruciali per la scalabilità e l’efficienza delle reti blockchain.

Il successo dell’implementazione di EVM paralleli dipende in gran parte dalla lungimiranza e dalle competenze degli sviluppatori, in particolare nella progettazione di contratti intelligenti e strutture dati. Questi elementi sono cruciali per determinare se le transazioni possono essere eseguite in parallelo. Gli sviluppatori devono prendere in considerazione l’elaborazione parallela fin dall’inizio del progetto, garantendo che i loro progetti facilitino il funzionamento indipendente e ininterrotto di diverse transazioni.

Gli EVM paralleli mantengono inoltre la compatibilità con l'ecosistema Ethereum, che è vitale per gli sviluppatori e gli utenti già coinvolti in applicazioni basate su Ethereum. Questa compatibilità garantisce una transizione e un’integrazione fluide delle dApp esistenti, una sfida per sistemi come DAG, che spesso richiedono modifiche significative alle applicazioni esistenti.

Lo sviluppo di EVM paralleli è visto come un passo fondamentale per affrontare i limiti fondamentali della scalabilità della blockchain. Queste innovazioni sono promettenti per preparare le reti blockchain per il futuro, consentendo loro di tenere il passo con le crescenti richieste e diventando la pietra angolare della prossima generazione di infrastrutture Web3. Sebbene gli EVM paralleli offrano un potenziale immenso, la loro implementazione di successo richiede il superamento di sfide tecniche complesse e la garanzia di un’adozione diffusa nell’ecosistema.

Riferimenti

https://github.com/hsyodyssey/awesome-parallel-blockchain

https://www.techflowpost.com/article/detail_15290.html

https://amberlabs.substack.com/p/parallel-power-unlocked

Cos'è SVM - La macchina virtuale Solana - Blog sulle squadre

La Solana Virtual Machine, in breve SVM, è l'ambiente di esecuzione che elabora transazioni e...

squadre.so

MT Capitale

Trasformando le visioni in valore, diamo potere alla prossima generazione di innovazioni crittografiche.

La visione di MT Capital è quella di emergere come società di investimento leader a livello globale, focalizzata sul sostegno di iniziative tecnologiche in fase iniziale che generano un valore sostanziale. Non siamo solo investitori, siamo la forza trainante dei team fondatori. Riteniamo che il legame e la fiducia costruiti tra un fondo e le società in portafoglio siano essenziali per il successo reciproco.

Sito web: https://mt.capital

Twitter: https://twitter.com/MTCapital_US