Bitcoinspot legt uit: Help het Bitcoin netwerk door het draaien van een Full Node

on .

Bitcoinspot legt uit: Help het Bitcoin netwerk door het draaien van een Full Node  
Bitcoin is een peer-to-peer netwerk en dat betekent dat er deelnemers (peers) nodig zijn om het netwerk te laten draaien. Het Bitcoin netwerk werkt dus niet uit zichzelf. Om de Bitcoin transacties te kunnen doorsturen en valideren heb je achter de schermen grote hoeveelheden zogenaamde "Full-nodes" nodig en laat juist hier een gebrek aan zijn!. Daarom vandaag een handleiding om je eigen full-node te draaien zodat je kan helpen om Bitcoin veiliger en robuuster te maken.

Zoals gezegd: in een peer to peer netwerk draait het allemaal om de peers, hoe meer hoe beter. De redenen waarom je een node zou willen draaien zijn voer voor een geheel nieuw artikel maar daar zal ik nu verder niet te veel op ingaan. Om een lang verhaal kort te maken kunnen we wel stellen dat er nog lang niet genoeg nodes zijn en de trend naar centralisatie kan ervoor zorgen dat het er alleen maar minder worden. op https://getaddr.bitnodes.io/ proberen ze bij te houden hoeveel nodes er wereldwijd draaien. Coindesk heeft eerder ook een uitstekend artikel geschreven over wat Bitcoin nodes zijn en waarom we ze zo hard nodig hebben.

Op bitnodes.io proberen ze alle bitcoin nodes in kaart te brengen.
- Op bitnodes.io proberen ze alle bitcoin nodes in kaart te brengen.

Zelf een Full Bitcoin node installeren

Ik zal in deze handleiding laten zien hoe je een full node kan draaien met behulp van Lubuntu Linux en de standaard bitcoin-core client. De bitcoin-core client is in principe al een zogenaamde full-node. Dat wil zeggen dat hij het bitcoin netwerk ondersteunt bij het valideren en doorgeven van transacties. We gaan de bitcoin-core client installeren en zorgen dat deze draait zonder bitcoin-wallet, dus zegmaar in bitcoin-node modus.

In principe is de installatie redelijk eenvoudig maar enige kennis van computers is wel handig. Ik ga er bij deze van uit dat je een computer beschikbaar hebt met een lege harde schijf en eventueel een lege cd of usb-stick. Je kan op bijna elke pc een full node draaien, een raspberry PI bijvoorbeeld is hier al geschikt voor. Ik gebruik zelf een oude pc met een intel core2 duo processor en 2 GB geheugen. Zorg er wel voor dat je minimaal een harddisk van rond de 50 Gigabyte hebt om het linux besturingssysteem en de blockchain te kunnen huisvesten. Deze installatie is voor 64-bits systemen bedoeld en een 64 bits systeem is ook aan te raden aangezien de installatie op een 32-bits systeem een stuk ingewikkelder is.

Ik heb in dit geval gekozen voor Lubuntu Linux, een soort van light versie van de bekende Ubuntu Linux variant. In principe kan je bijna elke Linux vorm gebruiken die je wilt maar ik heb voor deze versie gekozen vanwege het lichte karakter en de uitgebreide hardware ondersteuning. Ook het feit dat veel mensen Lubuntu/Ubuntu gebruiken betekent dat je er ook veel online over kan vinden mocht je ergens tegenaan lopen. En niet geheel onbelangrijk is het feit dat het besturingssysteem minder vatbaar voor virussen is dan Windows en Linux is ook nog eens gratis. Tel uit je winst zou ik zeggen.

Installeren van Lubuntu

