Die eigene Bank am Router einstecken

Da ist sie, die Bank, die neben meinem Router liegt.

Der RaspiBlitz ist ein Mikrocomputer, den man ans eigene Netzwerk einstöpseln kann, um darauf seinen eigenen Node aufzubauen. Genialerweise kann das kleine Gerät noch viel mehr – nämlich nahezu alles, was man auf einen Node aufsatteln kann: Vom Lightning-Manager über den Electrum-Server zum eigenen Blockexplorer und BTCPayServer.

Vor einigen Wochen habe ich meinen ersten Raspberry erhalten. Das Gerät besteht aus einigen Teilen zum selbst zusammen bauen und ist dafür gemacht, dass man ihn ans lokale Netzwerk anschließt, um dort einen Lightning-fähigen Full Node zu betreiben.

Das Zusammenbauen war unkompliziert. Wer ein Ikea-Regal aufstellen kann, bekommt das auch hin. Als ich ihn ans Netzwerk anschloss, begannen jedoch die Probleme. Ich musste erst einmal das Betriebssystem auf eine SD-Karte überspielen, was dank des mitglieferten Adapters sowie des Guides im Internet recht unproblematisch mit einem Laptop ging. Danach lief er aber irgendwie immer noch nicht, was ich recht frustrierend fand, da das Gerät für mich eine völlige Blackbox war. Nach einigem Hin- und Herprobieren hat es aber doch funktioniert.

Der Raspberry Pi ist ein kleiner, stromsparender Computer. Das Modell 4 mit 4 Gigabyte Arbeitsspeicher ist für einen Raspberry recht kräftig; mitgeliefert wird vom Fulmo-Shop noch eine 1-Terabyte-SSD-Festplatte in einem Gehäuse sowie ein Monitor, auf dem der RaspiBlitz Statusmeldungen gibt. Der Wert des RaspiBlitz besteht aber weniger aus der Hardware, als aus der Software, die der Berliner Christian Rotzoll entwickelt hat.

Geradlinige und ehrliche Installtion

Um ihn zu bedienen, muss man im selben Netzwerk einen Laptop oder einen PC haben. Über SSH steuert man ihn dann an – die Befehle stehen in der Online-Anleitung – um die Installation zu starten.

Tor oder Clearnet? Die Installation des RaspiBlitzes lässt einem die Wahl.

Den Prozess fand ich sehr beeindruckend. Er läuft über ein graphisches Menü in der Konsole, das ein wenig so aussieht wie von 1995. Aber der Vorgang ist geradlinig, man erfährt zu jeder Zeit, was passiert, welche Optionen man hat und welche Vor- und Nachteile es gibt. Der User fühlt sich an keiner Stelle alleingelassen.

So hat man etwa die Option, Tor zu verwenden. Das, erklärt das Menü, verbessert die Privatsphäre, macht es aber eventuell schwieriger, sich mit Nicht-Tor-Knoten zu verbinden. Ich wähle Tor an, und ich empfehle jedem, das auch zu tun. Denn der Raspi steht zuhause und ist mehr als „nur“ ein Bitcoin-Node. Er ist für Lightning gedacht, was bedeutet, dass ihr Bitcoin-Adressen und IP-Adressen verbindet, und das solltet ihr besser nicht tun, wenn euer heimisches Netzwerk im Spiel ist. Vielleicht ist das Risiko überschaubar, wenn man dynamische IP-Adressen hat und nur kleine Mengen jungfräulicher Bitcoins benutzt. Aber besser ist es, das zu vermeiden.

Man hat mehrere Möglichkeiten, die Blockchain auf den RaspiBlitz zu bringen. Die Zeitangaben sind aber etwas optimistisch.

Dann setzt der RaspiBlitz einen Bitcoin-Node auf. Dazu kann man die ganze Blockchain neu herunterzuladen, zu validieren und aufzusetzen, was einige Tage dauern wird. Etwas schneller geht es mit dem Torrent-Download, für den man aber eben dem Bereitstellenden vertrauen muss. Eine tolle dritte Option ist es, die Blockchain von einem anderen Node im lokalen Netzwerk zu kopieren. Da ich noch einen habe, mache ich das. Das Menü zeigt mir den Befehl an, den ich dann in die Konsole eingebe, um danach etwa 6-8 Stunden zu warten, bis die ganzen Daten kopiert sind.

Ich hatte noch einen kleinen Störfall, nämlich dass ich mich nicht mehr einloggen konnte. Um das zu beheben musste ich lediglich den Inhalt meines .ssh Ordners löschen; mein System hat hier irgendwie einen falschen Fingerprint gespeichert oder so. Das nur am Rande, falls jemand ein ähnliches Problem haben sollte.

