Podcast

Proof of Stake

Wie hoch ist dein Einsatz?

Cardano tut es bereits und Ethereum will es tun: Immer mehr Kryptowährungen nutzen „Proof of Stake“ als Alternative zum etablierten „Proof of Work“-Konzept, wenn es um die Absicherung ihrer Blockchain geht. Warum tun sie das? Und wo liegen die Vor- und Nachteile? Darüber sprechen Lucas und Lars in dieser Folge. Außerdem werfen sie einen Blick über den Tellerrand und geben einen Überblick über weitere Methoden, mit denen Blockchains vor Manipulation geschützt werden können.
Listen to other episodes

Shownotes & Links

Transkript

show / hide transcript

Lucas:

Hallo und herzlich Willkommen zu einer neuen Folge des INNOQ Podcasts. Heute reden wir über “proof of stake” und dafür habe ich mir den Lars eingeladen. Hallo Lars!

Lars:

Hallo Lucas!

Lucas:

Ja, für die, die dich nicht kennen, kannst du ja ein, zwei Worte kurz zu dir sagen und dann legen wir los!

Lars:

Ja, ich bin Senior Consultant bei INNOQ und ich mache eigentlich so von allen Dingen ein bisschen was. Also im Frontend und Backend fühle ich mich wohl. Und im aktuellen Projekt bin ich sogar auf der Architekturebene unterwegs.

Lucas:

Okay. Ja, der Lars, der hat in einer der letzten Ausgaben der c‘t einen Artikel geschrieben über das Thema “proof of stake”, da hat vielleicht schon der eine oder der andere von gehört. Man weiß ja die Vier-Tage-Woche kommt, wir werden nicht mehr fünf Tage die Woche arbeiten. Deswegen funktioniert “proof of work” nicht mehr und wir brauchen einen Ersatz. Und das war für Lars der Ansatz nochmal drüber nachzudenken, wie dieses “proof of stake” denn funktioniert. Aber Scherz bei Seite, wir müssen, glaube ich, ersteinmal kurz das Problem erläutern, was wir lösen wollen. Also das hat was mit der Blockchain und mit Bitcoins und mit sowas zu tun. Aber ich glaube wir fangen erstmal bei dem grundlegenden Problem an, nämlich diesen Konsens-Problem. Was ist das? Und warum beschäftigt uns das?

Lars:

Ja, genau. Also, seit ich bei INNOQ bin, habe ich mich so parallel zu den Projektaufgaben noch mit dem Thema “Blockchain” befasst und da allerdings nicht so den Fokus auf die Kryptowährung gelegt, sondern eher so ein bisschen auf den Unternehmenseinsatz von Blockchains. Aber wenn wir über “proof of work” oder “proof of stake” reden, müssen wir uns schon für den Anfang mal auf diese ganzen Kryptowährungen wie Bitcoin und Ethereum fokussieren. Das nur erstmal vorweg. Das Problem was ja diese Kryptowährungen lösen wollen ist, dass sie ein weltweites Finanzsystem aufspannen wollen, was unter keiner zentralen Kontrolle steht. Und diese zentrale Kontrolle wird halt im normalen Bankensystem dafür genutzt, dass niemand mehr Geld ausgibt als er hat und derjenige, der Geld ausgibt, das auch wirklich besitzt. Also zum Beispiel kann ich jetzt nicht einen 20€-Schein nehmen und kann den sowohl an den Lucas geben als auch an noch jemand anderen, weil der ist dann einfach weg. Und auch beim Überweisen geht das nicht und dann brauche ich halt irgendeine Instanz, die das prüft. Der Ansatz von diesen Kryptowährungen ist jetzt, dass man also diese zentrale Instanz wegfallen lässt und das dann dezentral macht. Und dafür muss ich eine Art “globalen Konsens” finden. Das heißt, ich habe jetzt irgendwie einen Token, das ist irgendein Schlüssel. An diesem Token hängt ein bestimmter Geldwert dran, also das ist zum Beispiel 0,1 Bitcoin und dann muss global irgendeine Einigkeit darüber herrschen, wem dieser Token gehört und ob der schon mal ausgegeben worden ist oder ob ich den noch ausgeben darf.

Lucas:

Und warum… Also was ist der Grund, dass wir da… warum es ein neues Problem ist im Vergleich zu allen anderen Systemen, die wir davor hatten? Also was ist da besonders dran?

Lars:

Ja, das besondere ist, dass praktisch jeder Mensch auf der ganzen Welt mit einem Internetanschluss sich beteiligen kann an diesem Konsens. Im klassischen Banksystem, da hast du halt eine begrenzte Menge an Akteuren, die einfach Banken betreiben und irgendwie die Infrastruktur haben und bei den Kryptowährungen da darf jeder mitrechnen auf der ganzen Welt. Und ob diese Person jetzt böse Absichten oder gute Absichten hat, dass kannst du im Prinzip erstmal nicht unbedingt erkennen. Also alle, die einen Internetanschluss haben, die können in dem Netzwerk partizipieren. Die dürfen Transaktionen validieren und sagen: „Das ist eine Transaktion, die gefällt mir.“ und „Das ist eine Transaktion, die gefällt mir nicht“. Und was die Motive sind, kannst du nicht unbedingt sagen und du musst halt ein Konsens-Verfahren finden, was damit klarkommt.

Lucas:

Okay. Und also andere Konsens-Verfahren wie jetzt Paxos und Raft, die können mit sowas nicht umgehen. Richtig?

Lars:

Nein, genau. Also dieser Fall wird in der Fachliteratur als Byzantinischer Konsens bezeichnet. Das heißt das ist ein Konsens-Verfahren, was damit klarkommt, dass sich Leute nicht an die Spielregeln halten. Also die versuchen, aktiv das System zu sabotieren. Und Paxos und Raft, die können zum Beispiel damit klarkommen, dass mal ein Knoten weg ist. Also wenn ich zum Beispiel eine verteilte Datenbank betreibe in meinem Rechenzentrum, dann sind das vielleicht fünf Kisten und von diesen Kisten, da fällt vielleicht immer mal eine weg, weil die irgendwie crasht oder weil das Netzwerk weg ist. Damit kommen die klar und die können das dann wieder rekonstruieren. Aber wenn ich jetzt eine Maschine habe, die sich falsch verhält, das heißt also aktiv versucht, Daten zu löschen oder sowas, damit kommen diese klassischen Algorithmen nicht zurecht und dafür brauche ich einen sogenannten Byzantinischen Algorithmus, der dazu in der Lage ist, das zu erkennen und irgendwie, ja, wieder gerade zu biegen letztendlich.

Lucas:

Okay, aber wenn ich mir jetzt vorstelle… Also wir haben jetzt ein kleineres Netzwerk. Wir haben jetzt irgendwie zehn Leute, die wollen sich auf irgendwas einigen und acht davon haben sich verschworen, um irgendein Ziel zu erreichen. Würde da auch so ein Algorithmus mich retten können? Oder gibt es da irgendwie eine Grenze, die man anstrebt: Wie viele Leute dürfen was böses wollen, damit es nicht passiert?

Lars:

Ja, das ist diese klassische 51%-Attacke. Also es wird quasi immer ein Mehrheitsentscheid gemacht. Also bei Bitcoin ist es zum Beispiel so, wenn jemand dauerhaft 51% oder 50% plus x der Rechenzeit kontrolliert oder des gesamten Systems kontrolliert, dann können die einfach die Regeln ändern diese 50% plus x. Das ist einfach so und da kann dich eigentlich kein Verfahren so richtig davor retten. Wenn mehr die Mehrheit sagt “wir machen das jetzt so”, dann ist das so.

Lucas:

Okay. Und man geht einfach davon aus, dass immer unter 50% etwas Böses wollen und deswegen ist es dann in Ordnung dieses Verfahren.

Lars:

Ja, fast immer kann man das so sagen. Denn es gibt von Bitcoin verschiedene forks, die genau früher mal entstanden sind, weil eine Minderheit gesagt hat: ‚“Wir machen das jetzt anders als die Mehrheit das will. Also machen jetzt bald unsere eigene Kryptowährung, da machen wir jetzt unsere eigenen Regeln drin”. Und wenn dann du eben so eine klassische “proof of work”-Kryptowährung hast, wo du Rechenzeit investieren musst, um mitzumachen und dann kommt jemand an und hat einfach viel mehr Rechenzeit als du, dann kann der dich einfach kaputt machen. Und das ist bei verschiedenen von diesen kleinen Kryptowährungen auch schon passiert. Dass da einfach jemand eine Attacke gefahren hat, gesagt hat: “Okay, ihr mit euren hundert hash minern, ihr könnt ja gar nichts. Ich komme einfach mit zweihundert hash minern, dann sage ich euch mal wie es läuft”.

Lucas:

Verstehe! Okay, wir haben jetzt schon mehrfach diesen Begriff “proof of work” erwähnt. Also ich glaube vielen Leuten ist irgendwie bewusst, dass Bitcoin relativ energieintensiv ist. Je nachdem wer man ist, kann man das dann auslegen als zu energieintensiv oder gar nicht so energieintensiv, aber da wollen wir jetzt mal nicht zu tief einsteigen. Sondern erstmal, warum braucht denn Bitcoin so viel Energie? Was ist “proof of work” und warum kostet das so viel Energie?

Lars:

