# Wie funktioniert Bitcoin?
Es wird oft gesagt, dass Bitcoin sehr anonym, aber trotzdem sehr sicher ist, aber wie funktioniert das eigentlich?
Bitcoin ist eine Kryptowährung. Es gibt mittlerweile unzählige Kryptowährungen; im Kern sind aber die meisten gleich, bis auf ein paar unterschiedliche Methoden, wie bewiesen wird, dass ein Block wahr ist. Bei Bitcoin heißt dieses System "Proof of Work", weil immer dem Block vertraut wird, bei dem am meisten Arbeit darin steckt. Wie genau das funktioniert, erkläre ich noch, keine Sorge. Es gibt auch noch "Proof of Stake" und viele andere Methoden, jedoch darum geht es in diesem Artikel nicht.
# Block
Ich denke, von dieser Blockchain hat jeder schon einmal gehört, trotzdem ist es für die meisten ein abstraktes System. Es ist aber eigentlich ein simples und zugleich schlaues System. Fangen wir an mit nur einem Block. Ein Block ist nur eine Liste an Transaktionen und könnte so aussehen.
Doch woher weiß ich, dass Herbert wirklich 10B an Franz gezahlt hat und nicht Franz das einfach in diesen Block schreibt, um Geld von Herbert zu bekommen? Das wird bei Kryptowährungen sehr ähnlich wie im echten Leben gelöst: mit einer Unterschrift. Jedoch ist das nicht so einfach wie im echten Leben; man kann nicht einfach darauf vertrauen, dass diese Unterschrift wirklich von der Person kommt. Es ist ja nichts leichter für einen Computer, als etwas 1:1 zu kopieren. Daher wird in der Informatik in allen Bereichen, wo es um Sicherheit geht, eine Hashfunktion verwendet.
# Hashfunktion
Was ist eine Hashfunktion? Eine Hashfunktion ist prinzipiell nur eine Funktion, die den Input in einen Output verwandelt, der aussieht, als wäre es eine zufällige Bit-Reihenfolge. Diesen Output nennt man auch "Hash". Jedoch gibt es einige sehr wichtige Eigenschaften, die eine Hashfunktion hat:
- Bei einem gleichen Input muss immer derselbe Hash entstehen.
- Es darf nicht mehrere Inputs geben, die denselben Hash ausgeben.
- Es ist unmöglich, vom Hash auf den Input zu schließen.
- Der Hash ist sehr leicht zu berechnen.
- Sobald nur ein einziger Bit im Input verändert wird, wird der Hash ein komplett anderer sein.
Wie genau das funktioniert, ist jetzt nicht wichtig, es ist nur wichtig, diese fünf Eigenschaften einer Hashfunktion zu kennen und zu verstehen. Es gibt unzählige unterschiedliche Hashfunktionen, die alle andere Vorteile und Nachteile haben. Die bekannteste und weitverbreitetste ist SHA256. Der Hash dieser Hashfunktion ist immer 256 Bits lang, egal wie groß der Input ist. SHA256 ist der absolute Standard in allen Sicherheitsbereichen der Informatik, da es derzeit als unknackbar gilt. Wie gesagt, wenn man den Hash der Funktion hat, ist es unmöglich, auf den Input zu schließen. Der einzige Weg wäre, einfach jeden möglichen Input zu probieren, bis der gleiche Hash herauskommt; das ist aber weit entfernt davon, in der Realität möglich zu sein. Denn es gibt 2 hoch 256 unterschiedliche Möglichkeiten. Was für eine unvorstellbar hohe Zahl das ist, erklärt dieses Video ausgezeichnet (jedoch auf Englisch). Spoiler: Es würde Milliarden von Galaxien voll mit Supercomputern benötigen, die Milliarden von Jahre laufen müssten, um eine 1 zu 4 Milliarden Chance zu haben, den richtigen Input zu finden. Und um es noch besser zu verstehen, wie eine Hashfunktion aussieht, hier ein Beispiel.
SHA256(Hallo) = D3751D33F9CD5049C4AF2B462735457E4D3BAF130BCBB87F389E349FBAEB20B9
SHA256(HAllo) = 26E2F661D3C4C60BAA4BBB0ADD4E4AA42A032177AB4FA61B89285FCAA0923FC2
Wir sehen, der Input "Hallo" führt zu einem Hash, der sehr zufällig erscheint, jedoch ist er jedes Mal derselbe, wenn man "Hallo" durch die SHA256-Funktion jagt. Und wir sehen auch, dass, sobald man den Input nur etwas ändert (hier: ein großes A statt einem kleinen), der Hash ein komplett anderer wird. Zusätzlich ist der Hash sehr leicht zu berechnen; jeder Prozessor, der einfache Mathematik beherrscht, hat das Ergebnis in Bruchteilen einer Sekunde. Es ist trotzdem unmöglich, von dem Hash wieder auf das Wort "Hallo" zu kommen.
# Signing
Also, jetzt haben wir geklärt, was eine Hashfunktion ist und wie sicher sie ist. Wie wird sie in der Kryptografie jetzt angewendet? Jeder Nutzer, der Bitcoin besitzt, hat einen Private und einen Public Key. Diese Keys sind ebenfalls zufällig generierte Zahlen, haben jedoch einen mathematischen Zusammenhang; darauf gehe ich jetzt aber nicht genauer ein. Hier ein Beispiel für einen Private und Public Key.
Private Key: L4vxXCDHDao48gSAcEfRpsFdvQFN9eB27tjNrf8qghqUz8NUsCGY
Public Key: 1DwDxLiwVdknAkvq4V7mzNZmY9zN6YEse5
Diese Schlüssel werden zufällig generiert beim Erstellen eines sogenannten "Wallets", das ist quasi dein "Konto". Hier sind wir schon beim anonymen Teil angekommen: Solange du niemandem sagst, was dein Public Key ist, wird niemand wissen, wem er gehört, und alle deine Transaktionen sind dadurch vollständig anonym.
Aber wie funktioniert jetzt das "Unterschreiben"? Wenn du eine Transaktion unterschreibst, schickst du einfach nur diese Transaktion und deinen Private Key durch die SHA256-Funktion.
SHA256(Herbert zahlt an Franz 10B, private_key)
Der ausgegebene Hash ist nun sozusagen deine Unterschrift. Diese "Unterschrift" kann durch eine einfache Verify-Funktion mit dem Public Key geprüft werden. Durch den mathematischen Zusammenhang des Public Keys und Private Keys, den ich vorhin bereits erwähnt habe, kommt bei dieser Funktion "Wahr" oder "Falsch" heraus; so kann die Unterschrift überprüft werden.
Verify(Herbert zahlt an Franz 10B, hash, public_key)
Beide Funktionen sind für Computer extrem einfache Funktionen. Es kann mit wenig Aufwand unterschrieben und geprüft werden, jedoch mit einem unvorstellbar großen Aufwand gefälscht werden. Wie wir ebenfalls gelernt haben, ist bei keinem Input der Hash gleich, also ist bei jeder Transaktion deine Unterschrift einzigartig.
Jedoch könnte jetzt Franz einfach diese eine von Herbert unterschriebene Transaktion nehmen und mehrmals in den Block kopieren. Um das zu vermeiden, bekommt jede Transaktion eine laufende Nummer; dadurch wird das einfache Kopieren unmöglich.
SHA256(1. Herbert zahlt an Franz 10B, private_key)
SHA256(2. Herbert zahlt an Franz 10B, private_key)
# Blockchain
Wie funktioniert nun diese Blockchain, von der ich am Anfang bereits gesprochen habe? Die Blockchain ist nichts anderes als eine Aneinanderreihung von mehreren dieser Blöcke, die ich im ersten Kapitel erklärt habe. Jeder auf der Welt kann sich eine Kopie dieser Blockchain behalten; dadurch besitzt man dann den gesamten Transaktionsverlauf aller Bitcoins jemals.
Doch um sicherzugehen, dass alle Blöcke in der richtigen Reihenfolge angeordnet sind und niemand diese Reihenfolge ändern kann, kommt wieder die SHA256-Funktion zum Einsatz. Jeder Block enthält den Hash des gesamten vorherigen Blockes. Dadurch ist jeder Block mit seinem vorherigen und nachkommenden verknüpft, es entsteht eine Kette oder im Englischen auch "Chain", daher der Name Blockchain. Da das jetzt vielleicht etwas schwer vorzustellen ist, erkläre ich das jetzt genauer.
Wir haben nun diesen einen Block an Transaktionen. Da wir nun wissen, wozu man eine laufende Nummer benötigt und wie die Unterschrift funktioniert, habe ich sie jetzt dazu gegeben.
Jetzt jagen wir den gesamten Block mit allen Transaktionen, Nummern und Unterschriften durch die Hashfunktion und bekommen nun den Hash des Blockes; diesen Hash fügen wir beim nächsten Block hinzu.
Und dann jagen wir den wieder durch die Funktion und fügen ihn an den nächsten an und so weiter. Wenn nun ein Block verändert wird, ändert sich sein Hash, dadurch ändert sich der Hash des nächsten Blockes und so weiter. Dadurch kann man garantieren, dass alle Blöcke, bei jeder Kopie der Blockchain auf der Welt, unbearbeitet und in derselben Reihenfolge sind. Deshalb wird die Blockchain oft so dargestellt.
Jeder auf der Welt kann sich die gesamte Blockchain herunterladen, dadurch weiß quasi jeder auf der Welt, auf welchem Wallet wie viel liegt, aber niemand weiß, wem das gehört. Wenn nun ein neuer Block gemined wird (wie genau das funktioniert, dazu komme ich im nächsten Kapitel), wird der in das Internet gebroadcastet (für die nicht so technischen Leute: ein Broadcast ist so, als würdest du über die gesamte Welt schreien "Das hier ist der neue Block!", jeder kann es hören, aber was man damit anfängt, kann man selbst entscheiden) und jeder mit einer Kopie der Blockchain kann den neuen Block anfügen.
# Mining
Jetzt kommen wir zum bekannten Herzstück und beantworten damit diese zwei Fragen:
- Wie kommen neue Bitcoins in den Umlauf?
- Woher weiß ich, welchem Block ich trauen kann?
Bis jetzt habe ich nur darüber gesprochen, wie Transaktionen im Bitcoin-Ökosystem funktionieren, jedoch: Wie kommen diese Bitcoins in das System? Ganz einfach: durch Mining. Jeder Mensch kann sich dazu entscheiden, Bitcoin zu minen; man benötigt nur einen Prozessor, der Hashfunktionen ausführen kann, und das am besten so schnell wie möglich. Dazu sind bekanntlich Grafikkarten gut geeignet, da für die Berechnung von Grafiken am Bildschirm ähnliche Prozesse benötigt werden wie beim Berechnen eines Hashes. Moderne Grafikkarten haben teilweise eine Hashrate von >150 MH/s, das bedeutet, sie können >150 000 000 Hashes pro Sekunde berechnen.
Das Mining funktioniert ganz einfach: Also, als Miner sammelst du jede Transaktion, die so passiert, und nach einer bestimmten Zeit fügst du sie zu einem Block zusammen (über diesen Block habe ich bereits gesprochen). Zurzeit fasst ein Block meistens ~3 500 Transaktionen. Es hängt von verschiedenen Faktoren ab, ab wie vielen Transaktionen ein Block geformt wird. Theoretisch kann ein Block 12 000 Transaktionen fassen.
Wenn dieser Block geformt wurde, geht das Rennen los: Jeder Miner auf der Welt jagt den gesamten Block durch die SHA256-Funktion und versucht, dass der ausgegebene Hash mit 30 Nullen beginnt, indem in den Block eine zufällige Zahl angefügt wird. Wenn der Hash nicht mit der festgelegten Anzahl an Nullen beginnt, wird die angefügte Zahl verändert und erneut durch die SHA256-Funktion gejagt.
Die festgelegte Anzahl der Nullen passt sich alle zwei Wochen an, je nachdem wie viele Miner es zurzeit gibt; denn je mehr Nullen man am Anfang benötigt, desto mehr Möglichkeiten gibt es durchzuprobieren (ergo es wird schwieriger). Ein Block dauert im Durchschnitt immer ~10 Minuten.
Der erste Miner, der die Zahl findet, die man anhängen muss, um das richtige Ergebnis zu bekommen, sendet diesen Block per Broadcast in die Welt, und jeder, der eine Kopie der Blockchain hat, fügt diesen Block an seine Chain an. Als Belohnung, dass er der erste war, bekommt er eine Belohnung (Stand 2025 sind es 3,125 BTC) und alle bezahlten Transaktionsgebühren auf sein Wallet. Die Belohnung ist keine Transaktion, sie wurde aus dem Nichts geschaffen, quasi "gemined". Jedoch um zu verhindern, dass ständig mehr Bitcoin in den Umlauf gelangen, wird der Betrag alle 210 000 Blöcke halbiert. Das bedeutet, wenn 1 Block ca. 10 Minuten benötigt: alle ~4 Jahre. Im Jahre 2140 wird die Belohnung auf 0 sinken und dadurch sind alle Bitcoins gemined; das bedeutet, es kann maximal 21 Millionen Bitcoins geben. Die Miner bekommen danach nur noch die Transaktionsgebühren aller Transaktionen in diesem Block.
Aber wieso das Ganze? Um das zu verstehen, muss man in die Sicht einer Person gehen, die die Blockchain manipulieren will. Die Person nimmt den derzeitigen Block, manipuliert ihn (mit einer zusätzlichen Transaktion oder eine Transaktion entfernen) und versucht, den richtigen Hash zu generieren (Mining). Mit viel Glück ist sie schneller als alle anderen Miner der Welt und broadcastet den Block in das Internet. Irgendwann aber wird der unmanipulierte Block auch fertig gemined und in das Internet gebroadcastet. Nun hat jeder Empfänger zwei Blöcke, die beide anscheinend richtig sind, es kann aber nur einer richtig sein. Also erstellt er eine Abzweigung; da von beiden Blöcken die Hashes unterschiedlich sind, können sie nicht von derselben Chain sein. Also speichert sich jeder beide ab und wartet, bis neue kommen.
Theoretisch kann es sein, dass der Betrüger es wieder schafft, beim nächsten Block schneller zu sein als alle anderen, und er kann seine manipulierte Chain aufrechterhalten; irgendwann wird jedoch wieder die unmanipulierte fertig und dann haben alle Empfänger wieder zwei. Was machen sie? Sie warten weiter. Der Betrüger müsste jetzt für die restliche Geschichte der Menschheit immer schneller sein als der Rest der Miner, um seine manipulierte Blockchain aufrechtzuerhalten, jedoch ist das unmöglich, wenn er nicht mindestens 50% der Rechenkraft aller Miner besitzt. Früher oder später wird die unmanipulierte Blockchain deutlich länger als die manipulierte, und so können sich alle sicher sein, welche davon die echte ist.
Das ist das sogenannte Proof of Work System; man kann immer dem Block vertrauen, in dem am meisten Arbeit steckt.
# Transaktionsgebühren
Es gibt noch einen interessanten Punkt, den ich nicht so wirklich irgendwo unterbringen konnte. Jeder kann vor einer Transaktion die Gebühr selbst festlegen. Miner entscheiden selbst, welche Transaktionen sie in ihren Block aufnehmen, und bevorzugen natürlich Transaktionen mit höheren Gebühren.
Daher: Wer es eilig hat, zahlt mehr. Wer warten kann, zahlt weniger. Früher oder später wird jede gültige Transaktion bestätigt.
Autor: Elias Steininger
Datum: 30.12.2025