Michael Schweisthal 16.06.2017 13:00

Artikelserie 'Blockchain verstehen': Teil II – Transaktionen

Im zweiten Teil der Artikelserie ‘Blockchain verstehen’ geht es um das Thema Transaktionen. Als Beispiel ziehen wir weiterhin die Bitcoin Blockchain heran: Wie funktioniert hier überhaupt eine Transaktion von Bitcoin zwischen zwei Personen ohne Intermediär und wie kann dies sicher sein? Das soll nun aufbauend auf Teil I erklärt werden.

Teil I nicht gelesen? Wenn es Ihr erstes Mal mit der Blockchain ist, dann bitte hier entlang zur Einführung: Warum überhaupt Blockchain?

Der große Schock: Bitcoin gibt es gar nicht 

Bleiben Sie ganz ruhig, ihr Geld ist nicht weg, wenn Sie es in Bitcoin investiert haben. Wie im ersten Teil erwähnt gibt es in der Bitcoin Blockchain keine Datenbankeinträge in der Form von ‘Bob besitzt 5 Bitcoin’ oder ‘Alice besitzt 120 Bitcoins’ und genauso wenig liegt ein Bitcoin etwa als Datei vor.

Die Bitcoin Blockchain zeichnet nämlich nur Daten über Transaktionen auf. Ist in einem Block also unter anderem die Transaktion ‘Bob hat 10 Bitcoin an Alice überwiesen’ mit abgespeichert, so autorisiert dies Alice anschließend dazu, eine Transaktion bis zu 10 Bitcoin vorzunehmen, die wiederum im nächsten Block festgehalten wird. Will man also wissen, wie viele Bitcoins jemand für Transaktionen zur Verfügung hat, muss man das prinzipiell über die gesamte Blockchain herausfinden.

Merke: Bitcoin existieren nur als Aufzeichnung von Transaktionen.

Das Ganze wäre für die Nutzer bei der Masse an Transaktionen ziemlich chaotisch und praktisch unmöglich nachzuvollziehen. Man stelle sich vor in einer riesigen Datenbank nach einer Abfolge an Zahlen und Zeichen zu suchen...wie nach der Nadel im Heuhaufen. Doch dafür gibt es natürlich eine Lösung: Das Wallet. In einem Wallet können sich Teilnehmer der Bitcoin Blockchain einen Überblick über ihr Guthaben verschaffen. Das Wallet fungiert als digitales Portemonnaie und ist eine Software auf dem Computer oder auch Handy des Nutzers. Es kommuniziert direkt mit dem Bitcoin Protokoll im verteilten Netzwerk. Das Wallet liest die in der Blockchain gespeicherten Transaktionen aus, um das daraus resultierende Guthaben des Nutzers darzustellen. Hierbei kann ein Nutzer in einem Wallet eine nahezu unendliche Menge an Bitcoin Adressen anlegen. Außerdem löst man über das Wallet auch Transaktionen aus. Meist wird für jede einzelne Transaktion eine neue Adresse generiert, damit wiederkehrende Transaktionen keine Rückschlüsse auf die Identität einer Person zulassen. Das Wallet ist die Schnittstelle zwischen Mensch und Blockchain.

Der Schlüssel zu Bitcoin

Transaktionen zwischen Teilnehmern sind nur möglich, wenn die User über ein Schlüsselpaar verfügen, bestehend aus einem öffentlichen und einem privaten Schlüssel. Der öffentliche Schlüssel ist für jeden offen einsehbar – er ist die Grundlage für die Bitcoin Adresse, welche aus dem öffentlichen Schlüssel berechnet wird. Jeder kann sehen, welches Bitcoin Saldo eine Adresse aufweist, doch nur mit dem entsprechenden privaten Schlüssel kann der Nutzer diese Adresse ‘aufschließen’ und etwas überweisen. Der private Schlüssel sollte also tunlichst geheim gehalten und sicher aufbewahrt werden. Nicht selten ist es übrigens vorgekommen, dass Personen ihr Private Keys verloren haben, etwa weil sie ihre Bitcoins auf verschiedenste Adressen verteilt haben und nicht sorgfältig bei der Aufbewahrung ihrer Passwörter hierzu gewesen sind. Riesige Beträge liegen heute herum, an die niemand mehr herankommt.

Nun will ein Nutzer – nennen wir ihn Bob – Bitcoins überweisen, etwa, weil er etwas bei einem Händler gekauft hat, der Bitcoin akzeptiert oder weil er sie an jemanden überweist, der dafür bspw. Euros auf ein Bankkonto auszahlt – diese Person nennen wir Alice. Eine Bitcoin Transaktion besteht dabei aus drei Elementen:

