Etwa einen Monat nach der Vorstellung von BitVM, einem Ansatz, um beliebige Berechnungen auf Bitcoin verifizieren zu können, stellt der Entwickler Robin Linus bereits das nächste spannende Konzept vor, das ihn ursprünglich erst auf die Idee von BitVM brachte. Mithilfe von BitStream soll ein faires und gleichzeitig effizientes Anreizsystem geschaffen werden, um dezentral verwaltete Dateien ohne Vertrauensproblem nutzen zu können – und zwar mit der Hilfe von speziell dafür entworfenen Bitcoin-Zahlungen. Diese stellen nicht nur die Bezahlung selbst sicher, sondern bieten vor allem eine Absicherung, sollte ein Anbieter eine gewünschte Datei nicht zur Verfügung stellen können, obwohl man bereits dafür bezahlt hat. Ähnlich wie auch im Lightning-Netzwerk soll dann eine entsprechende Bestrafung durch den Nutzer möglich sein, um somit den Anreiz zu schummeln möglichst gering zu halten.

Vorweg sei gesagt, dass im Gegensatz zu BitVM, für eine Umsetzung von BitStream die Reaktivierung des OP_CAT Befehls notwendig wäre. Auf der Liquid-Sidechain von Blockstream, die eine breitere Auswahl an Befehlen bietet, ist eine Umsetzung allerdings schon heute möglich und wurde auch bereits in Ansätzen demonstriert. Gerade für soziale Netzwerke wie Nostr könnte das dezentrale Bereitstellen von Bildern, Videos oder gar Livestreams relevant werden. Dies bringt aber auch einige Vertrauens- und Finanzierungsprobleme mit sich, die wir uns im folgenden erstmal genauer anschauen. Schnell sollte dann klar werden, was man mit BitStream erreichen möchte, und was nicht. Denn keine Angst: Natürlich werden keine Dateien direkt über die Bitcoin-Blockchain geteilt.

Lese-Tipp: OP_CAT: Simples Upgrade für Bitcoin mit endlosen Möglichkeiten?

Was macht das besser als die unzähligen Speicher-Kryptowährungen, die wir bisher hatten?

Es ist Bitcoin.

@robin_linus auf 𝕏

Die Ausgangslage

In der Regel zahlt man als Kunde bei einem Anbieter für File-Hosting zunächst für das Hochladen von Dateien und den dadurch genutzten Speicherplatz. Wenn nun aber ein beliebter Nostr-Nutzer ein kurzes Video teilen möchte, kann es für einen Anbieter schnell teurer werden als geplant, sollten plötzlich hunderttausende Anfragen für den Download einer Datei eingehen. Die Kosten überschreiten also eventuell die ursprünglichen Einnahmen. Eine Lösung wäre an dieser Stelle, schlichtweg Geld für jeden Download zu verlangen, was mithilfe von sehr kleinen Zahlungen im Lightning-Netzwerk auch relativ gut umsetzbar wäre. Der Umsatz des Anbieters würde somit gleichmäßig mit der Nachfrage nach bestimmten Inhalten steigen und die finanziellen Anreize in die richtige Richtung drehen. Weder der ursprüngliche Uploader noch der Anbieter selbst müssten auf eventuell hohen Kosten sitzen bleiben, sondern könnten diese auf tausende Nutzer gleichmäßig und effizient verteilen.

Ein potenzielles Problem ist jedoch die Integrität der Dateien selbst, also ob diese tatsächlich in ihrer exakten ursprünglichen Form bei den Nutzern landen oder gänzlich verändert wurden. Beispielsweise könnte ein Video in niedrigerer Auflösung übertragen werden, um Ressourcen zu sparen, obwohl der Nutzer eigentlich für eine hohe Auflösung bezahlt hat. Natürlich gibt es Möglichkeiten, beispielsweise mithilfe von Prüfsummen Änderungen an einer Datei eindeutig zu erkennen, doch es fehlt ein Mechanismus, diese Manipulation auch effektiv reklamieren zu können. In unserem Beispiel im Nostr-Netzwerk gäbe es schließlich keinen Kundensupport, da Inhalte ohnehin auf vielen verschiedenen Servern liegen und es gar keine zentrale Anlaufstelle gibt.

BitStream

Der Ansatz von BitStream ist im Grunde ein weiteres Beispiel für den mittlerweile wachsenden Katalog an Anwendungsfällen, die mit genug Nachfrage auch auf Bitcoin umgesetzt werden können, obwohl ursprünglich mal der ein oder andere Altcoin als Alleinstellungsmerkmal damit geworben hatte.