We gaan nu eerst Lubuntu installeren op de computer. In dit geval zullen we eerst een zogenaamde live-boot doen vanaf de installatiemedia ivm compatibiliteits-kwesties en daarna de installatie starten.
  • Download de Lubuntu ISO vanaf http://lubuntu.net/ en brand deze op een cd of maak een bootable usb. (Een bootable usb kan je bijvoorbeeld maken met YUMI, hier kan je een korte video tutorial vinden)
  • Start de Lubuntu installatie vanaf de CD of USB.
  • Kies voor "Try Lubuntu without installing".
  • Als Lubuntu opgestart is open dan een terminal venster met de toetsencombinatie CTRL-ALT-T
  • Type nu het commando "sudo swapoff --all" (zonder quotes) en druk op enter.
  • Klik nu op de "Install Lubuntu" icoon op het buroblad om de installatie van lubuntu te beginnen.
  • kies "English" en klik op "continue".
  • Vink "Download updates while installing" aan en klik op "Continue".
  • Als je de harddisk leeg gemaakt hebt voordat je Lubuntu ging installeren zal je hier alleen de optie "Erase disk and install Lubuntu" zien, laat deze geselecteerd staan en klik op "Install Now"
  • Selecteer je tijdszone en klik op "continue".
  • Kies je toetsenbord-layout en klik op "continue".
  • Vul nu je naam, computernaam, gebruikersnaam en wachtwoord in.
  • Vink "Login automatically" aan en klik op "continue".
  • Klik aan het einde van de installatie op "restart now" om opnieuw op te starten.

Updaten van Lubuntu en installeren Bitcoin-software

De computer is nu geinstalleerd en klaar voor de installatie van de Bitcoin-core client. We gaan nu eerst de Lubuntu installatie up-to-date brengen en zullen dan de bitcoin-software installeren.
  • Wacht tot de pc helemaal opnieuw gestart en aangemeld is.
  • Open een terminal venster met de toetsencombinatie CTRL-ALT-T
  • Type "sudo su" en druk op enter.
  • Vul je wachtwoord in en druk op enter.
  • Type nu "apt-add-repository ppa:bitcoin/bitcoin" en druk tweemaal op enter.
  • Type nu "apt-get update" en druk op enter.
  • Wacht tot het downloaden van de updates voltooid is.
  • Type "apt-get upgrade" en druk op enter, gevolgd door "Y" en enter.
  • Wacht nu tot het installeren van de updates voltooid is.
  • Type nu "apt-get install bitcoin-qt", en druk op "Y" om door te gaan met installeren.

Het updaten en upgraden van Lubuntu via de terminal
- Het updaten en upgraden van Lubuntu via de terminal

Als de installatie van de bitcoin-software afgerond is kunnen we in principe de bitcoin client starten, maar nog eerst een aantal benodigde stappen om de zaak goed te laten draaien!

Vast ip-adres en poort 8333

Nu Lubuntu en de Bitcoin-software geinstalleerd zijn moet er nog een belangrijke stap uitgevoerd worden, namelijk het doorsturen van poort 8333. De bitcoin-software communiceert namelijk op deze poort met het bitcoin-netwerk. Als je deze poort niet openzet werkt de bitcoin-software wel maar zal het aantal connecties beperkt blijven tot maximaal 8 wat natuurlijk zonde is van alle moeite. Voordat je de poort 8333 doorstuurt is het ook verstandig om de pc een vast ip-adres te geven zodat je altijd een bekend ip-adres hebt om het netwerkverkeer, bestemd voor poort 8333, naartoe te sturen.

Vast ip-adres instellen.

  • Klik op de menu-knop, en kies "preferences", "network connections".
  • Selecteer nu onder "ethernet" de netwerk-connectie (in mijn geval "wired connection 1") en klik rechts op "Edit"
  • Ga nu naar het tabblad "IPV4 settings"
  • Verander bij method van "Automatic (DHCP)" naar "Manual" en
  • Klik eronder op "Add"
  • Vul nu onder "Adress" het gewenste ip-adres in
    (bijvoorbeeld "192.168.178.201")
  • Vul nu onder "Netmask" het gewenste subnet-masker in
    (in 99.99% van de gevallen is dit "24")
  • Vul nu onder "Gateway" het adres in van je intermodem / router
    (bijvoorbeeld "192.168.178.1")
  • Klik op Save.
  • Herstart nu de computer om de netwerk-instellingen goed door te voeren.

