Definitionen av en nod kan variera beroende på sammanhanget. När det gäller dator- eller telekommunikationsnät kan noder antingen fungera som en omfördelningspunkt eller som en kommunikationsslutpunkt. Vanligtvis består en nod av en fysisk nätverksenhet, men det finns vissa fall där virtuella noder används.
En nätverksnod är en punkt där ett meddelande kan skapas, tas emot eller överföras. Nedan kommer vi att gå igenom de olika typerna av Bitcoin-noder: fullständiga noder, supernoder, miningnoder och SPV-klienter.
Bitcoin-noder
I sammanhanget blockkedjor – som är utformade som distribuerade system – är nätverket av datornoder det som gör det möjligt för Bitcoin att användas som en decentraliserad peer-to-peer (P2P) och digital valuta. Därför är den censurbeständig i sin design och kräver inte att en mellanhand ska finnas mellan användarna (oavsett hur avlägsna de är ifrån varandra i världen).
Därför är blockkedjenoder ansvariga för att fungera som en kommunikationspunkt som kan utföra olika funktioner. Varje dator eller enhet som ansluter till Bitcoin-gränssnittet kan betraktas som en nod i den meningen att de på något sätt kommunicerar med varandra. Dessa noder kan också överföra information om transaktioner och block inom det distribuerade nätverket av datorer, med hjälp av Bitcoins peer-to-peer-protokoll. Varje datornod definieras dock enligt dess specifika funktioner, så det finns olika typer av Bitcoin-noder.
Fullständiga noder
Fullständiga noder är de som verkligen stöder och ger säkerhet till Bitcoin och de är oumbärliga för nätverket. Dessa noder kan även kallas fullständigt validerande noder, eftersom de deltar i processen att verifiera transaktioner och block mot systemets konsensusregler. Dessutom kan fullständiga noder vidarebefordra nya transaktioner och block till blockkedjan.
Vanligtvis laddar en fullständig nod ned en kopia av Bitcoin-blockkedjan för varje block och transaktion, men detta är inte ett krav för att betraktas som en fullständig nod (en reducerad kopia av blockkedjan kan användas istället).
En fullständig Bitcoin-nod kan konfigureras genom olika programvaruimplementeringar, men den mest använda och populära är Bitcoin Core. Här är minimikraven för att köra en fullständig nod med Bitcoin Core:
Stationär eller bärbar dator med en senare version av Windows, Mac OS X eller Linux.
200 GB ledigt diskutrymme.
2 GB minne (RAM).
Internetanslutning med hög hastighet och med en uppladdningshastighet på minst 50 kB/s.
En obegränsad anslutning eller en anslutning med höga uppladdningsgränser. Fullständiga onlinenoder kan överstiga uppladdningsdata på 200 GB/månad och nedladdningsdata på 20 GB/månad. Du måste också kunna ladda ned cirka 200 GB när du först startar din fullständiga nod.
Din fullständiga nod bör köras minst 6 timmar om dagen. Det är ännu bättre om du kör den kontinuerligt (24/7).
Många volontärorganisationer och användare kör fullständiga Bitcoin-noder som ett sätt att hjälpa Bitcoin-ekosystemet. Fram till 2018 fanns det ungefär 9 700 offentliga noder som kördes på Bitcoin-nätverket. Observera att detta nummer endast inkluderar de offentliga noderna, vilka är de lyssnande Bitcoin-noderna som är synliga och tillgängliga (så kallade lyssningsnoder).
Förutom de offentliga noderna finns det många andra dolda noder som inte är synliga (icke-lyssnande noder). Dessa noder körs vanligtvis bakom en brandvägg, genom dolda protokoll som Tor, eller har helt enkelt konfigurerats för att inte lyssna efter anslutningar.
Lyssnande noder (supernoder)
En lyssningsnod eller supernod är i stort sett en fullständig nod som är offentligt synlig. Den kommunicerar och ger information till en annan nod som bestämmer sig för att upprätta en anslutning till den. Därför är en supernod i grunden en omfördelningspunkt som kan fungera både som en datakälla och som en kommunikationsbrygga.
En pålitlig supernod körs vanligtvis 24/7 och har flera etablerade anslutningar som överför blockkedjehistoriken och transaktionsdata till flera noder runt om i världen. Av denna anledning kommer en supernod förmodligen att kräva mer beräkningskraft och en bättre internetanslutning jämfört med en fullständig nod som är dold.
Miners noder
För att kunna utvinna Bitcoin i det nuvarande konkurrensscenariot måste du investera i specialiserad utvinningshårdvara och -program. Dessa utvinningsprogram (programvaran) är inte direkt relaterade till Bitcoin Core och körs parallellt för att försöka utvinna Bitcoin-block. En miner kan välja att arbeta ensam (solo-miner) eller i grupper (pool-miner).
Även om solo-miners fullständiga noder använder sin egen kopia av blockkedjan, arbetar poolminers tillsammans, där var och en bidrar med sina egna beräkningsresurser (hashkraft). I en utvinningspool krävs endast administratören för poolen för att köra en fullständig nod – som kan kallas för en poolminers fullständiga nod.
Lätta klienter eller SPV-klienter
Lätta klienter är även kända som Simplified Payment Verification (SPV)-klienter och de är de som använder Bitcoin-nätverket, men inte riktigt fungerar som en fullständig nod. Därför bidrar SPV-klienterna inte till nätverkets säkerhet, eftersom de inte behåller en kopia av blockkedjan och inte deltar i processen att verifiera och validera transaktioner.
Kort sagt är SPV en metod genom vilken en användare kan kontrollera om vissa transaktioner inkluderades eller inte i ett block, utan att behöva ladda ned alla blockdata. Därför förlitar sig SPV-klienter på informationen från fullständiga noder (supernoder). De lätta klienterna fungerar som kommunikationsslutpunkter och används av många kryptovalutaplånböcker.
Klient vs. utvinningsnoder
Det är viktigt att komma ihåg att det inte är samma sak att köra en fullständig nod som att köra en fullständig utvinningsnod. Även om miners måste investera i dyr utvinningshårdvara och programvara kan vem som helst köra en fullständig och validerande nod.
Innan de försöker utvinna ett block måste miners samla in väntande transaktioner som tidigare accepterades som giltiga av de fullständiga noderna. Därefter skapar miners ett kandidatblock (med en grupp transaktioner) och försöker utvinna det blocket. Om en miner lyckas hitta en giltig lösning för sitt kandidatblock sänder denne det till nätverket så att andra fullständiga noder kan verifiera blockets giltighet. Därför bestäms och säkras konsensusreglerna av det distribuerade nätverket av valideringsnoder och inte av miners.
Sammanfattningsvis
Bitcoin-noder kommunicerar med varandra via Bitcoins P2P-nätverksprotokoll och genom att göra detta garanterar de systemets integritet. En nod som missköter sig eller försöker sprida felaktig information känns snabbt igen av de ärliga noderna och kopplas bort från nätverket.
Trots att körningen av en fullständigt validerande nod inte ger ekonomiska belöningar, rekommenderas det starkt eftersom det ger användarna förtroende, säkerhet och integritet. Fullständiga noder säkerställer att reglerna följs. De skyddar blockkedjan mot attacker och bedrägerier (såsom dubbla utgifter). Dessutom behöver en fullständig nod inte lita på andra och det gör att användaren har total kontroll över sina pengar.