Hvad er Solana Virtual Machine (SVM)?
Hjem
Artikler
Hvad er Solana Virtual Machine (SVM)?

Hvad er Solana Virtual Machine (SVM)?

Let øvet
Offentliggjort May 1, 2024Opdateret Jul 8, 2024
6m

Vigtigste budskaber

  • Solana Virtual Machine (SVM) er den underliggende softwareinfrastruktur, der gør det muligt for Solana blockchain at have en højere transaktionsdataoverførselshastighed og styre udførelsen af smart contracts.

  • I modsætning til Ethereum Virtual Machine (EVM), der fungerer på en sekventiel behandlingsmodel og bruger Solidity, bruger SVM parallel transaktionsbehandling og programmeringssproget Rust.

  • I denne artikel vil vi undersøge, hvad Solana Virtual Machine er, hvordan den fungerer, og nogle af dens forskelle fra Ethereum Virtual Machine (EVM).

Introduktion

Oprindeligt blev blockchains primært brugt som decentraliserede netværk til behandling af transaktioner. Virtuelle maskiner har imidlertid gjort det muligt at bygge smart contracts oven på blockchains og ændre dem til grundlæggende lag til en lang række use cases og applikationer. Ethereum Virtual Machine (EVM) og Solana Virtual Machine (SVM) er gode eksempler. I denne artikel vil vi undersøge, hvad SVM er, hvordan den fungerer, og hvordan den adskiller sig fra EVM.

Hvad er Solana Virtual Machine (SVM)?

SVM er udførelsesmiljøet for smart contractsSolana blockchain. Den kan behandle tusindvis af transaktioner pr. sekund (TPS), hvilket forbedrer netværkets skalerbarhed. 

Ethereum var den første til at skabe en virtuel maskine til blockchain, EVM, som siden er blevet standarden. EVM's arkitektur har inspireret flere blockchains, såsom BNB Smart Chain, Avalanche og Tron, som har udviklet systemer, der er forgrenede eller kompatible med EVM. Solana Virtual Machine har vist sig at være en formidabel konkurrent til den etablerede EVM. 

Hvordan fungerer Solana Virtual Machine?

Solana Virtual Machine (SVM) er som en kraftfuld computer, der kører på Solana blockchain og håndterer smart contracts oprettet af brugere. Vi kan dele SVM-arbejdsmekanismerne op i nogle få forskellige trin.

  1. Validatornoder. Solana har masser af valideringsnoder spredt globalt. Hver kører sin egen version af SVM, hvilket betyder, at de kan arbejde på forskellige opgaver uafhængigt af hinanden.

  2. Forberedelse af smart contracts. For at køre en smart contract oversætter SVM den først til et sprog, som noden kan forstå. Dette sikrer, at den pågældende smart contract udføres korrekt.

  3. Kørsel af smart contracts. Når den pågældende smart contract er i det rigtige format, udføres den. Den pågældende smart contract opdaterer nogle blockchain-data om den pågældende nodes version af den SVM, der kører den.

  4. Opnåelse af konsensus. Denne opdaterede version af blockchainen deles med alle de andre netværksnoder for at opnå konsensus.

Lad os forestille os, at en bruger bruger en decentraliseret applikation (DApp) bygget på Solana til at købe og sælge digital kunst. Når vedkommende køber et kunstværk, udføres en smart contract for at opdatere ejerskabsregistreringen på blockchainen. Denne smart contract køres gennem SVM på en af noderne, som kontrollerer reglerne, sørger for, at betalingen er legitim og opdaterer blockchain-dataene.

Parallel udførelse med SeaLevel

Et særligt træk ved SVM er dens evne til at håndtere mange smart contracts på samme tid. Det opnås gennem parallel transaktionsbehandling. I bund og grund udfører SVM flere smart contracts parallelt, hvilket forbedrer dataoverførselshastigheden og effektiviteten.

SeaLevel er en komponent i SVM, der adresserer de potentielle konflikter i parallel udførelse, når flere transaktioner påvirker den samme kontotilstand på samme tid. Hvis f.eks. to transaktioner – én tilføjer midler til en wallet og en anden hæver midler – udføres samtidigt, kan det føre til beregningsfejl, hvis det ikke administreres korrekt.

