Selten werden Gespräche über Bitcoin geführt, ohne dass dabei der aktuelle oder vergangene Preis in der ein oder anderen Form erwähnt wird. Vor allem außerhalb der Bitcoin-Community ist es häufig das Gesprächsthema Nummer Eins, sobald das Wort "Bitcoin" einmal gefallen ist. Was dabei oft vergessen wird: "Den Bitcoin-Preis" gibt es eigentlich gar nicht. An jeder Börse, in jedem Geschäft oder direkt zwischen zwei Nutzern, treffen Angebot und Nachfrage aufeinander und es kommt zur Preisfindung. Diese freie Einigung auf den Preis hat zur Folge, dass man als Außenstehender immer irgendjemanden, z.B. eine große Börse, nach dem Preis fragen muss und keine Möglichkeit hat, diesen einfach so selbst zu ermitteln oder gar zu verifizieren.

Was aber, wenn es doch eine Möglichkeit gäbe, alleine mit einer Bitcoin-Node und nur mit Daten aus dem Bitcoin-Netzwerk, einen durchschnittlichen und tagesaktuellen Bitcoin-Preis zu ermitteln? Ein frisch erschienenes Python-Skript mit dem passenden Namen UTXOracle ermöglicht genau das und ist unter UTXO.live bereits im Einsatz. Doch wie soll das funktionieren? Das Bitcoin-Netzwerk hat schließlich keine Ahnung vom aktuellen Bitcoin-Preis und eigentlich auch keine Möglichkeit, diesen in Erfahrung zu bringen. Wir werfen einen Blick auf dieses clevere und eigentlich recht simple neue Verfahren, um den Bitcoin-Preis dezentral zu ermitteln!

Kurze Wiederholung

Um überhaupt verstehen zu können, wie UTXOracle funktioniert, müssen wir uns in Erinnerung rufen, wie das Transaktionsmodell von Bitcoin an sich funktioniert. Anders als bei einem herkömmlichen Bankkonto, aber dafür ähnlich wie mit Bargeld im Geldbeutel, können einzelne "Bitcoin-Stücke" (UTXO) nur auf einmal ausgegeben werden. Man würde nicht auf die Idee kommen, von einem 100€-Schein eine Ecke abzuschneiden, sollte man nur 10€ benötigen, sondern man gibt ihn stattdessen komplett aus und erwartet 90€ Wechselgeld. So ist es auch im Bitcoin-Netzwerk, worauf wir in unserem ausführlichen Beitrag über Unspent Transaction Outputs genauer eingehen.

Lese-Tipp: Was ist ein Unspent Transaction Output (UTXO)?

Für den Moment reicht es uns, ein entscheidendes Fazit aus dem Transaktionsmodell von Bitcoin zu ziehen: Für jede Zahlung muss ein passender neuer UTXO erstellt werden, der den exakten gewünschten Zahlungsbetrag abbildet. Und genau diese Eigenschaft machen wir uns im Folgenden zunutze!

Wir mögen es rund

Vor allem (aber nicht nur) bei Zahlen mögen wir Menschen es rund. Niemand würde auf die Idee kommen, exakt 34,87€ von einem Geldautomaten abzuheben und auch die Preise von Gütern und Dienstleistungen sind häufig – wenn auch um ein paar nervige Cent verschoben – in der Nähe von runden Geldbeträgen. Für uns fühlt sich das schlichtweg logisch und natürlich an. Wenig überraschend ist daher, dass wir im Bitcoin-Netzwerk genau dieselbe Beobachtung machen können – genauer gesagt auf zwei verschiedene Weisen.

Da sind zum einen die runden Bitcoin-Beträge. Ob 0,01 BTC, 1 BTC oder nur 1000 Satoshi: Solche Beträge kommen wenig überraschend häufiger in Bitcoin-Transaktionen vor als andere, weniger "schöne" Zahlen. Diese UTXOs interessieren uns an dieser Stelle auch gar nicht, da sie schließlich immer gleich aussehen und keinerlei Auskunft über den Bitcoin-Preis geben können.

Zum anderen sind da UTXOs mit Beträgen wie 0,00374657 BTC, die auf den ersten Blick krumm und zufällig aussehen. Doch auch dieser Betrag ist rund! Er entspricht aktuell ziemlich genau 100 US-Dollar. Und genau solche UTXOs, die teilweise bis zu 25% aller Zahlungen im Bitcoin-Netzwerk ausmachen, sind der Schlüssel, um auf den Bitcoin-Preis zurückzuschließen. Ob man nun einen Bitcoin-Sparplan in Höhe von 100€ führt, an einem Bitcoin-Automaten für 500€ einkauft oder ein iPhone für 1000€ bezahlt: All diese Zahlungen haben durch den schwankenden Bitcoin-Preis auch schwankende Beträge in Bitcoin. Eine Korrelation mit dem jeweils aktuellen Preis!

