- Wallet -
Transaktionen

Bitcoin Transkationen

In diesem Beitrag erfahren Sie wie genau Bitcoin Transaktionen funktionieren.

Wie funktioniert eine Bitcoin Transaktion?

Wie bereits in den vorherigen Beiträgen über Wallets, Schlüsselpaare & Seeds erklärt, bedient sich das Netzwerk für Transaktionen asymetrischer Kryptographie. Dies bedeutet, dass wir mit privaten und öffentlichen Schlüsseln arbeiten. Zum besseren Verständnis helfen uns in diesem Beispiel Alice und ihre Freundin Lina.

Alice möchte Lina für ein Design bezahlen und sendet 0.01BTC an Linas Adresse. Alice hält mithilfe ihrer Wallet den privaten Schlüssel vor, um zu beweisen, dass sie im Besitz digitaler Einheiten ist, mit dem Hash des öffenlichen Schlüssels von Lina (L. Adresse) verschlüsselt sie die Transaktion und Nachricht. Der private Schlüssel von Alice signiert nun die Transaktion.

Lina kann nun mit ihrem privaten Schlüssel die Nachricht / Transaktion entschlüsseln, die nun das Volumen der Transaktion (Nachricht und digitale Einheiten) enthalten. Im Detail passiert jedoch noch mehr, wenn wir die digitalen Einheiten genauer betrachten.

Diese digitalen Einheiten, die als Bitcoin, BTC (XBT / BTX), dessen Tausenstel Einheiten als Milli-Bitcoin mBTC (10^-6 nBTC - nano) und der kleinsten Einheit als Satoschi 10^-8 BTC =  1 Sato/sats/Satoshi beschrieben sind, werden technisch als UTXO (Unspend Transction Output) bezeichnet. Das Guthaben auf einem privaten Schlüssel/wallet, wird also als "nicht ausgegebene Ausgabe" bezeichnet. Diese lassen sich nur teilen wenn eine Transaktion ausgeführt wird. Dazu ein Beispiel:

Alice Wallet werden 4 UTXO zugeordnet, wobei dessen Summe 0.012BTC entsprechen. Keine der UTXO von Alice hat den genauen Wert von 0.01BTC die für Lina vorgesehen sind, sondern jeweils 0.003BTC (zur Vereinfachung in diesem Beispiel sind die UTXO gleich groß).

Als Alice die Transaktion ausführt werden alle UTXO mit einem Volumen von 0.012BTC an Linas Wallet gutgeschrieben, wobei die Differenz von allen gesendeten UTXO (0,012) und der Zielsumme von 0.01BTC an Alice als eine UTXO mit dem Volumen von 0.002 (abzüglich der Transaktionsgebühren für die miner) zurückgesendet werden. Alice bekommt also das Wechselgeld zurück!

Transaktion erhalten & senden

Bevor wir selbst Transaktionen ausführen können, müssen wir zunächst Guthaben erhalten. Wir kopieren dazu die Adresse der erzeugten Wallet und verschicken diese an den Sender oder fügen sie in ein Abhebungs Formular bei einem Broker oder Börse ein. Alternativ kann die Software Wallet die Adresse auch als QR Code anzeigen lassen, diese lässt sich nun sehr leicht von anderen Endgeräten scannen.

Überprüfen Sie beim Kopieren die ersten und letzten ca. 3 Zeichen, um sicherzustellen, dass es sich um Ihre Adresse handelt, und sie nicht Opfer einer Malware sind, die ihre Adresse beim kopieren austauscht. Wenn Sie eine Vanity Adresse verwenden kann dies leichter überprüft werden.

Beim Seed kannst du den erweiterten Öffentlichen Schlüssel xpubkey exportieren, um später Adressen zum Seed zu erhalten. Der xpubkey kann zur Verwendung einer "Watch-only Wallet" benutzt werden. Diese könnte Beispielsweise in einem Gastronomie Betrieb jeder/m Mitarbeiter*in in ein Wallet geladen werden, die Bezahlung geschieht dann denkbar einfach:

Zur Bezahlung wird der Betrag eingegeben und die Wallet App zeigt einen QR-Code, der eine Addresse des Seeds mit dem zu zahlenden Betrag enthält. Die Gäste können mit ihrer eigenen Wallet den QR-Code scannen und bekommen sogleich den Betrag und die Adresse angezeigt und müssen diese nur noch bestätigen!  

Je nach Software Wallet gestatten sie, den Nutzer*innen bei einer Transaktion die Gebühren selbst einzustellen, die Sender können nun bestimmen, wie schnell die Transaktion verarbeitet werden soll. Umso höher die Gebühren, desto schneller ist die Transaktion im nächsten Block enthalten. 

Sind die Gebühren zu gering eingestellt kann es passieren, dass die Transaktion gar nicht in die Blockchain geschrieben wird und fest hängt. Je nach Wallet wird dann diese Transaktionen mit zu geringen Gebühren für die Miner aus dem Mempool geworfen.  

Mit der Methode Replace-by-fee können Transaktionen Beschleunigt werden. Es können damit auch Transaktionen abgebrochen werden, obgleich diese schon übertragen ist. Im Grunde wird dazu die Transaktion mit höheren gebühren wiederholt und im Falle des Abbruchs auf die eigene Adresse. 

Diese Transaktion schafft es vor der Ersten in die Blockchain und die Erste gilt als Doppelbuchung, wenn sie später von einem Miner in einen Block genommen wird ,wodurch sie verworfen wird. 

Im Blockchain explorer können Sie alle "Onchain" Transaktionen & öffentlichen Blockchaindaten und Statistiken einsehen. Um sicher zu gehen, sollten möglichst 6 Blöcke und damit Bestätigungen für die Transaktion abgewartet werden (ca. 1h), um mit 99% Sicherheit einer 51% Attacke zu entgehen.