Denn es geht nun schlichtweg darum, feste Regeln an eine Bitcoin-Transaktion zu knüpfen, mit deren Hilfe eindeutig überprüft werden kann, ob eine Datei auch dem vom Nutzer erwarteten Ergebnis entspricht. Ist dem nicht so, kann der Nutzer diese fehlende Übereinstimmung geltend machen und den Anbieter bestrafen. Sowohl vom grundlegenden Prinzip als auch von der technischen Umsetzung mit HTLCs (Hash Timelock Contracts) gibt es bei diesem Mechanismus einige Parallelen (und Überschneidungen) mit Zahlungen im Lightning-Netzwerk.

Konkret bezahlt man als Nutzer für den Schlüssel, um eine heruntergeladene Datei zu entschlüsseln, also überhaupt erst nutzen zu können. Im Voraus einigen sich Nutzer und Anbieter auf einen eindeutigen Fingerabdruck der gewünschten Datei (der dem Nutzer z.B. durch einen Post auf Nostr bekannt ist) und verknüpfen die diesem zugrundeliegenden Hashwerte mit den verschlüsselten Daten. Der Anbieter legt sich somit verbindlich auf eine konkrete Datei fest, da der Nutzer nun beweisen kann, wenn ein bestimmter Teil der entschlüsselten Datei nicht mit dem entsprechenden Hashwert vereinbar ist. Für das Herunterladen bzw. Entschlüsseln der Datei kann jetzt also in gutem Gewissen mit Bitcoin bezahlt werden. Das Übertragen der Daten findet dabei komplett off-chain statt, also außerhalb des Bitcoin-Netzwerks. Nur im Falle eines Betrugsversuches wäre eine on-chain Transaktion im Bitcoin-Netzwerk überhaupt notwendig.

Ein Merkle-Tree mit den verschlüsselten Daten und Hashwerten der unverschlüsselten Daten | Quelle: robinlinus.com
Der Nutzer erkennt und kann beweisen, sobald ein Teil der entschlüsselten Daten nicht mit dem Hashwert dieses Teils übereinstimmt. | Quelle: robinlinus.com

Weiterführende Ideen

Robin Linus nennt in seinem Paper noch einige weitere Optimierungsmöglichkeiten, die in der Praxis hilfreich sein könnten und die Flexibilität von BitStream weiter verbessern. Für das Streamen eines Videos wäre es beispielsweise möglich, nicht die komplette Datei auf einmal, sondern in einzelnen Abschnitten "einzukaufen", um auch nur für den Teil zu zahlen, den man wirklich konsumiert und ganz nebenbei Bandbreite zu sparen. Auch können Nutzer ein und dieselbe Datei in Abschnitten von unterschiedlichen Anbietern beziehen und nahtlos zwischen diesen wechseln, sollte ein Anbieter offline gehen oder überlastet sein.

Für den Anbieter hält sich die Komplexität außerdem in Grenzen. Unter anderem müssen die oben genannten Werte nicht für jede Nutzer-Anfrage neu berechnet werden, sondern können für eine bestimmte Datei einfach wiederverwendet werden. Generell ist das Konzept recht effizient umsetzbar und kann auch auf sehr hohe Nutzerzahlen auf einmal skalieren.

Fazit

Wie in fast jedem Beitrag über neue Funktionen für Bitcoin heißt es auch bei BitStream zunächst: Geduld haben. Zumindest für eine Umsetzung im Mainnet, also direkt im Bitcoin-Netzwerk, ist wie bereits erwähnt zunächst die Reaktivierung von OP_CAT und damit eine Soft-Fork notwendig, da die notwendigen logischen Operationen und weitere Voraussetzungen ansonsten nicht umgesetzt werden könnten. Doch vielleicht findet vorher die Liquid-Sidechain mit BitStream einen nützlichen Anwendungsfall und damit eine Chance, die verhältnismäßig geringe Nachfrage etwas nach oben auszubauen. Auch mit Ecash-Umsetzungen wie beispielsweise FediMint oder Cashu wäre BitStream kompatibel und es gibt auch schon erste Ansätze. Die Möglichkeiten sind also auch heute schon gegeben.

So oder so stellt BitStream einen interessanten Ansatz vor, die dezentrale Bereitstellung von Inhalten zum einen besser monetarisieren zu können und gleichzeitig für eine gesicherte Transaktion von Geld gegen geprüfte Daten zu sorgen und damit das benötigte Vertrauen zu minimieren. Die Idee dahinter ist zwar nicht neu, könnte auf Bitcoin aufbauend aber dank Netzwerkeffekten und der Integration in ein bestehendes Ökosystem erst richtig erfolgreich werden.