Jonas Schnelli ist einer der fünf Kern-Enwicklern mit Commit Access zum Code. Der Schweizer ist vor allem für die Nutzeroberfläche verantwortlich. Im Interview erklärt er, warum die Kern-Entwickler das Blocklimit nicht erhöhen wollen, weshalb Core ein Image-Problem hat und warum er auch nach einer 2 MB Hardfork weiterhin am Bitcoin arbeiten würde.

Hallo Jonas, erzählst du mir etwas von deinem Hintergrund?

Gerne. Ich bin 36 Jahre alt, lebe in Basel und arbeite im IT-Bereich. Ich habe keine Hochschulreife, sondern habe mir das meiste selbst beigebracht. Mit dem Entwickeln habe ich vor etwa 26 Jahren angefangen, damals noch auf dem Amiga und C64. Seit ich arbeite bin ich selbständig, ich habe mittlerweile drei Firmen gegründet.

Wie kamst du zum Bitcoin?

Zunächst hat ein Angestellter von mir davon erzählt. Ich dachte zuerst, das ist ja ein komisches Zeug, das war 2011, aber irgendwann dachte ich mir auch, das sieht schon spannend aus. Also habe ich aus Neugier ein bisschen investiert. Als ich dann gesehen habe, wie der Kurs massiv gestiegen ist, hat es mich gepackt. Ich habe mich ins Thema vertieft und ab 2012 die ersten Commits bei Bitcoin Core gemacht.

Du bist einer von 5 Entwicklern mit Commit Access. Wie kamst du dazu?

Ich habe das ganze letzte Jahr quasi in Full Time an Bitcoin Core gearbeitet. Ich habe dafür recht viel Zeit aufgewendet. Ich denke, ich kann schon ganz ordentlich entwickeln, bin aber nicht so übermäßig qualifiziert wie etwa Pieter Wuille. Aber es braucht Leute wie mich, die das System sauber halten und den Überblick behalten. Meine Arbeit in diesem 5er Team ist es ja, die GUI zu prägen.

Hast du mit deiner Arbeit aufgehört, um das in Full Time zu machen?

Nicht ganz. Ich habe die Arbeit eher verschoben, sagen wir es so, ich bin ja selbständig und kann das daher besser einteilen. Ich bezahle meine Arbeit an Core aber quasi selbst, natürlich auch in der Hoffnung, dass es sich auszahlt, aber das ist nicht mein zentraler Treiber.

Was ist dein zentraler Treiber?

Ganz schwierig zu sagen. Ich denke, mich interessiert das System extrem, es ist die Zukunft, ich spüre das, und ich möchte daran teilnehmen und Bitcoin weiterhelfen.

Gibt es eine bekannte Änderungen im Bitcoin Client, die auf dich zurückgeht?

Was offensichtlich ist, sind die Icons, Logos und die HiDPI Tauglichkeit, die gehen auf mich zurück. Ab der nächsten Version wird man Nodes bannen können und weitere Zugriffe stoppen.

Ist das nicht ein Blacklisting?

Hmm, ja, so ähnlich. Ein Blacklisting bannt Nodes nur bei Misbehavious, bei 0.12 kann man Nodes über die IP-Adresse effektiv bannen.

Warum?

Es gibt verschiedene Gründe. Zum Beispiel hat man festgestellt, dass manche Nodes nicht sinnvoll sind, etwa Scanning Nodes oder Nodes, die nur konsumieren oder den anderen vorgaukeln, sie wären Full Nodes.

Aber nochmal zurück zu anderen Updates: Die vielleicht sinnvollste Funktion in 0.12 ist das Max Upload Target. Ein Node verursacht relativ viel Traffic, und sehr viel Traffic geht dabei auf den Upstream. Gemeinsam mit anderen Entwicklern habe ich dann einen Regler konzipiert, um ein Max-Upload-Target zu setzen.

Das klingt super … aber lass‘ uns zu den etwas unangenehmeren Fragen kommen. Wie ist es derzeit, Core-Entwickler zu sein?

Es geht so, natürlich ist momentan viel los. Meine Meinung ist, dass wir eine technische Auseinandersetzung haben, zu der es verschiedene Meinungen gibt, aber gleichzeitig gibt es auch verschiedene Meinungen, wo Bitcoin politisch hin soll. Alle haben dasselbe Ziel – ein dezentrales System mit möglichst großer Kapazität zu erschaffen.

Ein wichtiger Punkt in der Debatte ist auch der Pragmatismus, das sitzt, denke ich, im Kern des Problems. Einige Leute möchten kurzfristig eine Lösung, während andere langfristiger denken.

Pragmatisch wäre es demnach, die Blockgröße zu erhöhen?