Ja, also wie gesagt, man hat dieses globale Konsens-Problem und wie verhindert das Netzwerk jetzt, dass einfach Leute sich verschwören und da das Netzwerk übernehmen? Indem man es sehr teuer macht das Netzwerk zu übernehmen. Also man muss quasi irgendeine Art von Einsatz bringen, um mitrechnen zu dürfen. Und das klassische Verfahren dafür, das Bitcoin quasi vorgelegt hat ist das sogenannte “proof of work”-Verfahren. Das heißt wenn ich in der Bitcoin-Blockchain einen neuen Block anhängen möchte ins Netzwerk, dann muss ich beweisen, dass ich da Arbeit reingesteckt habe. Ich kann also jetzt nicht einfach morgens aufstehen und sagen: “Oh, ich mach jetzt mal einen neuen Block und dann schreibe ich mir den hin und dann submitte ich den. Und dann ist alles gut”, sondern ich muss eine Art Würfelspiel machen. Ich muss eine bestimmte randomisierte Zahl in den Block mit reinschreiben und dann muss ich den Hashen und dann muss dieser Hash bestimmte Kriterien erfüllen. Und das ist so gemacht, dass es eben sehr, sehr lange dauert, bis man einen gültigen Hash findet, der eben vom Netzwerk akzeptiert wird. Und aktuell ist es so, dass bei Bitcoin global gesehen ungefähr alle zehn Minuten das jemand gewinnt. Und das ist so eine Art, ja, fast schon so wie ein Würfelspiel. Also ich muss quasi… Wenn ich sage ich habe jetzt sechs Würfel und ich habe gewonnen, wenn ich mindestens 34 Augen zusammen habe. Also 36 Augen gibt es dann insgesamt, wenn ich mindestens 34 habe, habe ich gewonnen. Also muss ich einfach so oft würfeln, bis ich die 34 oder mehr habe und das dauert halt einfach eine Weile. Und global gesehen, es gibt jetzt halt sehr, sehr viele Miner. Die würfeln alle und die würfeln also um die Wette und wer zuerst einen gültigen Hash gefunden hat und zuerst die 34 von 36 Augen hat, der darf eben dann den Block anfügen. Und die Kriterien werden immer so verändert, das heißt, wenn jetzt mehr Leute ins Netzwerk reinkommen, wird das Würfelspiel auch schwieriger. Also damit wird im Prinzip verhindert, dass man da einfach so quasi unbedarft reingehen kann. Und dieses Würfeln, wie zum Beispiel das Hashen, das ist halt etwas, das verbraucht Strom. Das heißt, da muss ich irgendwie ein Gerät an meine Steckdose anschließen und dann ist das die ganze Zeit auf Volllast und würfelt da so vor sich hin. Und je nachdem in welchem Land ich lebe, kann das halt sehr teuer sein. Also in Deutschland zum Beispiel rentiert sich Bitcoin-Mining eher nicht so, weil einfach der Strom sehr, sehr teuer ist. Und in anderen Ländern ist der Strom eben billiger und dann kommen halt Leute an und machen da massiv dieses Mining. Und wenn man das mal zusammenrechnet, wie viel Mining auf der Welt passiert, dann ist das ja durchaus ein Argument. Da sagt man, da werden wirklich nur einfach Hashes berechnet aus keinem guten Grund, sagen wir mal. Also quasi nur, dass es schwer wird diesen Block zu finden und da werden wahnsinnig viele Kilowattstunden verbrannt einfach dafür.

Lucas:

Aber das bedeutet, wenn ich das richtig verstehe, dass das Konzept von “proof of work” ist, dass das immer quasi schwieriger wird, damit es sich nicht lohnt so viel zu investieren, dass man das System betrügen kann. Das heißt also, solange man bei “proof of work” bleibt, wird der Strombedarf eher steigen. Weil wenn man das günstiger machen würde, dann würde man quasi die gesamte Idee kaputt machen. Ist das richtig?

Lars:

Genau. Also um das vielleicht nochmal ökonomisch zu sagen: Also der Grund, warum man bei Bitcoin betrügen wollen würde, wäre zum Beispiel, ich gebe jetzt dem Lucas einen Bitcoin und der Lucas gibt mir im Austausch dafür irgendein Produkt. Und dann komme ich aber her und sage, jetzt würfle ich so lange, jetzt hashe ich so lange, dass die Transaktion im Nachhinein wieder ungültig wird. Das geht jetzt technisch zu sehr ins Detail, aber das wäre eine mögliche Attacke, die man fahren kann. Und dafür müsste ich halt extrem viel Strom aufwenden, um das zu machen. Das heißt, um so ein Double-Spending wirklich durchführen zu können, müsste ich sehr, sehr viel Strom investieren. Deswegen rentieren sich solche Attacken nicht, aber es ist halt wirklich so, wie du gesagt hast: Je mehr Leute in dem Netzwerk teilnehmen, je mehr Leute um die Wette würfeln, desto mehr Strom wird auch global gesehen dafür gebraucht. Und es gibt jetzt darüber verschiedenen Erhebungen. Also manche Leute sagen, das ist dann ungefähr so viel wie… keine Ahnung, wie Dänemark oder sowas, verbraucht Bitcoin. Ich will das jetzt überhaupt nicht werten, aber es ist schon so, dass verbraucht sehr viel Strom und dieses Würfelspiel hat keinen anderen Zweck außer eben die Blockchain abzusichern.

Lucas:

Okay. Und wäre es denn eine Möglichkeit dieses Würfelspiel so umzubauen, dass es irgendeinen Sinn erfüllt? Also jetzt außer, dass man halt diese Blocks prüft? Wäre das theoretisch möglich?

Lars:

Ja, da gibt es immer mal wieder Ansätze. Ich weiß nicht, ob du diese Folding@home-Projekt kennst?

Lucas:

Ja, SETI@home kenne ich auch.

Lars:

Ja, genau. Da gibt es ja mehrere solche Projekte. Da ist halt die Idee, da kriegt man von irgendwelchen Unis und Forschungseinrichtungen irgendwelche Arbeitspakete auf den eigenen Rechner geschickt, bei Folding@home geht es irgendwie um Proteinfaltung, die waren ja auch letztes Jahr bei Covid da sehr aktiv und bei SETI@home geht es irgendwie drum, in irgendwelchen kosmischen Hintergrundrauschen irgendwie zu schauen, ob da vielleicht irgendwelche Aliens mit uns reden wollen. Das heißt das ist quasi Rechenzeit, die ich übrig habe und da wird dann halt in irgendwelche Dinge reingeschaut und dann kommt vielleicht irgendein wissenschaftlicher Zweck hinten raus. Das Problem ist so ein bisschen, dass man da halt immer noch eine zentrale Instanz braucht, die dann diese Probleme bereitstellt. Also zum Beispiel bei Folding@home würde ich halt irgendeine Proteinsequenz kriegen und dann muss ich dann da irgendwas damit rechnen und dann muss diese Lösung, die ich da gefunden habe, geprüft werden. Das heißt, die Idee hinter Bitcoin, dass du keine zentrale Instanz hast, die geht damit eigentlich komplett flöten. Weil du hast dann irgendwelche Unis oder irgendwelche Forschungseinrichtungen, die müssen dir dann irgendwelche Probleme schicken und dann musst du quasi denen wieder vertrauen. Aber die Idee hinter diesem ganzen “proof of work”-Zeug ist ja, dass man eben diese zentrale Instanz nicht braucht. Und man kann sich jetzt drüber streiten, ob man sowas überhaupt braucht, so ein anonymes dezentrales Geldsystem, aber das ist einfach die Idee. Und wenn man jetzt Folding@home machen würde, dann würde das einfach komplett wegfallen.