Poort 8333 doorsturen

Voor het doorsturen van poort 8333 naar het zojuist ingestelde ip-adres kan ik geen kant en klare handleiding aanleveren aangezien dat op elke modem of router weer anders werkt. Op een ziggo modem bijvoorbeeld is het zo simpel als naar het "forwarding" menu gaan en een paar gegevens invullen. Op andere routers echter moet je eerst een applicatie definieren en dan later voor deze applicatie aangeven naar welk ip-adres het gestuurd moet worden. Gelukkig is er wel portforward.com waar je voor de meeste gangbare router types kan zien hoe je poorten kan doorsturen (forwarden). De pagina met router types kan je hier vinden en je kan bijvoorbeeld de handleiding voor Bittorent gebruiken om te zien hoe je de poort moet doorsturen. Bittorrent gebruikt poort 6881 maar het principe is hetzelfde.

Poort 8333 forwarden op een ziggo router
- Poort 8333 forwarden op een ziggo router

Blockchain downloaden (optioneel)

De liefhebbers kunnen nu ook nog eerst de hele blockchain downloaden en vooraf in de data-directory (default is dat /root/.bitcoin) zetten. op deze manier hoeft de bitcoin client niet de hele blockchain zelf te downloaden en te verifieren en dat scheelt een paar daagjes op zijn minst. De blockchain kan je hier downloaden https://bitcoin.org/bin/blockchain/bootstrap.dat.torrent via bittorrent.

Automatisch opstarten

Om te voorkomen dat je elke keer de bitcoin-software handmatig moet opstarten na een reboot gaan we er nog voor zorgen dat de bitcoin-software automatisch opgestart wordt bij het opstarten van de computer.

  • Klik de menu knop linksonder en kies "start", "Preferences", "Default applications for LXSession".
  • Klik links in de balk op "Autostart".
  • Vul rechts in het invoerveld "bitcoin-qt -disablewallet" in en klik op "Add".
  • Sluit het venster.

Klaar? starten maar!

En na al deze handelingen kunnen we nu eindelijk de bitcoin-node starten. Aangezien we net ingesteld hebben dat de bitcoin-software automatisch start kan je dat doen door simpelweg de computer opnieuw te starten en te wachten. 

  • Herstart de computer of druk CTRL-ALT-T en Type "bitcoin-qt -disablewallet" en druk op enter om de client te starten.
  • Druk op "OK" als je de standaard data directory wilt gebruiken.

De bitcoin-core client start nu in bitcoin-node modus, je kan er dus geen bitcoins mee versturen of ontvangen. De client is alleen bezig met het valideren en verzenden en ontvangen van Bitcoin transacties.

Het status-scherm van de Full node
- Het status-scherm van de Full node

Last but not least: Testen!

En nu je alle stappen doorlopen hebt is het uiteraard ook fijn om te weten of je full-node bereikbaar is voor de rest van het Bitcoin netwerk. In principe kom je daar vanzelf achter als je de full-node een poosje laat draaien want dan zie je in het hoofdscherm vanzelf het aantal connecties oplopen. (zie eerdere screenshot en kijk bij Network/Number of connections) Wat je ook kan doen is even gaan naar https://getaddr.bitnodes.io/ en daar onder "Join The network" even je ip-adres invullen om te zien of je full-node bereikbaar is.

Op getaddr.bitnodes.io kan je controleren of je Bitcoin node bereikbaar is.
- Op getaddr.bitnodes.io kan je controleren of je Bitcoin node bereikbaar is.

En nu is het dus wachten en de full-node laten draaien totdat de gehele blockchain binnen gehaald is. Dit is ergens rond de 30 Gigabyte en duurt meestal een paar daagjes. Als deze helemaal binnen is zal je zien dat ook de connecties langzaam maar zeker gaan oplopen. Ik heb mijn node nu ongeveer een week draaien en zit ergens op de 45 connecties. Een nieuwe Raspberry staat hoog op mijn verlanglijst dus als deze binnen is zal ik ook een handleiding maken over hoe je hier een full-node op kunt draaien. Succes!

