Die letzten Wochen waren bezüglich Bitcoin voll von Debatten über Hard Fork, SegWit und Bitcoin Unlimited. Letztlich liegt diesem Streit eine alte Debatte zugrunde: bei der Skalierungsdebatte geht es um die Frage, wie Bitcoin mit immer mehr Nutzern umgehen kann.
Diese Frage ist nicht Bitcoin eigen; auch Ethereum wird sich dieser Frage früher oder später widmen müssen. Mit einer steigenden Anzahl von Smart Contracts auf der Blockchain wird dies eher früher denn später der Fall sein.
Die Skalierungsdebatte, wie sie in Bitcoin geführt wird, ist außerdem ein gutes Beispiel für ein Unknown Unknown: ein Problem, welches bei der ursprünglichen Implementierung von Bitcoin so nicht vorhergesehen werden konnte.
Skalierungsdebatte: Ein Multi-Stakeholder-Problem?
Die Schwierigkeiten mit derartigen Fragestelungen wurden von Shermin Voshmgir, einer Kuratorin der DAO und Gründerin des Blockchain Hub, in einem Vortrag beim jüngsten Ethereum Developer Meetup angesprochen.
In diesem stellte sie dar, wie einige der Probleme, die bei der Skalierungsdebatte eine Rolle spielen, von Satoshi Nakamoto nicht vorhersehbar waren: die Informationsasymmetrie, die wir im heutigen Bitcoin-Ökosystem mit verschiedenen Stakeholdern wie den Nutzern, den Minern, den Developern und den Nodes haben, ist bei der Initiierung von Bitcoin so nicht vorgesehen gewesen.
Seinerzeit war jeder ein Miner, hatte einen Core Client und war dementsprechend vollwertiges Mitglied des Netzwerk. Mit Aufkommen der Mining Pools wurde diese Balance in einer vorher nicht vorhersehbaren Weise gestört.
Neben dem Fall Bitcoin ging sie auch auf den Fall DAO ein. Sie schloß den Vortrag mit einem Appell ab, dass Blockchain-Entwicklungen stabil, flexibel und inklusiv sein müssen, um möglichst gut auf derartige Unknown Unknowns antworten zu können.
Truebit – gerüstet für komplexe Berechnungen
In einem zweiten Vortrag hat Christian Reitwiessner über das Skalierungsproblem aus Ethereum-Sicht gesprochen und wie sich das Netzwerk diesbezüglichen zukünftigen Voraussetzungen stellen kann.
Primär können als Lösungsvorschläge für das Skalierungssystem im Fall Ethereum zwei genannt werden:
Im Fall von Sharding, einem Ansatz, der unter dem Codenamen Casper verfolgt wird, werden nicht alle Nodes geupdatet. Die Nodes, die neue Blöcke erhalten, rotieren jedoch, so dass die Blockchain insgesamt dezentral abgelegt ist.
Mithilfe vom Raiden-Network sollen off-chain-Transactions realisiert werden. In der Hinsicht kann man diesen Lösungsansatz als das Lightning Network von Ethereum bezeichnen: Die einzelnen Transaktionen werden geclustert und erst dann der Blockchain hinzugefügt.
Im ersten Fall soll das Problem der immer größer werdenden Blockchain gelöst werden. Das Raiden-Netzwerk will, analog zum Lightning Network, letztlich an der Blocksize vorbei die immer mehr werdenden Transaktionen beheben.
Im Fall von Ethereum ist das Skalierungsproblem jedoch noch eine Spur komplexer: Smart Contracts werden nicht nur automatisch Transaktionen verschicken, sondern gespeicherte Status besitzen und Rechnungen durchführen. Je komplexer derartige Berechnungen sind, desto mehr Aufwand bedeutet das für die Miner. Um dem Herr zu werden kann zwar die Komplexität der Smart Contracts durch ein Gas-Limit begrenzt werden, jedoch werden so viele Anwendungen faktisch ausgeklammert. Weder bezüglich der angesprochenen Unknown Unknowns noch bezüglich der effektiven Skalierung von Ethereum ist das hilfreich.
Truebit möchte dieses Problem lösen. Mit Truebit sollen Smart Contracts ohne gas limit realisiert werden können. Die Folgen davon wären natürlich gigantisch: Beliebig komplexe Smart Contracts wären möglich. Man wäre nicht auf eine Programmiersprache beschränkt, sondern könnte die Smart Contracts in jeder beliebigen schreiben. Da der Code beliebig komplex werden könnte rücken Visionen wie Neuronale Netze als Smart Contracts näher. Schließlich soll durch Truebit der Zugriff von Smart Contracts auf Swarm, ein skalierbares, auf der Blockchain liegendes Storage System möglich sein.
Wie wird das realisiert? Einfach gesagt: Indem die Berechnungen nicht auf der Blockchain passieren, sondern Offchain durchgeführt werden. Was jedoch die als Solver benannten Nodes tun, ist, dass sie diese Berechnung bestätigen. Falls einer dieser Solver die Rechnung nicht bestätigt, wird diese überprüft – in der Hinsicht können Angreifer, die bei einer Berechnung nicht das erwartete tun, zu 99% ausgehebelt werden.
Konkret läuft diese Überprüfung so: einzelne Teilnehmer im Netz führen die Berechnung durch – beispielsweise über Golem. Sollte es zwischen den Solvern einen Widerspruch geben, nimmt sich ein Smart Contract der Überprüfung der Berechnungen an. Ohne hier zu sehr in die technischen Details gehen zu wollen werden Memory-Snapshots der zwei Berechnungen sukzessive überprüft, bis der Schritt, bei dem beide Berechnungen voneinander abweichen gefunden werden kann. Und hier kann der Smart Contract überprüfen, welcher Einzelschritt falsch ist.
Wichtig ist hier zu sagen, dass “falsch” bedeutet, dass in einer Berechnung etwas bewusst manipuliert wurde.
Die Solver zahlen einen Deposit. Falls bei einer derartigen Überprüfung herausgefunden wird, dass ein Solver eine manipulierte Antwort gab, verliert dieser seinen Deposit, so dass der Anreiz für eine boshafte Verfälschung einer Berechnung gering ist.
Jene Partei, die eine komplexe Rechnung ausgeführt haben will, bezahlt dafür eine Gebühr, die schließlich als Motivation an den Verifier geht.
Soweit eine grobe Einführung in das Konzept von Truebit. Wer mehr über die technischen Details von Truebit wissen will sei auf das Whitepaper verwiesen.
Insgesamt hat man so ein System geschaffen, in dem nicht jede Smart Contract Berechnung von jedem Miner durchgeführt werden muß – man hat damit sozusagen eine Art Sharding für Smart Contract-Berechnungen.
Als konkrete Use Cases wurden interessante Anwendungen wie ein wirklich dezentralisierter Mining Pool, eine Verlinkung verschiedener Blockchains, die Dogecoin zu Smart Contracts verhelfen könnte oder die Encodierung von Videos via Livepeer vorgestellt.
Insgesamt ein sehr interessantes Projekt, welches noch recht jung ist. So wird seitens des Developer Teams eifrig nach Funding und weiteren Entwicklern gesucht. Falls sich einer der Leser angesprochen fühlt, sei er auf die Webseite von Truebit verwiesen.
Im Artikel wurden Gedanken des Autors zum jüngsten Ethereum Meetup beschrieben. Er ist also mehr als ein Kommentar denn als Zusammenfassung desselben zu verstehen. Die Vorträge wurden aufgezeichnet und sollen veröffentlicht werden. Entsprechende Links werden hier nachgefügt.
BTC-ECHO