ABCore – der Node für die Hosentasche

Der Android Bitcoin Core – kurz ABCore – bringt einen Bitcoin-Knoten aufs Smartphone. Zusammen mit Pruning und Blocksonly oder Thinblocks könnte damit eine goldene Zeit für Nodes auf Kleingeräten anstehen.

Stellt euch vor, ihr habt euren Node auf dem Smartphone in der Hosentasche. Oder, warum nicht, im Auto und in der Gegensprechanlage. Bisher war das mehr oder weniger unmöglich, wenn ihr euer Smartphone (oder eure Gegensprechanlage) nicht mächtig aufgetuned habt. Ein paar Neuerungen in der Entwicklung machen es jetzt aber möglich.

Zum einen gibt es die App ABCore. Die holt ein Basis-Bitcoin-Core auf ein Android-Smartphone. Die Idee ist, dass es weniger eine Wallet als ein persönlicher Node zum Mitnehmen wird, an den man mit einem anderen Gerät oder einer Wallet auf dem Smartphone andockt. Damit könnte man eine Lightwallet direkt an den eigenen Node anschließen, womit das Smartphone eine autonome Bitcoin-Wallet wäre.

Die Anforderungen, die die Entwickler nennen, haben es aber schon in sich: während 2 GB Ram noch vertretbar sind, dürften 100 GB Festplatte die meisten Smartphones sprengen. Auch die ständige Verbindung von 3G oder 4G wird manche Mobilfunkverträge rasch überfordern.

Glücklicherweise gibt es aber mittlerweile einige Methoden, um die Anforderungen an einen Node deutlich zu reduzieren. Diese sind nicht nur für einen Android-Node interessant, sondern eigentlich für jeden, der einen Knoten betreibt:

  • Pruning: Blockchain-Pruning bedeutet, vergangene Blöcke und Transaktionen zu löschen, um nur die Header und das UTXO-Set zu speichern – genug, um Transaktionen zu verifizieren. Lediglich der Import privater Schlüssel wird damit unmöglich. Pruning kann man einstellen, indem man einfach “prune=1000” in die Datei bitcoin.conf schreibt. Es funktioniert hervorragend – ich konnte damit meine Blockchain auf 2 GB reduzieren – aber um danach wieder seine alte Blockchain zu bekommen, braucht man eine Sicherheitskopie
  • blocksonly: Mit der Einstellung “blocksonly=1” in der bitcoin.conf kann man den Node anweisen, keine Transaktionen weiterzuleiten, sondern nur Blöcke. Damit wird er zu einem sagen wir “halben Node”, der für die Verbreitung von Transaktionen keine Bedeutung hat, aber immerhin die komplette Blockchain speichert.
  • Noch nicht mit dem ABCore möglich, aber vielleicht in Zukunft: thinblocks. Diese Innovation macht etwa das Gegenteil wie blocksonly – der Node empfäng und verbreitet Transaktionen, bildet aber die Blöcke aus den bereits empfangenen Transaktionen, womit die notwendige Bandbreite deutlich reduziert wird.

Bis jetzt sind Smartphone-Nodes noch eher eine Spielerei. Sie sind nicht sehr nützlich und brauchen zuviel Bandbreite. Allerdings ist es vorstellbar, dass mit dieser Methodik einmal Bitcoin-Knoten sogar in Geräte passen und, wer weiß, zur Standardausrüstung von Smartphones werden.

About Christoph Bergmann (823 Articles)
Das Bitcoinblog wird von bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Wenn Ihnen das Blog gefällt, freuen wir uns über Spenden an 1CL1QgiFcBXZKtYDUpipREsfaKFJHhNmpV. Jeder Satoshi wird dazu verwendet, um das Blog besser zu machen. Weitere Infos, wie Sie uns unterstützen können, finden Sie HIER. Gastbeiträge sind ebenfalls willkommen. Meinen öffentlichen PGP-Schlüssel sowie den Bitmessage-Schlüssel finden Sie HIER

6 Comments on ABCore – der Node für die Hosentasche

  1. Hallo Christoph. Ich denke der Satz könnte etwas missverstanden werden: “thinblocks. Diese Innovation macht etwa das Gegenteil wie blocksonly – der Node empfäng und verbreitet Transaktionen, bildet aber die Blöcke aus den bereits empfangenen Transaktionen, womit die notwendige Bandbreite deutlich reduziert wird.”

    Man könnte den Eindruck bekommen, dass thinblocks mehr Bandbreite sparen als blocksonly, was aber natürlich nicht der Fall ist. So ging es mir jedenfalls beim ersten Lesen.🙂

    Danke für den Artikel, die App kannte ich bisher noch nicht.

  2. Hmmm bei Github stand “prune=550” und ich habe diesen Wert übernommen. Hier steht jetzt “prune=1000”.

    Kennt sich da jemand mit aus? Vorteile, Nachteile. Kann man jederzeit wechseln?

    • Ist im Prinzip egal, glaube ich, 550 ist der Mindeswert. Die Kompression dürfte mit 1000 etwas geringer sein, bleibt aber gewaltig. Bei Experimenten bitte, bitte vorher die wallet.dat sichern.

  3. Ich habe einen 12er Client auf dem RPi2 laufen, auf Basis openSUSE mit Tumbleweed. Der “loadavg” ist auf dem 4Proc CPU + 1Gig RAM (+swap) ständig über 100%. Da in vielen Handys ähnliche CPUs drin sind, ist im Moment noch eines der 8-Core Handies empfehlenswert. Sonst bricht die Telefonverbindung ab, weil im Hintergrund gerade Bitcoin TRX laufen🙂
    550 ist das absoute Minimum, ich habe auf 2 Gig und auf 5 Gig “gepruned”, funktioniert tadellos. “blocksonly=1” habe ich noch nicht ausprobiert, gehe ich gleich mal dran. Aber dann fehlt dem Netzwerk eine sinnvolle Funktionalität…

  4. Ich betreibe eine Node (Bitcoin-Unlimited 0.11.2) auch auf einem Raspberry Pi 2, jedoch ist bei mir die CPU-Last relativ gering (loadavg über 15 min bei 1.00, also gerade mal 25% der gesamten Rechenkapazität). Dabei hat die Version 0.11.2 noch nicht die Optimierungen von 0.12. Ich erwarte beim Update somit sogar eine noch geringere Last. Zudem laufen auch noch andere Dienste auf dem Pi. Ich frage mich daher, warum bei dir der Pi so ausgelastet wird.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s