un raport de performanță
Raportul „Cele mai rapide lanțuri” lansat de CoinGecko pe 17 mai arată că Solana este cea mai rapidă dintre blockchain-urile mari, cea mai mare medie zilnică de TPS reală ajungând la 1.054 (tranzacțiile de vot au fost eliminate), iar Sui este al doilea cel mai rapid Blockchain TPS real mediu zilnic ajunge la 854, BSC ocupă locul trei, dar TPS real realizat este mai puțin de jumătate din Sui.
După cum se poate observa din acest raport, Solana și Sui cu cele mai bune performanțe sunt ambele blockchain-uri non-compatibile cu EVM. de Ethereum Layer 2 este de numai 74, iar performanța blockchain-urilor non-compatibile cu EVM este de aproximativ 4 ori mai mare decât a blockchain-urilor compatibile EVM.
Acest articol va explora blocajele de performanță ale blockchain-urilor compatibile cu EVM și va dezvălui metodele de performanță ale Solana.
Blocajele de performanță ale blockchain-urilor compatibile cu EVM
În primul rând, generalizăm blockchain-ul EVM la blockchain-uri generale. În general, dacă blockchain dorește să îmbunătățească TPS, există mai multe metode, după cum urmează:
Îmbunătățiți performanța nodului: Îmbunătățiți performanța nodului prin stivuirea resurselor hardware Cerințele hardware ale nodului vor afecta gradul de descentralizare. nivel de echipament poate atinge, un grad mai mare de descentralizare Solana recomandă o configurație relativ mai mare de 32 de nuclee CPU, memorie de 128 G și lățime de bandă de rețea de 1 Gbps, care poate fi obținută numai cu echipamente de calitate profesională, iar gradul de descentralizare este mediu; ;
Îmbunătățirea protocoalelor de bază: inclusiv protocoalele de rețea, criptografia, stocarea etc. Îmbunătățirea protocoalelor de bază ale blockchain-ului nu modifică proprietățile blockchain-ului în sine și nici nu afectează regulile de funcționare ale blockchain-ului blockchain-ul, dar atenția tehnică subiacentă este scăzută și nu există progrese majore în domeniul actual de cercetare;
Extinderea blocurilor: creșterea dimensiunii blocurilor poate include mai multe tranzacții, crescând astfel debitul de tranzacție al blockchain-ului. De exemplu, Bitcoin Cash (BCH) a extins blocurile de la 1 MB la 8 MB și ulterior la 32 MB. Cu toate acestea, extinderea blocului va crește, de asemenea, întârzierea de propagare și va provoca amenințări la securitate, cum ar fi creșterea posibilității de furcături și atacuri DDoS;
Protocolul de consens: Protocolul de consens asigură că toate nodurile din blockchain ajung la un acord privind actualizarea statusului blockchain-ului. Este cea mai importantă poartă de securitate a blockchain-ului. Mecanismele de consens care au fost utilizate în blockchain includ PoW, PoS. PBFT etc. Pentru a satisface nevoile de scalabilitate, lanțurile publice de înaltă performanță îmbunătățesc, în general, protocolul de consens și îl combină cu propriile mecanisme speciale, cum ar fi mecanismul de consens bazat pe PoH al Solana și mecanismul de consens bazat pe avalanșă de la Avalanche;
Executarea tranzacțiilor: execuția tranzacțiilor se preocupă doar de numărul de tranzacții sau de sarcini de calcul procesate pe unitate de timp. Blockchain-urile, cum ar fi Ethereum, folosesc o metodă în serie pentru a executa tranzacții cu contracte inteligente în blocuri, blocajul de performanță al CPU este foarte evident. , limitând serios debitul blockchain-ului. În general, lanțurile publice de înaltă performanță vor adopta execuția paralelă, iar unele vor propune modele de limbaj care sunt mai propice paralelismului pentru a construi contracte inteligente, precum Sui Move.
Pentru blockchain-ul EVM, cea mai mare provocare constă în execuția tranzacțiilor din cauza limitării mașinii virtuale, care este mediul de execuție al tranzacțiilor. EVM are două probleme principale de performanță:
256 de biți: EVM este proiectat ca o mașină virtuală de 256 de biți pentru a facilita procesarea algoritmilor de hashing ai Ethereum, care vor produce în mod explicit ieșire pe 256 de biți. Cu toate acestea, computerul care rulează efectiv EVM trebuie să mapeze octeții de 256 de biți la arhitectura locală pentru a fi executat.
Lipsa unei biblioteci standard: nu există o bibliotecă standard în Solidity și trebuie să o implementați singur cu codul Solidity. Deși OpenZeppelin a îmbunătățit această situație într-o oarecare măsură, oferă o bibliotecă standard pentru implementarea Solidity (prin includerea codului în contract sau. sub formă de apel delegat Apelați contractul implementat), dar viteza de execuție a codului octet EVM este mult mai mică decât cea a bibliotecii standard precompilate.
Din perspectiva optimizării execuției, EVM are încă două deficiențe majore:
Dificultatea de a face analize statice: Execuția paralelă în blockchain înseamnă procesarea tranzacțiilor fără legătură în același timp, tratând tranzacțiile fără legătură ca evenimente care nu se afectează reciproc. Principala provocare în realizarea execuției paralele este de a determina care tranzacții sunt irelevante și care sunt independente. În prezent, unele lanțuri publice de înaltă performanță efectuează în avans analiza statică a tranzacțiilor. ;
Compilatorul JIT este imatur: Compilatorul JIT (Just In Time Compiler) este o metodă de optimizare folosită în mod obișnuit în mașinile virtuale moderne. Scopul principal al JIT este de a transforma execuția interpretării în execuție compilată. În timpul execuției, mașina virtuală compilează codul fierbinte în codul mașinii legat de platforma locală și realizează diferite niveluri de optimizare. Deși în prezent există proiecte EVM JIT, acestea sunt încă în stadiu experimental și nu sunt suficient de mature.
Prin urmare, în ceea ce privește selecția mașinilor virtuale, lanțurile publice de înaltă performanță folosesc mașini virtuale bazate pe WASM, eBPF bytecode sau Move bytecode, mai degrabă decât EVM. Solana, de exemplu, folosește propria sa mașină virtuală unică SVM și SBF de bytecode bazat pe eBPF.
Cele mai rapide lanțuri: Solana
Solana este renumită pentru mecanismul său PoH (Proof of History) și latența scăzută și debitul ridicat. Este unul dintre cei mai faimoși „ucigași Ethereum”.
În esență, PoH este un algoritm hash simplu, similar cu funcția de întârziere verificabilă (VDF). Solana este implementată utilizând o funcție hash rezistentă la preimagine (SHA-256) care rulează continuu, folosind ieșirea unei iterații ca intrare pentru următoarea. Acest calcul este rulat pe un singur nucleu per validator.
În timp ce generarea secvenței este secvențială și cu un singur fir, verificarea poate avea loc în paralel, permițând verificarea eficientă pe sistemele multi-core. Deși există o limită superioară a vitezei de hashing, îmbunătățirile hardware pot oferi câștiguri suplimentare de performanță.
Procesul de consens Solana
Mecanismul PoH servește ca o sursă de timp de încredere și fără încredere, creând o înregistrare verificabilă și ordonată a evenimentelor din rețea. Cronometrarea bazată pe PoH permite rețelei Solana să rotească liderii într-un mod programat și transparent. Această rotație are loc la intervale fixe de 4 sloturi, fiecare slot fiind setat în prezent la 400 de milisecunde. Acest mecanism de rotație a liderilor asigură că fiecare validator participant are o șansă corectă de a deveni lider și este un mecanism important pentru rețeaua Solana pentru a menține descentralizarea și securitatea, împiedicând orice validator să câștige prea multă putere în rețea.
În fiecare perioadă de slot, liderul propune un nou bloc care conține tranzacțiile primite de la utilizatori. Liderul validează aceste tranzacții, le împachetează într-un bloc și apoi difuzează blocul către validatorii rămași ai rețelei. Acest proces de propunere și difuzare a blocurilor se numește producție de bloc, iar alți validatori din rețea trebuie să voteze valabilitatea blocului. Validatorii verifică conținutul blocurilor pentru a se asigura că tranzacțiile sunt valide și respectă regulile rețelei. Un bloc este considerat confirmat dacă primește un vot majoritar din ponderea mizei. Acest proces de confirmare este esențial pentru menținerea securității rețelei Solana și prevenirea cheltuielilor duble.
Când perioada de timp a liderului actual se termină, rețeaua nu se va opri sau aștepta confirmarea blocului, ci va trece la următoarea perioadă de timp, oferind liderilor ulterioare posibilitatea de a produce blocuri, iar întregul proces începe de la capăt. Această abordare asigură că rețeaua Solana menține un randament ridicat și rămâne rezistentă, chiar dacă unii validatori se confruntă cu probleme tehnice sau sunt offline.
Solana Performance Tao
Deoarece rețeaua Solana confirmă liderii din timp, Solana nu necesită un mempool public pentru a deține tranzacțiile utilizatorilor. Atunci când un utilizator trimite o tranzacție, serverul RPC o convertește într-un pachet QUIC și îl transmite imediat validatorului liderului. Această abordare se numește Gulf Stream și permite tranziții rapide ale liderului și pre-execuția tranzacțiilor, reducând încărcarea de memorie a altor validatori.
Datele de bloc ale Solana sunt aduse în spațiul kernel și apoi trecute la GPU pentru verificarea semnăturii paralele Odată ce semnătura este verificată pe GPU, datele vor fi transmise procesorului pentru execuția tranzacției și, în final, vor fi returnate în spațiul kernelului pentru. persistența datelor. Acest proces de procesare multiplă de împărțire a datelor în diferite componente hardware, numit tehnologie pipeline, poate maximiza utilizarea hardware-ului și poate accelera verificarea și transmiterea blocurilor.
Deoarece tranzacțiile Solana specifică în mod explicit ce conturi sunt accesate, planificatorul de tranzacții al Solana poate folosi mecanismele de blocare citire-scriere pentru a executa tranzacții în paralel. Fiecare thread al planificatorului de tranzacții Solana are propria coadă gestionată, procesează tranzacțiile secvenţial și independent, încearcă să blocheze (blocarea citire-scriere) contul tranzacției și să execute tranzacția Tranzacțiile cu conflicte de cont vor fi executate ulterior. Această tehnologie de execuție paralelă cu mai multe fire se numește Sealevel.
Procesul de propagare a blocurilor de lider, împărțirea pachetelor QUIC (opțional folosind codarea de ștergere) în pachete mai mici și distribuirea acestora către validatori într-o structură ierarhică. Această tehnică se numește Turbină și reduce în principal utilizarea lățimii de bandă de către lider.
În timpul procesului de vot, validatorii folosesc un mecanism de consens pentru votul fork. Validatorii nu trebuie să aștepte ca voturile să continue cu producția de blocuri, în schimb, producătorii de blocuri monitorizează continuu noi voturi valide și le includ în blocul curent în timp real. Acest mecanism de consens se numește TowerBFT, iar prin fuzionarea voturilor furculite în timp real, Solana asigură un proces de consens mai eficient și mai eficient, îmbunătățind astfel performanța generală.
Pentru procesul de persistență al blocurilor, Solana a dezvoltat baza de date Cloudbreak pentru a maximiza eficiența SSD-ului prin partiționarea structurii datelor contului într-un mod specific pentru a beneficia de viteza operațiunilor secvențiale și folosind fișiere mapate în memorie.
Pentru a reduce sarcina pentru validatori, Solana transferă stocarea datelor de la validatori într-o rețea de noduri numită Archiver. Istoricul stării tranzacției este împărțit în mai multe fragmente și se utilizează tehnologia de codare de ștergere. Archiver este folosit pentru a stoca fragmente de stat, dar nu participă la consens.
Rezuma
Viziunea Solanei este să fie un blockchain al cărui software se scalează la viteza hardware-ului, astfel încât Solana profită din plin de toate capacitățile CPU, GPU și lățimea de bandă disponibile în computerele de astăzi pentru a maximiza performanța, cu o viteză maximă teoretică de 65.000 TPS.
Tocmai datorită performanței și scalabilității înalte ale Solana, Solana a devenit platforma blockchain preferată pentru procesarea tranzacțiilor de înaltă frecvență și a contractelor inteligente complexe, fie că este vorba de pista DePIN/AI de la începutul anului, fie de pista recentă Meme. Solana a demonstrat un potențial imens.
După lansarea ETF-ului Ethereum, Solana a devenit și criptomoneda cu cele mai multe apeluri pentru următorul ETF. Dar pe piața cripto, consensul este valoare, iar consensul Solanei poate deveni la fel de indestructibil ca Bitcoin și Ethereum.