Vad är en Ethereum-nod och hur den fungerar

Vad är betydelsen av en Ethereum-nod inom blockkedjan, och hur interagerar den med andra?

Ethereum är faktiskt inte en kryptovaluta, utan ett decentraliserat P2P-nätverk baserat på ett offentligt och öppen källkodsdatorprotokoll. 

Dess inhemska kryptovaluta är Ether (ETH), även om den ofta kallas för hela nätverkets namn, vilket är Ethereum. 

P2P-nätverk, eller peer-to-peer-nätverk, består av peer-noder som kommunicerar med varandra via Internet. Det är således noderna som är de grundläggande beståndsdelarna i dessa nätverk. 

Därför är de grundläggande beståndsdelarna i Ethereum dess noder, som bildar P2P-nätverket, och uppenbarligen protokollet som de är baserade på. 

För att vara en del av Ethereum P2P-nätverket, och för att interagera med andra noder, måste en Ethereum-nod följa sitt grundläggande protokoll till punkt och pricka, vilket naturligtvis måste vara helt identiskt för alla noder, annars kommer den att uteslutas från nätverket sig. 

Driften av en Ethereum-nod

Ethereum-noder är datorer, eller servrar, anslutna till Internet och på vilka speciell programvara körs. 

Denna programvara i jargongen kallas en nätverksklient, och den är absolut nödvändig för att köra en nod. Det är just denna mjukvara som ansluter till de andra noderna i P2P-nätverket, och som måste följa Ethereum-protokollet till punkt och pricka. 

Det märkliga är att eftersom protokollet är offentligt och öppen källkod kan vem som helst skapa en nätverksklient för att köra en nod på Ethereum-nätverket. 

Det viktiga är att klienten följer alla regler i protokollet, för om den inte gör det kommer den inte att vara kompatibel med de andra noderna, vilket slutar med att på förhand uteslutas från själva nätverket. 

För närvarande finns det bara 4 klienter som används mest, för även om det finns många, används de flesta väldigt lite. 

Däremot måste man skilja på Consensus Clients och Execution Clients. 

Execution Clients är noderna i det så kallade "Execution Layer" (EL) av Ethereum, dvs. de som härrör från det tidigare Proof-of-Work (PoW)-baserade protokollet. 

Den överlägset mest använda exekveringsklienten är den historiska Geth, som har funnits länge och är den obestridda ledaren för nätverket baserat på det gamla protokollet. Detta följs, men med mycket lägre procentsatser, av Erigon, Nethermind och Besu. 

Sedan Ethereum-protokollet bytte till Proof-of-Stake (PoS) med sammanslagningen den 15 september, har det så kallade "Consensus Layer" (CL) lagts till, med olika klienter. 

När det gäller CL-kunder finns det mer mångfald, med Prysm på 42 %, Lighthouse på 36 % och Teku på 18 %. Därefter följer Nimbus med endast 3%. 

Alla dessa program är öppen källkod, fritt och fritt nedladdningsbara av alla. 

Vad nätverksnoder gör

Med tiden har nodernas funktion utvecklats. 

Inledningsvis gjorde de allt, det vill säga den enda befintliga programvaran på Ethereum-nätverket var noderna. 

Med andra ord: 

  • de säkrade och kontrollerade blockkedjan 
  • de bröt blocken med PoW 
  • de verifierade att alla block och transaktioner överensstämmer med protokollet
  • de utförde smarta kontrakt
  • de fungerade som plånböcker genom att möjliggöra sändning och mottagning av tokens. 

Men med tiden förlorade de en del funktionalitet. 

I synnerhet förlorade de funktionaliteten för att bryta block, eftersom det krävdes mer strömlinjeformad och snabbare programvara för att göra detta framgångsrikt. Således utvecklades ad hoc-mjukvara för brytning

Teoretiskt kan de fortfarande användas som plånböcker, men de är väldigt obekväma. Faktum är att nästan alla plånböcker som används allmänt inte är noder. 

