“Ich habe niemanden gefunden, der im Lauf des letzten Jahres einen Electrum-Server neu aufgesetzt hat.”

Electrum ist eine der ältesten und beliebtesten Light-Wallets für Bitcoin. Es benutzt ein Netzwerk von Servern, die die Clients mit Blockchain-Daten füttern. Mit dem Wachstum der Blockchain wurde es jedoch fast unmöglich, einen neuen Server aufzusetzen, da die Datenlast zu groß wurde, weshalb für eine lange Zeit gar keine neuen Server mehr entstanden – bis Neil Booth ElectrumX geschrieben hat, eine neue Server-Software, die die Synchronisierung um das etwa Hundertfache beschleunigt. Wir reden mit Neil über Electrum, die Vor- und Nachteile von Light-Wallets und sein Projekt.

Hallo Neil! Erzähl’ uns doch zunächst von dir. Wer bist du, und wie kamst du dazu, bei Bitcoin mitzuarbeiten?

Ich lebe und arbeite in Tokio, mittlerweile seit mehr als 17 Jahren. Ich habe mehr als 20 Jahre im Finanzwesen gearbeitet, bis ich, im Frühjahr 2014, beschlossen habe, dass ich genug davon habe. Ich machte eine Pause von 18 Monaten und schloss mich dann einer japanischen Software-Firma an, die Software für das Finanzwesen schreibt. Von Bitcoin bin ich begeistert, seit ich vor einigen Jahren zum ersten Mal davon gehört habe.

Du arbeitest mit Electrum, einer Light-Wallet. Wie funktioniert Electrum? Und was sind die Vorteile gegenüber anderen Light-Wallets?

Die Idee ist, wie bei allen Light-Clients, dass es möglich sein sollte, eine Software zu installieren und sofort mit Bitcoin zu beginnen, anstatt einen mächtigen Server laufen zu lassen und die große und immer weiter wachsende Blockchain herunterzuladen.

Soweit ich weiß war Electrum eine der ersten, wenn nicht die erste Wallet, die HD, “hierarchical deterministic”, Wallets benutzt. Das bedeutet, dass man nur eine Seed sicher speichern muss, was gewöhnlich ein Satz von 12 oder mehr Wörtern ist, um die gesamte Wallet-Geschichte wiederherzustellen. Man braucht kein anderes Backup; die Seed ist verschlüsselt gespeichert und bleibt nur so lange wie nötig im Arbeitsspeicher.

Im Gegensatz dazu hat bitcoind, also der Bitcoin Client, die Wallets Jahre lang unverschlüsselt auf der Festplatte gespeichert. Man musste zudem fortlaufend ein Backup machen, weil die privaten Schlüssel nicht miteinander in Beziehung stehen und ständig neu erstellt werden. Das hat früher zu vielen großen Verlusten von Usern geführt.

Electrum ist außerdem sehr flexibel, wenn man ein Power User ist, der weiß, wie Bitcoin funktioniert. Beispielsweise hat Electrum ein gutes Coin Control, was bedeutet, dass man auswählen kann, welche inputs man für eine Transaktion verwendet. Das ist sehr wichtig, um die Privatsphäre davor zu schützen, dass dritte Parteien Transaktionen auf der Blockchain analysieren. Mir ist nicht bekannt, dass andere Light-Wallets ein solches Feature haben, aber ich kenne auch nicht alle. Darüber hinaus kann man Electrum mit einer Reihe von Hardware-Wallets verbinden und es gibt weitere Features als Plugins.

Auf github schreibst du, dass du “wegen der Privatsphäre und aus anderen Gründen” schon lange einen eigenen Electrum Server betreiben wolltest. Warum?

Um die Bequemlichkeit zu genießen, eine Light-Wallet zu benutzen, muss man etwas opfern. Bei allen Light-Wallets opfert man ein Stück Privatsphäre: Damit die Wallet die Informationen bekommt, die sie braucht, um die Transaktionen und Guthaben des Users zu zeigen, ohne die gesamte Blockchain selbst zu verarbeiten, muss es sich auf einen Server verlassen, der die Blockchain indiziert und die Informationen bereitstellt. Um bei dem Server diese Informationen anzufragen, muss der Client notwendigerweise dem Server die Adressen des Users mitteilen, damit der Server den Client benachrichtigen kann, wenn der User Geld bekommen hat.

Ein ruchloser Server-Betreiber kann nun Informationen über IP-Adressen und Anfragen sammeln, einige Annahmen machen, die korrekt sind oder auch nicht, und die Adressen verbinden, um Profile von Nutzern zu erstellen. Mir ist zwar nicht bekannt, dass dies getan wird, doch es ist für jeden, der sich ein Stück mit Software auskennt, trivial.

