Zur Hauptseite  ..\..\..\                                                                       Zur Themenliste ..\..\                                                         Zur Bitcoin Übersicht ..\



Bitcoin Transaktionen


Bei Bitcoin Transaktionen werden Skripts ausgeführt. Auf diese wird hier nicht eingegangen, sondern es werden die grundlegenden Zusammenhänge beschrieben.
Bitcointransaktionen im allgemeineren Kontext des Bitcoinnetzwerkes werden ab hier beschrieben.

Bitcoin Transaktionen, Prinzip


Bei Bitcoin entspricht der öffentliche Schlüssel einer Adresse, auf der ggfs. eine Anzahl Bitcoins liegen (nicht ganz richtig, Genaueres folgt weiter unten), und derjenige, der den privaten Schlüssel hat, "besitzt" die Bitcoins, die auf dieser Adresse liegen. Eine Transaktion läuft so ab:

Meine Walletsoftware schickt eine Transaktionsanforderung ans Bitcoinnetzwerk. Die Transaktionsanforderung besteht aus der Angabe einer Adresse (entspricht öffentlichem Schlüssel), und einer mit dem privaten Schlüssel verschlüsselten Nachricht. Wir betrachten ab jetzt einen bestimmten Full Node. Dieser kann die Nachricht mit dem mitgelieferten
öffentlichen Schlüssel entschlüsseln. Daher "weiss" der Full Node, dass die Anforderung von jemandem kommt, der die angegebene Adresse tatsächlich besitzt. Der Full Node überprüft im nächsten Schritt mit Hilfe seiner Chainstate Datenbank, ob die behauptete Menge Bitcoin auf dieser Adresse vorhanden ist. Wenn Ja, erklärt der Full Node die Transaktionsanforderung für gültig, und schickt sie in seinen Transaktionspool. Dieser Prozess läuft in allen Full Nodes ab, und derjenige, der den nächsten Block minen wird, wird diese Transaktion in den Block aufnehmen, und damit bestätigen.

Bitcoin Transaktionen, etwas genauer (Kryptographische Verfahren)


Im Folgenden wird wieder ein Full Node Wallet vorausgesetzt. Nur durch Full Node Wallets geniesst man die Privatsphäre, die Bitcoin bieten kann.

Tatsächlich ist eine Bitcoinadresse ein zweifacher Hash des öffentlichen Schlüssels. Das ändert am Ablauf nichts,  macht das Ganze aber sicherer.

Sofern die Wallet es nicht von selbst tut, hat der Benutzer die Möglichkeit, von Hand Bitcoinadressen zu erzeugen. Dabei muss er seiner Walletsoftware lediglich mitteilen "erzeuge eine neue Adresse".
Dabei geschieht folgendes:
Folgende Skizze stellt das nochmal dar:

Privater Schlüssel <-- [ECDSA] --> Öffentlicher Schlüssel --> [SHA256] --> [RIPEMD160] --> Bitcoin Adresse

Nach dem Anlegen einer neuen Adresse weiss nur der Walletbesitzer von der Existenz dieser Adresse.
Möchte er, dass jemand Bitcoins darauf überweist, dann muss er diese Adresse preisgeben. Ein Rückschluss auf den privaten Schlüssel ist absolut unmöglich, denn zwischen Adresse und privatem Schlüssel liegen 2 Hashverfahren und das ECDSA Verfahren. Mit kritischem Blick auf die Zukunft müssten also 3 unterschiedliche Verfahren geknackt werden, um an den privaten Schlüssel heranzukommen.
Solange diese Adresse nur als Geldeingang verwendet wird, kennt die Aussenwelt nichts als die Adresse.

Die Verhältnisse ändern sich, sobald von dieser Adresse aus überwiesen wird: Dann nämlich muss der öffentliche Schlüssel dem Bitcoinnetzwerk offenbart werden, und dann ist der private Schlüssel "nur noch" durch das ECDSA Verfahren geschützt. Das ist der Grund, warum man für die reine Wertaufbewahrung nur Adressen verwenden soll, von denen aus noch nie überwiesen wurde.

Warum kann von einer Adresse aus immer nur der gesamte Betrag auf einmal wegbewegt werden? 

Wenn auf einer Adresse A 1 Bitcoin liegt, und ich überweise 0,2 davon auf eine andere Adresse B, dann passiert folgendes:
0,2 Bitcoin wandern zu B (wer hätte das gedacht), und die restlichen 0,8
Warum das so ist, dafür hat der Verfasser keinen zwingenden Grund gefunden, dafür jedoch eine Vermutung:

Wenn Bitcoins von einer Adresse wegbewegt werden, dann wird, wie weiter vorne beschrieben, der öffentliche Schlüssel preisgegeben. Satoshi Nakamoto könnte in Betracht gezogen haben, dass das Wissen um einen öffentlichen Schlüssel in Zukunft einmal ein Sicherheitsrisiko darstellen könnte. Wenn der Benutzer sich der Situation nicht bewusst ist, dann verhält sich das System automatisch sicher, indem die Restbeträge ohne explizites Zutun auf neuen Adressen landen.


Zum Anfang

Datenschutzhinweise
September 2020