Bitcoin und Fee-Transparenz

Bitcoin-Transaktionen müssen sich auf einem Markt beweisen um in den nächsten Block zu kommen. Wie bei vielen anderen Punkten bei Bitcoin, sind auch dort alle Datenquellen völlig transparent. Keine dritte Partei kann hier die Preise in die Höhe treiben ohne diese selbst zu zahlen.

Bitcoins kleine Helfer

Bitcoin ist ein verteiltes Transaktionsbuch dessen Daten ständig und immer zwischen voneinander unabhängigen Full-Node-Betreibern synchronisiert werden. Das einzige worauf sich diese Betreiber einigen müssen, ist das Protokoll für den Datenaustausch. Dieses Protokoll beschreibt die Gesamtheit der Regeln die bestimmen:

  • Welche Art von Daten
  • Zwischen welchen Netzwerkknoten
  • unter welchen Bedingungen
  • in welchem Format

ausgetauscht werden können.

Interessant dabei sind die verschiedenen Rollen, die auch Einblick gewähren warum es möglich ist völlig transparent ist, welche Gebühren aktuell für Transaktionen gezahlt werden.

Fullnodes sind die Netzwerkknoten die, die Blockchain untereinander synchronisieren, den Index der verfügbaren Kontostände (UTXOs) führen, Transaktionen untereinander synchronisieren und als Datenquelle für Lightnodes fungieren.

Lightnodes sind Client-Applikationen die es den Verwendern erlauben ein Wallet zu führen ohne die gesamte Blockchain speichern zu müssen. Dafür verbinden sie sich zu einer Fullnode.

Miner sind spezialisierte Computer die nur dafür da sind Hashes für Bitcoins Proof of Work zu berechnen. Das sind Prüfsummen die, die Transaktionen, eine Zufahlszahl (Nonce) und weitere Parameter hernehmen und in den Hashcash-Algorithmus einfüttern. Wenn eine gültige Prüfsumme gefunden wurde, ist die angeschlossene Fullnode dazu berechtigt den Block im Netzwerk zu propagieren und die Belohnung für das Erstellen des Blocks inkl. der Transaktionsgebühren einzustreifen.

Transaktionen und was sie uns kosten

Bitcoin kennt zwei Arten von Belohnungen für Miner:

  • Frisch geschürfte Bitcoin die mit jedem neuen Block erzeugt werden.
  • Die Transaktionskosten

Einer jeden Full-Node die Bitcoin schürft, steht es frei für welche Transaktion er sich entscheidet. Jedoch ist eines klar: Umso höher die Gebühr, umso attraktiver die Transaktion. Denn das Berechnen der Hashes dauert, kostet Energie und es kann leicht passieren, dass jemand anderes schneller ist und die Belohnung (sgn. Blockreward) einstreift.

Doch aus welcher Liste von Transaktionen kann die Full-Node Transaktionen auswählen?

Transaktionslimbus – der Mempool

Bitcoin-Transaktionen werden von einer Full-Node zur nächsten propagiert und warten dort darauf, dass eine Full-Node mit angeschlossenem Mining sie in einen Block packt.

Da dieser Wartebereich bzw. Mempool zwischen den Full-Nodes synchronisiert wird, kann jeder der eine Full-Node betreibt jederzeit prüfen wie hoch die konkurrierenden Transaktionen ihre Gebühr ansetzen.

Es gibt Websites die diese Daten aufbereiten und einfach zu verstehen darstellen, wie zB. mempool.space/

Darstellung auf https://mempool.space. Die Priority richtet sich nach der Konkurrenz. Zum Zeitpunkt der Aufnahme war es gerade sehr günstig.

Transparenz durch Websites?

Natürlich ist der Verweis auf Dienstleister einfach, doch die Frage bleibt: Wie machen denn die das?

Und die Antwort ist einfach, denn diese Dienstleister betreiben eine Full-Node und verwenden die darin eingebauten RPC-Kommandos um Daten abzufragen. RPC steht für Rempote Procedure Call und bedeutet, dass die Bitcoin-Node ferngesteuert werden kann und Daten davon abgefragt werden können.

Den Mempool abfragen funktioniert ganz einfach mittels des RPC-Kommandos getrawmempool. Die darin enthaltenen Daten zeigen auch die Gebühr der wartenden Transaktionen an.

Historische Gebühren auswerten

Historische Daten auszuwerten funktioniert auf Basis der Gewinner des Wettbewerbs des Mempools. Jeder Block enthält Transaktionen und jede Transaktion enthält die Information wieviel Gebühr für sie gezahlt wurde.

Mit den RPC-Kommandos kann die Fullnode wieder abgefragt werden. Allerdings sind dafür mehrere notwendig:

  1. Mit getblockcount die aktuelle Block Height abfragen.
  2. Mit getblockhash die Block-Hashes von den für die Berechnung interessanten Blöcken abzufragen. (zB. die letzten 6)
  3. Mit getblock und verbosity 2 die Blöcke inkl. aller Transaktionen abfragen
  4. Aus den Transaktionen die Fee errechnen.
  5. ?
  6. Profit!

Transparenzfazit

Jedem der möchte steht es jederzeit frei eine Bitcoin-Fullnode aufzustellen. Dann kann jederzeit überprüft werden welche Gebühren gerade marktüblich sind und welche nicht – ganz ohne externe Dienstleister.

Prinzipiell neugierig und mit starkem Hintergrund in Informatik, bin ich Software-Entwickler bei Tag und Krypto-Enthusiast bei Nacht.

Über Martin Keiblinger 56 Artikel
Prinzipiell neugierig und mit starkem Hintergrund in Informatik, bin ich Software-Entwickler bei Tag und Krypto-Enthusiast bei Nacht.

Ersten Kommentar schreiben

Antworten

Ihre E-Mail-Adresse wird nicht veröffentlicht.


*


*

code