Der Input
Dies ist der in der Blockchain gespeicherte Beweis dafür, dass Bob zu einem Zeitpunkt in der Vergangenheit Bitcoin erhalten hat.
Der Betrag
Die ist die Menge an Bitcoin, die Bob an Alice senden möchte. Die kleinstmöglichen Bruchstücke von Bitcoin nennt man Satoshi. Sie haben den Wert von einem hundertmillionstel Bitcoin (0.00000001 BTC)
Der Output
Die Empfängeradresse von Alice.

Der Input kann von mehreren Adressen stammen, die Bob gehören und in dem Wallet zusammengefasst sind, von welchem aus er die Transaktionen vornimmt. Bob kann bei einer Transaktion von 1 BTC also 0.5 BTC von Adresse A und 0.5 BTC von Adresse B verwenden.
Im Output kann Bob noch beliebig viele weitere Adressen, entweder von Alice oder anderen, angeben. Im Output befindet sich immer auch Bobs Adresse, von der er gesendet hat, an die als Transaktion sein Restbetrag als s.g. Change überwiesen wird – denn es gibt ja wie oben angedeutet keinen Pool, aus dem ein Teil der Bitcoins abgezogen wird. Bob muss den Restbetrag auch als Transaktion empfangen, damit er in Zukunft etwas überweisen kann.

Bob will nun einen ganzen Bitcoin an Alice senden. Dazu signiert Bob mit seinem privaten Schlüssel die folgenden Elemente der Transaktion:

– Den Betrag von 1 BTC
– Den Input der Transaktion, beweist also mit seinem privaten Schlüssel dass der Betrag durch vorher empfangene Transaktionen vorhanden ist und Bob den Betrag aus seinem Wallet herausnehmen darf
– Den Output, also die Adresse von Alice

Die Transaktion wird nun von Bobs Wallet aus an das Bitcoin Netzwerk ausgespielt, wo sie von den Minern zusammen mit vielen anderen Transaktionen zusammengefasst, verifiziert und schlussendlich als nächster Block in der Kette von Blöcken abgespeichert wird.

To Bitcoin or not to Bitcoin

Alice hat nun 1 BTC zur Verfügung, aber – wir erinnern uns – besitzt eigentlich keinen Bitcoin.

Denn erst, wenn Alice anschließend selber eine Transaktion vornehmen will, realisiert sie den Wert, indem sie die neue Transaktion einleitet. Anhand des Blocks in der Blockchain, in dem protokolliert ist, dass Bob 1 BTC an Alice gesendet hat, wird verifiziert, dass es Alice erlaubt ist, mindestens 1 BTC zu überweisen und die Transaktion ist somit valide. Das ist etwas Haarspalterei, so aber eigentlich erst korrekt. Hier soll nur verdeutlicht werden, dass ohne Transaktionen in der Blockchain keine Werte existieren. Natürlich sagt jede Person im täglichen Sprachgebrauch schlicht “Ich habe 2 Bitcoin” oder “Meine Bitcoins steigen im Wert”.

So ‘einfach’ ist das. Bob hat soeben übrigens umgerechnet ca. 2400€ an Alice überwiesen. Satoshi sei Dank sind auch kleinere Transaktionen und Micropayments möglich. Wer wirklich große Werte transferiert und sichergehen möchte, dass sie so schnell wie möglich (am besten direkt im nächsten Block) verifiziert und somit auf ewig gesichert sind, bietet den Minern mit der Transaktion einen Bonus an. Die Miner, an die sämtliche Transaktionen im Netzwerk ausgespielt werden, sehen sich einer riesigen Menge an Transaktionsdaten gegenüber, die alle in Blöcken festgehalten werden wollen. Sie scannen alle Transaktionen nach der Höhe der angebotenen Mining Fees und nehmen zuallererst die Transaktionen mit auf, von denen sie am meisten profitieren. Circa alle zehn Minuten entsteht so ein neuer Block, der nicht mehr veränderlich ist – eine Transaktion über bspw. 100 Bitcoin möchte man dort natürlich so schnell wie möglich in trockenen Tüchern wissen und zahlt dafür gerne eine etwas höhere Gebühr.

Wir hoffen, dass Ihnen dieser Artikel geholfen hat, ein erstes Verständnis für die Blockchain Technologie und ihre Prinzipien aufzubauen. Da Sie nun eine Vorstellung davon haben, wie das System funktioniert, wollen wir in den kommenden Artikeln darauf eingehen, welche Möglichkeiten die Blockchain bietet – für Banken, für alternative Finanzservices oder für gänzlich andere Branchen. Denn soviel ist sicher: die Blockchain hat das Potential, eine der größten Revolutionen seit dem Internet zu sein. Glauben Sie nicht? Warten Sie’s nur ab!

Noch Fragen?
Diskutieren Sie jetzt mit uns und teilen Sie Ihre Gedanken, Fragen, Meinungen zum Thema Blockchain mit der Community! JETZT MITMACHEN!
Nach oben