Bitcoin-Transaktion

Aus Bitcoin Wiki
Wechseln zu: Navigation, Suche

'Eine Transaktion' ist ein Datenabschnitt, der durch eine Unterschrift bestätigt wird. Es wird an das Bitcoin - Netzwerk gesendet und bildet Blöcke. Es enthält normalerweise Verweise auf vorhergehende Transaktionen und ordnet eine bestimmte Anzahl von Bitcoins mit einem oder mehreren öffentlichen Schlüsseln zu ( Bitcoin-Adressen). Es ist nicht verschlüsselt, da im Bitcoin-System nichts zu verschlüsseln ist. Im Browser Blockchain werden alle Transaktionen in Form einer Blockkette zusammengefasst. Sie können gefunden und verifiziert werden. Dies ist notwendig, um technische Transaktionsparameter zu ermitteln und die Details von Zahlungen zu überprüfen.

Das allgemeine Format von Bitcoin-Transaktionen[Bearbeiten]

Feld Beschreibung Größe
Versionsnummer Derzeit 1 4 Bytes
In-Counter Positive ganze Zahl VI = Varlnt 1-9 Bytes
Liste der Eingaben Die erste Eingabe der ersten Transaktion wird auch als Coinbase bezeichnet <In-counter> viele Eingaben
Out-counter Positive ganze Zahl VI = Varlnt 1-9 Bytes
Liste der Ausgaben Die erste Ausgabe der ersten Transaktion verwendet Bitcoins für den Block <out-counter> viele Ausgaben
Sperrzeit Wenn ungleich 0 ist und Sequenznummern sind schlechter als OxFFFFFFFF: Höhe oder Zeitstempel vom Block (für abschließende Transaktionen) 4 bytes

Beispiel einer Bitcoin-Transaktion mit Eingabe und Ausgabe[Bearbeiten]

Daten[Bearbeiten]

Eingang:
Vorheriger Tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
Index: 0
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
Ausgabe:
Wert: 5000000000
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFY OP_CHECKSIG

Interpretation[Bearbeiten]

Die Eingabe in dieser Transaktion importiert 50BTC von der Ausgabe # 0 in Transaktionen f5d8 ..., dann sendet der Ausgang 50 BTC an eine Bitcoin-Adresse (hier in Form eines hexadezimalen Systems ausgedrückt - 4043 ...). Wenn der Empfänger sein Geld ausgeben möchte, wird er auf die Ausgabe # 0 dieser Transaktion für die Eingabe seiner eigenen Transaktion verweisen.

Eingabe[Bearbeiten]

The mining ecosystem

Eingabe ist eine Referenz auf die Ausgabe einer anderen Transaktion. Eine Transaktion besitzt oft mehrere Eingaben. Die Werte dieser Referenzen werden wieder aufgenommen, und der Gesamtwert von Bitcoins kann für die aktuelle Transaktionsausgabe verwendet werden. Vorheriges tx ist der Hash einer vorhergehenden Transaktion. Der Index ist eine bestimmte Ausgabe dieser Transaktion. ScriptSig ist die erste Hälfte des Skripts (mehr Details dazu finden Sie weiter unten).

Das Skript besteht aus zwei Elementen: der Signatur und dem öffentlichen Schlüssel. Der öffentliche Schlüssel gehört dem Benutzer, der die Transaktionsausgaben anwendet und bestätigt, dass der Ersteller der Transaktion das Recht hat, über die aus den Ausgaben erhaltene Geldsumme verfügen zu können. Ein anderes Element ist EDCSA (Hash - Signatur einer vereinfachten Version der Transaktion). In Kombination mit dem öffentlichen Schlüssel bestätigt diese Signatur, dass die Transaktion vom echten Eigentümer dieser Bitcoin-Adresse erstellt wurde.

Ausgabe[Bearbeiten]

Die Ausgabe enthält Anweisungen zum Senden der Bitcoins. Der Wert ist ein Betrag in Satoshi (1 BTC = 100000000 Satoshi), der von der Transaktion verwendet werden kann, für die die aktuelle Transaktion die Eingabe ist. ScriptPubKey ist die zweite Hälfte des Skripts (auf das später noch eingegangen wird). Es kann mehr als eine Ausgabe sein, und diese teilen sich die Menge, die von den Eingaben gesendet wird. Jede Transaktionsausgabe darf nur einmal als Eingabe für die nachfolgende Transaktion verwendet werden, so dass die Summe aller aktuellen Transaktionseingaben in der Ausgabe verwendet werden muss. Andernfalls geht die verbleibende Summe aus den Transaktionseingaben verloren. Wenn zum Beispiel die Eingabe gleich 50BTC ist und der Benutzer nur 25BTC senden muss, erzeugt Bitcoin jeweils zwei Ausgaben von 25BTC: eine geht zum Ziel, die Andere geht wieder an den Besitzer des Geldes (der so genannte ' change '- eine Transaktion, bei der der Benutzer tatsächlich Geld an sich selbst sendet). Jeder verbleibende Betrag aus der Eingabe von Bitcoins, die nicht in der Transaktion verwendet werden, wird die Gebühr für die Transaktion. Die Person, die den Block generiert, erhält diese Gebühr.

Transaktionsverifizierung[Bearbeiten]

Um zu überprüfen, ob die Eingaben die erforderlichen Summen von den Ausgaben der vorhergehenden Transaktionen sammeln dürfen, verwendet Bitcoin das Standardsystem des Skripts (sehen unten) der ScriptSig-Eingabe und der ScriptPubKey-Ausgabe, auf die diese Transaktion verweist. Sie werden mit Hilfe von ScriptPubKey unter Verwendung der restlichen Werte im ScriptSig-Stapel ausgewertet.