Lucas:

Weil man dann die Lösung schon wissen müsste. Also man müsste quasi ein Rätsel stellen, bei dem man die Lösung kennt, richtig?

Lars:

Nicht unbedingt, wo man jetzt die Lösung kennt, sondern wo man die Lösung recht einfach validieren kann und wo es einen unbegrenzten Pool an Problemen gibt. Also bei Bitcoin-Blöcken ist es halt so, die können halt beliebig aussehen. Da können beliebige Transaktionen drin sein und dir muss keine zentrale Instanz irgendwie vorgeben und sagen: “Hier hast du mal einen Block, versuch den mal zu validieren”, sondern du kannst da beliebige Sachen reinschreiben. Und bei Folding@home kriegst du halt… Also es gibt ja nicht beliebig viele Proteine. Es gibt nur eine begrenzte Menge an Proteinen, die wir kennen und ja, da kann man sich nicht einfach irgendwelche Zufallsproteine ausdenken. Weil selbst wenn ich für die irgendeine Faltung gefunden habe, wen interessiert es? Also…

Lucas:

Genau, dann wäre ich ja wieder bei dem Rätsel, was keinen interessiert. Genau.

Lars:

Genau.

Lucas:

Verstehe! Okay und jetzt gibt es ein paar Leute, die sich überlegt haben dieses “proof of stake” auszuprobieren oder probieren es schon aus. Bevor wir da einsteigen, kannst du erstmal sagen: Was bedeutet denn das Wort “stake”? Und dann, was ist “proof of stake”?

Lars:

Ja, “stake” ist ein englischer Begriff und den kann man wahrscheinlich am besten mit Geldeinsatz oder Wetteinsatz vielleicht bezeichnen. Genau, also “proof of work” ist nicht die einzige Möglichkeit, wie man so eine anonyme dezentrale Blockchain absichern kann, es ist halt die, die zuerst da war. Bei “proof of stake” ist jetzt die Idee, dass man halt das möglichst mit wenig Stromeinsatz machen will. Also das man quasi nicht diese sinnlosen Hashfunktionen da auswürfeln muss, sondern man sagt jetzt: Ich habe… Ich gehe in das Netzwerk rein, ich habe vielleicht irgendwie einen… bleiben wir mal bei Bitcoin, Bitcoin macht keinen “proof of stake”, aber der Einfachheit halber sagen wir, ich habe jetzt einen Bitcoin. Ich setze jetzt diesen Bitcoin ein, ich tue den in einen sogenannten “stake” oder einen “Stake Pool” oder wie auch immer. Also ich locke den auf irgendeine Art und Weise. Ich kann den jetzt erstmal nicht ausgeben, sondern ich habe den jetzt reserviert. Und alle Leute, die das machen, die kommen da zusammen und überlegen sich: Was ist der nächste Block? Und validieren den dann einfach mehr oder weniger gemeinsam. Und der Clou ist jetzt daran, wenn dabei jemand betrügt und sagt: “Ich behaupte jetzt, dieser Block ist richtig” und die anderen sagen: “Ne, der ist aber nicht richtig”, dann verliert die Person ihren Einsatz. Das heißt wenn ich jetzt betrügen wollen würde, wäre mein einer Bitcoin weg. Dann würden die anderen mir den quasi wegnehmen. Und damit soll versucht werden aus… statt aus technischer Sicht, eher aus ökonomischer Sicht ein Betrügen unwahrscheinlich zu machen.

Lucas:

Verstehe! Also die Idee ist dann, wenn ich mehr investieren muss, um fünf Bitcoin zurückzukriegen als fünf Bitcoin, dann lohnt es sich für mich nicht. Also tue ich es nicht. Richtig?

Lars:

Genau.

Lucas:

Okay.

Lars:

Und technisch gesehen ist es… Also es gibt verschiedenen Kryptowährungen, die machen das schon. Also Cardano zum Beispiel ist eine, die macht das. Ethereum, die wollen demnächst irgendwann umstellen. Also die wollen schon ganz Weile umstellen, schaffen es bisher noch nicht. Aber das ist ein anderes Thema. Die ist wirklich… Ich kann einfach beliebige Teilnehmer haben in dem Netzwerk und ein paar von denen sagen: “Ich will einfach mitmachen”. Dann müssen sie halt einfach irgendwelches Geld investieren, dann wird tatsächlich wirklich eine Liste gebildet von Teilnehmer:innen, die was gestaked haben und dann wird mehr oder weniger unterschiedlich verfahren. Also manche machen das irgendwie im Round-Robin-Verfahren, andere machen das irgendwie gewichtet nach Höhe des Einsatzes. Also je mehr ich einsetze, desto öfter darf ich mitreden. Da gibt es ganz viele verschiedene Möglichkeiten. Ich habe jedenfalls irgendeine Art von priorisierter Liste und dann geht man einfach durch, jeder darf mal irgendwas berechnen.