Ja, aber ich bin da skeptisch. Die Lösung ist zu einfach und das Problem ist, dass Bitcoin nicht linear skaliert. Wenn man die Blockgröße erhöht, steigt die Belastung des Netzwerkes quadratisch, da jeder Node jede Transaktion kennen muss. Mein Grundproblem ist, dass sich die Anzahl von Nodes bereits jetzt reduziert. Bitcoin ist nicht mehr als das Netzwerk von Full Nodes, und die haben schon jetzt eine hohe Belastung durch Traffic und CPU. Je größer die Blöcke, desto schwieriger ist es, eine Full Node zu betreiben.

Ich habe dazu eine Parallele im Kopf. Hier in der Schweiz gibt es ein paar schöne Seen und Flüsse, die Leute haben Wege drumherum herum gebaut, weil es schön ist, drumherum zu laufen. Dann haben sie Straßen gebaut, und mittlerweile haben wir 2-3-spurige Straßen und auch Zuglinien um die Seen herum. Das kann man meiner Meinung nach mit der Blocksize zu vergleichen: Man macht, ohne nach Alternativen zu suchen, das einfachste, nämlich größere Straßen zu bauen, und das hindert uns daran, bessere Lösungen zu machen.

Was wäre eine bessere Lösung?

Zum Beispiel Seggregated Witness von Pieter Wuille. Wenn wir die Signaturen entfernen, können wir in einen Block doppelt so viele Transaktionen wie bisher reinbringen. Für diese Lösung hätten wir fast 100 Prozent Konsens, weil alle sie gutfinden.

Ich habe gehört, dass kritisiert wird, dass es kompliziert ist und viel Arbeit von Wallet-Betreibern und Börsen verlangt.

Ja, das stimmt. Es ist anstrengender. Einfacher ist es immer, größere Straßen zu bauen. Eine Parallele ist es mit dem SMTP-Protokoll für E-Mails. Es wurde auch nie grundlegend verändert, sondern einfach aufgebohrt, mit Erweiterungen wie ASMTP, SPF etc. Das Protokoll wurde nie grundlegend so angepasst, dass es effizienter ist, sondern es wurden pragmatische Änderungen implementiert.

Aber E-Mails funktionieren doch ganz gut?

Ja, aber wenn du von E-Mail sprichst, sprichst du oft von Gmail. Es ist kaum dezentral, wenn du eine E-Mail schreibst, du hast kaum einen eigenen SMTP Server, und du bist angewiesen auf eine Instanz, die E-Mails empfängt und weitergibt. Wenn wir wollen, dass das Bitcoin-Protokoll langfristig dezentral überleben soll, dann müssen wir jetzt bereit sein, tiefere Eingriffe vorzunehmen.

Langfristig führt aber kein Weg daran vorbei, die Blockgröße zu erhöhen?

Warum? Selbst wenn wir die Blockgröße auf 20 MB erhöhen, passen viel weniger Transaktionen durch als durch Visa. Mit einer immensen Blockgröße wäre es vielleicht möglich, ein weltweites Zahlungssystem für den Endkunden herzustellen, aber eine Full Node in diesem Umfeld zu betreiben wird extrem schwierig, auch in fünf Jahren.

Was sind die Alternativen?

Etwa das Lightning-Netzwerk. Es wäre eine zu einfache Skalierung für ein dezentrales System, wenn wir jede Zahlung auf der Blockchain haben. Ich denke, es muss Subsysteme wie Lightning geben, wenn wir eine Massen-Nutzung haben wollen.

Sollte man nicht dennoch so viele Onchain Transaktionen wie möglich ermöglichen?

Das ist das, was wir heute machen. Core ist aber der Meinung, dass die Blockgröße von 1 MB zusammen mit Maßnahmen wie Segregated Witness vorerst ausreichend ist. Die meisten bei Core vertreten die Meinung, dass die Erhöhung der Blockgröße auch kurzfristig keine Lösung ist.

Aber doch besser als gar keine Lösung?

Dazu muss man das Problem definieren. Das Problem dürfte sein, dass Transaktionen etwas kosten, und es kann auch sein, dass man sechs Stunden warten muss, bis eine Transaktion bestätigt ist. In dem Sinne ist es kein Problem, sondern es dauert halt länger und wird teurer. Mit teurer meine ich vielleicht 6 Cents anstelle von 2 Cents.

Aber wenn die Transaktionen dauerhaft über der Kapazität liegt, dann steigt die Anzahl unbestätigter Transaktionen doch ins Unendliche?

Es gibt immer noch viele Blöcke die <500kb liegen. Wenn aber alle Blöcke voll sind, dann werden einige Transaktionen unökonomisch und kosten eben einen Dollar. Wir sind uns einig, dass man mehr Transaktionen durchlassen muss, aber die Blockgröße zu erhöhen ist einfach keine effiziente Lösung.

Fürchtet ihr nicht, dass ihr mit dieser Einstellung die Unterstützung der Community verliert?

Das ist schon passiert. Die Community ist gespalten. Viele Argumente sind verquer, etwa getrieben von Verschwörungstheorien über Blockstream. Die Skalierbarkeit ist eine technisch hochkomplexe Angelegenheit, und wenn da jeder mitdiskutiert, führt das schnell dazu, dass vielen Beiträgen die technischen Grundlagen fehlen.