SeaLevel er designet til at håndtere afhængigheder mellem transaktioner eksplicit. Smart contracts på Solana specificerer, hvilke dele af blockchainens tilstand hver transaktion vil ændre. Dette gør det muligt for systemet at identificere transaktioner, der kan køre uafhængigt (påvirker forskellige dele af tilstanden) og dem, der er afhængige (påvirker den samme del af tilstanden). Afhængige transaktioner behandles i en sekventiel rækkefølge for at forhindre konflikter, hvilket sikrer, at hver transaktion udføres nøjagtigt uden at gå på kompromis med data og blockchainens samlede ydeevne.

SVM vs. EVM

Transaktionsbehandlingsmodel

SVM anvender en parallel behandlingsmodel, der gør det muligt at udføre flere transaktioner samtidigt, hvilket forbedrer dataoverførselshastigheden og reducerer ventetiden. Omvendt behandler EVM transaktioner sekventielt, hvilket potentielt kan føre til overbelastning i perioder med høj netværksbrug.

Programmeringssprog

SVM understøtter Rust, som er et sprog, der er kendt for sin effektivitet, og som er særligt velegnet til applikationer, der kræver høj ydeevne og sikkerhed. Omvendt bruger EVM Solidity, som er et sprog, der er designet specielt til udvikling af smart contracts.

Implementering og udførelse af smart contracts

Smart contracts på SVM udføres uafhængigt af hver validator, hvilket muliggør mere effektiv netværksdrift. I modsætning hertil kræver EVM, at alle noder når til enighed om resultatet af udførelsen af smart contracts, hvilket kan forsinke behandlingstiderne.

SVM's udfordringer

SVM står over for forskellige udfordringer. Et af de største tilbageslag er kompleksiteten ved at opretholde systemstabilitet og sikkerhed i et parallelt behandlingsmiljø. Selvom denne arkitektur er effektiv, kræver den yderligere koordinering for at forhindre konflikter og sikre integritet, når transaktioner, der påvirker de samme data, behandles samtidigt. 

Derudover præsenterer programmeringssproget Rust en stejlere indlæringskurve for nye blockchain-udviklere sammenlignet med Solidity og andre programmeringssprog, der bruges i blockchain-udvikling.

Sammenfatning

SVM er et udførelsesmiljø på Solana blockchain, der lægger vægt på effektivitet i transaktionsbehandling og udførelse af smart contracts. Den bruger parallel transaktionsbehandling og programmeringssproget Rust til at muliggøre højere transaktionsdataoverførselshastigheder og bedre skalerbarhed. SVM står over for visse udfordringer, såsom den stejle indlæringskurve for Rust-sproget og de iboende ulemper ved den parallelle udførelsesmodel. Alligevel lover SVM's integration med nye AI-teknologier en stigning i dens fremtidige brug og vedtagelse.

Yderligere læsning

Ansvarsfraskrivelse: Dette indhold præsenteres for dig "som det er" til generel information og uddannelsesmæssige formål uden erklæring eller garanti af nogen art. Det skal ikke opfattes som økonomisk, juridisk eller anden professionel rådgivning, og det er heller ikke hensigten at anbefale køb af et bestemt produkt eller en bestemt tjeneste. Du bør selv søge råd fra relevante, professionelle rådgivere. Hvis denne artikel er et bidrag fra en tredjepart, bør du bemærke, at dennes synspunkter udtrykkeligt tilhører denne tredjepartsbidragsyder og ikke nødvendigvis afspejler Binance Academys synspunkter. Læs vores fulde ansvarsfraskrivelse her for yderligere oplysninger. Priserne på digitale aktiver kan være volatile. Værdien af din investering kan gå op eller ned, og du får muligvis ikke det investerede beløb tilbage. Du er eneansvarlig for dine investeringsbeslutninger, og Binance Academy er ikke ansvarlig for eventuelle tab, du måtte lide. Dette materiale bør ikke anses for værende økonomisk, juridisk eller anden rådgivning. For yderligere oplysninger kan du læse vores vilkår for anvendelse og risikoadvarsel.