Lucas:

Okay. Und was haben die davon, wenn die da investieren in diesen Pool?

Lars:

Ja, sie kriegen so eine Art Zinsen eigentlich. Also wie eine Einlage in einem Sparbuch oder sowas. Okay, aktuell gibt es auf Sparbücher keine Zinsen, aber stellen wir uns mal vor, wie das vor zehn Jahren war. Wenn ich also jetzt in dieser Staking-Liste drinstehe und dann mal dran war und dann einen Block gefunden habe, alle anderen validieren den dann und sagen: “Jup, hast du gut gemacht! Sind wir der gleichen Meinung, das ist ein gültiger Block”, dann bekommst du eine Belohnung dafür. Und diese Belohnung setzt sich aus zwei Teilen zusammen. Der erste Teil, der aktuell noch recht große Teil, ist eine fixe Belohnung pro Block. Also das heißt jeder Block ist irgendwie so und so viel wert. Sagen wir mal zum Beispiel pro Block gibt es fünf Bitcoin, einfach mal gesagt. Und der andere Teil, der aktuell noch kleinere Teil, ist die Transaktionsgebühr, die ich dann behalten darf. Da gibt es aber auch ganz viele verschiedene Modelle. Es gibt also auch so Kryptowährungen, die machen so Staking-Pools. Da schließt man sich dann irgendwie zusammen und da kriegt jeder einen Anteil davon, auch wenn… also keine Ahnung, ein Staking-Pool von zehn Leuten, einer hat gerechnet, die anderen neun kriegen auch ein bisschen davon ab. Da gibt es also ganz, ganz verschiedene Modelle. Aber grundsätzlich ist es so, du bekommst eine Belohnung, wenn du mal was gerechnet hast. Das heißt du hast eine Einlage und die wird dann auf irgendeine Art und Weise verzinst.

Lucas:

Okay. Aber jetzt grundsätzlich klingt das jetzt erstmal so nach einem sinnvollen Verfahren, oder? Man nimmt quasi das grundlegende ökonomische Anreizsystem, das dahintersteckt und macht das ganz explizit. Also gibt es da irgendwie Kritik dran oder Probleme mit diesem Verfahren?

Lars:

Ja, also das Verfahren ist halt noch recht jung und ich glaube man kann so verschiedene Kritik daran auch untergliedern. Also einmal gibt es durchaus technische Kritik an dem Verfahren. Es ist noch nicht hundertprozentig klar, ob “proof of stake” sich wirklich durchsetzen kann. Also ob es nicht noch da irgendwelche theoretischen Probleme gibt, die das Ganze dann wie so ein Kartenhaus zusammenfallen lassen. Wir haben das in der Vergangenheit gesehen, es gab verschiedene Kryptowährungen, die haben super duper neue Konsens-Algorithmen versucht zu etablieren und dann sind die wieder in der Versenkung verschwunden, weil sie irgendwie nicht funktioniert haben oder dann war doch eine zentrale Instanz irgendwie dafür nötig. Und dann gibt es noch die ökonomische Kritik, es kann sich nämlich durchaus ein Zinseszins-Effekt einstellen. Das heißt wenn du sehr früh dabei warst, also in der “proof of stake”-Blockchain und sehr frühzeitig dort irgendwie Geld dort investiert hast, dann hast du einen Zinseszins-Effekt. Also immer wenn du rechnest, bekommst du mehr Geld. Je mehr Geld du hast, desto öfter darfst du rechnen, desto mehr Geld bekommst du und so weiter. Und dann kann man sich natürlich die Frage stellen, führt dieses System eher zu einer Monopolisierung? Und die ganz harten Zyniker sagen dann: “Ja, dann hast du halt einfach ein kapitalistisches Bankensystem, wo du wenige Leute hast, die irgendwie die größte Menge des Geldes irgendwie kontrollieren. Und dann hast du noch ein paar kleine Leute, die noch ein bisschen mitrechnen”. Genau, also diese Kritik gibt es da durchaus auch.

Lucas:

Okay, also man würde quasi in so einer Wirtschaftssimulation die Geschichte unseres Bankensystems nochmal von vorne durchspielen quasi.

Lars:

Ja, genau. Aber ich sage absichtlich dazu, also ich will mir diese Kritik jetzt nicht zu eigen machen, dafür stecke ich einfach in der aktuellen Forschung zu wenig drinnen. Es gibt auch noch diesen einen interessanten Effekt, der nennt sich “nothing at stake”, ich glaube da könnten wir vielleicht nochmal drüber reden. Bei Bitcoin habe ich auch schon erwähnt, da gab es in der Vergangenheit forks, ja. Das heißt eine Minderheit oder eine Mehrheit hat gesagt: “Wir machen jetzt das Zeug irgendwie anders als die andern” und dann musst du, wenn du mitrechnest, also angenommen, ich hätte jetzt bei mir so ein Mining-Gerät rumstehen, dann muss ich mich entscheiden, wo ich mitmachen will. Weil ich kann dieses Mining-Gerät nicht einfach zerteilen will. Also es ist einfach eine Hardware, die habe ich und ich habe auch nur so und so viel Strom in meinem Budget drinnen. Das heißt ich muss mich dann auf die ein oder die andere Seite schlagen. Ich mache entweder jetzt Bitcoin A oder Bitcoin B weiter. Ich kann nicht beides machen einfach so.

Lucas:

Ja.

Lars:

Und bei “proof of stake” ist es ja so, dass ich ja keine Rechenzeit investieren muss. Das heißt wenn ich jetzt einfach meinen Laptop hier laufen habe und der macht ab und zu mal… “staked” der mal so ein bisschen in der Gegend rum und macht mal einen neuen Block, das ist nicht rechenaufwendig. Das kann ich mit der gleichen Hardware machen. Ich könnte mich mit meinem Laptop an tausenden “proof of stake”-Chains beteiligen. Das heißt wenn es jetzt zu einem fork kommt, könnte ich jetzt einfach opportunistisch sagen: “Ja, gut. Ich mache einfach beides. Gucken wir mal was passiert”.

Lucas:

Ah okay!

Lars:

Und aus ökonomischer Sicht wäre das dann so, dass dann der Wert dieser Währung in Gefahr ist. Also machen wir vielleicht mal ein plastisches Beispiel. Angenommen ich gehe jetzt her und sage, ich forke jetzt mal den Euro und es gibt jetzt Euro 1 und Euro 2. Und alle, die Euro 1 haben, die bekommen auch Euro 2 nochmal oben drauf und die dürfen einfach mit beiden Sachen handeln. Das wäre natürlich irgendwie blöd für eine Währung, wenn die sich einfach so forken ließe. Und dann kann es halt sein, dass der Wert davon sinkt von dieser Währung. Dass das Vertrauen einfach dann sinkt. Und das ist eben was man mit diesem “nothing at stake”-Problem zusammenfasst. “Nothing at stake” könnte man übersetzten wie “es steht nichts auf dem Spiel”. Das heißt, als Miner habe ich keine… erstmal technisch gesehen keinen Grund mich nicht an beiden Chains zu beteiligen, wenn es zu einem fork kommt.

Lucas:

Ah okay!

Lars:

Jetzt sagen aber wieder die Befürworter:innen von “proof of stake”, dass das ja für den Miner ökonomisch keinen Sinn macht, weil ich habe ja keine Lust drauf, dass der Wert von der Währung sinkt. Ich will ja irgendwann mal etwas damit machen. Das heißt, ich würde einfach… es wäre in meinem ökonomischen besten Interesse, einen fork zu verhindern. Und das ist, glaube ich, noch nicht komplett ausdiskutiert dieses Problem.

Lucas:

Okay, verstehe! Okay, gut. Aber… Also ich glaube, ich habe jetzt ungefähr verstanden wie “proof of stake” funktioniert. Mich würden noch ein, zwei andere Begriffe interessieren und dann können wir nochmal kurz das so ein bisschen gegenüberstellen die verschiedenen Verfahren. Also einmal habe ich mehrfach von “proof of space” gehört und irgendwie ist mein Gehirn immer noch dabei zu verarbeiten, wie das funktionieren soll. Da geht es irgendwie darum, dass man irgendwie beweist, dass man eine bestimmte Menge Plattenplatz oder Festplattenplatz zur Verfügung stellt. Kannst du ganz kurz sagen was das bedeutet und wie das funktioniert?

Lars:

Ja, also “proof of stake” ist eben nicht die einzige Möglichkeit, diesen tiefen Stromhunger zu verhindern. Es gibt eben neben “proof of work” und “proof of stake” noch ein paar andere, du hast jetzt eben dieses “proof of space” genannt. Der ein oder die andere hat vielleicht schon mal von Chia gehört, das ist eine neue Kryptowährung, die vor ein paar Monaten so richtig durch die Decke gegangen ist und die das populär gemacht hat. Das ist eigentlich ein ganz interessantes Verfahren. Also die Idee ist quasi, man erzeugt jede Menge Daten, diese Daten muss man irgendwie vorhalten. Also die sind recht kostengünstig zu speichern, weil so eine Platte, die braucht halt nicht so wahnsinnig viel Strom wie irgendwie eine CPU, die du so auf 100% lastest. Das Erzeugen der Daten, das ist einmal ein bisschen aufwändig, aber das muss man nur einmal machen. Also man schließt quasi sein System an, dann rödelt man irgendwie einen Tag rum und dann ist man erstmal fertig. Dann kommen… fallen hinten ein paar Daten raus und die muss man jetzt vorhalten. Die Idee ist jetzt, dass… Ab und zu wird man mal gefragt: “Hey Lucas! Gib mir doch mal bitte den Datenpunkt an Byte 35.240” und dann musst du deine Platte aufmachen, musst gucken: “Ah, da steht das Byte 42”. Und dann sagst du das dem Netzwerk und das Netzwerk sagt: “Jup, hast du recht! Da stand wirklich die 42”. Das ist also auch wieder so ein Beispiel von einem Problem, was sich einfach validieren lässt. Also es gibt halt Verfahren, mit denen man die 42 sehr einfach validieren kann, aber die 42 erstmal zu haben, das dauert halt eine Weile und am Anfang, diesen konstanten Overhead zu machen. Und dann muss man quasi für das Ende der Tage bloß sicherstellen, dass die Platte nicht abstirbt, also dass die Platte halt einfach weiterhin am Netz hängt. Und dann kann ich mitmachen. Genau.

Lucas:

Aber ist das dann nicht auch so ein bisschen “proof of bandwith and proof of space”, weil ich erstmal diese ganze Datenmenge irgendwie runterladen muss und bevorteilt bin, wenn ich das schnell kann? Oder ist das falsch?

Lars:

Nicht zwingend, weil… Also es gibt auch wieder… diese “proof of bandwidth”, das ist auch so ein Ding. Da gibt es auch Leute, die wollen sowas machen. Aber bei “proof of space” grundsätzlich vom Konzept her nicht, weil diese Daten, die denke ich mir selbst aus. Also es ist im Prinzip… Du kriegst im Prinzip so einen kleinen Seed, dann kannst du auf diesen Seed ganz viel rumrechnen und erzeugst wahnsinnig viele Gigabyte von Daten. Und das ist ein Prozess, der sich “plotting” nennt, also so ähnlich wie beim Gärtnern. Also ich stecke mir quasi meinen Plot ab. Das ist halt sehr I/O intensiv. Das heißt es gibt dann so Leute, die sagen, das muss man eigentlich mit einer SSD machen und dummerweise halten die SSDs aber so viel I/O Load gar nicht aus. Das heißt wenn es blöd kommt und du machst da irgendwie so einen sehr großen Plot, dann ist einfach dein SSD hinterher kaputt. Das ist dann halt auch eine Kritik. Also die SSD geht nur einmal kaputt, weil man muss halt einmal nur sehr viel rödeln, um das zu bekommen, aber dann am Ende hat man nur noch Lesezugriffe. Aber eine SSD hat halt nicht beliebig viele Schreibzugriffe. Und mit der Bandbreite hat das weniger zu tun.

Lucas:

Okay.

Lars:

Die Bandbreite hält sich da wirklich in Grenzen.

Lucas:

Okay. Und gibt es noch andere Verfahren?

Lars:

Ja, es gibt noch so ein lustiges Verfahren, das heißt “proof of elapsed time”. Es gibt von Intel so verschiedene CPUs, die haben eine CPU-Instruktion und die sagt einfach: “Warte bitte eine Sekunde”, mehr oder weniger. Und das ist dann halt einfach… Intel hat das entsprechend programmiert und irgendwie in die Firmware reingeflasht, dass das Ding sich da halt richtig verhält. Das ist aber eher nur so eine Randerscheinung, es gibt dann da auch eine Blockchain-Lösung, die darauf aufsetzt, aber ich würde sagen, das ist eher nur so ein lustiges Seitenphänomen. Dass man halt so einen CPU, die einfach hart abwartet, ohne dass sie dabei irgendwas macht. Ist natürlich super stromeffizient, weil in dieser Sekunde langweilt sich die CPU einfach, da läuft einfach intern ein Timer, aber ich muss halt vertrauen, dass Intel das schon richtig programmiert hat. Und also ich sage mal so, die normalen Bitcoin-Befürworter/innen, die finden das nicht gut, Intel zu vertrauen. Würde ich mich mal aus den Fenster lehnen und das behaupten.

Lucas:

Weil ja, das grundlegende Ziel ist ja eben niemanden vertrauen zu müssen, ne?

Lars:

Richtig, genau! Das wäre halt blöd, wenn man dann dem Hardwarehersteller vertrauen muss. Und dann gibt es noch das “proof of authority”. Da gibt es einfach eine begrenzte Liste von Leuten, die überhaupt Blöcke finden dürfen. Das heißt jeder darf an dem Netzwerk teilnehmen und da auch irgendwie Transaktionen machen, aber es gibt nur eine Liste von zehn Leuten, die ist einfach hartkodiert, die dürfen diese validieren. Und das geht dann schon in die Richtung eher so ein bisschen klassischer Konsens-Algorithmen. Da gibt es dann zum Beispiel eine Variante davon, die heißt PBFT, practical Byzantine fault-tolerant. Es gibt auch von Paxos, glaube ich, oder von Raft gibt es auch byzantinische Varianten. Das ist dann eine ähnliche Richtung, aber das eignet sich halt nicht, um so eine dezentralisierte Kryptowährung zu machen, weil da habe ich dann wieder eine zentrale Instanz, der ich vertrauen muss. Und das geht dann eher so ein bisschen in die Richtung, wenn man was im Unternehmenseinsatz machen will, ich habe vielleicht ein Konsortium von zehn Unternehmen und die irgendwie kooperieren, aber die vertrauen sich vielleicht nicht gegenseitig. Und dann brauche ich halt einen Konsens-Algorithmus, der auch damit klarkommt, wenn ein Unternehmen versucht zu betrügen.

Lucas:

Okay, verstehe! Okay, aber wenn wir das zusammenfassen, dann gibt es eigentlich im Kern drei Ansätze, die nicht… die kein Vertrauen in irgendeine andere Instanz voraussetzen. Das wären “proof of work”, ‚proof of stake‘ und ‘proof of space’, richtig?

Lars:

Genau. Aber ich würde nicht ausschließen, dass es da noch in Zukunft vielleicht noch andere Verfahren geben könnte. Also das ist auch Gegenstand aktiver Forschung und ich bin mir sicher da gibt es schon andere Konzepte noch in der Schublade. Und wenn man sich die nach Verwaltung anschaut, “proof of work” ist definitiv der Platzhirsch und das machen fast alle. Das ist bekannt, dass das funktioniert, die Kritiken sind bekannt und die Vorteile sind bekannt. “Proof of stake” ist so, ja, das ist so recht neu, aber schon ein bisschen abgehangen. Machen nicht so viele Leute, gibt vielleicht im Detail noch ein paar Unklarheiten. Und das “proof of space”, das ist halt wirklich recht neu. Also da muss sich überhaupt noch zeigen, ob das gut ist oder nicht.

Lucas:

Okay. Aber… Also wenn man jetzt nochmal so ein bisschen die Vor- und Nachteile zusammenfasst, dann wäre es “proof of work” eben dieser Energiehunger, der inhärent in dem System drin ist und auch sich nicht rausnehmen lässt. Und das… beim Mining sind dann wahrscheinlich die Leute bevorteilt, die einfach günstig an billigen Strom einfach drankommen, richtig?

Lars:

Genau. Das war zum Beispiel auch der Grund warum China einen sehr, sehr großen Anteil von Bitcoin-Minern gestellt hat in der Vergangenheit. Mittlerweile räumen sie da ziemlich auf und machen einfach diese ganzen riesigen Zauberfarmen dicht, weil sie sagen: “Das verbraucht uns zu viel Strom! Das ist irgendwie doof, wir wollen das nicht”. Und das war auch in der Vergangenheit Kritik, dass die Leute gesagt haben: “Okay, Bitcoins, dieses super dezentrale anonyme Netzwerk von dem irgendwie 60% in China spielen”. Und es ist sogar so weit gegangen, dass, als China da eben diesen Crackdown gemacht hat, dass das Hashpuzzle einfach viel zu schwer war eine Zeit lang und dass die Blöcke sich einfach verlangsamt haben, bis das Netzwerk das justiert hat. Aber grundsätzlich schon, also in allen Ländern, wo du billigen Strom hast, da gibt es zum Beispiel auch so diese Geschichten von Leuten in Norwegen, die irgendwie den überflüssigen Wasserstrom abzweigen und dann dafür Bitcoin-Mining machen und ich glaube Texas ist aktuell auch so eine Region, die da im Kommen ist, weil die recht günstigen Strom haben. Also wenn du irgendwo lebst, wo sie dir den Strom hinterherwerfen, scheißegal ob das jetzt Kohle oder sonst irgendwas ist, da kannst du richtig Geld machen mit!

Lucas:

Und aber die Wahrscheinlichkeit, dass das dann eine ökologisch nicht so super großartige Art und Weise ist Strom zu gewinnen, ist ja relativ hoch. Sage ich jetzt einfach mal vorsichtig.

Lars:

Ja, also da kommen wir jetzt schon wieder so ein bisschen in die Politik rein. Es gibt wie gesagt Leute, die sagen: “Ja, aber das meiste ist irgendwie Ökostrom”, aber es ist halt auch Ökostrom, den wir anders verwenden können. Also da dreht man sich irgendwie so ein bisschen im Kreis argumentativ.

Lucas:

Absolut! Und bei “proof of space” habe ich so ein bisschen das Problem, dass ich irgendwie SSDs brauche und die SSDs auch nicht wirklich was sinnvolles erreichen und dass man potenziell die auch kaputt macht durch das Verfahren, wenn ich dich richtig verstanden habe?

Lars:

Genau, also als diese Chia da so im Kommen war, es gab ja durch Ethereum schon lange eine Knappheit von Grafikkarten und dann kam dieses Chia und dann kam noch eine Knappheit von SSDs dazu. Also wenn man irgendwie gerade sich einen neuen PC bauen will, dann schimpft man über diese blöden Kryptowährungen, die einem die ganze Hardware wegnehmen.

Lucas:

Okay, gut. Habe ich auch verstanden. Und wenn… Und dann bei “proof of stake” gibt es halt noch einfach ein paar ungeklärte Fragen, wie das dann in der Praxis funktioniert. Sowohl aus der ökonomischen Sicht als auch mit diesem “nothing at stake”-Problem.

Lars:

Genau, also man hat eben diesen Zinseszins-Effekt und noch ein paar andere Effekte. Und ich glaube, das wird einfach dann die Zukunft zeigen. Ich kenne jetzt aktuelle Zahlen nicht, wie so die… keine Ahnung, so die Kapitalakkumulation da ist, aber ich habe schon verschiedene Studien gelesen, die das eigentlich recht plausibel beschrieben haben, dass das also wirklich eine reale Gefahr deshalb ist. Und ich bin allerdings auch nicht ganz sicher, ob man das Problem irgendwie beheben kann oder das auch… also bei “proof of work” ist der Stromverbrauch inhärent, vielleicht ist dieser Zinseszins-Effekt bei “proof of stake” auch einfach inhärent. Also, das ist mir noch nicht ganz klar.

Lucas:

Okay, cool! Vielen Dank Lars für diese Übersicht! Ich glaube ich habe jetzt grundlegend diese verschiedenen Verfahren verstanden. Und dann sage ich jetzt erstmal, wenn ich nochmal so ein Thema habe, bei dem ich einen Lars brauche, werde ich dich wieder einladen!

Lars:

Ja, sehr gerne! Du kennst meine Telefonnummer.

Lucas:

Genau! Und dann sage ich mal den Hörerinnen und Hörern bis zum nächsten Mal! Auf Wiedersehen!

Lars:

Tschüss!

TAGS

Alumnus

Lucas was a senior consultant at INNOQ until August 2023. He works on the architecture, conception, and implementation of web applications on the front and back end. He programs in Ruby and JavaScript and helps with technology decisions & the adoption of different NoSQL solutions. Lucas is one of the authors of the book “The Rails 7 Way”. You can hear his voice on the INNOQ podcast quite regularly. He does open source and community work (like organizing and teaching at the local CoderDojo).

Alumnus

Lars worked as Senior Consultant with INNOQ in Munich until December 2022. They are interested in programming languages – especially the functional variety –, web development, and theoretical computer science. They write articles and talk about a multitude of topics.