Mocht je nog op/aanmerkingen/aanvullingen hebben op de handleiding dan hoor ik het graag! Mocht je een specifieke handleiding willen zien, laat het me dan weten in de comments.

Gepost door Roland de Goeij.


Comments   

# Guest 2015-03-03 11:28
mmm....vind de uitleg wat intimiderend. Heb er zelf wel een draaien en ik zou zeggen:

1. Bitcoin core client van https://bitcoin.org/nl/kies-uw-portemonnee downloaden, installeren en starten.

2. Op je router poort 8333 forwarden naar de computer waar de Bitcoin-qt client op draait.

en klaar. Moeilijker is het niet.
Reply | Reply with quote | Quote
# Webmaster 2015-03-03 11:43
Quoting Guest:
mmm....vind de uitleg wat intimiderend. Heb er zelf wel een draaien en ik zou zeggen:

1. Bitcoin core client van https://bitcoin.org/nl/kies-uw-portemonnee downloaden, installeren en starten.

2. Op je router poort 8333 forwarden naar de computer waar de Bitcoin-qt client op draait.

en klaar. Moeilijker is het niet.

helemaal gelijk, maar de mensen die aan die twee regels genoeg hebben, hebben waarschijnlijk ook uberhaupt geen handleiding nodig.
Reply | Reply with quote | Quote
# Guest 2015-02-24 23:46
Nee je kan er niks mee verdienen maar je draagd wel bij aan het decentraliceren.
Als niet meer mensen nodes gaan draaien nemen de bedrijven die nu al enorme asic mining data centers runnen dat over en runnen zij het hele netwerk.
maar hier vraag je juist naar het probleem.
waarom zal iemand dag en nacht een computer laten draaien en die niks anders laten doen de de blockchain downloaden en bevestiggen als daar geen beloning tegenover staat?
toen er alleen nog de bitcoin core client bestond had je geen keuze maar met de komst van de lichtwaight clienten was dat ook afgelopen, want waarom zal je dagen wachten als het ook sneller kan?
Ik ga er zeker over denken ook een node te gaan draaien maar ik wacht waarscheinlijk op de rasberry pi uitleg omdat dat minder stroom verbruikt.
Reply | Reply with quote | Quote
# Guest 2015-02-26 15:49
Ja, je kunt hier wel degelijk iets mee verdienen: vrijheid en onafhankelijkhe id. Van een corrupt, oneerlijk, scheef, monopolistisch, onduurzaam geldsysteem wat de hele maatschappij in een soort greep van moderne slavernij houdt.

En je bespaart er heel veel belastinggeld mee, omdat er met Bitcoin geen miljarden meer hoeven te worden verspild aan falende bedrijven (banken) de hand boven het hoofd te houden.

Lijkt mij een aardig significante winst.
Reply | Reply with quote | Quote
# Guest 2015-02-24 19:20
Kun je er ook wat mee verdienen dan?
Reply | Reply with quote | Quote
# Guest 2015-02-24 14:48
Als je een handleiding voor de Pi gaat maken, check dan even
http://blog.pryds.eu/2014/06/compile-bitcoin-core-on-raspberry-pi.html
Zij hebben al een hoop werk voor je gedaan ;-)
Reply | Reply with quote | Quote
# Guest 2015-02-24 09:33
Tot mijn grote schaamte moet ik bekennen dat ik zelf nog geen node had draaien :oops: , maar nu zal ik dit toch eens gaan oppakken. Uitstekend artikel Roland!! Hulde!
Reply | Reply with quote | Quote
# Webmaster 2015-02-24 12:00
Quoting Guest:
Tot mijn grote schaamte moet ik bekennen dat ik zelf nog geen node had draaien :oops: , maar nu zal ik dit toch eens gaan oppakken. Uitstekend artikel Roland!! Hulde!

het zij je vergeven :)
Reply | Reply with quote | Quote

Add comment


Security code
Refresh