Wie funktioniert Bitcoin unter der Haube

Wie funktioniert Bitcoin unter der Haube

Wie funktioniert Bitcoin unter der Haube Einführung Das Ziel dieses Videos ist zu erklären, wie Bitcoin funktioniert, um ein klares Verständnis zu be...

1MB Sizes 0 Downloads 3 Views

Recommend Documents

Wie funktioniert Glück? - Patricia Olbrich
sind wie Dünger für unser Gehirn. Es entstehen immer neue. Verschaltungen, wir lernen. Glück ist also sozusagen ein ange

Wie funktioniert ein Wasserturm
und wieder hoch bis in den Behälter des Wasser. - turms. Der Wasserturm ist höher als alle Gebäu. - de in der Stadt.

DAB Surround Wie funktioniert es?
Innerhalb dieser Gesamtdatenrate kann D-Radio seine Programmstruktur unabhängig von ... Radio Horeb [48kbps]. TPEG [32k

Wie funktioniert der Datenschutz? Dem Datenschutzrecht liegen
Dem Datenschutzrecht liegen einige Grundsätze zugrunde, die generell einzuhalten sind und nachfolgend erklärt werden u

Wie funktioniert Wirtschaft wirklich? - Kurier.at
K3: Geht so. K4: Gehtso. K5: Geht so ... K3: Mehr Eis und Snacks. K4: Spätere Termine .... 9.20 Uhr und Sonntag ab 9 Uh

Wie funktioniert ein Bürgerbegehren? - Mehr Demokratie Baden
06.07.2017 - Unterschriftensammlung: Nicht Hals über Kopf los sammeln! Damit das Bürgerbegehren später nicht abgewiesen

1 Wie funktioniert die Eigenheimrente - Deutsche Steuerhilfe
Kfm. Rüdiger Apel, Korschenbroich. 1 Wie funktioniert die Eigenheimrente. Schon seit einiger Zeit war es in der Diskuss

Was ist und wie funktioniert gewaltfreier Widerstand?
24.01.2014 - Agitatoren dieser Art waren Rosa Luxemburg und Martin Luther King. ...... amerikanischen Bürgerrechtsbeweg

Wie funktioniert eigentlich ein Rating? - Knorr-Bremse
Das Rating eines Unternehmens ist vom. Prinzip her nichts anderes. Auch dabei wird die Bonität des Kreditnehmers mit de

Wie funktioniert ein Pflegenetzwerk vor Ort?
einen Wert von 90 – und einer deutlichen Zu- nahme von über achtzigjährigen Menschen mit einer hohen Pflegeprävalen

Wie funktioniert Bitcoin unter der Haube

Einführung Das Ziel dieses Videos ist zu erklären, wie Bitcoin funktioniert, um ein klares Verständnis zu bekommen, was es heißt, Bitcoins zu besitzen, zu senden oder zu „minern“. Was bedeutet Bitcoin auf einer abstrakteren Ebene Als erstes wird eine kurze Übersicht gegeben, was Bitcoin auf einer abstrakteren Ebene ist.

Im Grunde ist Bitcoin einfach nur eine digitale Datei, in der Bilanzen und Geld gespeichert sind, wie in einem Ledger (Buchführung). Eine Kopie der Datei ist auf jedem Computer, welcher das Bitcoin Network betreibt, gespeichert. (Update: Man muss nicht das ganze Register haben, um Bitcoin zu senden oder zu erhalten. Dies ist nur wichtig für Personen, die helfen möchten, das System aufrecht zu erhalten.)

Die Zahlen repräsentieren nichts in der physikalischen Welt. Sie besitzen nur einen Wert, weil Individuen bereit sind, Waren und Dienstleistungen für eine höhere Zahl neben ihrem Konto, zu handeln. Und man verlässt sich drauf, dass andere dasselbe tun. Die Zahlen haben nur einen Wert, weil wir daran glauben, dass sie einen haben, wie bei jeder anderen staatlichen Währung.

Beim Transfer von Geld wird dem Netzwerk mitgeteilt, dass Ihr Konto heruntergeht, während sich das Konto vom Empfänger erhöht. Knoten oder Computer im Netzwerk aktualisieren ihre Version der Ledger und geben die Transaktion weiter. Dies mit Grundlegendem mathematische Sicherungen ist wirklich alles. Ein System, welches einer Gruppe von Computern erlaubt, eine Ledger zu verwalten. Dies hört sich vielleicht ähnlich an, als ob eine Bank ihre Buchführung verwaltet. Die Tatsache, dass die Buchführung durch eine Gruppe verwaltet wird und nicht durch eine Instanz, beinhaltet eine Vielzahl an wichtigen Unterschieden. Erstens, im Gegensatz zu einer Bank, wo nur Sie über Ihre eigenen Transaktionen

Bescheid wissen, kennt in Bitcoin jedoch jeder alle Transaktionen der anderen. Das heißt, während Sie Ihrer Bank vertrauen können oder sie zumindest verklagen, falls etwas schief geht, handeln Sie in Bitcoin mit anonymen Unbekannten, denen Sie nicht vertrauen sollten. Das Bitcoin System ist so entwickelt worden, dass erstaunlicherweise kein Vertrauen erforderlich ist. Spezielle mathematische Funktionen schützen jeden Aspekt des Systems. Der Rest dieses Videos wird in Detail erklären, wie Bitcoin es ermöglicht, dass eine Gruppe von Fremden die finanziellen Transaktionen des jeweiligen anderem verwalten kann. Wie funktioniert das Senden von Bitcoin Auf der untersten Ebene, wenn Alice Geld zu Bob schickt, übermittelt sie einfach eine Nachricht mit den Konten und die Anzahl an Bitcoins: „Sende 5 BTC von Alice zu Bob“ Jeder Knoten, der die Nachricht erhält, wird ihre Kopie der Ledger aktualisieren und die Nachricht weiter leiten. Nun stellt sich die Frage: Wie können die Knoten sicher sein, dass die Anfrage echt ist und ob nur der rechtmäßige Besitzer die Nachricht geschickt hat? Die Bitcoin Regeln verlangen eine Art von Passwort, welches die Fonds freigibt, und das Passwort ist eine sogenannte digitale Signatur. Wie eine reelle handschriftliche Unterschrift, beweist es die Authentizität einer Nachricht, aber es tut dies durch einen mathematischen Algorithmus, welcher Kopien oder Fälschungen von Nachrichten in der digitalen Welt verhindert. Im Gegensatz zu einem einfachen statischem Passwort, wird eine komplett neue digitale Signatur für jede Transaktion benötigt. Man darf nicht vergessen: In Bitcoin handeln Sie mit völlig Fremden. Deshalb wollen Sie niemals ein Passwort veröffentlichen, welches kopiert und wieder verwendet werden könnte.

Eine digitale Signatur funktioniert durch die Verwendung von zwei verschiedenen, aber verbundenen Schlüsseln: Einem privaten Schlüssel, um eine Signatur zu erzeugen, und einem öffentlichem Schlüssel, den die anderen verwenden können, um diese zu überprüfen.

Sie können den privaten Schlüssel als das wahre Passwort und die Signatur als Zwischenstück betrachten, um zu beweisen, dass Sie das Passwort haben, ohne es enthüllen zu müssen. Die öffentlichen Schlüssel sind eigentlich die Empfangsadressen in Bitcoin. Das heißt, wenn Sie jemandem Geld schicken, dann schicken Sie es in Wirklichkeit zu seinem öffentlichen Schlüssel.

Um Geld ausgeben zu können, müssen Sie nachweisen, dass Sie der wahre Besitzer der Adresse von dem öffentlichem Schlüssel sind, wohin das Geld gesendet wurde. Sie machen das durch die Erzeugung einer digitalen Signatur mit der Transaktionsnachricht und Ihrem privaten Schlüssel. signature = f(message, private key) Andere Knoten in dem Netzwerk können die Signatur in einer anderen Funktion nutzen, um zu überprüfen, ob diese mit Ihrem öffentlichen Schlüssel korrespondiert. 1 =? v(message, public key, signature) Durch die Mathematik hinter der digitalen Signatur sind diese in der Lage zu überprüfen, ob der Sender der Besitzer eines privaten Schlüssels ist, ohne tatsächlich den privaten Schlüssel zu sehen. Wichtiger ist es, dass die Signatur von der Nachricht abhängig und deswegen für jede Transaktion immer unterschiedlich ist. Daher kann sie, die Signatur, nicht von jemandem anderem für eine andere Transaktion wieder verwendet werden. Diese Abhängigkeit von der Nachricht bedeutet auch, dass niemand die Nachricht modifizieren kann, während sie über das Netzwerkes weitergereicht wird, weil durch die kleinsten Änderungen an der Nachricht die Signatur ungültig würde. Die Mathematik dahinter ist recht komplex, und auch ich werde nicht versuchen, es vollständig zu erklären. Trotzdem sind hier einige Themen, die Sie googlen können, um sich damit vertraut zu machen. „Elliptic Curve Digital Signature Algorithm“ (ECDSA) und „Mathematical Trapdoor“.

Die Bitcoin Transaktion und Ledger im Detail Soweit wir wissen, werden digitale Signaturen verwendet, um sicherzustellen, dass eine Transaktion autorisiert ist, aber ich habe zu stark vereinfacht, wie Knoten im Netzwerk die Bilanzen der Konten im Auge behalten. In der Tat werden keine Aufzeichnungen über die Bilanzen überhaupt gehalten. Aber wenn man nicht nachverfolgt, wie viel Geld eine Person besitzt, woher weiß man dann, ob jemand genug hat, um einem dritten zu überweisen? Anstatt von Bilanzen werden die Eigentümer von Fonds durch Links zu früheren Transaktionen geprüft. So funktioniert es: Um fünf Bitcoins zu Bob zu schicken, muss Alice auf andere Transaktionen verweisen, in der sie fünf oder mehr Bitcoins erhalten hat. Diese Referenztransaktionen werden „Inputs“ (Eingänge) genannt. Andere Knoten, die diese Transaction überprüfen, werden die anderen Inputs überprüfen, um sicher zu gehen, dass Alice tatsächlich die Empfängerin war und dass die Inputs bis zu fünf oder mehr Bitcoins zusammengezählt sind.

Schauen wir uns eine reale Transaktion an, wie diese in der Praxis aussieht.

http://blockexplorer.com/tx/a117c441aa5bd3fcb442e3c47a180c584420bcd9f93c6 8dab9feddd1d26b767e Diese Transaktion hat 6 Inputs für insgesamt 139,6 Bitcoins. In der Output (Ausgang) Sektion, sind es zwei Reihen: Die erste davon geht an den Absender als Wechselgeld für die Transaktion zurück. Eine einfache Faustformel besagt, dass alle Inputs völlig in einer Transaktion verwendet werden müssen. Das heißt, wenn Sie versuchen, einen Betrag zu senden, der nicht exakt einem Ihrer Inputs entspricht, dann müssen Sie den Restbetrag zurück zu sich selber senden.

Durch diese Referenz Input Verknüpfungen werden die Besitzer von Bitcoins eine Art Kette entlang gewechselt mit der Gültigkeit, dass jede Transaktion abhängig von der vorherigen Transaktionen ist. Aber wie kann man den früheren Transaktionen vertrauen? Man kann es nicht, und Sie sollten die Inputs der anderen ebenfalls überprüfen. Genau genommen, wenn Sie das erste Mal eine Bitcoin Wallet Software installieren, dann lädt es alle Transaktion herunter, die jemals gemacht worden sind, und überprüft jede einzelne davon auf Gültigkeit bis hin zur allerersten Transaktion. Nicht vergessen: Sie handeln mit absolut Unbekannten, deshalb ist es wichtig, jede Transaktion für sich selbst zu überprüfen. Dieser Prozess kann mehr als 24 Stunden in Anspruch nehmen, aber das muss nur einmal gemacht werden.

Sobald eine Transaktion einmal verwendet worden ist, wird sie als verbraucht angenommen und kann nie wieder verwendet werden. Ansonsten könnte jemand den Input durch das Verweisen von mehreren Transaktionen erneut ausgeben. Bei der Überprüfung einer Transaktion, zusätzlich zu den anderen Kontrollen, müssen die Knoten sicherstellen, dass die Inputs nicht bereits ausgegeben worden sind. Um genau werden alle Transaktionen für jede eingehende Nachricht überprüft, die jemals gemacht worden sind, um sicherzustellen, dass Inputs nicht bereits verwendet worden sind. Das sieht vermutlich zeitaufwändig aus, da es mittlerweile über 20 Millionen Transaktionen gibt. Dennoch wird es sehr schnell durch die Indexe der unverbrauchten Transaktionen überprüft. Das heißt, anstatt eine Ledger von Bilanzen zu haben, erweitern die Bitcoin Knoten eine Aufzeichnung aller Transaktionen zu einer riesigen Liste. Das Besitzen von Bitcoins bedeutet nun, dass es Transaktionen in dieser Liste gibt, die auf Ihren Namen zeigen und noch nicht ausgegeben worden sind. Oder anders gesagt, sie wurden als Inputs in anderen Transaktionen verwendet. Eine interessante Konsequenz von dieser Besitzerstruktur ist, dass jede Transaktion, die jemals gemacht worden ist, durchlaufen muss und alle unverbrauchten Inputs summiert werden, um die eigenen Bilanzen zu finden.

Ein weiterer interessanter Hinweis zu Transaktionen ist, dass das System komplexere Transaktionen unterstützt und nicht nur das Senden von Fonds zu einer Person. Sie haben vielleicht eine kryptisch aussehende Textzeile in der Ausgabe bemerkt, wie zuvor gezeigt. OP_DUP OP_HASH160 9abd2e0c0a63dea36b75c3128fe15d82f274e394 OP_EQUALVERIFY OP_CHECKSIG http://blockexplorer.com/rawtx/a117c441aa5bd3fcb442e3c47a180c584420bcd9f9 3c68dab9feddd1d26b767e Es stellt sich heraus, dass die Outputs nicht nur Adressen sind, sondern Rätsel, die gelöst werden müssen. Anstatt eine E-Mail zu senden, ist das Senden von Geld in Form von Bitcoin, mehr als das Aufbewahren von Geld in einem öffentlichem Spind, auf dem ein mathematisches Rätsel angebracht ist, welches gelöst werden muss, um den Spind zu öffnen. Das Rätsel wird durch eine spezielle Skriptsprache codiert, und während es in der Regel so definiert ist, dass nur ein einziger Besitzer, der den anderen öffentlichen Schlüssel hat, es lösen kann, sind mehr komplizierte Konditionen möglich. Zum Beispiel, könnten zwei aus drei Signaturen für eine auf Treuhand basierende Transaktion erforderlich sein. Ein weiteres Beispiel: Ist die allererste Bitcoin Transaktion, die jemals gemacht worden ist, die ein Rätsel hatte, welches jeder lösen konnte.

Während die meisten Bitcoin Software die Skript Schicht verbergen, können Sie frei Ihre eigene Software und Konditionen schreiben, jedoch kann dies gefährlich sein. Über 2600 Bitcoins wurden in einem Transaktionsbündel verloren aufgrund einer fehlerhaften Adresse. Dies unterstreicht einen wichtigen Teil von Bitcoin, da es keine Bank- oder Kreditkartengesellschaften gibt, bei denen Sie sich beschweren können und alle Anwendungsfehler zu dauerhaften Verlusten Bitcoins führen würden. Nicht nur von Ihrer eigenen Bilanz, sondern von der Bitcoin Wirtschaft insgesamt. Wenn Sie Ihren privaten Schlüssel verlieren, werden alle Fonds, die mit dem entsprechenden öffentlichen Schlüssel verbunden sind, für immer verloren sein. Es ist sehr wahrscheinlich, dass Nutzer ihren Privaten Schlüssel durch das Abstürzen von

Festplatten und unsicheren Backups verlieren werden. Aus diesen Gründen wird die Bitcoin Währung wahrscheinlich eine deflationäre sein.

Anonymität Bevor das letzte Stück erklärt wird, wie Bitcoins gesichert werden (Mining), möchte ich ein paar Punkte über die Anonymität von Bitcoin aufzeigen.

Wenn Sie auf das Bitcoin Netzwerk durch TOR zugreifen, welches Ihre IPAdresse verbirgt, dann können Sie Bitcoin nutzen, ohne jemals mehr als Ihren öffentlichen Schlüssel aufzudecken. Um zu verhindern, dass jemand Ihre Transaktionen zusammen verknüpft (Denken Sie daran, alles ist öffentlich, auf jedem Computer gespeichert!), können Sie einen neuen öffentlichen Schlüssel für jede eingehende Transaktion erzeugen.

Es ist jedoch möglich versehentlich öffentliche Schlüssel zusammen zu verknüpfen. Im früheren Transaktionsbeispiel wurden 6 Inputs als Quellen benutzt. Trotz der Tatsache, dass alle Inputs zu verschiedenen Adressen gesendet worden sind, wurden alle zu einer Transaktion verlinkt. Der Absender bewies, dass er alle Adressen besitzt, durch das Vorzeigen der digitalen Signatur, die jede Transaktion entriegelte. Forscher haben in der Tat diese Links genutzt, um das Bitcoin Nutzerverhalten zu studieren. See Quantitative Analysis of the Full Bitcoin Transaction Graph by Dorit Ron and Adi Shamir. Man könnte denken, dass die Erzeugung einer öffentlichen Schlüsselempfangsadresse eventuell einen Link zu Ihrer wirklichen Identität herstellen könnte, aber selbst dieser Schritt ist anonym, und kann erstaunlicherweise ohne jegliche Verbindung zum Netzwerk erfolgen. Sie klicken einfach auf einen Knopf in Ihrer Brieftasche (Wallet) Software und es generiert zufällig einen neuen privaten und öffentlichen Schlüssel. Da es so viele verschiedene mögliche Adressen gibt, ist es nicht notwendig, selbständig zu überprüfen, ob jemand den Schlüssel hat. Vergleichen Sie dies mit der Anmeldung für eine E-Mail Adresse, wo fast alles schon belegt ist, was Sie versuchen. In der Tat, wenn Sie den Schlüssel von jemandem anderen bekommen würden, dann hätten Sie den vollen Zugriff auf sein Geld. Das ist die gesamte Anzahl der möglichen Bitcoin Adressen: 1461501637330902918203684832716283019655932542976 (1.46 x 10^48 or 2^160) Diese große Zahl schützt das Bitcoin System auf mehrere Arten, daher ist es sinnvoll, zu versuchen und anzuerkennen, wie groß sie ist. Ein Anhaltspunkt wäre die Anzahl von Sandkörnern auf der gesamten Welt. Es sind ca. siebeneinhalb Millionen Billionen. Jetzt stellen Sie sich vor, dass jedes Sandkorn eine ganze neue Erde repräsentiert, mit zusätzlichen Körnern, und man ist immer noch viel kleiner als die mögliche Anzahl an Bitcoin Adressen.

Genau genommen reduziert sich die Wahrscheinlichkeit, dass sich zwei Adressen übereinstimmen, mit der wachsenden Anzahl an Nutzern, wegen des „Geburtstagsparadoxon“. Aber wir sind in der 2.9 x 10^39 Bereich, mit einer Billion Adressen. Doppelter Angriff In Bitcoin Lassen wir uns die Sicherheit von Bitcoin soweit zusammenfassen. Durch das Verifizieren der digitalen Unterschrift wissen wir, dass nur der rechtmäßige Besitzer die Transaktionsnachricht erstellen konnte. Um sicherzustellen, dass der Absender tatsächlich genug Geld hat, überprüfen wir auch die referenzierten Transaktionen, ob sie nicht schon ausgegeben worden sind. Aber es gibt immer noch eine große Sicherheitslücke in diesem System, was das Überprüfen der Liquidität unzuverlässig macht, und dies hat etwas mit der Reihenfolge von Transaktionen zu tun.

In Anbetracht der Tatsache, dass Transaktionen von Knoten zu Knoten durch das Netzwerk weitergegeben werden, gibt es keine Garantie, dass die Reihenfolge, in der die Transaktionen erhalten werden, die gleiche ist, wie die, in der sie erstellt worden sind, und man sollte nicht dem Zeitstempel vertrauen, da jemand einfach falsche Zeit, wann eine Transaktion erstellt worden ist, eingeben könnte.

(Vergleiche das mit einem Zentralen System, wie PayPal, wo es einfach ist, für einen Computer, die Reihenfolge von Transaktionen zu verfolgen.) Daher gibt es keine Möglichkeit zu sagen, ob eine Transaktion vor einer anderen kam, was wiederum das Potential für Betrug eröffnet. Ein böswilliger Benutzer z.B. Alice, könnte eine Geldtransaktion an Bob senden, um zu warten, bis Bob sein Produkt verschifft, und eine weitere Transaktion sendet, was den Input zurück an Alice verweisen wird.

Wegen der unterschiedlichen Ausbreitungszeit würden einige Knoten im Netzwerk die zweite Doppelte Transaktion bekommen, bevor die erste zu Bob geht, und wenn Bobs Transaktion ankommt, würde diese als ungültig betrachtet, weil sie versucht, einen Input wieder zu verwenden. Das heißt, Bob würde sowohl sein verschifftes Produkt als auch das Geld verlieren. Als Konsequenz würde es Meinungsverschiedenheiten im Netzwerk geben, ob das Geld nun Bob oder Alice gehört, da es keine Beweismöglichkeit gibt, wessen Transaktion die erste war. Infolgedessen muss es eine Möglichkeit geben, für das gesamte Netzwerk sich auf eine Reihenfolge der Transaktionen zu einigen. Dies ist eine beängstigend gewaltige Herausforderung in einem dezentralisierten System. Die Lösung von Bitcoin ist ein cleveres Verfahren, um sowohl die Bestimmung als auch die Reihenfolge durch eine Art mathematisches Rennen zu schützen. The Block Chain: Das Ordnen von Transaktionen Das Bitcoin System gliedert die Transaktionen in Gruppen, die sogenannten Blöcken (Blocks), und verbindet diese Blöcke in eine sogenannte Block Chain. Beachte, dass sich diese von der Transaction Chain unterscheidet, die wir früher besprochen haben. Die Block Chain wird verwendet, um die Reihenfolge der Transaktionen zu bestimmen, wobei die Transaction Chain den Wechsel der Besitzer verfolgt.

Jeder Block hat einen Verweis auf den vorherigen Block; dies ist der Grund, warum ein Block nach dem anderem in der Zeit platziert ist. Sie können die Referenzen zurückverfolgen, bis hin zu den allerersten gruppierten Transaktionen, die jemals verzeichnet worden sind. Transaktionen im gleichen Block werden als gleichzeitige Aktionen in Zeit betrachtet und Transaktionen, die noch nicht in einem Block sind, werden als unbestätigt betrachtet oder ungeordnet.

Jeder Knoten kann eine Anzahl an unbestätigten Transaktionen in einen Block sammeln und ausstrahlen, um dem Rest des Netzwerks vorzuschlagen, was der nächste Block in der Kette (Chain) sein sollte. Da mehrere Individuen es schaffen könnten, Blöcke gleichzeitig zu erzeugen, könnten mehrere Optionen zur Auswahl stehen. Nun, wie entscheidet das Netzwerk, welcher Block der nächste sein soll? Wir können uns nicht auf die Reihenfolge verlassen, in der die Blöcke ankommen, wie bereits bei Transaktionen erklärt. Diese können eventuell in verschiedenen Reihenfolgen bei verschiedenen Punkten im Netzwerk auftauchen. Ein Teil der Bitcoin Lösung ist, dass jeder Block die Antwort auf ein bestimmtes mathematisches Problem, enthalten muss. Computer leiten gesamten Text eines Blockes plus eine zusätzliche Zufallszahl durch sogenannte kryptographische Hash, bis der Ausgang unter einem bestimmten ist.

ganz den eine Wert

Eine Hash Funktion erzeugt aus einem beliebigen langen Text einen kurzen Hashwert. In unserem Fall hat das Ergebnis eine 32 Byte Nummer. Hier sind einige Beispiele für die spezifische Hash Funktion, die Bitcoin verwendet:

SHA256(“short sentence”)

0x0acdf28f4e8b00b399d89ca51f07fef34708e729ae15e85429c5b0f403295 cc9

SHA256("The quick brown fox jumps over the lazy dog")

0xd7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9 e592

SHA256("The quick brown fox jumps over the lazy dog.") ->”extra period added”

0xef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c863 5fb6c Beachten Sie, wie sich der Ausgangswert ändert in Folge eines einzigen zusätzlichen Zeichens am Ende des dritten Beispiels. Der Ausgangswert ist völlig unvorhersehbar. Das heißt, der einzige Weg, einen bestimmten Ausgangswert zu finden, ist das zufällige Schätzen. Es ist sehr ähnlich, wie das Erraten einer Kombination bei einem Schloss. Sie könnten beim ersten Versuch Glück haben, aber im Durchschnitt gibt es viele Versuche. Tatsächlich würde ein konventioneller Computer mehrere Jahre für Bitcoin brauchen, um eine Lösung eines neuen Blockes zu finden. Mit allen Computern in dem gesamten Netzwerk, würde es etwa 10 Minuten im Durchschnitt dauern, um eine Lösung zu finden. Die erste Person, die es schafft, das mathematische Problem zu lösen, verbreitet seinen Block und bekommt ihre Gruppe an Transaktionen, als die nächste in der Kette akzeptiert. Der Zufall breitet sich effektiv aus, wenn einer die Lösung auf das Problem in dem Rechnen findet. Dies macht es unwahrscheinlich, dass zwei Individuen es gleichzeitig lösen werden.

Jedoch wird gelegentlich mehr als ein Block gleichzeitig gelöst, was zu mehreren möglichen Abzweigungen führen kann. In diesem Fall können Sie auf dem ersten, den Sie erhalten, obendrauf bauen.

Andere haben vielleicht die Blöcke in einer anderen Reihenfolge erhalten und bauen auf dem Block, den sie zuerst empfangen haben.

Die Bindung wird aufgelöst, wenn jemand den nächsten Block findet. Die allgemeine Regel lautet, dass man sofort zu dem längsten Zweig wechselt, welcher vorhanden ist. Die Mathematik verringert die Wahrscheinlichkeit, dass Blöcke zur gleichen Zeit gelöst werden, umso seltener geschieht es mehrfach, in einer Reihe. Das Endergebnis ist, dass sich die Block Chain schnell stabilisiert, was bedeutet, dass sich alle einig über die Blockreihenfolge sind, wenn sie etwas weiter zurück als das Ende der Kette liegen.

Doppelter Angriff mit der Block Chain Die Tatsache, dass es einige Unklarheiten am Ende der Kette gibt, hat einige wichtige Auswirkungen auf die Sicherheit der Transaktionen. Zum Beispiel, wenn Ihre Transaktion sich in einer der kürzeren Zweige befindet, dann wird sie ihren Platz in der Line innerhalb der Block Chain verlieren. Normalerweise bedeutet dies nur, dass es zurück in den Pool der unbestätigten Transaktionen geht und in einem späteren Block aufgenommen wird. Leider ist das Potenzial vorhanden, dass Transaktionen ihren Platz verlieren könnten, was wiederum die Tür für eine Doppelte Ausgabe Angriff (Double Spending Attack) öffnet, welches unsere ursprüngliche Motivation war, für ein Gliederungssystem. Lassen wir uns mal sehen, welche Auswirkungen eine Doppelte Ausgabe Angriff auf das bestehende System haben würde. Ein Betrüger, Alice, schickt Geld zu Bob. Bob wartet auf die Transaktionsbestätigung von der Block Chain, bis er das Produkt verschifft. Da die Knoten immer zu dem längsten Zweig wechseln, müsste Alice einen längeren Zweig mit einer anderen Transaktion generieren, was die Transaktion zu Bob ersetzen würde. Dann würde das Geld von Bob effektiv gelöscht werden.

Bobs Transaktion würde zunächst zurück in den unbestätigten Pool geworfen, da aber Alice diese durch eine andere Transaktion ersetzt hat, die den gleichen Input verwendet, würden die Knoten Bobs Transaktion als ungültig deklarieren, weil es auf einen Input, der bereits ausgegeben worden ist, einen Verweis gibt.

Die Doppelte Angriff Prävention Nun, wie verhindert das Gliederungssystem Alice an dem Hintergehen von Bob? Man könnte denken, dass Alice eine Kette aus Blöcken vorberechnet hat, um im richtigen Augenblick aufs Netzwerk zu springen. Aber es wird vom mathematischen Rätsel verhindert, welches in jedem Block steckt. Wir müssen einen etwas tieferen Blick in die kryptographischen Hash Bereich werfen, der vorher erläutert worden ist, um die Gründe vollständig zu verstehen. Wie zuvor erwähnt, beinhaltet die Lösung eines Blocks den Versuch, durch einen kryptographischen Hash Wert eines Blockes unterhalb eines bestimmten Wertes zu gelangen. Dies versucht man durch das Ausprobieren von verschiedenen Zufallszahlen am Ende des Blockes. Einmal gelöst, wirkt die Hash Ausgabe wie ein Fingerabdruck, der den Block eindeutig identifiziert. Wenn auch nur ein einzelnes Zeichen im Block geändert wird, dann wäre der Hash Wert des Blocks komplett verschieden sein, genau wie wir es zuvor gesehen haben, als wir einen weiteren Punkt hinzugefügt haben.

Der Hash Wert oder Fingerabdruck, ist tatsächlich der Wert, der als vorherige Blockreferenz verwendet wird. Eine Folge davon ist, dass es keinen Weg gibt, um in der Mitte einen Block aus der Kette zu wechseln, da der Hash Wert für den neuen Block unterschiedlich wäre und die Referenz vom nächsten Block nicht mehr darauf zeigen würde. Subtiler, aber noch wichtiger: Ein Block kann nicht gelöst werden, wenn der vorhergehende Block nicht gelöst worden ist. Die letzte Blockreferenz ist Teil des Textes, der durch die Hash Funktion geht, das heißt, alle Änderungen würden eine Lösung erfordern.

Kommen wir wieder zurück zu Alice: Aus diesem Grund kann sie nicht einen Zweig vorher berechnen, sie kann nur das Lösen von einem Block anfangen, sobald der letzte Block gelöst ist, auf dem sie bauen möchte, und dessen Hash Wert bekannt ist. Deshalb befindet sie sich in einem Rennen mit dem Rest des Netzwerkes, bis Bob das Produkt verschifft hat. Erst dann möchte sie den längeren Zweig präsentieren. Alles muss sie alleine machen, denn wenn Bob davon erfährt, dass sie eine Doppelte Ausgabe Angriff anstrebt, würde er offensichtlich niemals das Produkt verschicken.

Eine letzte Frage: Ist Alice überhaupt in der Lage, jeden zu überholen, wenn sie einen extrem schnellen Computer oder vielleicht einen Raum voller Computer hätte? Aber selbst bei Tausenden von Computern würde sie wahrscheinlich nicht im Stande sein, dass Rennen zu gewinnen, um eine Block zu lösen, weil sie nicht gegen EINEN Computer, sondern gegen das gesamte Netzwerk rennt. Sie können sich das wie ein Lottospiel vorstellen. Sie können Tausende von Computern oder äquivalent Tausende von Lotterielosen kaufen, aber selbst dann ist es sehr viel wahrscheinlicher, dass jemand anderer gewinnen würde. Alice würde die Kontrolle über die Hälfte der Gesamtrechenleistung im gesamten Netzwerk benötigen, um eine Chance von 50 Prozent zu haben einen Block zu lösen, bevor jemand anderer es tut, und noch mehr, um eine höhere Wahrscheinlichkeit zu haben, mehrere Blöcke in einer Reihe zu lösen.

Das heißt also, dass Transaktionen in der Block Chain von einem mathematischen Rätsel geschützt sind. Eine Folge von Blöcken, die aufeinander gebaut sind, ist, dass Transaktionen weiter hinten in der Kette sicherer sind. Ein Angreifer müsste das Netzwerk für eine längere Zeit überholen, um eine Doppelten Ausgaben Angriff ausführen zu können, um einen Block zu ersetzen, der weiter hinten in der Kette ist. Deshalb ist das System nur am Ende der Kette für eine Doppelte Ausgabe Angriff anfällig. Das ist der Grund, warum es empfohlen wird, auf mehrere Blöcke zu warten, bevor man den Erhalt des Geldes für endgültig erachten kann.

Eine letzte Bemerkung über die Block Chain, bevor die letzten Teile des Bitcoin Systems erklärt werden. Erstaunlicherweise erfordert nichts, was bisher beschrieben worden ist, jegliche Art von Vertrauen. Wenn Sie in dem Bitcoin Netzwerk Informationen von Fremden erhalten, dann können Sie für sich selbst die Lösung vom Block prüfen, ob die Information korrekt ist. Und weil die mathematische Problemlösung so hart ist, wissen Sie, dass es für einen Angreifer keine Möglichkeit gibt, dass alleine allein erzeugen zu können. Die Lösungen sind Beweise dafür, dass die Rechenleistung des gesamten Netzwerks zum Tragen gekommen ist. Mining und Pools Nun, wir haben diskutiert, wie Geld durch digitale Signaturen und Transaktionsketten überwiesen wird und wie die Reihenfolge der Transaktionen in der Block Chain geschützt wird. Lassen wir uns nun über das letzte Stück reden: Wo kommen Bitcoins her? Um Geld zu senden, müssen Sie sich auf die vorherige Transaktion beziehen, deren Empfänger Sie waren. Aber als erstes, wie kommen Münzen überhaupt zu den Besitzern? Eine Art, um langsam und zufällig das Generieren und Verteilen von Münzen zu gewährleisten, ist durch das Ausschütten einer Belohnung für jeden, der einen Block löst. Das ist der Grund, warum das Lösen von Blöcken als Mining bezeichnet wird, obwohl sein eigentlicher Zweck ist, die Transaktionen zu verifizieren und die Block Chain zu schützen. Alle vier Jahre wird die Block Belohnung halbiert, bis letztendlich keine Münzen mehr erzeugt werden. Ca. 21 Millionen in Summe werden jemals erzeugt. Nicht vergessen, dass Sie einen Bitcoin bis zu 1/100 Millionstel teilen können (10^8 = 0.00000001), das heißt, dass die Anzahl die Verfügbarkeit der Währung wahrscheinlich nicht einschränken wird.

Sobald die Block Belohnungen reduziert wird, welchen Anreiz werden die Miner haben, um Transaktionen zu verarbeiten? Neben den Block Belohnungen erhalten Miner auch alle Transaktionsgebühren, die Transaktionen optional beinhalten können. Im Moment fügen die Miner die Transaktionen ohne Gebühren in Blöcke ein, weil ihr Hauptanreiz die Blockbelohnung ist. Aber in Zukunft wird die Reihenfolge von Transaktionen voraussichtlich durch ihre Gebühren beeinflusst, und diejenigen ohne Gebühren werden wahrscheinlich ignoriert. Das Senden von Geld, in Form von Bitcoin, wird wahrscheinlich nicht kostenlos sein, aber es wird hoffentlich immer noch billiger als die aktuellen Kreditkartengebühren sein. Mining Pools Wie bereits erwähnt, würde ein konventioneller Computer im Durchschnitt mehrere Jahre brauchen, um einen Block zu lösen. Deshalb ist die Wahrscheinlichkeit eines Individuums einen Block zu lösen sehr gering, im Verhältnis zu dem Rest des Netzwerks, welches normalerweise 10 Minuten braucht. Um einen gleichmäßigen Strom an Einkommen zu erhalten, schissen sich viele denn Gruppe an, die Mining Pools genannt werden und die zusammenarbeiten, um Blöcke zu lösen und die Belohnungen zu verteilen aufgrund der Arbeitsleistung, die beigetragen wird. Dies wirkt wie eine Lotteriegemeinde, mit dem Unterschied, dass einige Pools ziemlich groß sind und mehr als zwanzig Prozent aller Computer im Netzwerk umfassen.

Die Tatsache, dass einige dieser Pools so groß sind, hat einige wichtige Auswirkungen auf die Sicherheit. Wie bereits erwähnt, ist es sehr unwahrscheinlich für einen Angreifer mehrere Blöcke schneller in einer Folge zu lösen als für den Rest des Netzwerkes, aber es ist möglich, und die Wahrscheinlichkeit erhöht sich, um so mehr Rechenleistung der Angreifer im Verhältnis zum Rest des Netzwerk hat. Tatsächlich hat ein Mining Pool es geschafft, selbstständig sechs Blöcke in einer

Folge zu lösen, und deswegen hat freiwillig die Anzahl seine Mitglieder beschränkt, um Misstrauen gegen das gesamte Bitcoin Netzwerk zu vermeiden.

Auch bei einer erheblichen Rechenleistung, je weiter hinten in der Block Chain eine Transaktion ist, desto schwieriger wird es für einen Angreifer sein, diese zu ändern. Die jetzige Empfehlung für Transaktionen ist zu warten, bis sie mindestens in einem Block ist, oder auf den Erhalt einer Bestätigung zu warten, bevor man es als endgültig betrachten kann. Und für größere Transaktionen sollte man mindestens auf sechs Blöcke warten. Angesichts der Fähigkeit von Pools sechs Blöcke in Folge zu lösen, möchten Sie vielleicht sogar länger warten. Bestätigungszeit Vom Design aus benötigt jeder Block ca. 10 Minuten, um gelöst zu werden, das heißt, sechs Blöcke würden etwa eine Stunde dauern. Im Vergleich zu einer Kreditkarte, wo eine Transaktion Sekunden dauert, erscheint das Warten auf eine Bestätigung lang. Aber denken Sie daran, dass Kreditkartenkunden behaupten können, dass Ihre Karte gestohlen sei, und Monate später noch Rückzahlungen von Händlern beantragen können. Aus der Händlerperspektive ist Bitcoin eigentlich viel schneller. Die Wahl von 10 min ist etwas willkürlich, aber extrem kurze Zeiten können zu Instabilität führen, und längere Zeiten könnten die Bestätigungen verlangsamen. Je mehr Computer sich dem Netzwerk anschließen, und je mehr spezielle Hardware, für das Mining entwickelt wird, wird die Zeit, einen Block zu lösen, immer kürzer. Deshalb kalibriert sich die Bitcoin Software alle zwei Wochen, um es zu kompensieren. Die mathematische Schwierigkeit (Difficulty) vergrößert oder verkleinert sich, um die 10 Minuten beizubehalten. Zum Vergleich: Eine ähnliche digitale Währung, namens Litecoin, ist fähig mit einer 2,5-minütigen Block-Zeit, zu operieren.

Schlussfolgerung und Zusammenfassung: Wie Bitcoin funktioniert

Zusammenfassend kann man sagen: Bitcoin ist eine mathematisch geschützte digitale Währung, die durch ein Netzwerk aus Peers aufrecht erhalten wird. Digitale Signaturen erlauben autorisierte Transaktionen. Der Besitz wird über die Transaktionskette weitergegeben, und die Reihenfolge der Transaktionen wird in der Block Chain gespeichert. Durch das Lösen eines schwierigen mathematischen Problems kann jeder Block gelöst werden. Mögliche Angreifer müssen gegen das gesamte Netzwerk antreten, durch einen Wettbewerb von Rechenleistung, wobei sie so gut wie unwahrscheinlich gewinnen können. Bitcoin verspricht viele interessante Ideen, wie z.B. die Verhinderung der Einmischung von der Seite der Regierung, Anonymität und eventuell niedrigere Transaktionsgebühren. Es hat auch viele Herausforderungen, z.B. dass zurzeit es sehr schwierig ist, Bitcoins in andere Währungen umzutauschen, und es wurde als Oase für illegale Aktivitäten und Steuerhinterziehung bezeichnet. Deshalb könnten die Regierungen versuchen es zu verbieten. Auch das mathematische Rennen, welches die Block Chain schützt, verbraucht eine beträchtliche Menge an Elektrizität. Quellen ImponderableThings (Scott Driscoll's Blog): “How Bitcoin Works Under the Hood” http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html Posted by Scott Driscoll at 8:14 PM Last Access: 10.02.2015