Faktum är att en nod måste säkra och verifiera blockkedjan, vilket är en nästan 350 GB fil där alla transaktioner på Ethereum i historien har registrerats, vilket en nod måste kontrollera en efter en. 

Så med tiden har noder slutat göra huvudsakligen två saker: å ena sidan skyddar och verifierar de blockkedjan, eller transaktionsreskontra, och å andra sidan utför de instruktionerna i smarta kontrakt. 

Övergången till PoS

Smakämnen Sammanfoga, med flytten till PoS, har förändrat saker och ting. 

Faktum är att övergivandet av PoW eliminerade behovet av att bryta block, så Ethereum-gruvarbetare försvann helt enkelt eller flyttade till andra blockkedjor som fortfarande var baserade på PoW. 

Men när det inte längre var gruvarbetarna som skapade blocken med transaktioner som skulle läggas till blockkedjan, behövde annan programvara skapas för att validera blocken. 

Sådan programvara är de nya Consensus Layer-klienterna, nämligen Prysm, Lighthouse, Teku och Nimbus. 

Dessa CL-noder validerar block nu när gruvarbetarna inte längre gör det. 

PoS är dock baserat på staking, så CL-noder har även ETH-tokens som sätts i staking. 

Consensus Layer är baserat på en ny blockkedja, kallad Beacon Chain och baserad på PoS, på vilken ETH-tokens kan satsas på relevanta noder så att PoS kan göras. Det gamla exekveringsskiktet använder den gamla PoW-baserade blockkedjan, men inga fler nya block har lagts till, eftersom transaktioner nu bara registreras på den nya Beacon Chain. 

Konfigurera en Ethereum-nod

Driften av en nod är relativt enkel. Faktum är att när klienten väl har installerats behöver den helt enkelt lämnas ansluten till Internet. 

Installationen är dock ingen trivial sak. 

Först, när klienten är installerad måste den ladda ner hela blockkedjan och verifiera allt, transaktion för transaktion. Denna process visar sig vara särskilt lång. 

När det väl är installerat måste det också konfigureras så att det kan ansluta till andra noder, annars visar det sig vara effektivt uteslutet från P2P-nätverket. 

Det senare är en teknisk process som kräver ett minimum av expertis. Det lämpar sig alltså inte för dem som bara tar sina första steg inom detta område, inte minst för att det kräver IT- och systemkunskaper. 

Det är ännu mer komplicerat i fallet med en CL-nod, eftersom eftersom den måste skydda minst 32 ETH vid insättning gör det säkerhetsfrågan ännu mer relevant. 

Säkerhet

Säkerheten för en nod är avgörande för att den ska fungera korrekt, eftersom den har en inbyggd plånbok och i fallet med CL-noder håller den ETH i insats. 

Det enda stora problemet i händelse av ett intrång är eventuell stöld av pengar, för även om det skulle attackeras eller spräckas skulle hela nätverket inte påverkas. 

Eftersom de kan bli föremål för stöld av pengar är en hög skyddsnivå för de maskiner och nätverk som den körs på avgörande. 

En något mer komplicerad fråga är den om P2P-nätverkssäkerhet. 

Eftersom detta förlitar sig på sina egna noder, om många av dem skulle brytas, kan nätverket i sig få problem. Eventuell överträdelse av en enskild nod, eller ett begränsat antal noder, skapar inga större problem för nätverket, men om många kränks kan problemen också bli mycket allvarliga. 

Det är därför det skulle vara nödvändigt för flera klienter att användas hela tiden, för i händelse av att en har en bugg eller sårbarhet är det svårt för de andra klienterna att också ha dem. 

När det gäller Execution Layer är Geth nu så välbeprövad att det verkar osannolikt att ha några allvarliga problem. Trots det är det fortfarande användbart att det också finns andra klienter att använda i det hypotetiska fallet med ett problem i Geth. 

Däremot, när det gäller klienterna för Consensus Layer, är saken annorlunda, eftersom de faktiskt har varit i ett i bara några månader. 

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