UTXOracle

Alles, was es jetzt noch braucht, ist eine clever programmierte "Brille", die diese Korrelation für uns sichtbar macht. Und die gibt es jetzt mit UTXOracle. Die glatten, horizontalen Linien in der Grafik stehen für die bereits erwähnten runden Bitcoin-Zahlungen (z.B. 0.01 BTC für die oberste Linie). Dazwischen kann man mehrere ähnlich aussehende Muster erkennen: Die (umgedrehte) Kursentwicklung für den jeweiligen runden Betrag in US-Dollar. Somit kann über einen Tag verteilt eine ziemlich genaue Schätzung abgegeben werden.

Quelle: UTXO.live

Den Bitcoin-Preis für den gestrigen 21. September 2023 schätzt das Skript auf 27.367 US-Dollar, während CoinMarketCap 27.129 US-Dollar angibt. Eine beeindruckende Genauigkeit, zumal es ohnehin keinen "korrekten" Bitcoin-Preis gibt. Dieser kann sich, wie eingangs erwähnt, von Marktplatz zu Marktplatz durch Angebot und Nachfrage immer leicht unterscheiden. Die Daten aus dem Bitcoin-Netzwerk liefern also einen durchschnittlichen Wert, der sich aus Daten von tatsächlichen Nutzern des Netzwerks zusammensetzt. Sollte sich beispielsweise der Kurs an einer Krypto-Börse vom restlichen Markt entkoppeln, etwa durch technische Probleme, die den Handel stören, so ist die Preisermittlung von UTXOracle nicht betroffen.

Auch der historische Preis kann ermittelt werden, da schließlich die gesamte Historie der Bitcoin-Blockchain und damit auch die des UTXO-Sets öffentlich und verifizierbar ist. Somit kann man tatsächlich von einer komplett unabhängigen und dezentralen Möglichkeit sprechen, den Bitcoin-Preis zu bestimmen. Ganz ohne dritte Partei, die in diesem Kontext auch häufig als "Orakel" bezeichnet wird (vgl. Oracle Problem).

Der UTXOracle-Preis ist fast schon deckungsgleich mit einem Durchschnittswert von sFOX | Quelle: UTXO.live

Die Anwendungsfälle für einen unabhängigeren Bitcoin-Preis sind zahlreich. So müssen sich Peer-to-Peer Marktplätze nicht mehr auf den Bitcoin-Preis einer zentralen Instanz verlassen, was allgemein für sämtliche finanzielle Verträge – vor allem Smart Contracts – nützlich sein könnte. Auch für komplexere Anwendungen, wie auf dem Lightning-Netzwerk aufbauende "Stablesats" (die an den Preis in US-Dollar gekoppelt sind), ist es von Vorteil, den Bitcoin-Kurs direkt aus Netzwerk-Daten beziehen zu können.

Gibt es einen Haken?

Jedes noch so elegante Skript, das alleine auf Bitcoin Netzwerkdaten basiert, stößt früher oder später auf seine Grenzen. Zum einen ist die Behauptung, dass vollständig auf ein "Orakel" für die Preisermittlung verzichtet werden kann, nicht ganz korrekt. Das Modell muss nämlich zumindest einmal mit einem "echten Wert" eingestellt werden, sodass darauf aufbauend die künftige Entwicklung ermittelt werden kann. Aktuell ist hier der 27. Juli 2020 gewählt, als der Bitcoin-Kurs über 10.000 US-Dollar anstieg.

Zum anderen steht und fällt das Skript mit der Annahme, dass die UTXO-Beträge tatsächlich mit einem seriösen Bitcoin-Kurs korrelieren. Jedem steht die Nutzung des Bitcoin-Netzwerks offen, weshalb in der Theorie auch Manipulationen mit UTXO-Beträgen möglich sind, die einen falschen Bitcoin-Preis nachahmen. Doch das Ausnutzen dieser Schwachstelle ist sehr theoretisch, da es recht teuer wäre, eine wirklich relevante Anzahl an Zahlungen durchzuführen. Im Durchschnitt kommen für die Korrelation mit dem Bitcoin-Preis nämlich etwa 10% aller Zahlungen bzw. aller täglich erstellten UTXOs infrage.

Alles in allem wird mit UTXOracle, das sicherlich nicht die einzige Umsetzung bleiben wird, eine clevere Möglichkeit geboten, mit Daten, die ohnehin jedem Teilnehmer im Bitcoin-Netzwerk vorliegen, einen überraschend genauen Bitcoin-Kurs zu schätzen. Ob UTXOracle wirklich auf viel Nachfrage stoßen wird, bleibt natürlich offen, aber eines steht fest: Es ist schon jetzt ziemlich cool!