Nach dem Kopieren der Blockchain installiert der Rapiblitz LND, zeigt die Seed an und startet die notwendigen Indizierungen. Zugleich fordert er einen auf, Bitcoins auf den LN-Node zu senden. Hier fehlt mir angesichts der bisher sehr klaren Kommunikation ein Hinweis auf die Risiken Lightning. Denn sobald Bitcoins in einem Channel sind, liegen sie mehr oder weniger auf der Festplatte und sind durch den Seed nicht wieder zu herstellbar.

Die Festplatte des RaspiBlitzes ist eine Seagate 1 Terabyte. Ich denke nicht, dass sie eine herausstechende Qualität aufweist, und ich würde mich nicht wohlfühlen, ohne ein vernünftiges Backup-System dort nennenswerte Summen Geld liegen zu haben.

Mehr als nur ein Full Node

Während ich warte, bis die BTC-Zahlung auf dem Raspi angekommen ist, schaue ich in die Optionen. Und da zeigt sich, was den RaspiBlitz zu einem so wundervollen Gerät macht. Es geht nicht nur um die Hardware, sondern auch und vor allem um die Software. Die hält nämlich Installationsskripte für ziemlich alles bereit, was man auf einen Full Node aufsatteln kann. Wer bisher nur einen einfachen Node hatte, dem wird sich eine ganze neue Welt eröffnen.

Es gibt einen Electrum-Server in Rust, einen RPC-Blockexplorer, den BTCPayServer, um Zahlungen anzunehmen, mehrere Lightning-Manager, das Mixing-Tool JoinMarkets und einiges mehr. Wenn man sie in den Optionen aktiviert, beginnt der RaspiBlitz, sie zu installieren. Wer schon einmal versucht hat, solche Addons auf einen Bitcoin-Node zu installieren, weiß, dass das selten auf den ersten Versuch gut geht. Das Installationsskript des RaspiBlitzes bekommt das aber einwandfrei hin. Allein schon das gefällt mir extrem gut. Ich habe sicherlich 40 Stunden des Ausprobierens erspart, in denen ich einen frustrierten Hass auf meinen Computer entwickelt hätte.

Im Shop auf fulmo.org gibt es den RaspiBlitz in verschiedenen Ausführungen.

Die jeweiligen Tools werden über LocalHost im Browser angesteuert. Da ich Tor aktiviert habe, kann ich auf sie auch über eine Onion-Adresse zugreifen. Ganz nebenbei habe ich damit also auch meine erste Onion-Domain hochgezogen, ohne es wirklich zu bemerken. Das erlaubt mir, mit dem Smartphone auch von Unterwegs auf meinen Node zuzugreifen.

So habe ich jetzt den Lightning-Manager Ride The Lightning (RTL) und meinen eigenen Blockexplorer im Browser. Der Electrum-Server steht wohl auch, nachdem der Raspi die Datenbank aufgebaut habe, doch ich habe es bisher nicht geschafft, meine Wallet damit zu verbinden. Eventuell muss er doch noch etwas weiter indizieren.

Der BTCPayServer läuft auch, doch ich weiß noch nicht genau, was damit anzufangen; ihn in mein Checkout-System auf Bitcoin-Buch.org oder MobyBit.shop zu integrieren, dürfte viel Arbeit werden. Eventuell aber kann ich damit Spenden fürs Block über Lightning empfangen.

JoinMarket schließlich hiflt einem, die Privatsphäre der Bitcoins auf dem RaspiBlitz zu verbessern, muss aber über die Konsole bedient werden. Auch darin müsste ich mich einarbeiten. Was ich mit LNBits, LND Manage Script, und anderen Werkzeugen anfangen kann, weiß ich noch nicht; die Option, Lightning-Channels über DropBox zu speichern, klingt ebenso sinnvoll wie DynamicDNS, durch das man dem RaspiBlitz wohl eine echte Webdomain geben kann.

Ich kann und will hier nicht über all die tollen Werkzeuge schreiben. Hier geht es um den RaspiBlitz, und es ist extrem beeindruckend, wie dieses kleine Gerät all diese Funktionen aufbaut. Der RaspiBlitz ist zwar ein Mikro-Computer, aber dank der Software wird er zum Maxi-Node. Es muss eine unendliche Mühe gewesen sein, für alle diese Programm ein Installationsskript zu schreiben und dafür zu sorgen, dass die Umgebung immer einwandfrei läuft.

