Hva er en Ethereum-node og hvordan den fungerer

Hva er viktigheten av en Ethereum-node i blokkjeden, og hvordan samhandler den med andre?

Ethereum er faktisk ikke en kryptovaluta, men et desentralisert P2P-nettverk basert på en offentlig og åpen kildekode-dataprotokoll. 

Dens opprinnelige kryptovaluta er Ether (ETH), selv om den ofte kalles ved navnet på hele nettverket, som er Ethereum. 

P2P-nettverk, eller peer-to-peer-nettverk, består av peer-noder som kommuniserer med hverandre via Internett. Dermed er det nodene som er de grunnleggende komponentene i disse nettverkene. 

Derfor er de grunnleggende komponentene i Ethereum dens noder, som danner P2P-nettverket, og åpenbart protokollen de er basert på. 

For å være en del av Ethereum P2P-nettverket, og for å samhandle med andre noder, må en Ethereum-node overholde sin grunnleggende protokoll til punkt og prikke, som selvfølgelig må være helt identisk for alle noder, ellers vil den bli ekskludert fra nettverket seg selv. 

Driften av en Ethereum-node

Ethereum-noder er datamaskiner, eller servere, koblet til Internett og som spesialprogramvare kjører på. 

Denne programvaren i sjargongen kalles en nettverksklient, og den er helt avgjørende for å kjøre en node. Det er nettopp denne programvaren som kobles sammen med de andre nodene i P2P-nettverket, og som må følge punkt og prikke med Ethereum-protokollen. 

Det merkelige er at siden protokollen er offentlig og åpen kildekode, kan hvem som helst lage en nettverksklient for å kjøre en node på Ethereum-nettverket. 

Det viktige er at klienten overholder alle reglene i protokollen, for hvis den ikke gjør det, vil den ikke være kompatibel med de andre nodene, og ender opp med å bli ekskludert på forhånd fra selve nettverket. 

Foreløpig er det bare 4 klienter som er mest i bruk, for selv om det er mange, brukes de fleste svært lite. 

Imidlertid må det skilles mellom Consensus Clients og Execution Clients. 

Utførelsesklienter er nodene til det såkalte «Execution Layer» (EL) til Ethereum, dvs. de som er avledet fra den tidligere Proof-of-Work (PoW)-baserte protokollen. 

Den desidert mest brukte utførelsesklienten er den historiske Geth, som har eksistert lenge og er den ubestridte lederen av nettverket basert på den gamle protokollen. Dette følges, men med langt lavere prosenter, av Erigon, Nethermind og Besu. 

Siden Ethereum-protokollen byttet til Proof-of-Stake (PoS) med 15. september-sammenslåingen, har det såkalte "Consensus Layer" (CL) blitt lagt til, med forskjellige klienter. 

Når det gjelder CL-kunder, er det mer mangfold, med Prysm på 42 %, Lighthouse på 36 % og Teku på 18 %. Deretter følger Nimbus med kun 3 %. 

All denne programvaren er åpen kildekode, fritt og fritt nedlastbare av alle. 

Hva nettverksnoder gjør

Over tid har funksjonen til noder utviklet seg. 

Til å begynne med gjorde de alt, det vil si at den eneste eksisterende programvaren på Ethereum-nettverket var nodene. 

Med andre ord: 

  • de sikret og kontrollerte blokkjeden 
  • de utvunnet blokkene med PoW 
  • de bekreftet at alle blokker og transaksjoner samsvarer med protokollen
  • de utførte smarte kontrakter
  • de fungerte som lommebøker ved å muliggjøre sending og mottak av tokens. 

Men over tid mistet de noe funksjonalitet. 

Spesielt mistet de funksjonaliteten til gruveblokker, fordi mer strømlinjeformet og raskere programvare var nødvendig for å gjøre dette vellykket. Dermed ble ad hoc-programvare utviklet for gruvedrift

Teoretisk sett kan de fortsatt brukes som lommebøker, men de er veldig upraktiske. Faktisk er nesten alle lommebøker som er mye i bruk nå ikke noder. 