Die Eingabe wird bestätigt, wenn das Script ScriptPubKey einen "True" -Wert zurückgibt. Mit dem Skript-System kann der Sender sehr komplexe Bedingungen schaffen, die diejenigen erfüllen müssen, die den Ausgabewert erhalten möchten. Zum Beispiel ist es möglich, eine Eingabe zu erstellen, die jeder Benutzer ohne Berechtigung erhalten wird. Es ist ebenso möglich, die Eingabe mit 10 verschiedenen Schlüsseln zu signieren oder mit einem Passwort zu verifizieren.

Allgemeines Format jeder Transaktionseingabe - Txin[Bearbeiten]

Feld Beschreibung Größe
Hash der vorhergehenden Transaktion Doppelter SHA256 der vorhergehenden Transaktion 32 Bytes
Vorheriger Txout-Index Arithmetische Ganzzahl. Es indiziert Ausgaben der vorhergehenden Transaktion 4 Bytes
Liste der Eingaben Die erste Eingabe der ersten Transaktion wird auch als Coinbase bezeichnet <In-counter> viele Eingaben
Länge des Txin-Skripts Arithmetische Ganzzahl VI = Varlnt 1-9 Bytes
Txin-Skript / SkriptSig Script <Länge innerhalb des Skripts> viele Bytes
Sequenznummer Normalerweise 0 [FFFFFFFF; funktioniert in dem Fall, dass die Sperrzeit der Transaktion> 0 ist 4 Bytes

Die Eingabe beschreibt angemessen, wo und wie die Anzahl der Bitcoins erreicht werden kann, die von ihrem neuen Besitzer eingelöst werden können. Wenn es sich um die einzige Eingabe der ersten Transaktion im Block handelt, wird sie als generierte Transaktionseingabe bezeichnet. Sein Inhalt wird komplett ignoriert.

Allgemeines Format jeder Transaktionsausgabe - Txout[Bearbeiten]

Feld Beschreibung Größe
Wert Arithmetische Ganzzahl, die einen Betrag Satoshi (BTE / 10 ^ 8) ergibt, der für Transaktionen erforderlich ist 8 Bytes
Länge des Txout-Skripts Arithmetischer Stapel 1-9 Bytes
Txout-Skript / ScriptPubKey Script <Länge des Ausgabeskripts> viele Bytes

Die Ausgabe bestimmt die Bedingungen der Verwendung der Bitcoin-Daten in den folgenden Transaktionen, die Summe der Ausgabewerte der ersten Transaktion in dem Block ist ein Wert von Bitcoins, die für den Block genommen werden. Hier wird ein Gebührenbetrag von den anderen zu diesem Block hinzugefügten Transaktionen hinzugefügt.

Transaktionsbestätigung[Bearbeiten]

Hauptseite: Transaktionsbestätigung

Eine Transaktion ist eine Wertübertragung zwischen Bitcoin-Wallets, die in die Blockkette aufgenommen wird. How does Bitcoin work? Bitcoin-Transaktionen sind nicht unmittelbar. Wenn ein Benutzer Bitcoins senden möchte, werden Informationen von seiner [Wallet| Brieftasche] an die (Benutzer im) Netzwerk gesendet, die verifizieren, dass sie genug Münzen hat und dass sie noch nie zuvor ausgegeben wurden. Nach der Validierung werden Miners diese Transaktion - zusammen mit anderen - in einen neuen Block in der Blockchain aufnehmen. Dies wird als Transaktionsbestätigung bezeichnet. Die Transaktion wird nun als "0 / unbestätigt" bezeichnet.

Jedes Mal, wenn der Kette ein neuer Block hinzugefügt wird (alle zehn Minuten), wird die Transaktion erneut bestätigt. Als Konsens warten viele Nutzer darauf, dass eine Transaktion sechs Mal bestätigt wird (nach ungefähr sechzig Minuten), bevor sie sie als Zahlung akzeptieren, um Doppelausgaben zu vermeiden. Benutzer zeigen eine Transaktion normalerweise als "n / unbestätigt" an, bis sie sechs Blöcke tief ist.


Datei:TransactionConfirmationTimesExample.PNG
==

Transaktionskommission[Bearbeiten]

Hauptseite: Transaktionskommission

Derzeit wird eine große Anzahl von Transaktionen so verarbeitet, dass keine Provision erforderlich ist. Zur gleichen Zeit, wenn die Transaktion viele Einstiegspunkte hat (z.B. große Datenmengen), ist eine kleine Provision nicht ungewöhnlich.

Jeder Miner kann derjenige sein, der die Transaktion verarbeitet und die Kommissionsgebühr verdient. Wenn das Netzwerk einen neuen Block findet, enthält es alle Informationen über Transaktionen einschließlich ihrer Provision. Somit erhält jeder Benutzer einer Gruppe von Benutzern, die diesen Block finden, sowohl die Belohnung für die Blockierung als auch die Provisionsgebühren für jede darin enthaltene Transaktion.

Die Einbeziehung der Provision in eine Transaktion ist eine freiwillige Entscheidung, aber ein Benutzer, der einen Block findet, kann beliebige Transaktionen, die er wünscht, an den besagten Block anhängen. Auf diese Weise haben Transaktionen mit 0 Provisionen die niedrigste Priorität, wenn Transaktionen mit der minimal möglichen Provision (~ 0,0001 BTC zum aktuellen Zeitpunkt) Standardpriorität haben und wahrscheinlich in den Block aufgenommen werden.

Siehe auch[Bearbeiten]