- Joacim Petersson
Bitcoins ekosystem - del 1 - Noder
Uppdaterat: 14 dec. 2022
Bitcoins ekosystem består av fyra delar:
Noder
Mining
Utvecklare
Användare
I centrum för de fyra delarna finns den publika huvudboken som nästan alltid benämns ”blockkedjan”. Registret innehåller alla transaktioner som någonsin gjorts där sändare och mottagare identifieras genom publika adresser. Sändaren bevisar ägandet genom att signerar transaktionen med sin privata nyckel och systemet säkerställer att Bitcoinen bara kan spenderas en enda gång.

Första meddelandet från Satoshi Nakamoto, ”Bitcoin P2P e-cash paper” (2008-11-01 19:16:33 UTC)
Koden för systemet är open source och består av avancerad matematik som digitala signaturer, SHA256, elliptiska kurvor, Merkel trees och Bitcoin-specifika Op-koder, UTXO och coinbase-transaktioner med en egen decentraliserad tid – blockhöjd (blocknummer). Den decentraliserade klockan är central när man ska säkerställa ordningen av transaktionerna, grunden för att man inte kan spendera samma Bitcoin två gånger.
Pengar är en representation av värde och är antingen i form av ett fysiskt objekt (snäckor, guld, mynt, sedlar) eller en notering i ett register. För registerförda pengar så har vi gått från stentavlor via ”tally sticks” och papper & penna till databaser där betrodda personer ansvarar för registret av vilka transaktioner som görs och därmed vem som äger vad eller är skyldig vem. Någonstans på vägen blev registeransvariga dagens banker. Alla register har en sak gemensam, de har en tredje part som ansvarig för uppdaterandet. Men inte nu längre, nu finns Bitcoin.

En ”tally stick” där man noterade ägarskiften
Bitcoins huvudboken är det enda registret i hela världen som saknar ansvarig för att hållas uppdaterat och alltid är 100% korrekt. Lägg till detta att antalet Bitcoin är strikt begränsat så har vi förutsättningarna för att Bitcoin ska bli de bästa pengarna människan någonsin använt. Huvudboken, koden, miningen och noderna skapar tillsammans ett digitalt decentraliserat open source peer-to-peer betalsystem där det aldrig kommer att finnas mer än 21 miljoner Bitcoin.
Det finns stora mängder fakta och oändligt med subjektiva tankar kring Bitcoin så ovan är min korta beskrivning. Just detta att Bitcoin är en mix av fakta och värderingar som berör svåra områden som tekniska val med olika trade offs, decentralisering, konsensus, värde och pengar är grunden till den ”breda” diskussionen av Bitcoin. Bitcoin är en folkrörelse som går nerifrån och upp i samhället och diskussionen har lett till att den allmänna kunskapsnivån kring pengar, banker och ekonomi har ökat kraftigt.
För att Bitcoin ska bli en naturlig del av vår vardag så måste samtliga fyra delar utvecklas och växa. Min tanke är att försöka beskriva de fyra delarna tillsammans med status och gissa om framtiden. Syftet är flera: förbättra min 3 år gamla Introduktion till Bitcoin, hitta nya metoder för att systematiskt följa utvecklingen av respektive del och såklart öka min kunskap. Jag kommer att publicera texten i delar innan jag sätter ihop det till en helhet, då troligtvis uppdaterad för att jag kommer på nya punkter tillsammans med rättade stavfel. Som vanligt: berätta när jag har fel och kom gärna med synpunkter och kommentarer.
Noder
De tre viktigaste funktionerna för noder i ekosystemet är:
kontrollera transaktionerna i de nya blocken
som interface mellan användares plånböcker och blockkedjan
avgöra om ändringar av koden ska implementeras
En nod tar emot transaktioner och distribuerar dem vidare till andra noder. När ett nytt block med transaktioner skapas så läggs det till den kompletta blockkedjan som finns i varje nod.
När ny kod implementeras så avgör varje enskild nod om man vill göra uppdateringen eller inte. Att inte uppgradera innebär att all funktionalitet inte är tillgänglig och i vissa fall så kommer flera versioner av blockkedjan att finnas i ekosystemet tills konsensus uppnått kring vilken blockkedja som är Bitcoin.
För att säkerställa att vem som helst kan köra sin egen nod så måste datamängden i blocken vara relativt liten. Idag (26 september 2022) så tar en komplett blockkedja 487 GB och varje nytt block är ca 1 MB och innehåller ca 2.000 transaktioner.
Exakt antal noder är okänt för de kan vara synliga (reachable) eller osynliga (unreachable) men det finns metoder för att uppskatta de osynliga. bitnodes.io uppskattning idag är att det finns 43.397 noder varav 13.494 är synliga. Noderna är fördelade på 149 länder (utav 195 = 76%) och Sverige ligger på 18:e plats med 347 noder vilket ger 31 noder per miljon invånare, samma som USA. Finland sticker ut med 4 gånger fler per invånare.

Precis som allt annat inom Bitcoin så har där varit en snabb utveckling kring att köra en nod, från att vara något relativt komplicerat och lite kostsamt till enkelt och billigt. Idag så kan alla personer med lite datorvana och 2.000 kr sätta upp en nod som kräver minimalt med underhåll. Vill man köra det på sin PC så finns mjukvara att ladda ner på Bitcoin.org eller så kör man t.ex. Umbrel eller RaspiBlitz på en Raspberry Pi. Ännu enklare men lite dyrare är att köpa en komplett nod från Nodl, myNode eller LuxNode.
Mina reflektioner och gissningar
Min Bitcoin-kunskap och entusiasm tog ett stort steg när jag satte upp min Umbrel nod förra hösten, som om allt snack om decentralisering blev verkligt när jag ser den gröna lampan blinka på hårddisken, transaktionerna droppa in i mempoolen och texten ”Verifying” blinkar några ögonblick när ett nytt block läggs till ”min” blockkedja.
Samma känsla som när jag kollar min plånbok i mobilen och vet att den kopplar upp mot min nod för att kolla saldot och att mina transaktionerna går genom den till alla andra noder . Försök att få mej att visa ID eller rent av stoppa mej när jag gör en transaktion ut i världen.

I takt med att kunskapsnivån om Bitcoin växer och att livet kommer att bli enklare med en nod så kommer antalet noder att växa exponentiellt precis som allt annat inom Bitcoin.
Fler och fler personer vill säkerställa att Bitcoin förblir decentraliserat och många användare vill av olika anledningar vara oberoende av tredjepartstjänster för att kommunicera med blockkedjan, speciellt tänker jag på företag och banker. Utrustningen och mjukvara för att köra en nod kommer att finnas ”överallt”: i mobil, inbyggd i routern eller i applikationen du kör på datorn, i viss viktig utrustning för maskin-till-maskinbetalningar eller som Umbrel håller på att bli, en server i hemmanätverket.
Antalet noder är det enklaste sättet att följa utvecklingen men jag kommer även att försöka räkna antalet nyheter inom området på ett systematiskt sätt.