Kleine Blockchain, große Mikrobank

Dass man so viele Funktionen auf einen solchen Kleincomputer packen kann, liegt natürlich auch daran, dass Bitcoin so „klein“ ist. Die 1-Terabyte-Festplatte dürfte noch einige Jahre ausreichen, solange die Blocksize bei 1 Megabyte plus SegWit bleibt. Die Dienste obendrauf brauchen im Vergleich relativ wenig Festplattenspeicher, ich denke, maximal 30-50 Gigabyte. Aber ich bin mir dabei nicht sicher, da sowohl LND als auch Electrum und der Explorer eigene und relativ umfangreiche Datenbanken aufbauen. Dennoch dürfte 1 Terabyte vorerst großzügig bemessen sein.

Ich schätze, in 5-10 Jahren wird man über einen Umzug nachdenken müssen.  Dafür steht aber schon jetzt ein Export- und Import-Tool im Benutzermenü bereit. Auch eine Reparaturfunktion ist enthalten, für den Fall, dass etwas in der Software kaputtgeht.

Auch die CPU-Belastung und der Netzwerktraffic sind dank des geringen Durchsatzes von Bitcoin moderat. Größere Blöcke oder eine höhere Taktung der Transaktionen würden vermutlich die höheren Services, wie Electrum oder den Explorer, rasch in die Knie zwingen. In dem Sinn kann man als RaspiBlitz-Besitzer froh darüber sein, dass Bitcoin bei so kleinen Blöcken geblieben ist. Gleichzeitig wird man durch den Raspi unwillkürlich zur Bremse, und die Erweiterung der Kapazität wird zu einem bedrohlichen Ereignis, wenn man ein solches Gerät neben dem Router stehen hat. Ich bin mir nicht ganz sicher, ob das langfristig gesunde Anreize setzt, aber sei’s drum, zumindest an dieser Stelle.

Eure eigene Bank im Heimnetzwerk

Der RaspiBlitz macht euer Heimnetzwerk zu eurer eigenen Bank. Sobald der Node steht und ihr einige Extra-Dienste installiert habt, habt ihr ein Multifunktionsgerät, das ihr auch über das Internet ansteuern könnt. Ihr könnt die ZapWallet auf dem Smartphone damit verbinden, die Electrum-Wallet auf dem lokalen PC und auf dem Smartphone; ihr könnt darüber Bitcoins privater machen und sogar das Checkout eures Online-Shops damit betreiben.

Natürlich solltet ihr euch dabei der Privatsphäre bewusst sein. Wenn es für euch ok ist, dass die IP-Adresse des Knotens nicht geheim bleibt – entweder weil es im Büro steht oder ihr in einem dichten Gebiet eine dynamische IP benutzt – könnt ihr auf Tor verzichten. Wer Tor benutzt, sollte sich klar sein, dass das die Verbindung zu eurem Knoten erschwert. Ihr müsst den Tor-Browser benutzen und eine umständliche Onion-Adresse speichern, und zum Teil braucht die Verbindung zum Knoten auch länger. Ebenfalls sollte euch bewusst sein, dass es sich um ein kleines Gerät handelt, auf das ihr als Normaluser nur eingeschränkt zugreifen könnt. Wenn zuviel darüber läuft, könnte es schnell in die Knie gehen, und wenn etwas in der Software schiefläuft – sie oder die Hardware kaputt geht – könnte euch das auch Geld kosten.

Schließlich habe ich noch festgestellt, dass unsere Heimnetzwerk in den letzten Tagen unzuverlässiger wurde. Es ging immer wieder mal aus. Ob das am RaspiBlitz liegt, oder an einer anderen Ursache, weiß ich freilich nicht. Aber natürlich verursacht ein Bitcoin- und Lightning-Node einen gewissen Traffic, vor allem wenn er noch über Tor läuft und dazu noch Dienste wie einen Electrum-Server und ähnliches mitbringt. Ob das die Ursache ist, kann ich nicht sagen, und es hängt sicherlich auch davon ab, wie gut die Internetverbindung ist.

Aber wer sich all dem bewusst ist, sollte nicht zögern, sich mit dem RaspiBlitz seine eigene Bank neben den Router zu stellen. Zu kaufen gibt es ihn im Shop von Fulmo. Die Software ist bereits vorinstalliert, auf Wunsch auch schon die Blockchain. Es gibt verschiedene Modelle zwischen 269 bis 329 Euro, die sich aber vor allem durch das Gehäuse unterscheiden.