Faktum er at en node må sikre og verifisere blokkjeden, som er en nesten 350 GB fil hvor alle transaksjonene på Ethereum i historien er registrert, som en node må sjekke én etter én. 

Så over tid har noder endt opp med å gjøre hovedsakelig to ting: på den ene siden vokter og verifiserer de blokkjeden, eller transaksjonsboken, og på den annen side utfører de instruksjonene i smarte kontrakter. 

Skiftet til PoS

De Flett, med overgangen til PoS, har endret ting. 

Faktisk eliminerte oppgivelsen av PoW behovet for å utvinne blokker, så Ethereum-gruvearbeidere forsvant rett og slett, eller flyttet til andre blokkkjeder som fortsatt er basert på PoW. 

Men da det ikke lenger var gruvearbeiderne som laget blokkene med transaksjoner som skulle legges til blokkjeden, måtte det lages annen programvare for å validere blokkene. 

Slik programvare er de nye Consensus Layer-klientene, nemlig spesielt Prysm, Lighthouse, Teku og Nimbus. 

Disse CL-nodene validerer blokker nå som gruvearbeiderne ikke lenger gjør det. 

Imidlertid er PoS basert på staking, så CL-noder har også ETH-tokens satt i staking. 

Consensus Layer er basert på en ny blokkjede, kalt Beacon Chain og basert på PoS, som ETH-tokens kan satses på på de relevante nodene slik at PoS kan gjøres. Det gamle utførelseslaget bruker den gamle PoW-baserte blokkjeden, men uten flere nye blokker lagt til, siden transaksjoner nå kun registreres på den nye Beacon-kjeden. 

Sette opp en Ethereum-node

Operasjonen til en node er relativt enkel. Faktisk, når klienten først er installert, må den fungere koblet til Internett. 

Installasjonen er imidlertid ikke en triviell sak. 

Først, når klienten er installert, må den laste ned hele blokkjeden og verifisere alt, transaksjon for transaksjon. Denne prosessen viser seg å være spesielt lang. 

Når den er installert, må den også konfigureres slik at den kan kobles til andre noder, ellers viser den seg å være effektivt ekskludert fra P2P-nettverket. 

Sistnevnte er en teknisk prosess som krever et minimum av kompetanse. Dermed passer det ikke for de som bare tar sine første steg på dette området, ikke minst fordi det krever IT- og systemkompetanse. 

Det er enda mer komplisert i tilfellet med en CL-node, fordi siden den må beskytte minst 32 ETH i staking, gjør det sikkerhetsproblemet enda mer relevant. 

Sikkerhet

Sikkerheten til en node er avgjørende for å la den fungere ordentlig, fordi den har en innebygd lommebok og i tilfelle CL-noder holder den ETH i staking. 

Det eneste store problemet i tilfelle et brudd er mulig tyveri av midler, for selv om det ble angrepet eller sprukket ville ikke hele nettverket bli berørt. 

Siden de kan være gjenstand for tyveri av midler, er et høyt beskyttelsesnivå for maskinene og nettverkene den kjører på avgjørende. 

Et noe mer komplisert problem er P2P-nettverkssikkerhet. 

Siden dette er avhengig av sine egne noder, kan nettverket selv få problemer hvis mange av dem brytes. Eventuelt brudd på en enkelt node, eller et begrenset antall noder, skaper ikke store problemer for nettverket, men dersom mange blir krenket kan problemene også bli svært alvorlige. 

Dette er grunnen til at det vil være nødvendig for flere klienter å bli brukt til enhver tid, fordi i tilfelle en har en feil eller sårbarhet, er det vanskelig for de andre klientene å ha dem også. 

Når det gjelder utførelseslaget, er Geth nå så godt utprøvd at det neppe ser ut til å ha noen alvorlige problemer. Likevel er det fortsatt nyttig at det også er andre klienter å bruke i det hypotetiske tilfellet av et problem i Geth. 

Når det gjelder klientene for Consensus Layer, er saken derimot annerledes, siden de faktisk har vært i en i bare noen få måneder. 

Kilde: https://en.cryptonomist.ch/2022/11/26/what-is-an-ethereum-node-and-how-it-works/