Ich denke aber schon, dass Core ein Image-Problem hat. Wir arbeiten jetzt daran, einen bessern Auftritt hinzulegen. Die User sehen sich eben als User, sie denken, mehr Transaktionen sind gut, aber die Langzeitfolgen müssen auch berücksichtigt werden, und das muss Core besser vermitteln.

Derzeit bahn sich eine Dezentralisierung der Entwicklung an mit alternativen Clients wie XT, Unlimited und Classic. Wie findest du diese Entwicklung?

Das finde ich super. In Open Source sind alternative Anwendungen immer gut, grundsätzlich finde ich Bitcoin Classic und Bitcoin Unlimited super, wäre da nur nicht ein Hardfork ohne Übereinstimmung der Entwickler mit dabei. Man darf aber eines nicht verwechseln: Code Forks sind gut, aber bei diesen Clients wird eine Hard Fork der Chain mitgeschmuggelt, was bedeutet, dass man eine neue Cryptocurrency erzeugt. Wenn man ohne Consens die Blockchain spaltet, gibt es einen Altcoin, auf der einen oder anderen Seite. Wenn wir annehmen, XT hätte 80% der Unterstützung, dann wären die 20% Core-User auf einer Altchain. Und das zu machen, ob es jetzt gut oder schlecht ist, ohne Konsens, ohne die volle Unterstützung der Community, das ist sehr gefährlich und kann sogar zum Tod von Bitcoin führen.

Hätte Core das verhindern können?

Ja, ein Kompromiss wäre etwa gewesen, wenn wir gesagt hätten, wir implementieren eine kleine Erhöhung der Blocksize. Wir haben ja diese zwei Konferenzen zum Scaling gemacht, daraus haben wir gezogen, dass es unsere Art ist, durch Segregated Witness mehr Transaktionen durchzulassen. Das ist zwar komplexer, aber technisch die bessere Lösung.

Zu XT muss ich aber auch sagen, dass dabei viel an der Person Mike Hearn hing. Er hat mit seinem Pragmatismus bei Core angeeckt und wurde dort rausgewürgt. Und Mike ist nicht die Person, die das kaschieren kann, daher hat er auch versucht, etwas gegen Core aufzusetzen. Das ist da in jedem Fall auch eingeflossen.

Und wie ist das bei Gavin Andresen und Jeff Garzik?

Bei ihnen ist es anders. Classic ist eine berechtigte Fork. Was mich daran eben stört, ist, dass Classic eine Hardfork machen will. Mich beunruhigt aber auch sehr, dass da Firmen im Hintergrund sind, wie Coinbase, die natürlich sehr kapitalistisch orientiert sind. Eine Hard Fork ist etwas sehr gefährliches, und ich finde es kritisch, dass dahinter Firmen stehen.

Ich nehme an, Coinbase möchte eben ein Umfeld schaffen, um künftig weiter wachsen zu können. Du hast ja auch gemeint, dass die Blockstream-Verschwörungstheorien quatsch sind …

Ja, dann sollte ich wohl auch an keine Verschwörungstheorien mit Coinbase glauben, da hast du recht.

Nehmen wir mal an, Classic würde sich durchsetzen. Würdest du dann dort mitmachen, oder wäre das für dich das Ende?

Nein, ich bin es gewohnt, mich anzupassen, meine Meinung ist mir schon wichtig, aber wenn ich sehe, dass meine eigene Meinung von den anderen Meinungen diffundiert, beharre ich nicht auf ihr.

Das wäre also nicht der absolute Bruch?

Nein, ich habe mich in Bitcoin verliebt, kann das aber von meiner eigenen Natur trennen. Ich habe kein Problem, über meinen eigenen Schatten zu springen. Was ich will ist, Bitcoin besser zu machen.

Zum Ende möchte ich noch über Zensur sprechen. Es wurde ja oft kritisiert, dass sich Core nicht genügend von der Zensur auf einigen Bitcoin-Medien distanziert hat. Wie siehst du das?

Die Zensur stört mich auch. Aber wir sind jetzt dabei, uns zu distanzieren. Wir haben jetzt eine eigene Webseite und wollen uns von bitcoin.org, reddit und bitcointalk entfernen. Das ist ein Resultat aus der Zensur und der Moderation, die uns zu weit ging. Zum Teil habe ich Verständnis dafür, da die Community mehr politisch als technisch getrieben ist, was die Gefahr einer Hardfork erhöht, aber ich sehe auch, dass Zensur nichts bringt. Bitcointalk zum Beispiel, das von diesem berüchtigten Moderator geleitet wird, war schon immer das wichtigste Medium für alle Diskussion. Heute wird es von der Core Community nicht mehr genutzt. Die wichtigsten Diskussionen finden im IRC-Channel statt.

Jonas, danke dass du dir die Zeit genommen hast.