Über Christoph Bergmann (1875 Beiträge)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Christoph hat vor kurzem ein Buch geschrieben: Bitcoin: Die verrückte Geschichte vom Aufstieg eines neuen Geldes. Das Buch stellt Bitcoin in seiner ganzen Pracht dar. Ihr könnt es direkt auf der Webseite Bitcoin-Buch.org bestellen - natürlich auch mit Bitcoin - oder auch per Amazon. Natürlich freuen wir uns auch über Spenden in Bitcoin, Bitcoin Cash oder Bitcoin SV an die folgende Adresse: 1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw. Wer will, kann uns auch Hier mit Lightning spenden. Tipps für Stories sind an christoph.bergmann@mailbox.org immer erwünscht. Wer dies privat machen möchte, sollte meinen PGP-Schlüssel verwenden.

7 Kommentare zu Die eigene Bank am Router einstecken

  1. Interessanter und gut recherchierter Artikel. Mir fehlt jedoch noch ein bisschen der Zusammenhang bzw. mir fehlt nach das Hintergrundwissen zum Lightning.

    Mit Bitcoin Lightning kann ich Blitzüberweisung von Bitcoin ohne Gebühren machen? Das geht vermutlich auf Endanwenderseite zum Beispiel per BlueWallet. Als Verkäufer stelle ich dann den RaspiBlitz auf? Dort sind dann die Lightning Empfangsadressen drauf?

    • Über das Lightning Netzwerk lassen sich sehr schnelle und sehr günstige (i.d.R. wenige Satoshi) Bitcoin-Transaktionen finalisiert verschicken. Blitzüberweisung ist dafür ein gutes Bild.

      Ein vollwertiger Lightning-Knoten ist eine Möglichkeit, auf das Lightning Netzwerk zuzugreifen. Das bietet der RaspiBlitz an. Man behält jederzeit die vollständige Kontrolle über seine Daten und benutzt eine persönliche Kopie der Bitcoin-Blockchain zum Datenabgleich, außerdem kann man anonymisiert mit den jeweiligen Netzwerken kommunizieren. Es gibt viele andere Möglichkeiten, Transaktionen per Lightning durchzuführen, Handy-Wallets sind dafür relativ beliebt. Dabei muss man (wie bei reinen Bitcoin-Wallets auch) immer Abstriche machen, also beispielsweise einer Blockchain-Kopie einer fremden Partei vertrauen oder sogar seine privaten Schlüssel auf dem Server eines Drittanbieters hinterlegen. Die genannte Bluewallet lässt sich sehr einfach und intuitiv bedienen, man muss aber dem Anbieter vertrauen. Es handelt sich dabei um eine sog. „custodial wallet“ (im Gegensatz zu „non-custodial“). Eine fast vollständige Liste mobiler Wallets gibt es hier: https://lightningnetworkstores.com/wallets

      • Paul Janowitz // 2. Juli 2020 um 15:18 //

        Das kann man so leider nicht stehen lassen.

        Über das Lightning Netzwerk lassen sich sehr schnelle und sehr günstige (i.d.R. wenige Satoshi) Bitcoin-Transaktionen finalisiert verschicken. Blitzüberweisung ist dafür ein gutes Bild.

        Das ist die Theorie / erklärtes Ziel.

        Die Realität sieht selbst nach zwei Jahren etwas anders aus, denn das Prinzip von Lightning unterscheidet sich diametral von herkömmlichen Bitcoin Transaktionen.

        1. Man muss Channels verwalten und sich um Liquidität kümmern, das können gute Wallets zwar auch mehr oder weniger eigenständig, aber für jeden neuen Channel bzw. eine Veränderung dessen Größe ist eine (relativ komplexe) OnChain Transaktion notwendig, die entsprechende OnChain Gebühren kostet.

        2. Zahlungen müssen geroutet werden und jeder Hop benötigt die entsprechende Liquidität, um die Zahlung durchzuleiten.
        Beispiel A sendet D 1BTC, dann sehen die Channels so aus:
        Route: A -> B | B -> C | C -> D
        Vorher: 5 -> 0 | 1 -> 3 | 2 -> 4
        Nachher: 4 -> 1 | 0 -> 4 | 1 -> 5

        Man kann erkennen, dass A anfangs 5BTC hatte, D hatte 4BTC. Am Ende hat A nur 4, D 5 und B 1 & C 5, nur anders auf ihre Channels verteilt. Wollte A noch einmal 1BTC an D schicken, würde das über diese Route scheitern, da der Channel von B nach C „leer“ ist, D könnte aber 1BTC an A über diese Route schicken. Damit LN wirklich funktioniert, müssen sich so viele Nodes wie möglich am Routing beteiligen und möglichst ständig online sein. Dafür gibt es derzeit kaum Anreize außer Altruismus für ein paar Sat Routinggebühr, es müsste sich also auch ein Fee Markt bilden.
        Für Händler ist das aktive Channel Management essentiell, damit sie immer genügend eingehende Liquidität haben, um Zahlungen überhaupt annehmen zu können. Mit ein Grund, warum bisher wenige Händler Lightning anbieten…

        3. Der Empfänger und jeder Hop der Route muss jeweils online sein, damit die Zahlung klappt. Wenn man also ein non-custodial Mobile Wallet nutzt, darf man nicht gerade im Funkloch sein oder sein Handy z.B. nachts im Flugmodus haben, denn dann kann keine Route ausgehandelt werden. Wallet provider versuchen das Empfänger-Problem zu lösen, indem sie sich als Routing Node vor den User stellen (in obigem Beispiel wäre dies C für D, D könnte dann offline sein) und die Route per Push an den User schicken, sobald er online geht. Allerdings gilt dies nur so lange die ausgehandelte Invoice für die Route gültig ist, sobald sie verfällt, wird die gesamte Route storniert.

        4. Mangelnde Liquidität und schwierige Routenfindung bei größeren Zahlungen sind auch zwei Jahre nach dem Start das wohl größte Problem. Selbst die Entwickler warnen, zu große Summen in Channels zu halten… Um eine größere Zahlung zu verschicken muss man meist einen neuen Channel direkt mit dem Empfänger eröffnen (OnChain) und wenn man nicht gewillt ist, signifikant mehr BTC in diesem einzufrieren, ist die ausgehende Liquidität bereits nach der Zahlung erschöpft. Diese kann nur ausgeglichen werden, wenn jemand mir selbst eine Zahlung über genau diesen Channel schickt oder ich muss den Channel für die nächste Nutzung wieder OnChain vergrößern. Durch reines Routing bekomme ich nicht mehr ausgehende Liquidität, da sie bei anderen Channels verringert wird.

        Non-Custodial Wallets versuchen das mehr oder weniger auszubügeln, indem sie meist sich als einzigen Channel Provider vor den User stellen (dem User entsteht dabei kein Risiko, angenommen es gibt keine Backdoor im Wallet an sich), was mehr oder weniger zu Zentralisierung auf wenige Akteure führt. Sobald genügend User diese nutzen, können sie langsam aber sicher die Fees für das Routing erhöhen und ein Geschäftsmodell etablieren.

        Custodial Wallets haben mehr Möglichkeiten, aber dann kann man gleich bei Paypal bleiben.

  2. Zum Aufsetzen und Einrichten eines Raspberry-Pis gibt es viele gute Anleitungen im Netz, ich empfehle die Ratschläge meiner Computerzeitschreit c’t von heise.de … Da kann man auch gleich Sonderhefte zum Problemkreis kaufen (ehrliche Meinung, keine Schleichwerbung, ich habe gute Erfahrungen damit gemacht). Der Pi ist auch als Werbeblocker zu gebrauchen (siehe pi-hole).

    • Die Einrichtung eines Raspberry Pi ist für den RaspiBlitz die Grundvoraussetzung. Das wird auch Schritt für Schritt auf der Projektseite beschrieben: https://github.com/rootzoll/raspiblitz

      • Paul Janowitz // 2. Juli 2020 um 15:45 //

        Gibt es einen Grund, warum die Entscheidung auf Raspi gefallen ist und nicht eine andere SBC Plattform z.B. mit Hardware AES Beschleunigung wie z.B. Pine64/Rock64? Ich habe zwar keinen Vergleich der Verifizierungsgeschwindigkeit bei Bitcoin, aber z.B. bei Monero ist ein um mehr als Faktor 2 schneller im Vergleich zum Raspi.

  3. @Paul Janowitz .. siehe die ausführliche hinweise zu alternativen SBCs mit RaspiBlitz in diesem YouTube Vortrag: https://youtu.be/1EqUi4xRbr0?t=2235

    Unsere bisherigen Erfahrungen, der RaspberryPi ist der ausreifteste SBC .. andere boards haben dann doch oft fehler, unterstützen teils Dinge wie den LCD screen nicht oder sind eichfach teuerer. Viele Leute kennen den RaspberryPi und haben ggf. sogar schon die computer zuhause. Mehr Details im verlinkten video oben.

Schreiben Sie einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Wechseln )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Wechseln )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Wechseln )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Wechseln )

Verbinde mit %s