Wenn man also Wert auf Privatsphäre legt, aber die Bequemlichkeit einer sofort verfügbaren HD-Wallet mit Hardware-Wallet-Support möchte, dann wird es eine attraktive Möglichkeit, den eigenen Electrum-Server zu betreiben. Wenn du deine Wallet mit dem eigenen Server verbindest, kannst du dir sicher sein, dass dich niemand ausspioniert. Und, natürlich: Je mehr Leute einen Electrum Server betreiben, desto mehr User können es benutzen, ohne dass die existierenden Server überladen werden.

Du schreibst, dass du daran gescheitert bist, einen Electrum Server auf deinem DragonFlyBSB System zu betreiben. Was ist das für ein System? Und woran bist du gescheitert?

DragonFlyBSB ist ein exzellentes Betriebssystem, das eine Fork von FreeBSD ist. Es wurde vor allem von Matthew Dillon designt und entwickelt. Er ist ein unglaublich talentierter Entwickler, und DragonFlyBSB ist recht einfach zu booten.

Warum ich gescheitert bin? Unglücklicherweise hat die ursprüngliche Electrum Server Software sehr viele Resourcen gebraucht. Um einen Server aufzusetzen, muss man die Blockchain auf eine spezielle Weise indizieren, so dass die Clients die notwendigen Informationen abfragen können. Diese Indizierung braucht viel Zeit, Festplattenspeicher und Arbeitsspeicher. Niemand weiß genau, wie viel Zeit sie heute braucht, denn ich habe niemanden gefunden, der im Lauf des vergangenen Jahres einen Electrum Server neu aufgesetzt hat. Denn weil die Blockchain auf mehr als 100 Gigabyte gewachsen ist, dauert es so lange, dass es niemand mehr macht. Eine Schätzung von jemandem, der es eine Weile probiert hat, war, dass es mit aktueller Hardware etwa einen Monat dauert.

Einen Monat? Das hört sich nach einem ernsthaften Problem für das Netzwerk an. Zum Glück konntest du den Prozess mit deiner Software ElectrumX deutlich beschleunigen …

Ja. Mit ElectrumX ist das Synchronisieren eines Electrum Servers, würde ich sagen, nicht mehr Arbeit als das Synchronisieren eines Bitcoin Knotens. Ich habe die Server Software in Python3 anstatt Python2 geschrieben und verschiedene Verbesserungen und Veränderungen im Blockchain-Index gemacht. Das Ergebnis ist, dass die Synchronisierung vom Genesis Block aufwärts etwa 100 Mal schneller geht. Es dauert gegenwärtig noch etwa 8 Stunden. Und ich finde weiterhin Möglichkeiten, es schneller zu machen.

Ich hoffe, dass ich damit so viele Leute wie möglich motivieren kann, ohne High-End-Maschinen einen eigenen Electrum Server zu benutzen. Ein Enthusiast lässt ElectrumX auf einem Raspberry Pi laufen und bedient einige hundert Sessions gleichzeitig. Ich schätze, dass ein Pi, auf dem ElectrumX läuft, es schafft, mit einem Netzwerk mitzuhalten, mit dem die Blöcke im Durchschnitt 3 MB groß sind. Ich habe einige Ideen, wie man das auf 8 MB bringen kann.

Was sind die Voraussetzungen, um einen ElectrumX-Server zu betreiben?

Man braucht, wie bei jedem Server, ein wenig Wissen über Systeme. Außerdem braucht man 25 Gigabyte Festplatenspeicher, um die indizierte Datenbank zu speichern und Platz für weiteres Wachstum zu haben (ich gehe davon aus, dass man bereits bitcoind mit der gesamten Blockchain synchronisiert hat). Fürs Indizieren sollte man mindestens 2 GB Arbeitsspeicher haben, danach, wenn du auf dem aktuellen Stand bist, braucht der Server etwa 600 MB Arbeitsspeicher um mehr als 1.000 Sessions zu bedienen, und sehr wenig CPU und Festplatte. Die Anforderungen sind also relativ niedrig.

About Christoph Bergmann (1026 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 1BvayiASVCmGmg4WUJmyRHoNevWWo5snqC. 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

1 Comment on “Ich habe niemanden gefunden, der im Lauf des letzten Jahres einen Electrum-Server neu aufgesetzt hat.”

  1. würde ich gerne einen aussetzen.. kann man da kurz beschrieben wie das abläuft wenn man die electrumx-master.zip hat ?

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